Commit graph

55 commits

Author SHA1 Message Date
Robert Sparks 8cb7f3dcae
feat: Import IESG artifacts into the datatracker (#6908)
* chore: remove unused setting

* feat: initial import of iesg minutes

* fix: let the meetings view show older iesg meetings

* feat: iesg narrative minutes

* feat: import bof coordination call minutes

* wip: import commands for iesg appeals and statements

* feat: import iesg statements.

* feat: import iesg artifacts

* feat: many fewer n+1 queries for the group meetings view

* fix: restore chain of elifs in views_doc

* fix: use self.stdout.write vs print in mgmt commands

* fix: use replace instead of astimezone when appropriate

* chore: refactor new migrations into one

* fix: transcode some old files into utf8

* fix: repair overzealous replace

* chore: black

* fix: address minro review comments

* fix: actually capture transcoding work

* fix: handle multiple iesg statements on the same day

* fix: better titles

* feat: pill badge replaced statements

* fix: consolodate source repos to one

* feat: liberal markdown for secretariat controlled content

* fix: handle (and clean) html narrative minutes

* feat: scrub harder

* fix: simplify and improve a scrubber

* chore: reorder migrations
2024-02-20 16:35:08 -06:00
Jennifer Richards 448cfbb13d
fix: more timezone fixes in liaisons/meeting/message apps 2022-09-27 15:50:10 -03: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 7b35c09c40 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
- Legacy-Id: 19550
2021-11-04 17:06:06 +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
Jennifer Richards 97dd600a9b Rebase agenda customization from jennifer/7.13.1.dev0 to 7.17.1.dev0
- Legacy-Id: 18517
2020-09-24 14:27:30 +00:00
Jennifer Richards 4c709bbfa5 Add filtering support (but no UI) to upcoming meeting views; add a group attribute to agenda view rows to avoid ambiguity when selecting rows to show/hide. Branch ready for merge.
- Legacy-Id: 18458
2020-09-02 02:02:33 +00:00
Ole Laursen a39fa7f967 New branch from trunk @ r18382 for meeting improvements, with iola/meeting-improvement-r17835 merged in
- Legacy-Id: 18385
2020-08-20 09:36:41 +00:00
Ole Laursen c78ffbcd18 Introduce support for setting a base schedule on a schedule. All
assignments on the base schedule are shown in the pages for the
schedule, read-only.

This allows managing things like breaks and misc sessions separately
from the regular WG sessions.

Base schedules are not allowed to be the base of other base schedules
(the hierarchy can only be one level deep) to simplify the mental
model and the code.

Add link for creating new schedules instead of relying on copying
Empty-Schedule and change the meeting creation code to no longer
create the special Empty-Schedule. Instead a "base" schedule is
created and a first schedule with the name and permissions of the user
creating the meeting, using "base" as base.

Speed up a couple of the Secretariat/AD agenda views by adding
prefetches.
 - Legacy-Id: 18355
2020-08-11 17:34:32 +00:00
Jennifer Richards ea3882034a Use querystring instead of URL hash for agenda filters
- Legacy-Id: 18353
2020-08-11 13:45:41 +00:00
Robert Sparks ba41f9ba95 A little less waste creating meeting/interim test data. Commit ready for merge.
- Legacy-Id: 18021
2020-06-19 21:45:15 +00:00
Henrik Levkowetz 42995fadea Merged in ^/branch/iola/meeting-improvement-r17214@17617, which provides a new meeting schedule editor.
- Legacy-Id: 17701
2020-04-28 14:34:34 +00:00
Ole Laursen e5943f814d Add support for displaying constraint hints when scheduling a task and
for displaying violated constraints in the new schedule editor, with
the old of a new field, ConstraintName.editor_label.

Add support for displaying room capacity violations.

Add support for selecting a session and displaying information about
it similar to the existing scheduling editor.

Add support for sorting unassigned sessions.

Clean up markup and styles a bit, and fix some bugs.

Expand HTML-based test and add JS test that exercises the
Javascript-based functionality.

Switch to using Chrome driver instead of PhantomJS since the HTML
engine in PhantomJS is apparently too old to support the constructs in
the new schema editor.

Add a workaround for LiveServerTestCase clashing with IetfTestRunner
fixture loading.
 - Legacy-Id: 17519
2020-03-23 17:55:36 +00:00
Henrik Levkowetz 726fcbf27d Removed all __future__ imports.
- Legacy-Id: 17391
2020-03-05 23:53:42 +00:00
Robert Sparks 8a5f960569 Set a meaningful state in a test fixture. Tests surprisingly were not broken by this though. Commit ready for merge.
- Legacy-Id: 17268
2020-01-30 22:15:00 +00:00
Henrik Levkowetz 06fe583351 Merged /branch/iola/meeting-improvement-r16992@17152 from olau@iola.dk:
* Renamed Meeting.agenda to Meeting.schedule together with a bunch of related
   internal things

* Moved Session.status, .requested, and .requested_by to a new SchedulingEvent.

* Turned sessions into regular sessions and non-sessions into misc.
  sessions in the UI and code to avoid ambiguity.

  This doesn't change the data in the DB except for uses of
  TimeSlotTypeName where 'session' is now 'regular'.
 - Legacy-Id: 17153
2019-12-17 23:43:07 +00:00
Ole Laursen 568670c060 Turn sessions into regular sessions and non-sessions into misc.
sessions in the UI and code to avoid ambiguity.

This doesn't change the data in the DB except for uses of
TimeSlotTypeName where 'session' is now 'regular'.
 - Legacy-Id: 17128
2019-12-06 20:02: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
Ole Laursen 0555879777 Rename Meeting.agenda to Meeting.schedule together with a bunch of
related internal things
 - Legacy-Id: 17051
2019-11-18 17:22:19 +00:00
Henrik Levkowetz 290a98631f Merged in [16564] from pusateri@bangj.com and added tests:
Convert markdown to html if Accept header prioritizes text/html over text/markdown. Fixes #1926.
 - Legacy-Id: 16982
Note: SVN reference [16564] has been migrated to Git commit 65b3f93afe
2019-11-09 17:15:39 +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 f33ecaa1a4 Fixed a test that compared an int with a meeting number string. Changed meeting test data to use meeting number 72 instead of 42, because proceedings code gives 404 for meetings before 65. Changed a number of StringIO() to BytesIO().
- Legacy-Id: 16378
2019-07-04 16:01:32 +00:00
Robert Sparks 25cc00f925 Refactored DocumentInfo to address overloading the external_url field with strings that are not URLs. Commit ready for merge.
- Legacy-Id: 15864
2019-01-02 22:55:00 +00:00
Henrik Levkowetz 1ece5f1f3b Removed premature save of upload document state (doing it after verifying that the save to file worked instead). Tweaked materials documents revision extraction regexes. Added a test on no change of materials rev after failed upload. Corrected the naming of materials in make_meeting_test_data. Refined the test crawl of meeting materials pages.
- Legacy-Id: 14865
2018-03-19 01:05:52 +00:00
Henrik Levkowetz 428038b838 Added a test for interim meeting agenda and minutes urls.
- Legacy-Id: 13841
2017-07-12 12:38:26 +00:00
Ryan Cross 8a98ba2516 Initialize Empty-Schedule with special sessions from previous meeting on creation. Fixes #1500. Commit ready for merge.
- Legacy-Id: 13588
2017-06-12 21:39:52 +00:00
Henrik Levkowetz 5286dfdbc8 Made sure that sessionpresentation objects are saved before adding them to a m2m set.
- Legacy-Id: 12636
2017-01-09 21:23:14 +00:00
Henrik Levkowetz 3d6b370c59 Upgraded custom TimedeltaFields to use the builtin DurationField from Django 1.8, and adjusted forms and initialization values accordingly.
- Legacy-Id: 12597
2016-12-20 22:56:34 +00:00
Henrik Levkowetz aec77c2385 Rewrote Document.href() to not do database queries when possible, as that has a big performance impact. Fixed a number of tests which relied on href() not doing the right thing for simplified test data. Added caching of canonical_name(), which can be quite heavy. Additional refactoring in a number of places, to use better test data and avoid test failures for good code :-)
- Legacy-Id: 12226
2016-10-28 16:59:42 +00:00
Robert Sparks 5b32cc2da7 Changes interim announcements and interim cancellation announcements to use mailtriggers. Adds irtf-announce to announcements for IRTF groups. Fixes #2018. Commit ready for merge.
- Legacy-Id: 12099
2016-10-07 15:05:47 +00:00
Henrik Levkowetz e2d9baab2b Tweaked test data to make test data sessions actually fall within their meeting, and to make sure that the test_agenda_current_audio sessions are in the near future.
- Legacy-Id: 12043
2016-09-26 18:46:27 +00:00
Henrik Levkowetz eb7c39fcad Made it possible to pass in a meeting instance to make_meeting_test_data(), and added an audio stream UrlResource for test purposes.
- Legacy-Id: 12040
2016-09-26 17:50:38 +00:00
Henrik Levkowetz 2bebde1ebe Added a test for the floorplan view.
- Legacy-Id: 11545
2016-07-07 12:41:27 +00:00
Robert Sparks b3883b6ac4 Allow non-official schedules to be viewed in the same ways the official schedule for a meeting can be viewed. Fixes #1959. Commit ready for merge.
- Legacy-Id: 11500
2016-06-29 20:56:08 +00:00
Henrik Levkowetz d298785fda Merged in ^/branch/amsl/interim@11230, which provides interim meeting management support. Also fixes issues #1961, #1962 and #1964.
- Legacy-Id: 11402
2016-06-17 14:16:27 +00:00
Ryan Cross cecdea3d72 Add utility script to send interim meeting minutes reminder. Add ability to include comments with meeting cancellation
- Legacy-Id: 11199
2016-05-17 22:55:47 +00:00
Ryan Cross 8fef55dc31 add approval and cancel notifications
- Legacy-Id: 11196
2016-05-16 22:48:43 +00:00
Ryan Cross 3f3e6f0b14 add edit view. refactor to use modelforms
- Legacy-Id: 11176
2016-05-06 23:02:25 +00:00
Ryan Cross be6e536769 add pending and detail views and tests.
- Legacy-Id: 11125
2016-04-20 23:57:52 +00:00
Ryan Cross bc8e744388 add view views.upcoming
- Legacy-Id: 10860
2016-02-26 17:41:09 +00:00
Henrik Levkowetz 71dec7a692 Moved forward to 6.7.2.dev0 the changes to rename class ScheduledSession to the more correct (but unfortunately also cumbersome) SchedTimeSessAssignment, and rename reverse relationships involving this class appropriately. Accompanying changes in javascript and templates. Migrations to match.
- Legacy-Id: 10297
2015-10-26 22:45:26 +00:00
Robert Sparks 17b928b94b checkpoint: added room functional description, backfilled ietf92 meeting data, repaired session material views, added tests
- Legacy-Id: 9596
2015-05-01 22:31:30 +00:00
Robert Sparks 1e30120710 checkpoint. Model changes done and UI tweaked to match.
- Legacy-Id: 9588
2015-04-30 15:57:48 +00:00
Robert Sparks b0ce25aa44 clean merge forward
- Legacy-Id: 9584
2015-04-27 20:24:40 +00:00
Robert Sparks a6c64d2b12 Remove sessonly, replacing the idea with a separate State. Add tests checking how materials show on agenda views. Commit ready for merge.
- Legacy-Id: 9351
2015-04-01 16:00:05 +00:00
Robert Sparks 47901e8555 Checkpoint: by-room view and basic leadership meetings support
- Legacy-Id: 8930
2015-01-27 19:15:25 +00:00
Robert Sparks c3f460cbe9 Refactored history snippets for general use
Moved from VersionedMaterials to SessionPresentation for the through table name
Added the abstract and most recent presentation to the documents on the group materials page
Working snapshot before building historic edu-team documents
 - Legacy-Id: 8349
2014-09-19 21:33:30 +00:00
Robert Sparks 75b94bd114 sketch that uses a through table, preserving most, but not all, of the current interface
- Legacy-Id: 8302
2014-09-09 21:56:33 +00:00
Robert Sparks 1221f79af9 Updates and bugfixes to the agenda editing features
* Removes the pattern of using ScheduledSession m2m objects with one of the relationships left as None
* Improves scheduled session state handling
* Simplifies sending email to scheduled session requestors
* Improved timeslot purpose and room editing
* Improved access controls to editing forms
* Better test coverage for the meeting views
* Improvements to the javascript driven by prototyping automated tests
* Better initialization of a new meeting
On the session request form:
  - Allows specifiying room resources (projectors, meetecho)
  - Allows specifying what people must be present
On the schedule editing page:
  - correctly calculates conflict levels
  - displays conflicts in and out of each session separately
  - italicizes BoFs
  - shows resource and people conflicts
Adds automated placement as a management command

Commit ready for merge.
 - Legacy-Id: 7561
2014-04-01 22:17:18 +00:00