Commit graph

367 commits

Author SHA1 Message Date
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 067ae17b4e
fix: do not set user template var in ietfauth views (#4216)
Lets the `user` variable pick up `request.user`.
Fixes #3568
2022-07-15 13:37:25 -05:00
Lars Eggert c09fd9dad2
chore: Use URL resolver in more places (#4104)
* chore: Use URL resolver more

* Use settings.IDTRACKER_BASE_URL

* More fixes

* Use URL resolver for things under /accounts

* Use URL resolver for things under /stream

* Use URL resolver for things under /iesg

* Use URL resolver for things under /meeting

* Fix bugs

* Use URL resolver for things under /help

* Use URL resolver for things under /ipr

* More changes

* Revert vnu.jar

* Fix typos

* Address review comments by @rjsparks

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-06-22 14:10:16 -05:00
Robert Sparks 8b90ecd4aa
feat: add pronouns to Person and oidc claims. Fixes #4043. (#4059)
* feat: add pronouns

* fix: include migrations

* fix: correct daggers on person form.

* fix: clean pronouns

* feat: add choices to pronouns

* feat: show pronouns on public profile

* feat: add pronouns to oidc userinfo

* fix: move pronouns to new claim. Add tests.

* fix: improve html generated by new widget

* feat: use a MultiWidget for pronouns

* refactor: use two fields on Person for the two types of pronoun entry.

* chore: update copyrights
2022-06-21 15:02:02 -05:00
rpcross 698f031b7f
feat: separate MeetingRegistration rows for each registration type. updates the registration API (#3641)
* Registration API Update

- change MeetingRegistration.reg_type field to hold only one type
- allow multiple MeetingRegistration records per person/meeting
  (one for each reg_type)

* Fix scope claims

* Add meeting 114 to MeetingRegistration migration

* fix: update stats views for MeetingRegistration model use changes

* refactor: remove unused imports
2022-06-16 15:39:34 -05:00
Robert Sparks c89f7c89c5
feat: begin supporting the new rfc editor model (#3960)
* feat: restructure rfcedtype groups. add rpc, rswg, rsab.

* feat: show rfc editor groups on menu

* feat: add the editorial stream

* fix: repair broken html and extent dest coverage.

* chore: address Lars review comment

* chore: update copyright notices.
2022-05-20 12:22:17 -05:00
Lars Eggert 3234f1a121
test: Validate HTML rendered during tests (#3782) 2022-04-07 13:30:38 -03:00
Jennifer Richards 686a9150b3 Merge remote-tracking branch 'origin/main' into personal/jennifer/7.45.1.dev0.bootstrap-merge
# Conflicts:
#	ietf/templates/meeting/session_buttons_include.html
2022-03-04 15:14:52 -04:00
Robert Sparks e3aa43eea5 Merged in [19967] from rjsparks@nostrum.com:
From Kesara Rathnayake: Expire password reset links on use, password change through other mechanics, login, or a short configurable time (initially one hour). Patched in at 7.45.0.p2.
 - Legacy-Id: 19968
Note: SVN reference [19967] has been migrated to Git commit 682392081bddbd1b8653df9135388e6b7c48ee1c
2022-02-23 18:30:27 +00: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 cc723ce449 More fixes.
- Legacy-Id: 19899
2022-01-31 19:17:50 +00:00
Jennifer Richards c4bf508cd8 Do not redirect user to the logout page when logging in. Fixes #3478. Commit ready for merge.
- Legacy-Id: 19876
2022-01-24 17:34:29 +00:00
Robert Sparks f7a9e0a1f9 Remove the manual intervention step for account creation. Commit ready for merge.
- Legacy-Id: 19858
2022-01-19 18:10:30 +00:00
Lars Eggert 9c05373699 More fixes.
- Legacy-Id: 19856
2022-01-18 20:04:55 +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
Kesara Rathnayake 43513ed2f5 Adds private app authentication API for bibxml. Fixes #3480. Commit ready for merge.
- Legacy-Id: 19711
2021-11-25 04:26:30 +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 3a553c4863 Use friendlier language when requiring manual assistance with account creation. Fixes #3445. Commit ready for merge.
- Legacy-Id: 19464
2021-10-26 23:38:44 +00:00
Robert Sparks 6351ce86c2 Provide a dots oidc claim for online badges. Commit ready for merge.
- Legacy-Id: 19437
2021-10-18 21:39:00 +00:00
Robert Sparks 21f5a55e2f Only show roles in active roups in the oidc roles claim. Fixes #3424. Commit ready for merge.
- Legacy-Id: 19412
2021-10-11 19:08:46 +00:00
Kesara Rathnayake 90297bc2ab Fixes API authentication issue. Commit ready for merge.
- Legacy-Id: 19393
2021-10-01 04:43:54 +00:00
Kesara Rathnayake 6292e528fd Improves API authentication tests. Relates to #3412. Commit ready for merge.
- Legacy-Id: 19392
2021-09-24 10:01:03 +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 dcd372a928 Restrict editor access in all states but proposed.
- Legacy-Id: 19205
2021-07-08 19:16:58 +00:00
Robert Sparks c906a8e654 Use a cdn for the oidc profile photo url. Commit ready for merge.
- Legacy-Id: 19176
2021-07-01 15:56:53 +00:00
Robert Sparks 4dcd2cbaa6 Merged in [19104] from rjsparks@nostrum.com:
Allow people to volunteer for NomCom via the datatracker.
 - Legacy-Id: 19109
Note: SVN reference [19104] has been migrated to Git commit 86102b9980
2021-06-10 23:12:01 +00:00
Robert Sparks 86102b9980 Allow people to volunteer for NomCom via the datatracker. Commit ready for merge.
- Legacy-Id: 19104
2021-06-10 20:35:50 +00:00
Ryan Cross 92f2d02207 Fix /api/v2/person/person to work with Robot apikey. Commit ready for merge.
- Legacy-Id: 19101
2021-06-09 18:13:17 +00:00
Robert Sparks 80798f8dfa Avoid duplicate choices for person api endpoints.
- Legacy-Id: 19082
2021-06-04 21:45:16 +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 bee0dc9aa1 Added a person name validation step to prevent names using 'anonymous'.
- Legacy-Id: 18597
2020-10-11 15:10:27 +00:00
Henrik Levkowetz ac5e88b82b Added a context processor to make settings generally available in page templates. Split the SECRETARIAT_TICKET_EMAIL setting into SECRETARIAT_ACTION_EMAIL and SECRETARIAT_INFO_EMAIL, with different addresses. Updated places with hardcoded ietf-action@ietf.org addresses to use the settings value, and updated some places to use ietf-infor@ietf.org instead of the ietf-action address. Fixes issue #3081.
- Legacy-Id: 18501
2020-09-17 11:10:27 +00:00
Henrik Levkowetz 2956d51ee9 Updated coverage data and tweaked an OpenIDtest and scope description.
- Legacy-Id: 18485
2020-09-11 10:48:44 +00:00
Henrik Levkowetz e6f6f4697a OpenID already has a photo URL as part of the 'profile' scope. Added the the datatracker photo url to the returned OpenID 'profile' scope information when a profile photo is available.
- Legacy-Id: 18484
2020-09-10 21:45:21 +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 e4bc508abc Merged in [18298] from rjsparks@nostrum.com:
Convert IRTF area groups into their own group type rather than attempting to overload AG. Fixes #3027.
 - Legacy-Id: 18320
Note: SVN reference [18298] has been migrated to Git commit 2b10465aa7
2020-07-30 14:27:17 +00:00
Henrik Levkowetz 8ac37a3f51 Added some normalisation of the reg_type and ticket_type entries in the OIDC registration scope.
- Legacy-Id: 18301
2020-07-28 21:04:28 +00:00
Robert Sparks 2b10465aa7 Convert IRTF area groups into their own group type rather than attempting to overload AG. Fixes #3027. Commit ready for merge.
- Legacy-Id: 18298
2020-07-28 18:54:44 +00:00
Henrik Levkowetz ae6513f1c9 Improved the handling in the OpenID Connect userinfo response of multiple meeting registrations with different email addresses for the same person.
- Legacy-Id: 18286
2020-07-28 14:01:20 +00:00
Henrik Levkowetz 606cedd796 Merged in the ExtResource work from rjsparks@nostrum.com, based on a feature request and contributions from rsalz@akamai.com. This provides external resource models for Person, Group, and Document models, as a generalisation of the previous related-URL concept. This provides a consistent labelling and classification of URLs and other resources related to a Group, Document, or Person. The GroupURL (and similar) classes will be removed in a later step. Some DocumentURL instances (such as auth48 URLs) remain to convert, as they have come in with other merged-in work while the ExtResource work was in transit.
- Legacy-Id: 18192
2020-07-20 01:58:26 +00:00
Henrik Levkowetz d8b11c4293 Removed an unused and unnecessary API endpoint, now that gather.town has gotten OpenID Connect authentication working.
- Legacy-Id: 18190
2020-07-17 19:33:15 +00:00
Henrik Levkowetz 1239e91b72 Removed a duplicate management command.
- Legacy-Id: 18188
2020-07-17 15:57:23 +00:00
Robert Sparks 6227162e53 Updated mgmt command to find github repos to back up. Improved test coverage of branch changes. Branch ready for merge.
- Legacy-Id: 18163
2020-07-13 17:36:34 +00:00
Robert Sparks 99df95d542 Cleaned up created names. Improved validation during migration. Cleaned up migration output. Cleaned the last of the awp includes from secr views. Removed now unused secr templates. Build extresource urls correctly during submission and when creating group wikis.
- Legacy-Id: 18158
2020-07-13 16:03:39 +00:00
Henrik Levkowetz c6cdbf8ca8 Added a new field Person.plain as a fallback for names where plain_name() produces the wrong result. Fixes issue #3020.
- Legacy-Id: 18147
2020-07-11 20:22:23 +00:00
Robert Sparks 53f7bc3ce6 migrated forward
- Legacy-Id: 18144
2020-07-09 21:07:05 +00:00
Henrik Levkowetz 62e1a17579 Fixed an issue with openid_userinfo() for persons with no email address.
- Legacy-Id: 18105
2020-06-30 13:50:02 +00:00
Henrik Levkowetz 94d2171c22 Removed unused imports.
- Legacy-Id: 18088
2020-06-27 17:38:43 +00:00
Henrik Levkowetz cb9006eb26 Changed skip messages from test suites to use print() instead of sys.stderr.write(), to match other output from the test runner.
- Legacy-Id: 18087
2020-06-27 17:32:02 +00:00
Henrik Levkowetz 8c90c53463 Added meeting registration 'affiliation' field to the OAuth2 'registration' scope, so that Meetecho will have the information needed build bluesheets.
- Legacy-Id: 18070
2020-06-26 19:26:28 +00:00
Henrik Levkowetz dc5ca4eebc Merged in Django 2.1 upgrade changes.
- Legacy-Id: 18060
2020-06-24 20:51:00 +00:00
Henrik Levkowetz 7c7c5da39f Changed the 2.1 removed django.contrib.auth.views.logout to LogoutView.
- Legacy-Id: 18052
2020-06-24 20:36:46 +00:00
Robert Sparks bf53bf1057 Merged forward. Added some missing parts to the XMPPURLValidator.
- Legacy-Id: 18050
2020-06-24 19:01:45 +00:00
Henrik Levkowetz e493377a52 Fixed a problem with the code to update missing person record association in a meeting registration record.
- Legacy-Id: 18044
2020-06-24 11:03:49 +00:00
Henrik Levkowetz a6a99a449f Removed a debug statement
- Legacy-Id: 18009
2020-06-17 14:56:26 +00:00
Henrik Levkowetz b0b9bb4ce9 Added code in the OpenID registration scope to look for registration matches also by email, to handle the case where somebody registered with a new email and only added it to the datatracker later. In this case, we would not have connected up the registration and the person record when first notified.
- Legacy-Id: 18008
2020-06-17 13:31:55 +00:00
Henrik Levkowetz b03b2e2477 Tweaked the OpenID Connect 'profile' grant description.
- Legacy-Id: 17980
2020-06-13 21:29:37 +00:00
Henrik Levkowetz 1cc9712ddf Changed the OpenID profile data description to match what the datatracker actually shares.
- Legacy-Id: 17975
2020-06-12 16:17:06 +00:00
Henrik Levkowetz eeba4ea992 Removed an unnecessary entry from the OIDC auth request arguments in test_oidc_code_auth().
- Legacy-Id: 17972
2020-06-12 14:39:54 +00:00
Henrik Levkowetz 61f01721c6 Added some code to set the meeting attendance flag when Meetecho pulls OAuth2 profile data for session participation between the start and end dates for a meeting.
- Legacy-Id: 17956
2020-06-09 21:01:49 +00:00
Henrik Levkowetz 3e008518c9 With ticket_type and reg_type fields now part of MeetingRegistratoin, removed the conditional handling of these attributes in the OpenID 'registration' scope handler.
- Legacy-Id: 17949
2020-06-09 14:00:47 +00:00
Henrik Levkowetz ec5d159b4f Added a new API endpoint to be used by the registration system, to trigger account creation.
- Legacy-Id: 17941
2020-06-08 19:51:10 +00:00
Henrik Levkowetz 2416a46f5e Refactored some account creation code to re-use the email sending part in the registration system notification api for new meeting registrations.
- Legacy-Id: 17940
2020-06-08 19:49:30 +00:00
Henrik Levkowetz 275e48681d Updated the email template that goes out for password setting on account creation, to give directions also for the case when the user already has a pre-existing account. Updated a test to match.
- Legacy-Id: 17939
2020-06-08 19:48:05 +00:00
Henrik Levkowetz 65c919b325 Added OpenID support through django-oidc-provider, with tests using the certified python oic module.
- Legacy-Id: 17919
2020-06-06 21:01:21 +00:00
Henrik Levkowetz 4139d17308 Added a factory function OidClientRecordFactory for OpenID testing
- Legacy-Id: 17914
2020-06-06 20:15:18 +00:00
Robert Sparks b7f45dba05 added ways to see and edit PersonExtResources.
- Legacy-Id: 17869
2020-05-21 20:10:04 +00:00
Jim Fenton c9bc6b43f0 Give IRSG at-large members balloting capability. Fixes #2979. Branch ready for merge.
- Legacy-Id: 17838
2020-05-19 16:34:24 +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
Robert Sparks fb8e5c6842 Allow IAB programs to use normal meeting mechanics. Fixes #2970. Commit ready for merge.
- Legacy-Id: 17764
2020-05-08 21:11:25 +00:00
Henrik Levkowetz 69a5d0817d Refined the GUI for personal API endpoints so that endpoints for which one does not have the right Roles do not show in the GUI, and added a supporting method on Person objects. Updated tests accordingly.
- Legacy-Id: 17643
2020-04-15 17:22:06 +00:00
Henrik Levkowetz 726fcbf27d Removed all __future__ imports.
- Legacy-Id: 17391
2020-03-05 23:53:42 +00:00
Henrik Levkowetz 566971a6ae Removed further six usage.
- Legacy-Id: 17386
2020-03-05 15:10:33 +00:00
Peter E. Yee bb7e504d14 12/13 merged into 6.113.1.dev0 with migration ordering failure
- Legacy-Id: 17149
2019-12-13 19:53:45 +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 77abc3868e Type checking tweaks.
- Legacy-Id: 16867
2019-10-15 16:54:33 +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 8adae6176d Improved a check for authenticated user.
- Legacy-Id: 16521
2019-07-18 19:30:01 +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 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 f8d4c3c9a6 More assertContains() and BytesIO() related changes.
- Legacy-Id: 16411
2019-07-07 12:45:57 +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 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 36cac48063 Fixed a bunch of str/bytes issues.
- Legacy-Id: 16341
2019-06-30 20:54:09 +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 3ec7e864be Converted leading tabs to spaces in ietf/**/*.py
- Legacy-Id: 16310
2019-06-27 14:51:02 +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 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 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 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 8726e74709 Merged in a refactoring of document review code from rjsparks@nostrum.com. This introduces ReviewAssignments, letting us do multiple assingments for a given RevieRequest, without conflating the assignments and their results with the request itself.
- Legacy-Id: 16177
2019-04-30 16:54:06 +00:00
Henrik Levkowetz bb4fe3fbbf Undid previous commit
- Legacy-Id: 16153
2019-04-22 19:22:42 +00:00