* fix: Include missing related drafts in IPR searches
* refactor: extract drafts, sort docs
* chore: indent loop and conditionals to improve readability
* test: handle whitespaces added to IPR search result page
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* test: fix DraftFormTest setup
Tests were failing when the doc factories started
producing pks >= 10 because of an incorrect test
data structure.
* chore: improve comments
* fix: guard against missing "revisions"
* test: add tests for DraftForm
Only testing the part relevant to this issue.
* test: clarify intentions
* chore: "document" -> "draft" in comments
* feat: IANA review email ingestor API
* refactor: Replace iana email api with generic one
* chore: Add type hint
* feat: Ingest ipr responses
* feat: Ingest nomcom feedback
* refactor: message -> msg
* fix: Typo
* feat: Send email on nomcom ingestion failure
* feat: Send email on IPR mail ingestion error
* feat: Check content type, handle more errs
* fix: drop additionalProperties: false
Unfortunately this does not mix well with
the conditional "year" property.
* test: Test ingest_email view
* Revert "test: Test ingest_email view"
This reverts commit e498022829f834a0d3cebcb0dafb0d5f5a5d162e.
* test: Test ingest_email view
* fix: pass new test
* test: Test ingest_review_email
* fix: Pass new test
* test: Test ipr ingest_response_email
* fix: pass new test
* test: test nomcom ingest_feedback_email
* chore: fix typo found in code reviw
* fix: De-lint
* chore: Unpin django-stubs / update mypy
* test: Use "app.model" for ManyToManyField
django-stubs requires "app.model" instead of just "model" for
ManyToManyField lazy model references.
See https://github.com/typeddjango/django-stubs/issues/1802
* fix: Reject nul characters in ipr search parameters
Really ought to rework this as a form, but in the meantime
this should prevent 500s. Could probably reduce the number
of places we check the value.
* fix: Guard against absent parameters
* fix: Remove stray junk
* fix: Use correct response code (400, not 405)
* test: Test handling of null chars in IPR search
* refactor: Simplify branch statements
This helps my code validator see that "start" is
always set.
* refactor: Remove all existing migrations
* refactor: Create clean set of migrations
* chore: Skip check_statetype_slugs when DB is not yet populated
* fix: Do not cache active_groups_menu on module import
* fix: Do not patch timezone awareness out of oidc-provider
* refactor: Migrate to create postgres schema, only use pgloader for data
* ci: Use migration scripts from feat/pg-migrations branch
* Revert "ci: Use migration scripts from feat/pg-migrations branch"
This reverts commit c82f64c614241ccede4865a50d494725c8a47c15.
* ci: Run check before migrate
* fix: Remove redundant migration caused by merge error
* chore: Add casts/ALTER TABLEs to eliminate pgloader errors/warnings
* chore: Change schema name to match docker image assumptions
* chore: Clear out schema so we get a clean start in case of a retry
* fix: Use case insensitive match for group acronym in doc search
* fix: Use case insensitive match for doc.search_by_name view
* fix: Use case insensitive match for doc names in ipr.search view
* test: Test case insensitivity in doc search/search_for_name
* chore: Remove commented-out template content
* fix: Correctly number newly added draft_form inputs on IPR edit form
* fix: Initialize select2 when adding a new field instance
* chore: Use codespell to fix typos in code.
Second part of replacement of #4651
@rjsparks, I probably need to revert some things here, and I also
still need to add that new migration - how do I do that?
* Revert migrations
* Migrate "Whitelisted" to "Allowlisted"
* TEST_COVERAGE_MASTER_FILE -> TEST_COVERAGE_MAIN_FILE
* Fix permissions
* Add suggestions from @jennifer-richards
* test: fix tz problem in test_document_ballot() test
* test: fix tz problem in IprTests.test_notify() test
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* test: compare UTC dates in test_search_mail_archive()
* test: compare datetimes, not dates, in action holders test
* test: adjust test to match TZ used for IPR notification message
* test: fix timezone in date_today() calls for liaisons tests
* test: use settings.TIME_ZONE for date in nomination tests
* test: correctly use settings.TIME_ZONE instead of system time zone