Commit graph

368 commits

Author SHA1 Message Date
Jennifer Richards 08e953995a
feat: better reject null characters in forms (#7472)
* feat: subclass ModelMultipleChoiceField to reject nuls

* refactor: Use custom ModelMultipleChoiceField

* fix: handle value=None
2024-05-28 10:34:55 -05:00
Jennifer Richards 81dc5554a8
test: unpin django-stubs and update mypy (#6901)
* 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
2024-01-10 09:53:43 -06:00
Robert Sparks ab931f0510
chore: merge main into feat/rfc 2023-10-12 15:11:02 -05:00
Lars Eggert 73008596ee
fix: Enable editing of related liaison statement information (#6371)
Fixes #6264
2023-09-25 10:17:35 -05:00
Robert Sparks e0f27b9d52
ci: merge branch 'main' into feat/rfc 2023-09-05 12:02:07 -05:00
Robert Sparks 3c1fc3c0f9
chore: use factory-boy 3.3 (#6269) 2023-09-05 09:54:30 -05:00
Robert Sparks c8c1ebdf12
chore: remove unnecessary .gitignore files (#6262) 2023-08-31 17:12:01 -05:00
Robert Sparks 4946430159
chore: checkpoint: halfway through removing docalias 2023-08-15 09:11:53 -05:00
Jennifer Richards 68eb685382
test: Use django_stubs_ext.QuerySetAny for isinstance() checks
mypy complains if QuerySet is used because it uses a parameterized
generic type.
2023-05-13 10:05:33 -03:00
Jennifer Richards 1015cf83f8
fix: Finish refactoring LiaisonModelForm subclasses without BetterModelForm 2023-05-10 18:47:36 -03:00
Jennifer Richards 85d0934ba0
refactor: Refactor LiaisonForm without BetterModelForm 2023-05-10 17:03:31 -03:00
Jennifer Richards 07e26dd52e
refactor: Replace deprecated force_text with force_str 2023-05-09 15:21:50 -03:00
Jennifer Richards 6b826fd985
refactor: Purge old migrations and update ci to build on a clean schema (#5431)
* 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
2023-03-28 18:06:07 +09:00
Jennifer Richards 3af68b6fbb
fix: avoid readonly attribute on select element (#4819)
* fix: avoid readonly attribute on select element

* chore: remove now-unused CSS for select2

* test: don't ignore `readonly` on `select`

* refactor: simplify OutgoingLiaisonForm base class overrides
2022-12-02 15:39:21 -06:00
Lars Eggert 6eabd4a3a1
chore: Use codespell to fix typos in comments. (#4794)
First part of replacement of #4651
2022-11-28 10:36:36 -06:00
Jennifer Richards 5a55ec0959
test: fix date-related timezone errors in tests (#4717)
* 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
2022-11-07 09:54:35 +00:00
Jennifer Richards 331bf8d2dc
fix: revert change from readonly to disabled on liaison from contact (#4708)
* feat: apply 'readonly' property to select2 inputs

* fix: revert change from readonly to disabled on liaison from contact
2022-11-06 12:27:36 +00:00
Jennifer Richards 3220bf3c40
chore: replace last few datetime.date.today() calls with date_today() 2022-10-18 12:45:47 -03:00
Jennifer Richards 31d55f1d37
fix: remove unused imports 2022-09-28 17:45:11 -03:00
Jennifer Richards 448cfbb13d
fix: more timezone fixes in liaisons/meeting/message apps 2022-09-27 15:50:10 -03:00
Jennifer Richards 2eb5723574
fix: more timezone fixes 2022-09-23 17:12:06 -03:00
Jennifer Richards 981f22a5ee
fix: get LiaisonModelForm initial value at run-time, not load-time 2022-09-23 17:08:29 -03:00
Jennifer Richards 32054111df
fix: fix failing tests and eliminate naive datetime warnings (#4402)
* test: fix timestamp construction in several doc tests

* refactor: rename date2datetime to datetime_from_date and clarify code

* chore: helper to get tzinfo for PRODUCTION_TIMEZONE

* fix: fix timezone handling in make_last_call()

* test: fix datetime generation in doc.tests_charter

* refactor: remove PRODUCTION_TIMEZONE setting

Replaces the PRODUCTION_TIMEZONE setting with a constant,
DEADLINE_TZINFO, in ietf.utils.timezone.

* test: be more careful about timezone in tests_charter.py

* test: be more careful about timezone in doc/tests.py

* fix: fix timezone handling affecting doc.tests_draft

* fix: fix timezone handling affecting tests_irsg_ballot.py

* fix: fix timezone handling affecting tests_review.py

* fix: fix timezone handling affecting last ietf.doc tests

* fix: fix timezone handling affecting last ietf.group tests

* fix: fix timezone handling affecting ietf.iesg tests

* fix: handle timezones in get_8989_eligibility_querysets

* fix: handle timezones affecting ietfauth tests

* fix: return tz-aware datetime from utc_from_string

* fix: specify timezone for constants in ipr_rfc_number()

* fix: specify tz for ipr deadlines

* fix: handle timezones affecting liaisons tests

* fix: treat leap day in get_8989_eligibility_querysets()

Manual cherry-pick of 248d6474

* test: treat leap day properly in nomcom tests

* fix: fix timezone handling affecting nomcom tests

* test: fix timezone handling in review tests

* fix: fix timezone handling affecting secr.meetings tests

* fix: handle both pytz and zoneinfo timezones in ietf.utils.timezone

* fix: fix timezone handling affecting secr.proceedings tests

* refactor: use make_aware() helper in secr.meetings tests

* test: fix timezone handling in secr.telechat tests

* fix: fix timezone handling affecting stats tests

* fix: eliminate tz-naive helpers affecting sync email parsing

* fix: include timezone data when serializing DeletedEvent data

* fix: fix timezone handling affecting sync tests

* style: remove unused import
2022-09-01 13:07:28 -03:00
Jennifer Richards ebebdbed3e
refactor: replace datetime.now and datetime.today with timezone.now (#4211)
* refactor: replace datetime.now with timezone.now

* refactor: migrate model fields to use timezone.now as default

* refactor: replace datetime.today with timezone.now

datetime.datetime.today() is equivalent to datetime.datetime.now(); both
return a naive datetime with the current local time.

* refactor: rephrase datetime.now(tz) as timezone.now().astimezone(tz)

This is effectively the same, but is less likely to encourage accidental
use of naive datetimes.

* refactor: revert datetime.today() change to old migrations

* refactor: change a missed datetime.now to timezone.now

* chore: renumber timezone_now migration

* chore: renumber migrations
2022-08-25 13:45:16 -03:00
Jennifer Richards 608b8e16a4
feat: only offer IAB/IESG members for bofreq responsible leadership (#4276)
* refactor: avoid using select2 data-* attrs on html elements

Using "data-ajax--url" shadows explicit configuration in our
select2.js wrapper. Use "data-select2-ajax-url" to avoid this.

Also add ability to omit the ajax setup entirely by returning
None from ajax_url().

* chore: hook up a flag to disable ajax for SearchablePersonsField

* refactor: send select2 prefetch data as array and allow config of min input length

* feat: only offer IAB/IESG members for bofreq responsible leadership

* test: area directors/IAB members should be options for bofreq responsible leaders

* test: update tests to match changes to SearchableField

* fix: clean up SearchablePersonsField breakage when searching by email address

* chore: finish incomplete comment
2022-07-26 11:23:00 -05:00
Lars Eggert 3fdfa3a6ef
fix: Show all liaison groups by default (#3852)
Requiring two characters to be entered before any options are shown makes no
sense here.
2022-04-20 10:51:50 -05:00
Lars Eggert 3234f1a121
test: Validate HTML rendered during tests (#3782) 2022-04-07 13:30:38 -03:00
Lars Eggert eb5423d084
ci: Also check generated HTML with the "vnu" validator (#3682)
* ci: Also check generated HTML with the "vnu" validator

Because HTML Tidy apparently misses a bunch of errors.

* thead -> tbody

* More fixes

* More fixes

* Start checker in test runner
2022-03-21 12:50:23 -05:00
Lars Eggert ed30521e14 Many more HTML fixes.
- Legacy-Id: 19908
2022-02-03 07:49:34 +00:00
Lars Eggert 335a39d4fc More fixes.
- Legacy-Id: 19884
2022-01-28 13:00:47 +00:00
Lars Eggert a5cbf5307e More fixes
- Legacy-Id: 19835
2022-01-12 11:54:00 +00:00
Lars Eggert 5132661b06 More test fixes
- Legacy-Id: 19803
2022-01-05 11:25:25 +00:00
Lars Eggert c68446ae93 More select2 and test fixes.
- Legacy-Id: 19781
2021-12-14 18:19:12 +00:00
Lars Eggert e9fd78128c Interim commit
- Legacy-Id: 19765
2021-12-09 18:26:53 +00:00
Lars Eggert f974fd3c04 Fix more things
- Legacy-Id: 19762
2021-12-09 06:41:00 +00:00
Lars Eggert a9738bc2b2 Many more changes related to tablesorter.
- Legacy-Id: 19702
2021-11-23 15:31:34 +00:00
Jennifer Richards 81d9234d54 Use temporary directories instead of "real" filesystem for tests. Fixes #3414. Commit ready for merge.
- Legacy-Id: 19555
2021-11-05 19:45:57 +00:00
Robert Sparks 24782163cb Remove outdated mechanic for adding additional email addresses to crash reports from several apps. Commit ready for merge.
- Legacy-Id: 19298
2021-08-11 15:35:28 +00:00
Robert Sparks b99eecc1ae Bring the factory-boy and Faker dependencies forward through some minor breaking changes. Stop using the deprecated fr_QC locale in Faker. Commit ready for merge.
- Legacy-Id: 19270
2021-08-03 22:22:35 +00:00
Jennifer Richards 17d37723f7 Consolidate repeated searchable field code into SearchableField class. Fix single-valued searchable fields. Make javascript test config reusable. Use Django Form.media for JS/CSS inclusion. Fixes #3196, #3204. Commit ready for merge.
- Legacy-Id: 18939
2021-04-09 15:18:11 +00:00
Robert Sparks 8bf32fc890 Adjust several searchable fields to match a changed interface in select2-field.js
- Legacy-Id: 18867
2021-02-26 16:23:04 +00:00
Jennifer Richards df37793e14 Use Roles instead of dedicated model for liaison statement group contacts. Fixes #3100. Commit ready for merge.
- Legacy-Id: 18828
2021-02-12 16:39:20 +00:00
Robert Sparks 3697180cc1 Reverted merge of timezone-aware migration efforts.
- Legacy-Id: 18792
2021-01-12 16:54:20 +00:00
Henrik Levkowetz 774e752a54 Snapshot of timezone-aware datatracker code. Tests pass, and the test-crawler shows only expected differences. Trunk changes merged in up to r18768.
- Legacy-Id: 18770
2020-12-16 23:53:37 +00:00
Henrik Levkowetz f41fd1867d Upgraded the required versions of mypy and django-stubs to the latest that support Django 2.2. Fixed some issues found by after the upgrades.
- Legacy-Id: 18717
2020-11-22 21:13:36 +00:00
Henrik Levkowetz 088033d843 Added matching indexes to a number of models with ordering by multiple keys.
- Legacy-Id: 18664
2020-11-09 19:41:12 +00:00
Henrik Levkowetz 57938b039d Converted many cases of plain-text 403 messages to use a properly styled page instead, with a login link when appropriate. Also changed some API endpoint 400 responses to a more correct 403.
- Legacy-Id: 18339
2020-08-06 10:59:52 +00:00
Henrik Levkowetz 27da6e86d4 Widgets' .render() method now must accept an additional keyword argument (renderer); adjusted the code accordingly (including a library patch -- pull request also submitted).
- Legacy-Id: 18056
2020-06-24 20:44:47 +00:00
Henrik Levkowetz 9aeda11a29 Removed some Py2 compatibility decorators.
- Legacy-Id: 17673
2020-04-21 13:54:31 +00:00
Henrik Levkowetz f10ddadc0e Merged in changes from trunk up to r17584.
- Legacy-Id: 17593
2020-04-07 16:02:52 +00:00