Skip to content
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

Issue #1762: Clear warning messages on Contact save #2481

Merged
merged 1 commit into from
Jul 24, 2024

Conversation

rachidatecs
Copy link
Contributor

Ticket

Resolves #1762

Changes

  • Clear warning messages on Contact save

Context for reviewers

Scenario 1: Go to a joined contact change_form, hit save. You are redirected to the change_list and the "joined" warning messages from the contact change form persist on the list view.

Scenario 2 (@Katherine-Osos' scenario): Go a domain request change_form, scroll to a submitter or senior official field that has a multiple object joined contact, click on the little edit icon for that joined contact. A popup window for the contact's change_form appears. Click save. The window disappears. Click save on the request form. You are redirected to the request list and you can see the "joined" warning messages from the contact change_form.

The issue as @zandercymatics suspected is the persistance of DJA messages until they are 'consumed.' To clean up those contextual warning messages that are only needed on the contact change form, we edit the contact save method to clear out any existing warning messages.

Setup

See above scenarios.

Code Review Verification Steps

As the original developer, I have

Satisfied acceptance criteria and met development standards

  • Met the acceptance criteria, or will meet them in a subsequent PR
  • Created/modified automated tests
  • Added at least 2 developers as PR reviewers (only 1 will need to approve)
  • Messaged on Slack or in standup to notify the team that a PR is ready for review
  • Changes to “how we do things” are documented in READMEs and or onboarding guide
  • If any model was updated to modify/add/delete columns, makemigrations was ran and the associated migrations file has been commited.

Ensured code standards are met (Original Developer)

  • All new functions and methods are commented using plain language
  • Did dependency updates in Pipfile also get changed in requirements.txt?
  • Interactions with external systems are wrapped in try/except
  • Error handling exists for unusual or missing values

Validated user-facing changes (if applicable)

  • New pages have been added to .pa11yci file so that they will be tested with our automated accessibility testing
  • Checked keyboard navigability
  • Tested general usability, landmarks, page header structure, and links with a screen reader (such as Voiceover or ANDI)
  • Add at least 1 designer as PR reviewer

As a code reviewer, I have

Reviewed, tested, and left feedback about the changes

  • Pulled this branch locally and tested it
  • Reviewed this code and left comments
  • Checked that all code is adequately covered by tests
  • Made it clear which comments need to be addressed before this work is merged
  • If any model was updated to modify/add/delete columns, makemigrations was ran and the associated migrations file has been commited.

Ensured code standards are met (Code reviewer)

  • All new functions and methods are commented using plain language
  • Interactions with external systems are wrapped in try/except
  • Error handling exists for unusual or missing values
  • (Rarely needed) Did dependency updates in Pipfile also get changed in requirements.txt?

Validated user-facing changes as a developer

  • New pages have been added to .pa11yci file so that they will be tested with our automated accessibility testing

  • Checked keyboard navigability

  • Meets all designs and user flows provided by design/product

  • Tested general usability, landmarks, page header structure, and links with a screen reader (such as Voiceover or ANDI)

  • Tested with multiple browsers, the suggestion is to use ones that the developer didn't (check off which ones were used)

    • Chrome
    • Microsoft Edge
    • FireFox
    • Safari
  • (Rarely needed) Tested as both an analyst and applicant user

Note: Multiple code reviewers can share the checklists above, a second reviewers should not make a duplicate checklist

As a designer reviewer, I have

Verified that the changes match the design intention

  • Checked that the design translated visually
  • Checked behavior
  • Checked different states (empty, one, some, error)
  • Checked for landmarks, page heading structure, and links
  • Tried to break the intended flow

Validated user-facing changes as a designer

  • Checked keyboard navigability

  • Tested general usability, landmarks, page header structure, and links with a screen reader (such as Voiceover or ANDI)

  • Tested with multiple browsers (check off which ones were used)

    • Chrome
    • Microsoft Edge
    • FireFox
    • Safari
  • (Rarely needed) Tested as both an analyst and applicant user

Screenshots

Copy link

🥳 Successfully deployed to developer sandbox bob.

storage = messages.get_messages(request)
storage.used = False
for message in storage:
if message.level == messages.WARNING:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Q) Would we want to use other levels, as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's not mess with things more than we have to? Just to avoid unwanted and unexpected side effect.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah thats fair, we can always add it later if we need. I suspect we might

def save_model(self, request, obj, form, change):
# Clear warning messages before saving
storage = messages.get_messages(request)
storage.used = False
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really nice find

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks man, I'll take an approval on this.

@rachidatecs rachidatecs changed the title Issue #1762: Clear warning messages on Contact save Issue #1762: Clear warning messages on Contact save - [BOB] Jul 22, 2024
@Katherine-Osos Katherine-Osos requested review from Katherine-Osos and removed request for a team July 22, 2024 20:08
Copy link
Contributor

@zandercymatics zandercymatics left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Confirmed that this bug is reproducible on development, and could not reproduce it on bob

@zandercymatics zandercymatics self-assigned this Jul 23, 2024
Copy link
Contributor

@Katherine-Osos Katherine-Osos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@dave-kennedy-ecs dave-kennedy-ecs changed the title Issue #1762: Clear warning messages on Contact save - [BOB] Issue #1762: Clear warning messages on Contact save Jul 24, 2024
@dave-kennedy-ecs dave-kennedy-ecs merged commit af45eb5 into main Jul 24, 2024
10 checks passed
@dave-kennedy-ecs dave-kennedy-ecs deleted the bob/1762-joined-messages-bug branch July 24, 2024 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Django admin: "Joined" message appearing unexpectedly in admin
4 participants