blacklanternsecurity / writehat

A pentest reporting tool written in Python. Free yourself from Microsoft Word.
GNU General Public License v3.0
1.27k stars 225 forks source link

Todo markers #99

Closed kerrymilan closed 1 year ago

kerrymilan commented 1 year ago

Adds support for a "todo" marker within each Markdown field indicating unresolved items that require attention. These markers are denoted using an inline tag which has an optional notes field:

The intention of this addition is to expedite the report review process, particularly for long documents or templated content containing placeholders. Unlike other tags, these markers are not rendered in the final report; they are instead diplayed in the editor UI in the following places:

Currently, modals which list the affected field use Writehat's internal representation of the field (e.g. a Markdown component diplays a list item indicating text). The "friendly name" associated with these fields is found only within the component's form. In the future this value should be read from the form, but currently the logic used to dereference fields within the model prevents such an addition.

Notably, this PR does not make any changes to Writehat's models, and makes only class-level changes to components. All other additions are either client-side or contained within the Django templates.

TODO indicator on report edit view with modal TODO indicator on component edit view, absent from render TODO indicator on component edit view with note TODO indicator on finding review status TODO indicator on review status dashboard