Commit graph

128 commits

Author SHA1 Message Date
Robert Sparks 852f9d90b9
feat: move IAB appeals into the datatracker (#6229)
* feat: basic models for appeals

* fix: modify appeal model to point to group

* fix: explicit date on Appeal objects

* feat: appeals importing management command

* feat: display appeals

* feat: admin for appeals

* fix: limit admin contentype choices

* feat: tastypie resources

* feat: factories and tests

* chore: update group migration

* fix: remove charset from pdf content type

* test: unittest download_name

* fix: admin for new name
2023-08-29 14:07:30 -05:00
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
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 8b52d27b02
refactor: refactor timestamp handling so tests in meeting app pass (#4371)
* 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: add migration to change timestamps to UTC

* refactor: move tz instantiation/caching from TimeSlot to Meeting

* fix: assume utc if meeting.time_zone is blank

* chore: make datetime.combine() calls tz aware in the meeting app

* ci: correctly use meeting.tz in TimeSlotFactory

* chore: compute TimeSlot utc / local times assuming tz-aware times

* chore: use tzaware math for agenda editor timeslot layout

* chore: fill in Meeting.time_zone where it is blank

Nearly all interim meetings on or before 2016-07-01 have blank
time_zone values. This migration fills these in with PST8PDT.

* chore: disallow blank Meeting.time_zone value

* refactor: no need to handle blank time_zone case in TZ migration

* refactor: remove now-unnecessary checks that meeting has time_zone

* chore: fix timezone handling in agenda.ics and Meeting.updated()

* chore: fix tz handling in interim_request_details, exercise in tests

* chore: fix timezone handling for test_interim_send_announcement

* chore: fix timezone handling in agenda_json()

* chore: fix timezone handling in old agenda

* chore: fix timezone handling for EditTimeslotsTests

* refactor: refactor a few fixes for more consistent timezone handling

* chore: add timezone info to timestamps in fixtures

* chore: remove naive datetime warnings found in meetings.tests_views

* chore: fix a few more test failures in meetings.tests_views

All tests in meetings.tests_views now passing

* chore: remove unused import

* chore: fix timezone handling in test_schedule_generator.py

* chore: fix timezone handling affecting meeting.tests_js

* chore: fix timeslot test bug when local date != UTC date

* test: fix a few failing tests, all meetings tests now pass

(for me, anyway)

* chore: renumber migrations

* chore: update timestamp conversion migration

The django-celery-beat package introduces tables with timestamp
columns. These columns are stored in CELERY_TIMEZONE. Because we run with
this set to UTC, the migration ignores these columns.

* chore: fix pytz-related change in migration

* chore: remove duplicate migrations

* chore: remove CELERY_BEAT_TZ_AWARE setting now that USE_TZ is True

* test: avoid failure in test with bogus timezone
2022-08-26 16:53:19 -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
Robert Sparks 6ed4ea0f93
feat: point to Zulip chat rather than jabber. (#4218)
* feat: point to Zulip chat rather than jabber.

* fix: Address review comments from Jennifer and Nick
2022-07-15 13:48:54 -05:00
Jennifer Richards 4f34c0478e
fix: Authorize interim session requests using data-driven group roles (#4120)
* fix: only use non-empty Q object as interim group filter

* refactor: add with_meetings queryset to GroupManager

* test: users can only request interims for managed groups

* fix: find managed groups from groupman_roles/authroles

* feat: let chair manage directorate groups

* test: remove debug statements and unused imports

* test: remove do-nothing code from test
2022-06-22 14:00:44 -05:00
Lars Eggert 86e548c952
chore: remove ietf/group/colors.py, which is unused (#4100)
* chore: remove ietf/group/colors.py, which is unused

* Rip out more
2022-06-20 10:31:20 -05:00
Jennifer Richards 0706f8519f Update migrations and fix a few failing tests. Branch ready for merge.
- Legacy-Id: 19571
2021-11-09 02:40:54 +00:00
Jennifer Richards bcd37edfcd Merged from session_purpose_dev
Create dev branch for session purpose work (from revision [19414])
Snapshot of dev work to add session purpose annotation (from revision [19415])
Allow non-WG-like groups to request additional sessions/durations and bypass approval (from revision [19424])
Add 'closed' session purpose, assign purposes for nomcom groups, and update schedule editor to enforce timeslot type and allow blurring sessions by purpose (from revision [19427])
Add management command to set up timeslots/sessions for testing/demoing 'purpose' field (from revision [19430])
Update session purposes and group type -> purpose map to match notes page, change 'session' purpose to 'regular' (from revision [19433])
Redirect edit_schedule urls to edit_meeting_schedule view (from revision [19434])
Allow hiding/blurring sessions and timeslots based on TimeSlotType in the schedule editor (from revision [19438])
Disable session purpose/timeslot type hiding on schedule editor when only 0 or 1 options (from revision [19439])
Improvements to the timeslot and schedule editors (move new toggles to modals, handle overflowing session names, fix timeslot editor scrolling, add buttons to quickly create single timeslot, accept trailing slash on edit URL) (from revision [19449])
Update purpose/types after discussions, add on_agenda Session field, prevent session requests for groups with no allowed purpose, handle addition fields in session request, fix editing session requests, add session edit form/access from schedule editor, eliminate TimeSlotTypeName "private" field, add server-side timeslot type filtering to schedule editor (from revision [19549])
Eliminate the officehours timeslot type, update/renumber migrations, mark offagenda/reserved TimeSlotTypeNames as not used, add a 'none' SessionPurposeName and disallow null, update agenda filter keywords/filter helpers, fix broken tests and general debugging (from revision [19550])
Tear out old meeting schedule editor and related code (from revision [19551])
Fix merge errors in preceding commits (from revision [19556])
 - Legacy-Id: 19570
Note: SVN reference [19415] has been migrated to Git commit 1054f90873

Note: SVN reference [19424] has been migrated to Git commit 5318081608

Note: SVN reference [19427] has been migrated to Git commit 173e438aee

Note: SVN reference [19430] has been migrated to Git commit 7a2530a0a6

Note: SVN reference [19433] has been migrated to Git commit 3be50d6e39

Note: SVN reference [19434] has been migrated to Git commit 3e3d681e5f

Note: SVN reference [19438] has been migrated to Git commit b6ac3d4b1d

Note: SVN reference [19439] has been migrated to Git commit 446ac7a47e

Note: SVN reference [19449] has been migrated to Git commit 5cbe402036

Note: SVN reference [19549] has been migrated to Git commit 3dfce7b850

Note: SVN reference [19550] has been migrated to Git commit 7b35c09c40

Note: SVN reference [19551] has been migrated to Git commit d7f20342b6

Note: SVN reference [19556] has been migrated to Git commit 2b1864f5a0
2021-11-09 01:35:25 +00:00
Jennifer Richards d7f20342b6 Tear out old meeting schedule editor and related code
- Legacy-Id: 19551
2021-11-04 17:07:22 +00:00
Robert Sparks e32f3828d1 Merged in [19422] from rjsparks@nostrum.com:
Update internal references to trac.tools.ietf.org to point to trac.ietf.org. Remove several links into tools.ietf.org.
 - Legacy-Id: 19443
Note: SVN reference [19422] has been migrated to Git commit cd748cd760
2021-10-19 19:03:59 +00:00
Robert Sparks cd748cd760 Update internal references to trac.tools.ietf.org to point to trac.ietf.org. Remove several links into tools.ietf.org. Commit ready for merge.
- Legacy-Id: 19422
2021-10-13 21:43:44 +00:00
Jennifer Richards 1054f90873 Snapshot of dev work to add session purpose annotation
- Legacy-Id: 19415
2021-10-12 17:08:58 +00:00
Mark J. Donnelly 604d6edef0 Add a new Django field, IETFJSONField
This field is needed because the plain JSONField does not permit empty arrays - [] - or empty objects - {} - when the field is marked as required.  Those values explicitly evaluate to a null value, and are rejected.

Instead, the IETFJSONField accepts two new arguments to control this:
- empty_values: An array of values that should evaluate to null/empty, and be rejected.
- accepted_empty_values: An array of values that should *not* evaluate to null/empty, and be accepted.

This allows the programmer to specify either a positive or negative statement of what values to accept.

Fixes issue #3331.  Commit ready for merge.
 - Legacy-Id: 19401
2021-10-07 19:30:51 +00:00
Jennifer Richards 2a2e5f0c24 Clean up handling of non-WG groups on the group edit page; restrict parent/child group relationships by type. Fixes #3253. Commit ready for merge.
- Legacy-Id: 19075
2021-06-04 17:31:53 +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 9a9f3fa360 Merged in [18798] from jennifer@painless-security.com:
Improve handling of submissions for closed working groups. Fixes #3058.
 - Legacy-Id: 18807
Note: SVN reference [18798] has been migrated to Git commit 233bff8196
2021-01-27 23:19:42 +00:00
Jennifer Richards 233bff8196 Improve handling of submissions for closed working groups. Fixes #3058. Commit ready for merge.
- Legacy-Id: 18798
2021-01-18 14:55:25 +00:00
Robert Sparks 03e5121f72 Remove HistoricalGroupFeatures. Fixes #3152. Commit ready for merge.
- Legacy-Id: 18782
2020-12-18 18:57:26 +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 552c0c9d70 Added a GroupHistory.ad_role() method.
- Legacy-Id: 18647
2020-10-27 11:39:55 +00:00
Robert Sparks 53f7bc3ce6 migrated forward
- Legacy-Id: 18144
2020-07-09 21:07:05 +00:00
Henrik Levkowetz 6170ebd64a Merged in the final part of the automatic scheduler from sasha@dashcare.nl.
- Legacy-Id: 18100
2020-06-29 16:54:51 +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
Robert Sparks c69556efe1 Improve admin form validation for used_roles. Commit ready for merge.
- Legacy-Id: 17992
2020-06-15 19:14:42 +00:00
Sasha Romijn 6e026926f0 Rebase automatic-scheduler-2 onto 7.3.2.dev0
- Legacy-Id: 17990
2020-06-15 12:29:39 +00:00
Robert Sparks 2862727d02 Add used_roles to Group and default_used_roles to GroupFeatures. Dynamically build the group edit form to provide a field for all used_roles. Fixes #2785 and #2572. Partially addresses #2160. Commit ready for merge.
- Legacy-Id: 17908
2020-06-04 21:05:33 +00:00
Sasha Romijn 57d8ffb27a Re-introduce Group.meeting_seen_as_area and use it in automatic scheduler
- Legacy-Id: 17901
2020-06-01 09:25:51 +00:00
Robert Sparks 8a0578040e Added better self-descriptive __str__ functions to PersonExtResource, GroupExtResource, and DocExtResource
- Legacy-Id: 17871
2020-05-21 20:59:44 +00:00
Robert Sparks 7e57be2bd3 merged forward ^/personal/rjs/explore-extref
- Legacy-Id: 17840
2020-05-19 18:47:47 +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 9aeda11a29 Removed some Py2 compatibility decorators.
- Legacy-Id: 17673
2020-04-21 13:54:31 +00:00
Robert Sparks 672f9bce26 Added display-name. Refined migrations.
- Legacy-Id: 17646
2020-04-15 19:54:29 +00:00
Robert Sparks c055d37dcb Removed extref app. Refined population migrations.
- Legacy-Id: 17509
2020-03-22 19:27:28 +00:00
Robert Sparks 316dd183d9 first run at external resources
- Legacy-Id: 17470
2020-03-19 23:32:24 +00:00
Henrik Levkowetz 726fcbf27d Removed all __future__ imports.
- Legacy-Id: 17391
2020-03-05 23:53:42 +00:00
Henrik Levkowetz 1c808bf63b Removed further six usage.
- Legacy-Id: 17387
2020-03-05 15:54:32 +00:00
Henrik Levkowetz 566971a6ae Removed further six usage.
- Legacy-Id: 17386
2020-03-05 15:10:33 +00:00
Robert Sparks 3568e72ec5 Default use_milestone_dates to True. Allow changing use_milestone_dates from the edit milestone dates form for charters if it is the initial chartering effort. Fixes #2884. Commit ready for merge.
- Legacy-Id: 17287
2020-02-11 18:53:40 +00:00
Henrik Levkowetz e99f1cdc86 Merged in [17185] from rjsparks@nostrum.com:
Adds support for dateless milestones. Fixes #2799.
 - Legacy-Id: 17198
Note: SVN reference [17185] has been migrated to Git commit 42e5163b09
2020-01-08 16:07:29 +00:00
Robert Sparks 42e5163b09 Adds support for dateless milestones. Fixes #2799. Commit ready for merge.
- Legacy-Id: 17185
2020-01-06 20:48:53 +00:00
Robert Sparks f71e9995a7 Dateless milestone work. Commit in preparation for merging forward.
- Legacy-Id: 17174
2019-12-24 21:38:26 +00:00
Ole Laursen 3957743b85 Move Session.status, .requested, and .requested_by to a new SchedulingEvent
- Legacy-Id: 17122
2019-12-05 12:41:09 +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 2b1f238204 Changed regex strings to raw strings and fixed a sort comparison int/str issue.
- Legacy-Id: 16333
2019-06-29 13:29:13 +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 a62e029932 After feedback from the RFC-Editor staff, changed the URL POST notification of Group name changes to an Email notification.
- Legacy-Id: 16210
2019-05-15 18:40:23 +00:00
Henrik Levkowetz de471d4e18 Added a signal receiver for notifications to the RFC editor about changed Group names.
- Legacy-Id: 16208
2019-05-14 13:59:32 +00:00