* Added history entry when approving the slides.
Also changed os.rename to shutils.move as the submissions and
proceedings are on the separate filesystems on the docker image,
and this same thing might happen in the real environment in the
future.
* Add migrations for the docevents type.
* feat: Use session.id to specify session for api_set_session_video_url
* feat: Use session.id to specify session for api_upload_bluesheet
* refactor: Add audio/video stream and onsite tool URLs to Session model
* refactor: Get onsite tool/stream URLs for agenda from Session
* refactor: Use Session methods for onsite tool/stream a few more places
* refactor: Move hard-coded meetecho URLs into settings.py
* feat: Add has_onsite_flag to Session
* chore: Set has_onsite_tool for sessions that had meetecho UrlResources
* fix: Only show onsite tool URLs when Session.has_onsite_tool is True
* test: Update test_api_upload_bluesheet to test deprecated version
* fix: Fix test failure in api_upload_bluesheet view
* test: Add test of new api_upload_bluesheet view
* style: Apply Black style to test_api_upload_bluesheet
* fix: Fix test failures in api_upload_bluesheet()
* test: Update test_api_set_session_video_url to test deprecated version
* fix: Fix test failure in api_set_session_video_url view
* test: Add test of new api_set_session_video_url view
* style: Apply Black styling to new test
* fix: Fix test failures in api_set_session_video_url view
* test: Fix test_meeting_agenda; set has_onsite_tool in SessionFactory
* feat: Add has_onsite_tool to Session list in admin
* feat: Add has_onsite_tool flag to SessionDetailsForm
* feat: Add has_onsite_tool flag to sreq
* feat: Show has_onsite_tool flag on secr view for a submitted request
* feat: Only prompt for has_onsite_tool in sreq for non-wg type groups
* fix: Clean up styling of sreq view a bit
* chore: Renumber migrations
* feat: Add summary data to meeting/requests
* feat: Add Group Type and Purpose tables to requests summary
* fix: use self.assertXX instead of raw assert
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* refactor: remove import_audio_files() and related code
* refactor: move functions from proc_utils to meeting/utils
* refactor: remove secr/proceedings
* fix: Let csv.writer handle encoding for agenda_csv view
* style: Use 'is None' instead of '== None'
* feat: Display times in meeting time for agenda.csv
* feat: Provide agenda-utc.csv view
* test: Test agenda.csv time zone and agenda-utc.csv endpoint
* style: Clean up get_meeting() signature and code style
* chore: Remove unused parameter from agenda_ical() view's signature
* fix: Only consider ietf meetings as "next" in agenda_ical
* fix: Only consider ietf meetings as "next" in agenda_json
* test: Test agenda_json "next meeting" and clean up agenda_ical test
* style: Reformat new tests using Black style
* fix: Format times in display timezone in agenda.txt template
* chore: Remove unused and non-timezone-friendly TimeSlot.time_desc()
* feat: Dispatch agenda-utc.txt URL
* refactor: Use None to indicate lack of utc parameter to view
* feat: Show display timezone in agenda.txt template
* refactor: Combine URL regexes for the agenda.txt to a single entry
* test: Update tests for agenda.txt/agenda-csv.txt
* fix: Remove ':' added to time formats in agenda.txt template
* feat: move IETF Activity reports from external text based to HTML pages
* fix: use date_today(), fix fencepost problem
* fix: use is_meeting_report template variable instead of is_monthly_report
* fix: Use more robust filename/rev matching for meeting materials
* chore: Remove debug statement
* test: Update test to catch bug fixed by this PR
* fix: Be more discerning when parsing revision
* test: Update test to exercise revision parsing/validation
* style: Apply Black styling to replaced code
* fix: Return to the expected schedule after editing session dteails
* style: Avoid confusing nested double-quotes in html template
* feat: When possible, add "back to agenda" button to edit_timeslots
* chore: Propagate 'sched' to links/includes in timeslot_edit.html
* chore: Propagate 'sched' to links/includes in edit_timeslot() view
* chore: Propagate 'sched' to links/includes in create_timeslot() view
* test: Test sched param propagation in timeslot edit views
* test: Test sched param propagation in session edit view
* test: Fix URL in test_edit_meeting_schedule
* chore: Remove unused template parameter from {%include%}
* feat: Add "Meeting tools" section to group session details panel
* feat: Use better label for recordings section after session has ended
* feat: Define template tag to store timezone.now in the render context
* fix: Use get_now tag in session_buttons_include.html
* fix: Update session_details_panel.html to use get_now tag
* refactor: Inject timezone_now from a context processor instead of tag
* chore: Remove unused imports
* chore: Remove unused {%load%}
* chore: Revert renaming of dateformat.py
* fix: Use session name instead of timeslot name on agenda
* test: Fix failing playwright test
* test: Test name/slotName values from agenda_extract_schedule()
* chore: Migrate sessions to use timeslot names for IETF meetings
* fix: Show links for more session types on the agenda
* test: Update test to expect buttons on additional sessions
* test: Update the past meeting test case also
* refactor: Update call to deprecated add_event_info_to_session_qs
* feat: Gather proceedings sessions in the view, grouped by name
* feat: Begin using new session data format in templates (WIP)
* feat: Show non-meeting groups (WIP)
Non-meeting groups (all sessions are notmeet) now show up on the proceedings.
Session materials associated with these groups are not shown, need to restore
that functionality.
* refactor: Rework template data, show materials for notmeet groups (WIP)
* fix: Restore "No agenda", etc, when meeting materials are not present
* chore: Remove commented out old code
* fix: Restore contents in non-area sections of proceedings
* chore: Remove commented-out stale code
* fix: Suppress duplicate agendas for a group on proceedings
* refactor: Generalize agenda deduplication and apply to minutes
* refactor: Format multiple items per session; apply to bluesheets
* refactor: Apply _format_materials to recordings, slides, and drafts
* chore: Add comment about limitations of test_proceedings() test
* test: Test separation of named sessions in the proceedings
* refactor: move session/timeslot selection for sched editor to querysets
Purpose here is to make it easier to reuse the session and timeslot selection
logic between the schedule editor and the schedule generator. Additionally
resolves a todo-list item to unify the list of TimeSlotType ids in the
IGNORE_TIMESLOT_TYPES tuple and the SessionQuerySet.requests() method.
* refactor: use new helpers to select sessions/slots for sched generator
* refactor: eliminate some code lint
* feat: Split sched gen TimeSlot into scheduled/unscheduled variants
(work in progress)
* feat: First pass at supporting unscheduled timeslots
(work in progress)
* feat: Handle unscheduled timeslots in make_capacity_adjustments()
(work in progress)
* feat: Handle unscheduled timeslots in time-relation constraint check
(work in progress)
* feat: Reflect unsched timeslots in messages from by schedule generator
* fix: Prevent exception in pretty_print() if base schedule not assigned
* refactor: Avoid flood of time relation constraint warning messages
* test: update test_too_many_sessions
* feat: add 'IETF Meetings' filter to upcoming meetings page
* feat: apply 'ietf-meetings' filter to upcoming.ics
* fix: also filter upcoming IETF meetings in the graphical calendar
* test: update tests to match changes
Includes fixing an error in test_upcoming_view_filter_hide_type().
Due to a copy/paste error, it claimed to be testing with a type
both shown and hidden but was not actually hiding a type at all.
* refactor: clarify handling what groups looked like at past session times
* fix: replace missed instance of historic_parent reference
* fix: reflect that group_at_the_time always returns something
* chore: update copyright lines
* feat: add 'cancel session' button to meeting schedule editor
* fix: only show edit/cancel session buttons for secretariat
Other users cannot access these views.
* feat: refuse to cancel a canceled session; give feedback to user
* test: test cancel_session view
* test: test that sessions have edit/cancel buttons
* fix: handle rooms with capacity = None in schedule editor
* fix: sort higher capacity rooms ahead of lower
Sort was incorrect, this matches intent and comments.