Commit graph

1593 commits

Author SHA1 Message Date
Jennifer Richards 4f443cc445
refactor: Explicitly allow name=None for a couple of views 2023-05-10 17:16:20 -03:00
Robert Sparks f8113cb862
fix: close open things (#5593)
* fix: close open things

* fix: clean up test created files

* fix: remove one close too many
2023-05-10 11:19:34 -05:00
Jennifer Richards da168395fc
refactor: Replace deprecated smart_text with smart_str 2023-05-09 15:23:33 -03:00
Jennifer Richards 6d4d09542f
fix: Replace obsolete curry() with functools.partialmethod() 2023-05-08 22:55:15 -03:00
Jennifer Richards 09ff9c6ced
refactor: Tie Meetecho resources to Session pk (#5281)
* 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
2023-04-23 18:15:01 -05:00
Jennifer Richards 716a77a848
fix: Do not try to match None keyword when redirecting to agenda view (#5489) 2023-04-12 17:34:00 -05:00
Ryan Cross 1bd5c5e2f1
feat: Add requests summary (#5439)
* 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>
2023-03-30 08:07:59 +09:00
Robert Sparks 01b4a91bfe
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-03-29 10:41:47 +09:00
Jennifer Richards 6b826fd985
refactor: Purge old migrations and update ci to build on a clean schema (#5431)
* refactor: Remove all existing migrations

* refactor: Create clean set of migrations

* chore: Skip check_statetype_slugs when DB is not yet populated

* fix: Do not cache active_groups_menu on module import

* fix: Do not patch timezone awareness out of oidc-provider

* refactor: Migrate to create postgres schema, only use pgloader for data

* ci: Use migration scripts from feat/pg-migrations branch

* Revert "ci: Use migration scripts from feat/pg-migrations branch"

This reverts commit c82f64c614241ccede4865a50d494725c8a47c15.

* ci: Run check before migrate

* fix: Remove redundant migration caused by merge error

* chore: Add casts/ALTER TABLEs to eliminate pgloader errors/warnings

* chore: Change schema name to match docker image assumptions

* chore: Clear out schema so we get a clean start in case of a retry
2023-03-28 18:06:07 +09:00
Jennifer Richards bc9c74ef50
fix: Render complete iCalendar event when show_location is False (#5394)
* test: More carefully test event syntax in ical file

* test: Test agenda.ics view with all meeting sessions

* fix: Render complete iCalendar event when show_location is False

* chore: Fix confusing comment
2023-03-26 14:13:58 +09:00
Robert Sparks 88a78cf1ab
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-03-20 13:46:32 -05: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
Robert Sparks 4b4e876305
Merge branch 'main' into feat/postgres 2023-03-09 11:43:38 -06:00
Lars Eggert 19a7fecf46
fix: Remove unused Meeting.session_constraintnames (#5263)
Fixes #3389
2023-03-08 12:54:16 -06:00
Lars Eggert 97df94f41d
fix: Add footer with group interim ics calendar to announce email (#5279)
* fix: Add footer with group interim ics calendar to announce email

Fixes #2939

* Fix test
2023-03-03 10:32:15 -06:00
Jennifer Richards 963b1bd197
test: Use actual room pk instead of assuming keys start at 1 (#5255) 2023-03-01 15:08:40 -06:00
Robert Sparks 82f23da2b3
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-02-28 16:25:46 -06:00
Jennifer Richards 91a6c9a0df
chore: Remove unused ajax_get_utc() view and related plumbing (#5239)
* chore: Remove unused get_ajax_utc() view and related plumbing

* chore: Remove accidentally committed code
2023-02-28 14:36:55 -06:00
Jennifer Richards 0377ebdd28
feat: Put agenda.csv in meeting TZ and add agenda-utc.csv endpoint (#5226)
* 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
2023-02-28 14:31:07 -06:00
Robert Sparks 1f990bce1d
Merge branch 'main' into feat/postgres 2023-02-28 14:19:59 -06:00
Jennifer Richards 1eb16c9002
fix: Let csv.writer handle encoding for agenda_csv view (#5225) 2023-02-28 11:57:16 -06:00
Jennifer Richards 9a1de57c9e
fix: Only consider ietf meetings as "next" for agenda_ical or agenda_json (#5238)
* 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
2023-02-28 11:47:20 -06:00
Jennifer Richards 8e16b4405b
fix: Support time zones in agenda.txt; restore agenda-utc.txt (#5233)
* 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
2023-02-28 10:16:39 -06:00
Ryan Cross e469addcb2
feat: move IETF Activity reports from external text based to HTML pages (#5180)
* 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
2023-02-27 16:58:59 -06:00
Robert Sparks f010766654
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-02-27 12:55:47 -06:00
Jennifer Richards a2bdd3109c
fix: Use session.order_in_meeting() in the agenda (#5222) 2023-02-27 12:18:12 -06:00
Jennifer Richards 91be593c82
fix: Use more robust filename/rev matching for meeting materials (#5192)
* 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
2023-02-24 12:26:53 -06:00
Jennifer Richards 42096989ec
feat: Include remote instructions and onsite tool in ics files (#5182)
* feat: Add remote_instructions for sessions to agenda.ics

* feat: Add webex/meetecho/remote_instructions to upcoming.ics

* fix: Remove location-based details from interims in upcoming.ics

Interim sessions don't ever seem to have locations, so they won't use
the new code anyway. Leave in the remote-instructions.

* test: Test inclusion/exclusion of remote_instructions in upcoming.ics

* test: Test inclusion/exclusion of remote_instructions in agenda.ics

* feat: Include onsite tool link in agenda.ics

* test: Test inclusion of meetecho onsite and remote URLs in agenda.ics
2023-02-22 11:34:28 -06:00
Jennifer Richards 50601345aa
fix: Sort rooms by ascending capacity in schedule editor (#5178)
* fix: Order rooms by ascending capacity in schedule editor

* chore: Revert unrelated changes accidentally included in commit
2023-02-21 10:18:13 -06:00
Robert Sparks 0ce2b8ef54
fix: cache page content, not page menus (#5170)
* fix: cache page content, not page menus

* fix: close the new cache tags
2023-02-21 10:13:45 -06:00
Jennifer Richards f9c2376d27
feat: Return to expected schedule after editing sessions/timeslots (#5158)
* 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
2023-02-16 09:57:18 -06:00
Jennifer Richards 5abfcd4d71
chore: Update migration numberings/deps 2023-02-13 16:26:25 -04:00
Robert Sparks e1206fa91e
Merge remote-tracking branch 'upstream/main' into feat/postgres 2023-02-13 09:17:05 -06:00
Jennifer Richards 45e8f6816e
fix: Link chat log button to chatlog SessionPresentation if available (#5131) 2023-02-11 10:04:27 -06:00
Jennifer Richards 6c31c73eab
feat: Improve links to meeting tools from group pages (#5130)
* 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
2023-02-11 10:00:30 -06:00
Jennifer Richards 1fc2042265
feat: Allow agenda_note to be edited from the schedule editor (#5115)
* feat: Add agenda_note to the SessionDetailsForm

* fix: Add hidden agenda_note field to session_details_form.html

* fix: Stop using agenda_note to filter sessions in import_audio_files()

* chore: Migrate sessions with agenda_note='CANCELED' to canceled state
2023-02-09 17:02:41 -06:00
Jennifer Richards 6cfbab63ba
fix: Use session name instead of timeslot name on agenda (#5086)
* 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
2023-02-07 14:40:23 -06:00
Robert Sparks 84d766232b
Merge remote-tracking branch 'upstream/main' into feat/postgres 2023-02-07 12:20:36 -06:00
Robert Sparks fac5a8cf0d
fix: restore IRTF non-meeting groups to agenda (#5077)
* fix: restore IRTF non-meeting groups to agenda

Fixes #5010

* fix: account for changes to entry from #5065
2023-02-02 17:03:03 -06:00
Jennifer Richards 760a01ad91
fix: Handle proceedings for "notmeet" sessions correctly (#5065) 2023-02-01 10:47:37 -06:00
Robert Sparks 2a1602d9bb
Merge remote-tracking branch 'origin/main' into feat/postgres 2023-01-31 16:57:03 -06:00
Robert Sparks afac1f8f19
feat: enable editorial stream adoption and balloting (#5011)
* feat: enable editorial stream adoption and balloting

* fix: bring tests into line with refactor

* feat: force intended_std_level to Informational when adopting into a non-ietf stream.

* fix: improve blocking position labels and email content

* fix: simplify pointer to group on doc main page for rswg docs

* fix: recover from merge typos

* fix: correct defer and clear ballot behavior

* fix: improve publication request access logic

* fix: clean up broken editorial state

* fix: adjust test to match migrations
2023-01-31 13:50:51 -06:00
Jennifer Richards 7e2b062f12
feat: Limit schedule generator by session purpose (#5055)
* feat: Limit schedule generator by session purpose

* feat: Raise exceptions if no sessions/timeslots are found
2023-01-31 12:59:21 -06:00
Jennifer Richards 837877119b
fix: Sort agenda editor rows by room size first (#5043)
* fix: Sort agenda editor rows by room size first

* test: Update selectors in test_edit_meeting_schedule()
2023-01-27 16:29:51 -06:00
Robert Sparks 6de27154ed
Merge remote-tracking branch 'origin/main' into feat/postgres 2023-01-27 12:45:35 -06:00
Jennifer Richards 185c4d556c
fix: Show links for more session types on the agenda (#5038)
* 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
2023-01-27 11:55:05 -06:00
Robert Sparks 2351629fcc
Merge remote-tracking branch 'origin/main' into feat/postgres 2023-01-23 10:28:14 -06:00
Jennifer Richards c6663eb593
fix: Separately show proceedings sessions with different names (#5005)
* 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
2023-01-20 15:16:48 -06:00
Robert Sparks 3fb521eb53
fix: test on postgres. POST and check intended pks. (#4949)
* fix: test on postgres. post and check intended pks.

* fix: pass and check intended pks

* fix: pass intended pk

* fix: get an actually usable group type for test

* fix: use a review assignment pk instead of the review request pk

* fix: Use pks of sessions, not schedtimesessassignments

* fix: test for actual pk and do not rely on case-insensitive LIKE

* fix: test for actual pk

* chore: spelling correction: nomine -> nominee
2023-01-10 10:28:43 -06:00
Robert Sparks ec2b7d0d04
Merge remote-tracking branch 'upstream/main' into feat/postgres 2023-01-06 17:29:49 -06:00
Jennifer Richards 364250a291
feat: Generate a partial schedule when there are more sessions than timeslots (#4950)
* 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
2023-01-06 11:13:58 -06:00
Robert Sparks 3d802497f4
Merge remote-tracking branch 'upstream/main' into feat/postgres 2022-12-15 09:58:24 -06:00
Jennifer Richards 5a1fc4c2ab
fix: use a single Meeting instance for all assignments in agenda views (#4877) 2022-12-12 16:33:08 -06:00
Robert Sparks 15569771ff
Merge remote-tracking branch 'upstream/main' into feat/postgres 2022-12-12 09:54:49 -06:00
Jennifer Richards 6644ab48c0
fix: handle groups_at_the_time cache misses (#4853)
* fix: handle groups_at_the_time cache misses

* refactor: add comments, share meeting-start code between calls

* test: test Meeting.group_at_the_time()
2022-12-09 13:57:27 -06:00
Jennifer Richards 015ac316fb
test: fix test broken by 40fd46a2 (#4847) 2022-12-07 15:06:43 -06:00
Jennifer Richards 40fd46a293
fix: be more sure to create interim's timeslot / update duration (#4846) 2022-12-07 14:45:00 -06:00
Jennifer Richards ac55b2cb6f
fix: init time inputs in correct tz when editing an interim request (#4838)
* fix: init time inputs in correct tz when editing an interim request

* test: add test

* test: fix old tests that relied on mixing dates, times, and datetimes
2022-12-06 08:46:48 -06:00
Jennifer Richards 0abebf2f10
feat: add 'IETF Meetings' filter to upcoming meetings page (#4826)
* 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.
2022-12-05 15:19:36 -06:00
Robert Sparks abe640e57f
Merge remote-tracking branch 'upstream/main' into feat/postgres 2022-11-30 16:35:33 -06:00
Jennifer Richards b8dbd65f76
fix: use consistent timezone for IDs in timeslot editor (#4813)
* test: be more careful with timezone arithmetic

Drops a test case (other day, other time) that was an unlikely corner
case. It was an easy check to include with the old code but is less
so with the rewrite.

* fix: use consistent timezone for IDs in timeslot editor

* chore: remove stray testing/debug code
2022-11-30 15:31:40 -06:00
Robert Sparks 0b3f9f5dc5
refactor: clarify handling what groups looked like at past session times (#4767)
* 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
2022-11-29 11:08:16 -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
Robert Sparks 41eafa2727
fix: Abstract code knowledge of the notes function away from specific implementations (#4761)
* fix: abstract codes knowledge of the note function away from specific implementations.

* refactor: make uses_notes a meeting's responsibility.
2022-11-15 14:10:13 -06:00
Robert Sparks 27fccc6ba0
feat: move to postgresql (#4744)
* feat: move to postgresql

* fix: repair fractional replace statement

* fix: use pathlib to manipulate settings_local

Co-authored-by: Jennifer Richards <jennifer@painless-security.com>

* fix: do two string replacements, not one followed by another that throws away the first.

Co-authored-by: Jennifer Richards <jennifer@painless-security.com>

* fix: use pathlib again to manipulate settings_local

Co-authored-by: Jennifer Richards <jennifer@painless-security.com>

* fix: properly use assert (1/2)

Co-authored-by: Jennifer Richards <jennifer@painless-security.com>

* fix: properly use assert (2/2)

Co-authored-by: Jennifer Richards <jennifer@painless-security.com>

Co-authored-by: Jennifer Richards <jennifer@painless-security.com>
2022-11-11 11:01:01 +00:00
Kesara Rathnayake 71dcf9fc8b
fix: Use correct codec for decoding meeting materials (#4697) 2022-11-06 12:13:02 +00:00
Justin Iurman c94c28d65c
chore: Eliminate use of django.utils.datetime_safe (#4698)
Instead of replacing `datetime_safe` by the standard api, just remove
that part of the code (because it is unused).

Fixes #4513
2022-11-06 11:54:19 +00:00
Jennifer Richards 594c3f4316
fix: omit session location when timeslot.show_location is False (#4712)
* fix: omit session location when timeslot.show_location is False

* test: test that location is omitted  when show_location is False
2022-11-06 11:51:07 +00:00
Tero Kivinen 8cf309cd6a
fix: Fix upcoming to use Meeting.end_date. (#4701) 2022-11-05 17:54:13 +00:00
Jennifer Richards 3008c4904e
feat: add 'cancel session' button to meeting schedule editor (#4682)
* 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
2022-11-01 14:41:50 -03:00
Jennifer Richards 41882f2ac7
test: remove syntax error introduced in merge 2022-10-28 16:52:03 -03:00
Jennifer Richards 0caf946e48
Merge branch 'feat/tzaware' into dev/main-for-tzaware-merge 2022-10-28 14:40:04 -03:00
Jennifer Richards a124eb8073
chore: update create_dummy_meeting to specify session purposes (#4654) 2022-10-28 14:36:35 -03:00
Jennifer Richards 3bf997ba03
chore: rename management commands to avoid non-inclusive language (#4656)
* chore: rename create_dummy_meeting to create_test_meeting

* chore: reword comments to match renamed command

* chore: rename make_dummy_nomcom to create_test_nomcom

Avoids non-inclusive language and better matches other command naming.

* chore: reword comments to match renamed command
2022-10-28 11:01:00 -05:00
Jennifer Richards a5f0259072
fix: stabilize sorts of upcoming meetings (#4661)
* fix: stabilize upcoming meeting sort

* fix: stabilize upcoming meeting ical sort
2022-10-27 13:03:14 -05:00
Jennifer Richards a3673f25cb
fix: sort higher capacity rooms first in schedule editor (#4653)
* 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.
2022-10-27 09:58:51 -05:00
Jennifer Richards f42016d8fb
Merge branch 'feat/tzaware' into dev/main-merge-to-tzaware 2022-10-27 11:58:32 -03:00
Jennifer Richards e290d9e499
test: avoid local times near midnight for test_past_swap_days_buttons() (#4642)
* test: avoid local times near midnight for test_past_swap_days_buttons()

* test: use timezone_options variable consistently

* test: add test of timezone_not_near_midnight() method

* fix: ensure that timezone_not_near_midnight() always exits
2022-10-26 09:42:50 -05:00
Jennifer Richards d55280d0b1
Merge pull request #4638 from ietf-tools/main
chore: merge main into feat/tzaware
2022-10-24 12:57:11 -03:00
Robert Sparks d08815d8da
fix: find raw chatlog and polls for interims (#4628) 2022-10-21 15:58:54 -05:00
Robert Sparks 3c191909ca
fix: stable and correct ordering of agenda items (#4621)
* fix: align session sorting across functions

* fix: sessions of a group can have different types
2022-10-21 11:04:27 -05:00
Robert Sparks 26e2e23418
fix: reduce agenda data calculation time (#4622)
* fix: reduce agenda data calculation time

* doc: improve docstring for preprocess_assingments_for_agenda
2022-10-21 11:03:11 -05:00
Jennifer Richards 000e8431c2
Merge pull request #4615 from painless-security/jennifer/materials-tz
fix: use UTC for materials/proceedings cutoff checks
2022-10-20 11:39:10 -03:00
Jennifer Richards fb644d7b50
fix: use UTC for materials/proceedings cutoff checks 2022-10-20 09:32:20 -03:00
Jennifer Richards 0346271578
refactor: simplify I-D cutoff calculations and make TZ more explicit 2022-10-19 17:47:07 -03:00
Jennifer Richards 8101b4f057
chore: remove unused imports 2022-10-18 12:50:07 -03:00
Jennifer Richards 3220bf3c40
chore: replace last few datetime.date.today() calls with date_today() 2022-10-18 12:45:47 -03:00
Jennifer Richards dfe1147e7c
chore: switch a few datetime_today() calls to date_today() 2022-10-18 12:25:25 -03: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
Jennifer Richards 83db95c4b3
test: extend simulateDragDrop to support dataTransfer.types interface (#4571) 2022-10-13 10:58:20 -05:00
Robert Sparks 6dd6165444
fix: correct meeting attendance calculations (#4536)
* fix: correct meeting attendance calculations

* test: change meetingregistration factory defaults

* test: Setup stats tests to verify counts honor meeting.Attended

But the tests aren't actually looking to see what numbers get generated yet.

* test: add test for attendance cross-talk between meetings

* fix: limit attendance count query to single meeting

* refactor: rename attendance.online to .remote

* fix: only count a given person as onsite or remote, but never both

* test: align tests with cleanup

Co-authored-by: Jennifer Richards <jennifer@painless-security.com>
2022-10-13 10:55:57 -05: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 0ad293d6e9
feat: add slides / session materials links to session details modal (#4535)
* feat: add propose/upload slides button to session details modal

* refactor: remove unneeded chaining operator

* test: fix quotes around template string

* feat: link to meeting materials page from AgendaDetailsModal

* refactor: compute session details URL in JS instead of view

* chore: restyle materials page link

* test: fix test case to match changes to session modal
2022-10-12 16:07:23 -05:00
Nicolas Giard 6f2114fb0c
feat: replace old agenda with agenda-neue (#4406)
* feat: remove old agenda (django-side)

* fix: bring in latest commits

* test: remove -neue from playwright tests

* test: remove agenda selenium js tests

* test: remove agenda views tests

* fix: remove deprecated agenda views (week-view, agenda-by, floor-plan)

* test: fix failing python tests

* test: remove more deprecated tests

* chore: remove deprecated templates

* test: remove unused import

* feat: handle agenda personalize with filter + move agenda specific stuff out of root component

* fix: redirect deprecated urls to agenda / floorplan

* feat: agenda - open picker mode when from personalize path

* fix: safari doesn't support device-pixel-content-box property on ResizeObserver

* test: move floor plan test into main agenda test

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-10-12 15:46:28 -05:00
Jennifer Richards 7b1b7f5273
Merge branch 'feat/tzaware' into dev/tzaware-main-merge 2022-10-11 14:57:34 -03:00
Jennifer Richards 0bdfb25c47
feat: include proposed WGs on meeting requests page (#4551) 2022-10-07 15:56:43 -05:00
Jennifer Richards f043797742
fix: include IRTF and BoF groups on meeting requests page (#4528)
* fix: include IRTF and BoF groups on meeting requests page

* test: test bof/irtf groups on the meeting requests page

* chore: remove some accidentally committed changes

* style: improve formatting of requests.html template
2022-09-30 10:08:11 -05:00
Jennifer Richards 448cfbb13d
fix: more timezone fixes in liaisons/meeting/message apps 2022-09-27 15:50:10 -03:00
Jennifer Richards 63a1baf116
fix: more small timezone-aware fixes (#4489)
* fix: use meeting timezone for agenda_by_(room|type)

* refactor: use timezone.override instead of timezone.activate/deactivate

* fix: add timezone info in create-charter-newrevisiondocevents

* fix: use meeting timezone for recording.html template

* fix: use meeting timezone for slide submission timeslot display

* fix: use meeting timezone for schedule diff template

* fix: use meeting timezone for edit_meeting_timeslots_and_misc_sessions

* fix: use meeting timezone for materials() view

* fix: use meeting timezone for proceedings() view

* refactor: force timestamps to utc in important_dates_for_meeting.ics

Has no effect now, but guarantees consistency with template's assertion
that its timestamps are in UTC.

* fix: use meeting timezone for a couple interim meeting templates

* fix: use meeting timezone for propose_session_slides template

* fix: use meeting timezone for upload_session_*.html

* fix: use meeting timezone for a couple session templates
2022-09-22 12:19:56 -03:00
Jennifer Richards fe7fc4b871
fix: miscellaneous tz fixes (#4481)
* fix: use meeting timezone for date comparison in agenda.html

* fix: use meeting timezone in interim_meeting_cancellation_notice.txt

* fix: use meeting timezone in interim_session_cancellation_notice.txt

* fix: use meeting timezone for secr misc sessions tab

* fix: use meeting tz for editing misc sessions

* fix: handle times with day outside usual choices in secr app

* fix: handle TZ correctly for reg sessions and timeslots in secr app

* fix: handle timezone in session_schedule_notification.txt

* fix: fix broken references in interim session cancellation template

* test: use meeting timezone as element id for meeting/timeslot editing
2022-09-20 13:18:05 -03:00
Jennifer Richards 3cbcfde475
fix: use meeting-local times for agenda editor (#4458)
* fix: use meeting-local times for agenda editor

* test: test agenda editor timezone handling
2022-09-15 13:18:49 -03:00
Jennifer Richards 1366b6de38
Merge branch 'feat/tzaware' into jennifer/main-to-tzaware-conflicts 2022-09-14 12:36:33 -03:00
Jennifer Richards 54c57e0419
test: refactor tests to avoid shadowing meeting.date with a datetime (#4430) 2022-09-12 11:36:58 -03:00
Jennifer Richards dcb6da947e
fix: use tz-aware meeting datetime to decide when to show ical link (#4429)
* refactor: reimplement Meeting.end_datetime() using datetime_from_date helper

* fix: use tz-aware meeting datetime to decide when to show ical link
2022-09-12 11:35:01 -03:00
Lars Eggert baf67d1cd5
fix: Use new schedule editor icons picked by @flynnliz (#4407)
Also clean up the related layout somewhat.

Fixes #4378
2022-09-06 12:11:59 -05:00
Jennifer Richards 32054111df
fix: fix failing tests and eliminate naive datetime warnings (#4402)
* test: fix timestamp construction in several doc tests

* refactor: rename date2datetime to datetime_from_date and clarify code

* chore: helper to get tzinfo for PRODUCTION_TIMEZONE

* fix: fix timezone handling in make_last_call()

* test: fix datetime generation in doc.tests_charter

* refactor: remove PRODUCTION_TIMEZONE setting

Replaces the PRODUCTION_TIMEZONE setting with a constant,
DEADLINE_TZINFO, in ietf.utils.timezone.

* test: be more careful about timezone in tests_charter.py

* test: be more careful about timezone in doc/tests.py

* fix: fix timezone handling affecting doc.tests_draft

* fix: fix timezone handling affecting tests_irsg_ballot.py

* fix: fix timezone handling affecting tests_review.py

* fix: fix timezone handling affecting last ietf.doc tests

* fix: fix timezone handling affecting last ietf.group tests

* fix: fix timezone handling affecting ietf.iesg tests

* fix: handle timezones in get_8989_eligibility_querysets

* fix: handle timezones affecting ietfauth tests

* fix: return tz-aware datetime from utc_from_string

* fix: specify timezone for constants in ipr_rfc_number()

* fix: specify tz for ipr deadlines

* fix: handle timezones affecting liaisons tests

* fix: treat leap day in get_8989_eligibility_querysets()

Manual cherry-pick of 248d6474

* test: treat leap day properly in nomcom tests

* fix: fix timezone handling affecting nomcom tests

* test: fix timezone handling in review tests

* fix: fix timezone handling affecting secr.meetings tests

* fix: handle both pytz and zoneinfo timezones in ietf.utils.timezone

* fix: fix timezone handling affecting secr.proceedings tests

* refactor: use make_aware() helper in secr.meetings tests

* test: fix timezone handling in secr.telechat tests

* fix: fix timezone handling affecting stats tests

* fix: eliminate tz-naive helpers affecting sync email parsing

* fix: include timezone data when serializing DeletedEvent data

* fix: fix timezone handling affecting sync tests

* style: remove unused import
2022-09-01 13:07:28 -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 42203d7a9c
chore: migrate timestamps for use with USE_TZ=True (#4370)
* chore: add migration to change timestamps to UTC

* 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: 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: be explicit that Meeting.vtimezone can return None

* refactor: remove unnecessary save()
2022-08-26 13:03: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 17786527d4
fix: allow 90m session requests. Prompt for cannot meet at time reasoning. (#4345)
* fix: allow 90m session requests. Prompt for cannot meet at time reasoning.

* test: adjust tests to match new acts_like_wg default.
2022-08-19 09:11:44 -05:00
Robert Sparks c0f1fd2395
chore: update to pytz 2022.2.1 (#4342) 2022-08-18 11:40:51 -05:00
Robert Sparks aa2f843725
chore: track updates to pytz (#4319) 2022-08-12 15:14:46 -05:00
Robert Sparks c7c366fd41
chore: remove session_purpose_demo mgmt command. Fixes #4290. (#4309) 2022-08-04 11:25:57 -05:00
Robert Sparks 9c236ea2a2
chore: remove unneeded logging and code marked unreachable that has not been reached. (#4305)
* chore: remove unneeded logging and code marked unreachable that has not been reached.

* fix: remove noop save override
2022-08-04 11:25:31 -05:00
Nicolas Giard aea533e4dd
fix: add missing slides + minutes tabs to session materials dialog #4274 (#4275)
* fix: handle session dropdown link on mobile view

* feat: agenda session materials API endpoint

* feat: agenda-neue - add slides + minutes tabs to session materials dialog

* fix: remove commented line leftover
2022-07-26 09:30:20 -05:00
Nicolas Giard 4e649b9e2c
fix: force open links in agenda session materials html to open in new tab (#4277) 2022-07-26 09:04:24 -05:00
Nicolas Giard a605b08de6
feat: load agenda asynchronously via REST endpoint (#4257)
* feat: load agenda asynchronously via REST endpoint

* fix: handle invalid meeting number + pre-64 meetings redirect
2022-07-24 10:34:57 -05:00
Jennifer Richards b4e5cfcf91
fix: link to jabber logs for old meetings (#4250)
* fix: link to jabber logs for old meetings

* test: validate the URL for old Session chat logs
2022-07-24 09:06:23 -05:00
Robert Sparks fe1f51aede
fix: Compute 8989 eligibility using actual attendance data. (#4236) 2022-07-21 12:58:32 -05:00
Robert Sparks add95d36eb
fix: correct json import error for 112 and 113 plenary sessions (#4234) 2022-07-21 11:19:26 -05:00
Robert Sparks 99d4e16b30
feat: improve admin for Meeting Attended (#4233)
* feat: improve admin for Meeting Attended

* fix: further tweaks to the attended admin
2022-07-20 15:15:48 -05: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
Nicolas Giard aa9490faf6
feat(ui): new dynamic agenda view (#4086)
* feat: agenda page in vue (wip)

* feat: scroll to agenda day

* fix: vue 3 composition api + eslint settings

* fix: agenda day scroll match indicator

* fix: convert vite deps to yarn

* fix: missing lodash + legacy build step

* fix: agenda - move calendar into drawer

* fix: improve agenda filter UI

* fix: download ics + move agenda into own component

* feat: use fullcalendar for agenda calendar view (wip)

* feat: add events to agenda calendar

* feat: agenda filter UI improvements

* feat: agenda add to calendar dropdown

* feat: agenda calendar filter + timezone + event coloring

* feat: agenda calendar color improvements

* chore: exclude dist-neue from git

* feat: agenda calendar event modal

* fix: rebuild yarn deps

* chore: add run migration task to vscode

* fix: agenda buttons display flag

* feat: agenda event modal component

* feat: show calendar event quick info on hover

* fix: clear calendar quick info on timezone change

* feat: agenda list view improvements

* feat: agenda list row coloring

* feat: agenda list note

* feat: agenda list icons for office hours + hackathon

* fix: agenda top links

* refactor: use pinia as store for agenda components

* feat: agenda jump to now

* fix: agenda mobile improvements

* feat: agenda search

* feat: agenda search improvements

* feat: agenda event recordings buttons for post-meeting

* fix: agenda switch to meeting timezone on load

* feat: agenda pre & live session buttons

* fix: remove agenda utc + personalize links in top menu

* feat: add pre-vue loading state on page load

* feat: filter from agenda picker mode

* fix: agenda UI improvements

* fix: django-vite non-dev mode

* chore: update yarn dependencies for vue + vite

* feat: agenda settings panel + UI improvements

* feat: agenda settings colors + import/export feature

* feat: agenda color assignments + responsive UI improvements

* feat: agenda realtime red line + debug datetime offset

* feat: agenda add aria labels for settings

* feat: add new agenda path + pages/menu

* fix: bring base/menu.html up to main

* fix: agenda various fixes

* test: add new agenda item to meetings menu for item count

* chore: restore devcontainer extensions list

* fix: agenda UI improvements + montserrat default font

* feat: agenda bolder text + hide event icons options

* feat: agenda warning badge

* fix: agenda various UI improvements + intersectionObserver fix

* feat: agenda floorplan page + various UI improvements

* feat: agenda floor plan pin

* feat: view floor plan room from agenda

* feat: agenda floor plan mobile optimization

* feat: adjust calendar options + default calendar view in settings

* feat: agenda persist picked events + change base font only on new agenda page

* feat: agenda mobile view optimizations

* fix: add .vite to cached volumes

* fix: mobile view for filters, calendar, settings panels

* test: upgrade cypress existing tests to work on bs5 + update dependencies

* fix: use named url patterns to avoid hardcoded URLs. Add rudimentary test coverage for the neue views.

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-07-13 16:20:23 -05:00
Jennifer Richards ba7d468a4d
feat: show meeting requests beyond rg/wg groups (#4134)
* feat: show session requests for all "has_meetings" groups

* test: test changes to groups whose session requests are shown

Note the change in capitalization for the 'active' group state fixes
the test but does not seem to affect production (which I guess uses
case insensitive matching?)

* test: remove leftover debug statement

* feature: exclude admin/social sessions from meeting requests view

* test: test exclusion of admin/social sessions from meeting requests view

* feat: group all non-area groups as "other" on meeting requests page

* fix: prevent doubling of first section header

* test: verify that more of the sreqs are / are not linked
2022-06-29 09:49:33 -05:00
Robert Sparks 10396d6f01
chore: remove more tools.ietf.org server only related things. (#4103)
* chore: remove more tools.ietf.org server only related things.

* chore: remove use of tools.ietf.org floorplans\n\nThe data will move into the FloorPlan models instead.
2022-06-22 14:11:46 -05:00
Jennifer Richards 7da2795565
fix: increase timeslot widths in editor so swap buttons fit (#4119) 2022-06-22 14:11:15 -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 63d80bff4c
chore: Remove various unused template tags (#4101)
* chore: Remove various unused template tags

* Replace rfcnospace with parameterized prettystdname

* Use URL resolver

* Use the URL resolver more
2022-06-21 14:05:02 -05:00
Robert Sparks b3c39bebd8
fix: make the shedule editor fit better on laptop lenses and smaller external monitors. (#4107) 2022-06-21 11:43:35 -05:00
Robert Sparks 07bfa68a75
feat: explicitly model session attendance (#4025)
* feat: add model to track session attendance

* feat: add model to track session attendance

* feat: add api to set session attendees

* fix: use user pk instead off person pk in the attended api.

* feat: calculate three of five from attended

* feat: management utility to populate Attended model history

* docs: document why nomcom calculations don't use Attended yet.

* fix: add migration to add new personalapikey endpoint to choices

* test: verify very old last login prevents api key use,

* chore: address review nits

* chore: comment on some idiosyncracies of the expected input to populate_attended

* fix: add unique_together constraint for the Attended model

* fix: correctly handle empty querysets passed to three_of_five_eligible functions.
2022-06-20 10:46:36 -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 cb996c5c0b
fix: refactor/correct calculation of week-view event start/end times (#3947)
* fix: use DST-friendly tz calculation for TimeSlot end times

Around DST changes, localize(time + duration).astimezone() is not
the same as localize(time).astimezone() + duration. The latter allows
tz-aware times to do their magic and give correct clock times.

* fix: refactor/correct calculation of week-view event start/end times

There were bugs in the timestamp calculations around DST switchover.
This corrects those and tries to clarify and improve documentation in
the relevant code.
2022-05-11 16:08:47 -05:00
Robert Sparks def13a872a
chore: catchup with pytz country (#3933) 2022-05-03 20:54:02 -05:00
Lars Eggert 5598762608
fix: add more HTML validation & fixes (#3891)
* Update vnu.jar

* Fix py2 -> py3 issue

* Run pyupgrade

* test: Add default-jdk to images

* test: Add option to also validate HTML with vnu.jar

Since it's already installed in bin. Don't do this by default, since it
increases the time needed for tests by ~50%.

* fix: Stop the urlizer from urlizing in linkified mailto: text

* More HTML fixes

* More HTML validation fixes

* And more HTML fixes

* Fix floating badge

* Ignore unicode errors

* Only URLize docs that are existing

* Final fixes

* Don't URLize everything during test-crawl

* Feed HTML into vnu using python rather than Java to speed things up

* Allow test-crawl to start vnu on a different port

* Increase retry count to vnu. Restore batch size to 30.

* More HTML validation fixes

* Use urllib3 to make requests to vnu, since overriding requests_mock is tricky

* Undo commit of unmodified file

* Also urlize ftp links

* Fix matching of file name

* More HTML fixes

* Add `is_valid_url` filter

* weekday -> data-weekday

* urlencode URLs

* Add and use vnu_fmt_message. Bump vnu max buffer.

* Simplify doc_exists

* Don't add tab link to mail archive if the URL is invalid

* Run urlize_ietf_docs before linkify

Reduces the possibility of generating incorrect HTML

* Undo superfluous change

* Runner fixes

* Consolidate vnu message filtering into vnu_filter_message

* Correctly handle multiple persons with same name

* Minimze diff

* Fix HTML nits

* Print source snippet in vnu_fmt_message

* Only escape if there is something to escape

* Fix snippet

* Skip crufty old IPR declarations

* Only include modal when needed. Add handles.

* Fix wordwrap+linkification

* Update ietf/doc/templatetags/ietf_filters.py

* Update ietf/doc/templatetags/tests_ietf_filters.py

* Don't right-align second column
2022-05-03 13:55:48 -05:00
Jennifer Richards 310e828262
fix: offset scrollspy so righthand-nav highlights the correct entry (#3820)
Also rewrites scroll_to_element() using javascript. This seems to be less flaky
than the ActionChains implementation. Slight change in behavior - now scrolls
the requested element to the middle of the window instead of barely into view.
2022-04-14 15:35:07 -03:00
Jennifer Richards 30d1067082
test: update search in test to match template changes (#3814)
Fixes test failure caused by ietf-tools#3803.
2022-04-12 19:30:22 -03:00
Robert Sparks 0944312c20
feat: remove room-view. Fixes #3810. (#3815)
Also changes .editorconfig to not strip trailing whitespace
2022-04-12 17:35:07 -03:00
Jennifer Richards 3619d3bfbf
fix: handle invalid fields properly in proc material upload form (#3784) 2022-04-07 22:58:01 -03:00
Lars Eggert 3234f1a121
test: Validate HTML rendered during tests (#3782) 2022-04-07 13:30:38 -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 016ee71855
feat: persist timeslot types made visible in the schedule editor (#3778)
This adds a POST action to the edit_meeting_schedule view that sets a list
of currently visible timeslot types in the user's session. On display of
the schedule editor, this is consulted before defaulting to show only 'regular'
timeslots. An ajax request is made to update the session when changing the
settings in the editor.
2022-04-05 16:00:59 -03:00
Jennifer Richards 2859c43677
fix: allow import of rev00 minutes and let secretariat edit materials (#3776)
* fix: show "Edit materials" button for all groups for a secretariat user

Fixes ietf-tools#3763

* fix: show "import minutes" button to import initial revision

* test: validate that import session minutes buttons are shown

* test: validate that "Edit materials" links are shown
2022-04-01 12:49:20 -03:00
Jennifer Richards 40c33b1281
fix: better handle corner cases for pre-IETF-64 agenda redirects (#3775)
Fixes #3669
2022-03-31 17:16:21 -03:00
Jennifer Richards 300f717c3d
fix: avoid needlessly blocking import of session minutes (#3761)
Fixes #3558
2022-03-30 18:38:47 -03:00
Lars Eggert 870fed030f
fix: More fixes for narrow screens (#3662)
* fix: More fixes for narrow screens

Need to keep checking for issues, there are more.

* Make columns more narrow on narrow screens

* More fixes

* More fixes

* Test fixes

* Fix more tests

* Close tbody
2022-03-24 12:40:48 -03:00
Jennifer Richards 4e437a9f2d
test: scroll swap timeslots button into view before clicking (#3719) 2022-03-22 13:33:48 -05:00
Jennifer Richards fd2adc86eb
fix: redirect to renamed schedule after saving a name change (#3696)
Fixes #3427
2022-03-21 16:22:28 -03:00
Robert Sparks 6ecd4b40e2
fix: use better address calculation for schedule owner. Fixes #2611. (#3709) 2022-03-21 10:21:22 -03:00
Robert Sparks 9df659b06e
fix: better draft name validation. Fixes #3539. (#3671) 2022-03-18 18:01:25 -05:00