Commit graph

69 commits

Author SHA1 Message Date
Ryan Cross 2974e81624
fix: build proceedings attendee list from MeetingRegistration table. … (#6567)
* fix: build proceedings attendee list from MeetingRegistration table. Fixes #6265

* fix: move participants_for_meeting to meeting.utils

* fix: move test_participants_for_meeting to meeting tests
2023-11-07 13:09:19 +01:00
Jennifer Richards da168395fc
refactor: Replace deprecated smart_text with smart_str 2023-05-09 15:23:33 -03:00
Ryan Cross b654b49d6b
refactor: Remove secr proceedings (#5256)
* refactor: remove import_audio_files() and related code

* refactor: move functions from proc_utils to meeting/utils

* refactor: remove secr/proceedings
2023-03-10 15:33:01 -06: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 f3bdbf0ed4
Merge branch 'feat/tzaware' into jennifer/main-for-tzaware-merge
# Conflicts:
#	ietf/meeting/tests_js.py
#	ietf/meeting/tests_models.py
#	ietf/meeting/tests_views.py
#	ietf/meeting/views.py
#	ietf/name/fixtures/names.json
#	ietf/templates/meeting/agenda.html
#	ietf/templates/meeting/session_buttons_include.html
#	ietf/templates/meeting/timeslot_start_end.html
2022-10-14 16:35:57 -03:00
Robert Sparks 50668c97cd
feat: apis for attaching chatlogs and polls to session materials (#4488)
* feat: apis for attaching chatlogs and polls to session materials

* fix: anticipate becoming tzaware, and improve guard against attempts to provide docs for sessions that have no official timeslot assignment.

* fix: get chatlog upload to actually work

Modifications to several initial implementation decisions.
Updates to the fixtures.

* fix: test polls upload

Refactored test to reduce duplicate code

* fix: allow api keys to be created for the new endpoints

* feat: add ability to view chatlog and polls documents. Show links in session materials.

* fix: commit new template

* fix: typo in migration signatures

* feat: add main doc page handling for polls. Improve tests.

* feat: chat log vue component + embedded vue loader

* feat: render polls using Vue

* fix: address pug syntax review comments from Nick.

* fix: repair remaining mention of chat log from copymunging

* fix: use double-quotes in html attributes

* fix: provide missing choices update migration

* test: silence html validator empty attr warnings

* test: fix test_runner config

* fix: locate session when looking at a dochistory object for polls or chatlog

Co-authored-by: Nicolas Giard <github@ngpixel.com>
2022-10-13 09:20:36 -05: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 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 7738319c2a
fix: render meeting schedule editor icons using bootstrap-icons (#3777)
Uses template tags to render `ConstraintName` instances as HTML. Fixes #3557.
2022-04-05 18:57:08 -03: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
Jennifer Richards 6f3fb6930f Add timeouts to requests library calls. Fixes #3498. Commit ready for merge.
- Legacy-Id: 19839
2022-01-13 15:06:28 +00:00
Jennifer Richards fd0df6f619 Add ability to import session minutes from notes.ietf.org. Mock out calls to the requests library in tests. Call markdown library through a util method. Fixes #3489. Commit ready for merge.
- Legacy-Id: 19763
2021-12-09 17:16:19 +00:00
Lars Eggert dec56ffb96 Merge my bs5 changes over.
There is definitely still quite some breakage, my main focus during
the conflict resolution was not to drop any changes made by others.
 - Legacy-Id: 19632
2021-11-11 13:09:23 +00:00
Lars Eggert 726b29bf74 fontawesome -> bootstrap-icons
- Legacy-Id: 19608
2021-11-10 09:28:38 +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
Jennifer Richards 336d762123 Allow configuration of group conflict types used for each meeting Fixes #2770. Commit ready for merge.
- Legacy-Id: 19266
2021-07-30 17:50:24 +00:00
Robert Sparks fe82f4d696 connect the new calculations to the UI. Clean flakes.
- Legacy-Id: 18974
2021-05-06 19:00:58 +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 79971e14c7 Allow cancellation of individual sessions of multi-session interim meeting. Fixes #2959. Commit ready for merge.
- Legacy-Id: 18724
2020-12-01 17:37:09 +00:00
Ole Laursen 8759339e65 Make the upcoming meetings iCal group the IETF meetings into one
block and add important dates. Also fix a couple of bugs found by
running the generated .ics through the icalendar.org validator.
 - Legacy-Id: 18434
2020-08-28 12:28:29 +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
Henrik Levkowetz 07d60de46e Merged in /branch/iola/meeting-improvement-r17835@18048. This provides a new snapshot of the new schedule editor work, with improved edit page layout and details.
- Legacy-Id: 18358
2020-08-12 19:16:18 +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
Ole Laursen 923cb35755 Add support for swapping days in the meeting schedule editor. Since
days may not be entirely the same, the algorithm will try to find the
best matches between the timeslots and then unschedule any unmatched
sessions for manual fixup.

Clean up initial data fed to the schedule editor from the Python view.
 - Legacy-Id: 18343
2020-08-06 16:32:56 +00:00
Ole Laursen 824b1b627b Add Schedule.origin to enable tracking where a schedule was copied
from. Add utility function and view for diff'ing two arbitrary
schedules, and modify the schedule list page to show the number of
differences between the origin of a schedule, linking to the diff, to
make it easy to see what's changed between work-in-progress schedules.
 - Legacy-Id: 18337
2020-08-04 17:26:50 +00:00
Robert Sparks 62434faf54 Recent past meetings are shown as past meetings, so sort them like past meetings. Fixes side-comment in #3101. Commit ready for merge.
- Legacy-Id: 18204
2020-07-20 19:43:35 +00:00
Ole Laursen 15de8ef380 Remove the responsible AD at the top of the session info in the new
meeting editor as the information is now redundant - the AD appears as
an AD constraint.
 - Legacy-Id: 18048
2020-06-24 15:50:28 +00:00
Ole Laursen 44cbfca7bd Add support for detecting and displaying AD conflicts.
- Legacy-Id: 18046
2020-06-24 12:42:00 +00:00
Ole Laursen 49d4be8d17 Rework the new meeting editor label formatting to store the icon
references directly in the database as HTML.

Rework the label update migration to take this into account (can be
rerun by running "ietf/manage.py migrate name 0011 --fake" first).

Add a little bit of support for the recently added constraints types -
the JS does not hint about them, but they do show up without looking
silly.
 - Legacy-Id: 18033
2020-06-22 17:33:54 +00:00
Ole Laursen 27384a1935 Make constraint hints more obvious. Show constraints in the session
information panel.
 - Legacy-Id: 17971
2020-06-11 17:22:36 +00:00
Henrik Levkowetz efcdc4d917 Updated meeting attendance and nomcom eligibility calculations to take the MeetingRegistration.attendance flag into account.
- Legacy-Id: 17955
2020-06-09 21:00:07 +00:00
Robert Sparks d981076432 Refactor disqualifying roles into one place. Commit ready for merge.
- Legacy-Id: 17650
2020-04-15 22:34:44 +00:00
Robert Sparks b387599dac Follow RFC8713 section 4.15 for roles that disqualify for nomcom. Fixes #2944. Commit ready for merge.
- Legacy-Id: 17649
2020-04-15 21:39:58 +00:00
Henrik Levkowetz f10ddadc0e Merged in changes from trunk up to r17584.
- Legacy-Id: 17593
2020-04-07 16:02:52 +00:00
Robert Sparks e9756d8987 Remove the not-quite-working customization widgets from /meeting/upcoming and /meeting/past. Simplify those views. Correct the list of sessions on those pages when one interim has more than one session. Fixes #2938. Partially addresses #2937. Commit ready for merge.
- Legacy-Id: 17555
2020-03-27 22:47:38 +00:00
Robert Sparks 8e9d65e7e0 Repair construction of group_hierarchy used for the customisation controls at /meeting/upcoming. Fixes #2940. Commit ready for merge.
- Legacy-Id: 17543
2020-03-26 19:07:10 +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
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 a14e38a1a1 Replaced most cases of using of urlopen(), instead using the higher-level 'requests' module where it simplifies the code.
- Legacy-Id: 17380
2020-03-03 17:34:42 +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 de2b6d4072 Fix use of status still referring to the old attribute in the group
meeting page
 - Legacy-Id: 17142
2019-12-09 18:08:37 +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
Robert Sparks 61f9fbd8f2 Remove unreachable assertion from slide reordering utility function. Commit ready for merge.
- Legacy-Id: 17097
2019-11-22 17:12:19 +00:00
Henrik Levkowetz e996fa1037 Merged in [17061] and [17024] from rjsparks@nostrum.com:
Allow slides drag-drop between sessions for groups meeting with multiple sessions. Fixes #2700.
 - Legacy-Id: 17068
Note: SVN reference [17024] has been migrated to Git commit 1016b3a514

Note: SVN reference [17061] has been migrated to Git commit fabd2f6ca5
2019-11-20 10:36:16 +00:00
Robert Sparks fabd2f6ca5 python2->3 adjustments for r17025. Commit ready for merge.
- Legacy-Id: 17061
2019-11-19 18:25:06 +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