* feat: add session recordings
* feat: add session recordings
* feat: deleting recordings
* feat: deleting recordings and initial form values
* feat: use meeting date rather than today for initial title field. Fix delete recording
* feat: confirm delete recordings modal. fix server utils delete recording
* fix: removing debug console.log
* feat: change button name from 'Ok' to 'Delete' for confirm deletion to be clearer
* feat: UTC time in string and delete modal text
* fix: django html validation tests
* fix: django html validation tests
* fix: django html validation tests
* refactor: Work with SessionPresentations
* fix: better ordering
* chore: drop rev, hide table when empty
* test: test delete_recordings method
* fix: debug delete_recordings
* test: test add_session_recordings view
* fix: better permissions handling
* fix: only delete recordings for selected session
* refactor: inline script -> js module
* chore: remove accidental import
*shakes fist at pycharm*
* fix: consistent timestamp format
plus slight rephrase
* style: Black
* chore: remove comment
* test: update test to match
* fix: reversible url pattern for materials
Tests were perturbed in a way that led to a test
getting an interim instead of an IETF meeting.
This exposed a bug reversing the URL for the
materials_document() view. This splits it into
two patterns that are equivalent to the original.
---------
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
* feat: add wiki button to agenda list for hackathon sessions
* fix: update client/agenda/AgendaScheduleList.vue
Co-authored-by: Matthew Holloway <matthew@holloway.co.nz>
* fix: broken tests
---------
Co-authored-by: Matthew Holloway <matthew@holloway.co.nz>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* feat: add Group Leadership list
* fix: only offer export to staff
* fix: fix export button conditional
* fix: improve tests. black format
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* refactor: doc search via POST (WIP)
Changes the search view to use a POST instead of a GET. Refactors cache key computation to use cleaned data.
Still todo:
* refactor frontpage view to match
* refactor menubar search (?)
* refactor stats view that uses SearchForm
* revive or drop the "backwards compatibility" branch
* feat: convert GET search to POST
Still todo:
* refactor frontpage view to match
* refactor menubar search (?)
* refactor stats view that uses SearchForm
* fix: revert frontpage changes, search works
Still todo:
* refactor stats view that uses SearchForm
* fix: define vars in all branches
* refactor: update stats use of SearchForm
* chore: improve message
* fix: remove lint
* chore: comments re: QuerySetAny
* test: test query string search params
* style: Black
* test: refactor test_search()
* test: refactor test_search_became_rfc()
* test: use scroll_and_click helper
* feat: show existing recordings on materials page
* chore: notes and recordings tests WIP
* chore: test session recordings
* feat: label all session recording urls as meetecho
* fix: fix wg anchor tags in areas page
* fix: fix wg anchor tags in IESG agenda page
* test: ensure wg anchor tags to be all uppercase
* test: improve tests
* feat: remove "AD is watching" state
* chore: update names.json
* refactor: use idexists state, not dead
* fix: remove guidance to use watching state
* chore: remove references to 'watching' state
* feat: remove create_in_state from edit_info view
* test: update test
* style: Black + move class closer to use
* refactor: remove lint
* fix: restore missing admonition
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* refactor: avoid shadowing type()
* style: Black
* feat: is_blanket_disclosure field
* feat: add field to form
* feat: js to mark field required/not required
* feat: blanket disclosure = royalty-free license
* feat: manage licensing radio buttons
* fix: adjust wording/format of disclosure page
* fix: point at RFC 8179 in checkbox label
* test: test blanket disclosure licensing restrictions
* fix: conditionally render is_blanket_disclosure
* test: refactor test case
* test: patent details optional for blanket ipr
* fix: Use email or name when building community list view
instead of email
* test: add test case
* chore: remove debug
* fix: use name in community list menu when no active email is found
---------
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
* fix: Include missing related drafts in IPR searches
* refactor: extract drafts, sort docs
* chore: indent loop and conditionals to improve readability
* test: handle whitespaces added to IPR search result page
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* feat: Total ids on IESG dashboard
* IESG I-D code comments
* Using Robert's query forIESG dashboard total_ids
* Hiding columns in later IESG Dashboard tables
* Changing IESG dashboard var name to match column table
* Updating IESG pre_pubreqquery
* IESG dashboard prepub req safeParser and graphs
* IESG dashboard fixing Playwright API usage
* IESG dashboard fixing Playwright API usage (2)
* Updating .gitignore for /geckodriver.log
* IESG ad test title
* feat: pages left to ballot on [WIP]
* Adding geckodriver.log to gitignore
* [WIP] pages left to ballot on
* integrating pages left to ballot on WIP
* Tests for ad pages remaining
* Setting states to test ballot items
* refactor ad_pages_left_to_ballot_on count logic
* WIP tests for pages left to ballot on
* chore: remove whitespace change
* fix: look into the BallotPositionDocEventObject
* chore: remove prints
* fix: restructure test
* style: fix js code styling
* fix: only show graph for ADs/Secretariat
---------
Co-authored-by: Matthew Holloway <Matthew Holloway>
Co-authored-by: holloway <matthew@holloway.co.nz>
Co-authored-by: Nicolas Giard <github@ngpixel.com>
Co-authored-by: Matthew Holloway <matthew@staff.ietf.org>
* fix: return to ballotpopup
* fix: ballot position return to in modals
* fix: ballot return to test
* fix: ballot return to additional allow handlers
* fix: ballot return to handler syntax error in test
* fix: #7287 ballot return params
* fix: Moving Ballot edit position ballot_edit_return_point from session to query param
* fix: tests for return_to_path param
* chore: removing Playwright tests until we can figure out a plan
* feat: return_to path utility refactoring
* fix: throw HTTP 400 in view rather than bubbling up a 500
* fix: return http400 rather than raising
* Status WIP
* feat: Status
* fix: Status tests
* feat: status redirect
* chore: Status tests
* chore: Status tests
* feat: Status tests
* chore: Status playwright tests
* fix: PR feedback, mostly Vue and copyright dates
* fix: Status model migration tidy up
* chore: Status - one migration
* feat: status on doc/html pages
* chore: Resetting Status migration
* chore: removing unused FieldError
* fix: Update Status test to remove 'by'
* chore: fixing API test to exclude 'status'
* chore: fixing status_page test
* feat: Site Status PR feedback. URL coverage debugging
* Adding ietf.status to Tastypie omitted apps
* feat: Site Status PR feedback
* chore: correct copyright year on newly created files
* chore: repair merge damage
* chore: repair more merge damage
* fix: reconcile the api init refactor with ignoring apps
---------
Co-authored-by: Matthew Holloway <Matthew Holloway>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* fix: Show recordings for interims
Add methods uses_notes(), has_recordings(), and uses_chat_logs() to the
meeting object (with semantically correct tests) and use them consistently
throughout. List the recordings if the "meeting numnber" starts with
"interim"
Fixes: #6543
* style: Use "is not" and "is" for None comparisons
* None comparison and non-IETF meetings
style: Use "is not None" instead of "!="
For non-IETF meetings assume chat logs exist
* fix: Restore useNotes for JS fields
* fix: uses_notes->useNotes (in JavaScript)
Also add comment about meeting number field in tests
* Missed a uses_notes->useNotes edit
* fix: useNotes->usesNotes
---------
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* feat: style admin site in dev mode
* refactor: eliminate base_site.html
* fix: remove debug
* fix: commit missing __init__.py
* refactor: make method static; fix tests
* refactor: move api init to AppConfig.ready()
Avoids interacting with the app registry before
it's ready.
* test: Update tests to check for Updated field in agenda.txt
* fix: Hide Updated in agenda.txt if too old
* test: Remove confusing tests on CSV agenda
* refactor: Make updated() return None when no valid timestamp found
* refactor: Remove walrus operator
* fix: Remove redundant "stream stream" output
fix: Change "Legacy stream" to "Legacy"
chore: Add "stream" to stream.desc as needed
Fixes: #6902
* chore: Remove unused stream_desc parameter
The stream_desc key isn't used in template/doc/docuemnt_draft.html to
don't pass it in nor compute it
Fixes: #6902
* fix: migrate the legacy StreamName
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* refactor: compute draft aliases on demand
n.b., very slow for full set of aliases
* refactor: simplify and cache email_aliases
The name != "" case is, as far as I can see, unused.
* chore: remove draft alias checks
* chore: remove draft alias/virtual settings
* chore: remove lint
* test: update tests
* test: better mocking
* refactor: move utility to utils
* test: add tests