-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Report issues with metadata #953
Conversation
8e1ac23
to
77e643d
Compare
6967829
to
0480d66
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work, and thanks for the detailed write up.
The only thing that jumps out at me now is the use of data owner, which we know is the wrong role to notify. But if we're OK revisiting that next sprint then we can ignore that for now 👍🏻
13f1248
to
f0dd40f
Compare
f0dd40f
to
d25667f
Compare
* report an issue workflow changes and test fix * report an issue workflow changes and test fix
The po file was a bit messed up, because I stuck an extra translation for "Justice Data" in there. When makemessages ran again, it was removing this translation. Also there were some missing msgstrs and fuzzy matches. This commit moves the justice-data -> Justice Data translation into the code instead.
7980a06
to
79a4e9c
Compare
Suspect IssuesThis pull request was deployed and Sentry observed the following issues:
Did you find this useful? React with a 👍 or 👎 |
This PR creates a service to raise issues with metadata on the FMD front end.
Implements
/feedback/issue
url pathreport_issue_view
ReportIssue
model for storing successfully submitted issuesReportIssueForm
model form & html template for accepting and validating user input before generating aReportIssue
model instancesend_notifcations
function for interacting with the notify APIKey Decisions
I have opted to provide the report issue form in a separate view and page via a button on the entity details page.
Some examples I have seen that implement forms on an existing page do so at the bottom, which means the user needs to scroll to the bottom.
I tested placing the form at the top of the entity details page, below the contact section, but it looked cluttered on top of the data. Implementing this way also avoids the need for js to show/hide and validate the form in the front end and allows us to utilise the existing backend methods of form & model validation on submission.
When the report issue form is requested via GET request, we obtain the
entity name, full URL and data owner
values from the request and store these on the user's session to be used to populate the issue model instance alongside the form values on submission. This avoids the need for creating additional template and form fields to hold these values and placing them back in front of the user. Successfully submitted issues are stored as model instances so that these can be reported on in the future if necessary.I have implemented a basic integration with the GDS Notify service utilising their Python SDK in which we "fire and forget" notification jobs into the service, logging responses and exceptions as necessary. We could implement a more detailed implementation which periodically polls for message status updates, however, this would then require asynchronous jobs using something such as Celery or Python RQ, and would probably go further than our need at this point but is something we could look at in future.
For further consideration
Details page button location / style

Location/ Styling of the entity name on the issue form
