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

Add unique validation for content types module, prevent duplicates for WFO promo and safety information #1324

Merged

Conversation

loganmcdonald-noaa
Copy link
Member

@loganmcdonald-noaa loganmcdonald-noaa commented Jun 17, 2024

What

This adds a new contributed module, unique_content_field_validation to our custom modules (forks it). This allows us to checkoff #1270 and #1271 by constraining titles and field info to be unique.

Followup

User interface for selecting WFOs and event types could be improved, but this accomplishes the backend validation.

Copy link
Contributor

It looks like our enabled modules has changed in this PR. Please ensure any documentation in https://github.com/weather-gov/weather.gov/tree/main/docs/dev/contributed-modules.md has been updated!

@loganmcdonald-noaa loganmcdonald-noaa changed the title Lmm/1271 prevent duplicate weather type safety ifno Add unique validation for content types module, prevent duplicates for WFO promo and safety information Jun 17, 2024
@loganmcdonald-noaa loganmcdonald-noaa force-pushed the lmm/1271-prevent-duplicate-weather-type-safety-ifno branch from fcf08c1 to 24fb6e6 Compare June 17, 2024 17:27
@loganmcdonald-noaa loganmcdonald-noaa force-pushed the lmm/1271-prevent-duplicate-weather-type-safety-ifno branch from 24fb6e6 to cf10350 Compare June 18, 2024 17:49
@loganmcdonald-noaa loganmcdonald-noaa marked this pull request as ready for review June 18, 2024 17:51
@loganmcdonald-noaa loganmcdonald-noaa force-pushed the lmm/1271-prevent-duplicate-weather-type-safety-ifno branch from c65a99a to a255bfa Compare June 18, 2024 17:57
Copy link
Collaborator

@eric-gade eric-gade left a comment

Choose a reason for hiding this comment

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

Alright, this make sense to me now and looks good 👍

Quick comment that's not directly related to the code changes here: it might be useful to have the page with the error condition also provide a button that would take the author directly to the existing content with the validated field. Right now there's not even a cancel button, only a "Save as draft," and I guess the user would have to use either the interface menus or the back button to get out of the editor they are being told they can't use. Perhaps more of a question for @kmranjo

Code Review Checklist

This is an automated comment on every pull request requiring a review. A checked item is either an assertion that I have tested this item or an indication that I have verified it does not apply to this pull request.

The Basics

  • Checks are passing
  • I read the code
  • I ran the code
  • (if applicable) Post deploy steps are run
  • (if applicable) I validated the change on the deployed version in

Documentation

  • changes to “how we do things” are documented in READMEs
  • all new functions and methods are commented using plain language
  • any new modules added documented in modules.md

Security

  • security false positives are documented
  • data from external sources is cleaned and clearly marked

Reliability

  • error handling exists for unusual or missing values
  • interactions with external systems are wrapped in try/except
  • functionality is tested with unit or integration tests
  • dependency updates in composer.json also got changed in composer-lock.json

Infrastructure

  • all changes are auditable and documented via a script
  • it is clear who can and should run the script
  • (if applicable) diagrams have been updated or added in PlantUML

Accessibility

  • New pages have been added to cypress-axe file so that they will be tested with our automated accessibility testing
  • Meets WCAG 2.0 AA or 2.1 AA for Section 508 compliance
    • Site is keyboard accessible. All interactions can be accessed with a keyboard
    • Site is free of keyboard traps. The keyboard focus is never trapped in a loop
    • All form inputs have explicit labels
    • Form instructions are associated with inputs
    • All relevant images use an img tag
    • All images have appropriate alt attributes
    • Multimedia is tagged. All multimedia has appropriate captioning and audio description
    • Text has sufficient color contrast. All text has a contrast ratio of 4.5:1 with the background
    • Site never loses focus. Focus is always visible when moving through the page with the keyboard
    • Tab order is logical
    • Tables are coded properly. Tables have proper headers and column attributes
    • Headings are nested properly. Heading elements are nested in a logical way
    • Language is set. The language for the page is set
    • CSS is not required to use the page. The page makes sense with or without CSS
    • Links are unique and contextual. All links can be understood taken alone, e.g., ‘Read more - about 508’
    • Page titles are descriptive

Device Matrix

  • firefox/gecko (renders correctly and user interactions work)
  • chrome/chromium/edge (renders correctly and user interactions work)
  • safari/webkit (renders correctly and user interactions work)
  • web page is readable and usable
    • at 480px (mobile)
    • at 640px (tablet)
    • at 1024px (desktop)

@loganmcdonald-noaa loganmcdonald-noaa merged commit 6095848 into main Jun 20, 2024
13 checks passed
@loganmcdonald-noaa loganmcdonald-noaa deleted the lmm/1271-prevent-duplicate-weather-type-safety-ifno branch June 20, 2024 16:31
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.

2 participants