Commit graph

359 commits

Author SHA1 Message Date
Lars Eggert 220be21998
chore: Use codespell to fix typos in code. (#4797)
* 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
2022-12-07 15:10:35 -06:00
Jennifer Richards 611d732869
test: fix a couple tz problems in tests run soon after midnight UTC (#4757)
* 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>
2022-11-15 07:46:42 -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 da70acfdff
Merge branch 'feat/tzaware' into jennifer/yet-more-tz-fixes
# Conflicts:
#	ietf/ietfauth/utils.py
#	ietf/meeting/tests_views.py
#	ietf/stats/tests.py
2022-10-17 16:39:45 -03:00
Jennifer Richards 7b1b7f5273
Merge branch 'feat/tzaware' into dev/tzaware-main-merge 2022-10-11 14:57:34 -03:00
Jennifer Richards cb9e576fb4
fix: return False from has_role() when role_names is the empty list (#4541)
* fix: return False from has_role() when role_names is the empty list

* chore: add comments clarifying the effect of Q()
2022-10-07 16:05:37 -05:00
Jennifer Richards 2eb5723574
fix: more timezone fixes 2022-09-23 17:12:06 -03:00
Jennifer Richards 1366b6de38
Merge branch 'feat/tzaware' into jennifer/main-to-tzaware-conflicts 2022-09-14 12:36:33 -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
Lars Eggert 088d953e7e
fix: provide settings to render_to_string for IPR notification emails (#4357)
* Pass settings into the context

Fixes #4340

* fix: test changes to the ipr notification message content

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-08-26 14:27:37 -05: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
Robert Sparks 10396d6f01
chore: remove more tools.ietf.org server only related things. (#4103)
* chore: remove more tools.ietf.org server only related things.

* chore: remove use of tools.ietf.org floorplans\n\nThe data will move into the FloorPlan models instead.
2022-06-22 14:11:46 -05:00
Jennifer Richards 681fae2af5
test: decode email payloads before validating (#3926) 2022-05-03 09:29:42 -05: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
Jennifer Richards 6c260a5b7e Merge 7.45.1.dev0 into Bootstrap 5 update branch. Made a first pass at reconciling differences.
- Legacy-Id: 19945
2022-02-17 20:09:49 +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
Jennifer Richards 310ea57bc5 Accept/replace invalid Unicode bytes when processing ipr response emails. Fixes #3489. Commit ready for merge.
- Legacy-Id: 19766
2021-12-09 19:29:20 +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
Jennifer Richards dcf4251363 Better handle invalid character encodings in process_email and feedback_email commands. Add tests of this using stdin. Commit ready for merge.
- Legacy-Id: 19694
2021-11-19 00:41:05 +00:00
Robert Sparks 5c28a85cf1 Merged in [19555] from jennifer@painless-security.com:
Use temporary directories instead of 'real' filesystem for tests. Fixes #3414.
 - Legacy-Id: 19561
Note: SVN reference [19555] has been migrated to Git commit 81d9234d54
2021-11-08 18:16:56 +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 d9dc4f55e2 Merged in [19493] from jennifer@painless-security.com:
Create management command base class that sends emails on exceptions. Fixes #3356 and #3357.
 - Legacy-Id: 19527
Note: SVN reference [19493] has been migrated to Git commit 968b775315
2021-11-02 17:40:28 +00:00
Robert Sparks 2eb2ced685 Merged in [19488] from rcross@amsl.com:
Change view /ipr/by-draft-recursive to use static content
 - Legacy-Id: 19524
Note: SVN reference [19488] has been migrated to Git commit 93d5d193e5
2021-11-02 15:55:20 +00:00
Jennifer Richards 968b775315 Create management command base class that sends emails on exceptions. Fixes #3356 and #3357. Commit ready for merge.
- Legacy-Id: 19493
2021-10-29 01:58:21 +00:00
Ryan Cross 93d5d193e5 Change view /ipr/by-draft-recursive to use static content
- Legacy-Id: 19488
2021-10-28 18:45:07 +00:00
Jennifer Richards 0782ee0843 Handle missing 'to' field in process_response_email. Relates to #3357. Commit ready for merge.
- Legacy-Id: 19312
2021-09-01 14:53:35 +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
Robert Sparks bbdf15eabd Removed unintended debug statement. Commit ready for merge.
- Legacy-Id: 19217
2021-07-14 19:08:33 +00:00
Robert Sparks 993299faf6 quote a test parameter that should have been quoted all along. Commit ready for merge.
- Legacy-Id: 19215
2021-07-14 19:03:36 +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 b16703160d Merged in [18886] from rjsparks@nostrum.com:
Change ipr pages to say General rather than Generic, and to change the text to note email submissions are not accepted. Fixes #3209.
 - Legacy-Id: 18888
Note: SVN reference [18886] has been migrated to Git commit 550c1233fe
2021-03-03 20:49:11 +00:00
Robert Sparks 550c1233fe Change ipr pages to say General rather than Generic, and to change the text to note email submissions are not accepted. Fixes #3209. Commit ready for merge.
- Legacy-Id: 18886
2021-03-03 20:15:57 +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
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 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
Robert Sparks a6e614d8ad Increase length-limit on the notes field of the Generic IPR disclosure form. Additional fix for #3104. Commit ready for merge.
- Legacy-Id: 18622
2020-10-19 17:56:26 +00:00
Robert Sparks 02718dc447 Increase length-limit on the notes field of the base IPR disclosure form. Fixes #3104. Commit ready for merge.
- Legacy-Id: 18620
2020-10-19 14:55:43 +00:00
Henrik Levkowetz 02bb72d585 Merged in [18425] from olau@iola.dk:
Make the IPR search form initialize the state field upon form
initialization instead of evaluating the queryset upon importing the
module. This is probably never a problem in practice in this case in
the live environment, but it's a confusing practice, and when running
the tests sometimes a bug seems to throw Django off and the error is
then shadowed by Django crashing when trying to access the
(non-existing) database.
 - Legacy-Id: 18454
Note: SVN reference [18425] has been migrated to Git commit 0aa0f7d4e2
2020-09-01 10:30:55 +00:00
Henrik Levkowetz 465063d0ec Made a template filter more robust when given unexpected input.
- Legacy-Id: 18417
2020-08-26 14:55:28 +00:00
Henrik Levkowetz 0c4d58a9f7 Based on feedback from the Secretariat, changed the 404 for IPR declarations in other states than 'posted' to a 403 with a login link.
- Legacy-Id: 18333
2020-07-31 12:36:50 +00:00
Henrik Levkowetz bc05e7a8d0 Refactored many instances of msg.get_payload(decode=True).decode('utf-8') and similar to get_payload_text(msg), which uses msg.get_charset() to get the actual charset to do the decoding, in a consistent manner. Also removed some instances of force_str, but more remain.
- Legacy-Id: 17807
2020-05-16 20:20:05 +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
Henrik Levkowetz 5ec243e14f Changed the IPR patent number regex to permit space between country code and serial number, and expanded on the help text for the IPR patent number field.
- Legacy-Id: 17573
2020-04-01 16:50:01 +00:00
Henrik Levkowetz 726fcbf27d Removed all __future__ imports.
- Legacy-Id: 17391
2020-03-05 23:53:42 +00:00
Henrik Levkowetz ab173cb2eb Removed further six usage: six.string_types, six.integer_types, six.moves.urllib instances.
- Legacy-Id: 17390
2020-03-05 20:46:58 +00:00
Henrik Levkowetz e9a37d8ac8 Removed six.text_type(), changed six.moves.urllib to plain urllib, and removed now unused six imports.
- Legacy-Id: 17385
2020-03-05 14:41:41 +00:00
Henrik Levkowetz fa4adeb374 Fixed a number of bad Message.content_type settings.
- Legacy-Id: 17339
2020-02-26 17:05:53 +00:00
Jennifer Richards b02b42da81 Create DocEvent when related IprDisclosure is posted or removed. Fixes #2811. Commit ready for merge.
- Legacy-Id: 17284
2020-02-07 20:41:13 +00:00
Henrik Levkowetz b7724c43d7 Changed some # type: ignore statements to work with the latest mypy
- Legacy-Id: 16968
2019-11-05 22:41:18 +00:00
Henrik Levkowetz a4e49d8ec0 Merged in [16853] from rjsparks@nostrum.com:
Add submitted and posted dates to several ipr notification email messages. Fixes #2807.
 - Legacy-Id: 16899
Note: SVN reference [16853] has been migrated to Git commit f39d1568f0c4a8f4b1ebd3dee887fff6b3d8049b
2019-10-22 12:23:07 +00:00
Henrik Levkowetz 33e8733b91 Fixed up mypy issues or added type:ignore comments as needed for a clean mypy run.
- Legacy-Id: 16772
2019-09-30 15:42:18 +00:00
Henrik Levkowetz 5d2a22e052 Added textual information about patent aplication formats according, as input to future extension of the regex set.
- Legacy-Id: 16641
2019-08-10 16:42:10 +00:00
Henrik Levkowetz 8f53f44953 Added some new formats to the regex validator for patent numbers and patent application numbers. This is still not comprehensive.
- Legacy-Id: 16638
2019-08-09 20:10:06 +00:00
Henrik Levkowetz 8e313e4ed5 Adjusted migrations for Python2/3 compatibility.
- Legacy-Id: 16633
2019-08-08 17:11:14 +00:00
Henrik Levkowetz e03784132d Merged changes from current trunk to Py3 branch.
- Legacy-Id: 16468
2019-07-16 15:36:16 +00:00
Henrik Levkowetz bdc73e771a Python2/3 compatibility: replaced six.ensure_text() with either six.text_type or django's force_text(), depending on the case, and fixed a variable scope issue.
- Legacy-Id: 16461
2019-07-16 13:20:05 +00:00
Henrik Levkowetz 8c6eb3a30a Python2/3 compatibility: Changed the use of open() and StringIO to io.open() etc.
- Legacy-Id: 16458
2019-07-15 19:14:04 +00:00
Henrik Levkowetz ea8c84d2f6 Python2/3 compatibility: used @python_2_unicode_compatible to provide __unicode__() versions of __str__() methods.
- Legacy-Id: 16455
2019-07-15 18:01:26 +00:00
Henrik Levkowetz 99a7f9c263 Python2/3 compatibility: Added force_str or force_bytes in some places, to ensure the argument right type
- Legacy-Id: 16453
2019-07-15 17:13:46 +00:00
Henrik Levkowetz 831fb18f8a Python2/3 compatibility: Added force_str or force_bytes in some places, to ensure the argument right type
- Legacy-Id: 16450
2019-07-15 15:49:35 +00:00
Henrik Levkowetz 2d7c9629aa Added 'from __future__' imports all over the place, to bring code behaviour into closer alignment between python2 and python3
- Legacy-Id: 16446
2019-07-15 15:40:51 +00:00
Henrik Levkowetz 8a8138eb18 Added a debug import.
- Legacy-Id: 16434
2019-07-08 18:14:40 +00:00
Henrik Levkowetz 9d5641da64 Removed unnecessary asserts on r.status_code; this will be checked by assertContains().
- Legacy-Id: 16416
2019-07-07 12:58:01 +00:00
Henrik Levkowetz ec571401fe Fixed a base64 bytes/str issue.
- Legacy-Id: 16415
2019-07-07 12:51:58 +00:00
Henrik Levkowetz 0679eaa8d4 Removed unused imports.
- Legacy-Id: 16402
2019-07-04 21:06:57 +00:00
Henrik Levkowetz f480799af9 Undid unintentional bulk commit
- Legacy-Id: 16401
2019-07-04 21:04:46 +00:00
Henrik Levkowetz fc09a59950 Added decode() of command pipe output.
- Legacy-Id: 16400
2019-07-04 21:01:39 +00:00
Henrik Levkowetz 81fa6dc962 Fixed some issues with bulk changes related to assertContains()
- Legacy-Id: 16379
2019-07-04 16:04:39 +00:00
Henrik Levkowetz b7690fbdcd Changed additional regexes to r strings.
- Legacy-Id: 16377
2019-07-04 15:54:23 +00:00
Henrik Levkowetz 97a555936d Changed a large number of test assertions to use assertContains() and removed separate, now unnecessary,status_code checks. Also changed many assertTrue(... in ...) to use assertIn().
- Legacy-Id: 16346
2019-06-30 21:03:34 +00:00
Henrik Levkowetz 15e74e89cb Converted instances of assertTrue(text in response.content) to the recommended assertContains(response, text), and similar for assertFalse(... in ...)
- Legacy-Id: 16336
2019-06-29 13:43:31 +00:00
Henrik Levkowetz 484dcece5f Changed all model __unicode__() methods to __str__()
- Legacy-Id: 16330
2019-06-28 21:07:08 +00:00
Henrik Levkowetz d7f5c84182 Initial 2to3 patch with added copyright statement updates.
- Legacy-Id: 16309
2019-06-27 14:40:54 +00:00
Henrik Levkowetz 8fd2fe4bf8 Corrected a copyright year
- Legacy-Id: 16307
2019-06-26 15:30:05 +00:00
Henrik Levkowetz 41e9299949 Changed permitted length of patent_title from 127 to 255
- Legacy-Id: 16306
2019-06-26 15:28:43 +00:00
Henrik Levkowetz db12f2b948 Fixed some name versus pk issues lingering after the Document/DocAlias primary key refactoring. Fixes issue #2729.
- Legacy-Id: 16288
2019-06-19 12:57:52 +00:00
Henrik Levkowetz 7270d5f67a Added the option to order API resource lists by primary key, for stable ordering when paging through a list.
- Legacy-Id: 16284
2019-06-18 12:40:19 +00:00
Henrik Levkowetz 426870b766 Merged in the Document and DocAlias primary key change and m2m work in ^/personal/henrik/6.96.1-docalias.
- Legacy-Id: 16261
2019-06-15 12:00:48 +00:00
Henrik Levkowetz a2cafded25 Changed DocAlias to be many-to-many, in order to be able to handle STD aliases referring to multiple RFCs.
- Legacy-Id: 16249
2019-06-14 20:38:14 +00:00
Henrik Levkowetz 815602351f This is a series of 50 migrations that changes the Document and DocAlias
primary keys from character strings to integers, and makes corresponding code
changes.

This was prompted by database limitations discovered when trying to make
DocAlias use a m2m document field; with 255 long strings as primary keys for
Document and DocAlias this violated the MySQL database limitations.

Changing the primary keys to integers should also improve efficiency.  

Due to the data migrations which create the new integer primary keys and adds
corresponding integer foreign keys matching the previous string foreign keys
in all tables having foreign keys to Document and DocAlias, some of these
migrations take a long time.  The total set of migrations are expected to have
a runtime on the order of 2 hours.
 - Legacy-Id: 16237
2019-06-10 11:32:46 +00:00
Henrik Levkowetz 2c290ce663 Merged in [16022] from rcross@amsl.com:
Modify IPR Patent number regex to allow Italian format, XX[15 digits]. Fixes #2694.
 - Legacy-Id: 16023
Note: SVN reference [16022] has been migrated to Git commit c3688872fd
2019-03-13 14:31:25 +00:00
Ryan Cross c3688872fd Modify IPR Patent number regex to allow Italian format, XX[15 digits]. Fixes #2694. Commit ready for merge
- Legacy-Id: 16022
2019-03-12 21:52:20 +00:00
Henrik Levkowetz f6461d531c Added html escaping of initial text-area content in a view function to avoid mangling.
- Legacy-Id: 15989
2019-03-04 20:10:16 +00:00
Robert Sparks 775addc616 Use factories for ipr tests. Commit ready for merge.
- Legacy-Id: 15492
2018-09-28 23:16:46 +00:00
Henrik Levkowetz 35deea3391 Added support for kind codes as part of patent numbers.
- Legacy-Id: 15285
2018-07-05 17:22:48 +00:00
Henrik Levkowetz b1b8f43ee6 Tweaked the IPR factory to be less likely to produce invalid patent info.
- Legacy-Id: 15085
2018-04-25 21:01:12 +00:00
Henrik Levkowetz bc18be21a7 Increased the length of the patent title in IPR forms
- Legacy-Id: 15062
2018-04-21 17:42:06 +00:00
Henrik Levkowetz f9cdaee9c0 Increased the size of the patent_notes form field, and tweaked the validate_patent_number validator to accept US application numbers containing a series number and forward slash.
- Legacy-Id: 15059
2018-04-20 12:30:07 +00:00
Henrik Levkowetz ea7728b501 Changed calls to .related_that*() and .relations_that*() to use tuples rather than lists (a slight optimization).
- Legacy-Id: 15029
2018-04-07 10:47:16 +00:00
Henrik Levkowetz 5446ae642a Changed the signature of some document methods to not accept lists (but still accept tuples) in order to make caching possible. Added @memoize to some methods.
- Legacy-Id: 15024
2018-04-06 21:25:56 +00:00
Robert Sparks ce8f73fd9c Factories for the ipr app. Coverage of ietf.ipr.views.ajax_search, and a factory-driven test of ietf.ipr.views.edit. Commit ready for merge.
- Legacy-Id: 14970
2018-03-29 15:29:55 +00:00
Henrik Levkowetz 9547646f81 Added a test for IPR edit.
- Legacy-Id: 14951
2018-03-27 17:55:11 +00:00
Henrik Levkowetz e830f0f976 Fill in the IPR edit form, section V, with patent information derived from the patent_info field, the same way we do for the IPR update form.
- Legacy-Id: 14950
2018-03-27 10:40:59 +00:00
Henrik Levkowetz 27914a0a90 Limited the lenght of the ipr document summary to 128, in order to not produce overlong message subjects. Fixes a server 500 from 5 Mar 2018.
- Legacy-Id: 14737
2018-03-06 12:22:03 +00:00
Henrik Levkowetz 6e1d4d45d8 Added some missing migrations
- Legacy-Id: 14697
2018-02-25 20:08:37 +00:00