Commit graph

4064 commits

Author SHA1 Message Date
Tero Kivinen cec0e0c9d8
Make review settings history usable. (#7205) 2024-03-20 19:04:37 -05:00
Rich Salz 68c3e652e0
fix: Clarify non-WG mailing list title (#7189)
Add reference to the non-WG guidelines.
Change the title to make obvious that not implying "no work is done here."

Fixes: #7059
2024-03-20 17:39:30 -05:00
Robert Sparks 3bfb9303bc
fix: appropriate metadata for editorial stream docs (#7195) 2024-03-15 23:16:09 -05:00
Rich Salz a637799795
feat: More clarity in nomcom feedback, and ... (#7191)
* feat: Remove trailing period from photo title, etc

For consistency, in email and photo tooltips, remove the trailing
period.

* feat: Remove email link in NomCom feedback

Seeing "User Name {envelope}" seems to confuse people; it's two links,
not one. So don't show the envelope-icon,

Also change text to say "current nomcom" when saying who gets it.

Fixes: #7032
2024-03-15 21:44:44 -05:00
Robert Sparks e6138ca126
feat: session apis (#7173)
* feat: Show bluesheets using Attended tables (#7094)

* feat: Show bluesheets using Attended tables (#6898)

* feat: Allow users to add themselves to session attendance (#6454)

* chore: Correct copyright year

* fix: Address review comments

* fix: Don't try to generate empty bluesheets

* refactor: Complete rewrite of bluesheet.html

* refactor: Fill in a few gaps, close a few holes

- Rename the live "bluesheet" to "attendance", add some explanatory text.
- Add attendance links in materials view and pre-finalized proceedings view.
- Don't allow users to add themselves after the corrections cutoff date.

* fix: Report file-save errors to caller

* fix: Address review comments

* fix: typo

* refactor: if instead of except; refactor gently

* refactor: Rearrange logic a little, add comment

* style: Black

* refactor: auto_now_add->default to allow override

* refactor: jsonschema to validate API payload

* feat: Handle new API data format

Not yet tested except that it falls back when the old
format is used.

* test: Split test into deprecated/new version

Have not yet touched the new version

* style: Black

* test: Test new add_session_attendees API

* fix: Fix bug uncovered by test

* refactor: Refactor affiliation lookup a bit

* fix: Order bluesheet by Attended.time

* refactor: Move helpers from views.py to utils.py

* test: Test that finalize calls generate_bluesheets

* test: test_bluesheet_data()

* fix: Clean up merge

* fix: Remove debug statement

* chore: comments

* refactor: Renumber migrations

---------

Co-authored-by: Paul Selkirk <paul@painless-security.com>

* chore: Remove unused import

* style: Black

* feat: Stub session update notify API

* feat: Add order & rev to slides JSON

* style: Black

* feat: Stub actual Meetecho slide deck mgmt API

* refactor: Limit reordering to type="slides"

* chore: Remove repository from meetecho API

(API changed on their end)

* feat: update Meetecho on slide reorder

* refactor: drop pytz from meetecho.py

* chore: Remove more repository refs

* refactor: Eliminate more pytz

* test: Test add_slide_deck api

* fix: Allow 202 status code / absent Content-Type

* test: Test delete_slide_deck api

* test: Test update_slide_decks api

* refactor: sessionpresentation_set -> presentations

* test: Test send_update()

* fix: Debug send_update()

* test: ajax_reorder_slides calls Meetecho API

* test: Test SldesManager.add()

* feat: Implement SlidesManager.add()

* test: Test that ajax_add_slides... calls API

* feat: Call Meetecho API when slides added to session

* test: Test SlidesManager.delete()

* feat: Implement SlidesManager.delete()

* test: ajax_remove_slides... calls Meetecho API

* feat: Call Meetecho API when slides removed

* chore: Update docstring

* feat: rudimentary debug mode for Meetecho API

* test: remove_sessionpresentation() calls Meetecho API

* feat: Call Meetecho API from remove_sessionpresentation()

* test: upload_slides() calls Meetecho API

* style: Black

* fix: Refactor/debug upload_session_slides

Avoids double-save of a SessionPresentation for the session
being updated and updates other sessions when apply_to_all
is set (previously it only created ones that did not exist,
so rev would never be updated).

* test: Fix test bug

* feat: Call Meetecho API when uploading session slides

* fix: Only replace slides actually linked to session

* fix: Delint

Removed some type checking rather than debugging it

* fix: Send get_versionless_href() as url for slides

* test: TZ-aware timestamps, please

* chore: Add comments

* feat: Call Meetecho API in edit_sessionpresentation

* feat: Call Meetecho API in remove_sessionpresentation

* feat: Call Meetecho API from add_sessionpresentation

* fix: Set order in add_sessionpresentation

* fix: Restrict API calls to "slides" docs

* feat: Call Meetecho API on title changes

* test: Check meetecho API calls in test_revise()

* fix: better Meetecho API "order" management

* fix: no PUT if there are no slides after DELETE

* feat: Catch exceptions from SlidesManager

Don't let errors in the MeetEcho slides API interfere with
the ability to modify slides for a session.

* feat: Limit which sessions we send notifications for

* fix: handle absence of request_timeout in api config

* test: always send slide notifications in tests

* fix: save slides before sending notification (#7172)

* fix: save slides before sending notification

* style: fix indentation

It's not a bug, it's a flourish!

---------

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
Co-authored-by: Paul Selkirk <paul@painless-security.com>
2024-03-12 10:22:24 -05:00
Paul Selkirk 528d697ac0
refactor: Clarify which mail archive is being searched (#7117)
* refactor: Clarify which mail archive is being searched (#6993)

* refactor: Revert views_review.py, get team email directly
2024-03-11 13:13:32 -05:00
Robert Sparks 7287e98709
feat: upload narrative minutes (#7125)
* feat: upload narrative minutes

* chore: cover other new URL path
2024-03-04 16:48:02 -06:00
Paul Selkirk 08e0c83324
refactor: Remove Google from document history search (#7093)
* refactor: Remove Google from document history search

"Search lists" dropdown menu devolves into a single button
(two buttons for ADs).

* refactor: Remove unused ARO search

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2024-02-28 09:58:21 -06:00
Paul Selkirk 01a071962d
feat: Add Announcements link to nomcom home page (#7053)
* feat: Add Announcements link to nomcom home page

* refactor: Move announcements link to top of page, outside nomcom_content

* refactor: Don't code URL path into template
2024-02-28 08:54:08 -06:00
Paul Selkirk ce1571ee68
fix: Revert "Email authors" link for an RFC to the draft that it came from (#7077)
* fix: Revert "Email authors" link for RFCs to the draft that it came from (#6856)

* refactor: Move mailto_name calculation to the view

* fix: Fully revert document_draft.html
2024-02-28 08:52:38 -06:00
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 5fc0f6926b
feat: Show room functional name when editing timeslots (#7075)
* feat: Show functional name in str(Room)

* feat: Show func name in edit_timeslots.html

* test: Update test_location_options
2024-02-20 11:02:48 -06:00
Paul Selkirk 52a707628f
feat: Links to chatlogs and session recordings on proceedings page (#7042)
* feat: Links to chatlogs and session recordings on proceedings page (#6791)

* refactor: Add a url template and convenience function for session_recording url

* refactor: Avoid using the walrus operator
2024-02-20 09:40:31 -06:00
Paul Selkirk 9ab820fca9
fix: Expand and enforce Cancel Interim Meeting Request comments length to 512 (#7069)
* fix: Expand and enforce Cancel Interim Meeting Request comments length to 512 (#6998)

* fix: Verify comment text in generated email
2024-02-20 09:30:41 -06:00
Paul Selkirk 3ba39c956a
refactor: Remove BOF chairs from bofreq template, because BOF requesters shouldn't fill it in (#7065) 2024-02-15 09:43:39 -06:00
Robert Sparks ae01f6fb92
chore: clean away unused views/tests related to the Allowlisted model (#7027) 2024-02-06 09:39:09 -06:00
Robert Sparks d9cc26be96
feat: replace references to User with references to Person (#6024)
* refactor: change references from User to Person (#5821)

* refactor: Change CommunityList reference from User to Person

* refactor: Convert more user references to person

* refactor: Change augment_docs_and_user_with_user_info to person

* refactor: Change Nomination and Feedback references from User to Person

* refactor: Change a few test case function signatures to be more pythonic

* refactor: Harmonize how profile and photo views look up email_or_name

* refactor: Rework community views to operate on Person instead of User (#5859)

* test: Update tests to try all of the person's emails and aliases

* fix: Recode a test case to avoid an exception if there's Unicode in the URL

This only happens using the form-filling and submission feature of
WebTest, which is only used in this one test case, so just it rip out.

* test: Add duplicate-person tests

* fix: If there are multiple matching users, prefer the logged-in one.

* chore: We no longer use WebTest, so don't include it.

* fix: Address review comments

* fix: case-insensitive person name or email matching (#6096)

* chore: Renumber migrations

* fix: Update merged code so tests pass (#6887)

* fix: Use refactored method

* fix: Don't assume user has person

* fix: Use new view param name

* chore: Drop community lists w/o person; cleanup (#6896)

* fix: Don't assume user has person

* fix: user->person in update_community_list_index.py

* feat: Remove CommunityLists without Person

* refactor: Speed up nomcom migrations

---------

Co-authored-by: Paul Selkirk <paul@painless-security.com>
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
2024-01-24 11:00:19 -06:00
Robert Sparks 06f496ca6c
fix: reduce database queries when building menues (#6928) 2024-01-17 13:19:20 -06:00
Jennifer Richards cb70da9584
fix: Never show AD col on drafts_for_ad.html (#6914)
* fix: Pass ad as Person instead of name

* refactor: Remove redundant AD check

Results being shown are already filtered by AD if the `ad`
variable is not `None`

* refactor: Add show_ad... flag to prepare_document_table

* refactor: Expose show_ad_and_shepherd flag
2024-01-12 16:39:59 -06:00
Jennifer Richards c7ca0b7d8e
Revert "chore: Replace markup_txt with rfc2html (#6632)" (#6909)
This reverts commit e24fb601db.
2024-01-11 13:08:24 -06:00
Robert Sparks 38ffd8ad2e
fix: correct DATE DTEND values - they are non-inclusive (#6907) 2024-01-10 13:55:07 -06:00
Robert Sparks 3312913c6f
fix: better archive search links for group documents (#6835) 2024-01-09 15:17:11 -06:00
Lars Eggert e24fb601db
chore: Replace markup_txt with rfc2html (#6632)
* chore: Replace markup_txt with rfc2html

* Suppress HTML issues

* Remove comment

* Suppress harder

* Suppress even more

* Fix test

* Ignore vnu "duplicate ID" errors

* Undo accidental commit

* Fix RFCs

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2024-01-05 12:29:28 -06:00
Paul Selkirk 02e0d960a4 fix: Correctly display the last pre-RFC rev of a draft 2024-01-04 00:50:08 -05:00
Paul Selkirk 748bcc328f
fix: Wrap weasyprint to catch exceptions (#6728)
* fix: Wrap weasyprint to catch exceptions (#6324)

* test: Restore socket function after test

* test: Use mock instead of monkeying with sockets

* refactor: Log the error

* fix: Don't catch non-Exception interruptions

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2023-12-27 11:56:38 -06:00
Paul Selkirk 1450ecde99
fix: Retain date of cancelled virtual interim meeting (#6708) (#6852) 2023-12-27 10:39:13 -06:00
Paul Selkirk c1e40ff100
feat: Allow entering agenda text directly (#6792)
* feat: Allow entering agenda text directly (#6532)

* fix: Hide label as well as file/text input box

* refactor: Package javascript for static/dist

* fix: Fix test cases broken by view changes

* test: Add test case for entering agenda text

* refactor: assertRedirects
2023-12-20 16:40:13 -06:00
Jennifer Richards 149f82f578
fix: Include refs to pre-RFC drafts as refs to the RFC (#6784)
* fix: clean up shadowed name in document_referenced_by.html

* fix: include refs to rfc's came_from_draft()

* fix: include refs to draft's became_rfc()

* fix: Count indirect refs by RFCs

* refactor: break indirect ref_by counting to its own fn

* fix: only count refs to pre-rfc draft, not post-draft rfc

(and rename a method)

* test: test referenced_by_rfcs methods

The test_referenced_by_rfcs_as_rfc_or_draft() test
fails because there's a bug!

* test: actually, do double-count refs to rfc/draft

Let's do include refs to an rfc and its precursor draft
as separate refs. This almost surely indicates a data
error because it would mean an rfc referenced both an
rfc and the draft that it came from. That should never
be allowed, so at least let some light fall on it if
it happens.

* chore: Add docstring to document_referenced_by view
2023-12-18 09:11:53 -06:00
Paul Selkirk cfaf84f08f
refactor: Convert custom form template to bootstrap (#6763)
* refactor: Convert custom form template to bootstrap

* refactor: Match form fields to old version
2023-12-14 14:19:22 -06:00
Robert Sparks e211dc57d4
feat!: RFCs and subseries as Document types 2023-12-11 09:36:21 -06:00
Jennifer Richards cbe710d3fd
fix: Migrate and handle subseries IprDocRels (#6745)
* chore: Stash orig IprDocRel document alias

* chore: Point IprDocRel at subseries docs

* fix: Fix IprDocRel.document usage in templates

* fix: Handle subseries in IprDocRel.formatted_name()

* refactor: Better presentation of IprDocRel subseries

* fix: Allow blank originaldocumentaliasname
2023-12-07 15:40:18 -04:00
Robert Sparks 03e161bae9
chore: merge branch 'main' into feat/rfc 2023-12-05 09:12:11 -06:00
Robert Sparks e7bf4e0931
fix: replace copy of draft minutes on iesg moderator page with a link 2023-11-30 12:04:31 -06:00
Jennifer Richards e3ba021e1d
feat: Teach ajax_select2_search about subseries (#6709)
* feat: Teach ajax_select2_search about subseries

* refactor: "draft,rfc" -> "all" in a missed spot
2023-11-30 11:22:32 -04:00
Jennifer Richards b281919d4c
feat: Sort RFCs on subseries views; fix page title (#6704)
* feat: Sort RFCs on subseries doc pages

* feat: Sort RFCs on subseries index pages

* fix: Show subseries doc name as page title

* refactor: Use prettystdname filter for consistency
2023-11-29 12:34:18 -06:00
Kesara Rathnayake f442d6c0af
fix: Remove extra spaces in bibtex (#6688) 2023-11-27 08:13:14 -06:00
Nicolas Giard 8bd5d9481f
fix: chatlog component missing pinia + agenda switch to text dark mode colors (#6653) 2023-11-22 12:43:20 -06:00
Robert Sparks 2137dd8491
fix: teach ajax_select2_search_docs about rfcs (#6679) 2023-11-21 15:33:44 -06:00
Robert Sparks c1627ed011
fix: restore attendee dbtemplate for old meetings pending data correction (#6656)
* fix: restore attendee dbtemplate for old meetings pending data correction

* test: adjust attendees test to match workaround
2023-11-17 10:01:09 -06:00
Robert Sparks b89c44f443
chore: merge main and fix new views 2023-11-16 15:58:22 -06:00
Lars Eggert c36f63baf9
feat: Revamp AD dashboard (#6534)
* fix: Reorder conflict review columns

Fixes #6528

Also remove some redundant computation while I'm here.

* Remove some more stuff that isn't needed

* Progress

* Delivers current functionality

* Add some comments

* Handle expired docs

* Interim commit

* Fix tests

* Cleanup

* More cleanup

* Reduce differences to current view

* Interim commit

* More progress

* Getting close

* Make page functional again

* Remove unused variable

* Suppress mypy warning

* Fix #6553

* Log in as secretary to execute new code, and remove redundant check

* Remove unneeded code

* Fix #6608 by adding link to state description to state heading

* Missed part of this change in last commit.

Also fix an unrelated template nit while I'm here.
2023-11-15 11:25:30 -06:00
Lars Eggert 5d2ac56858
feat: Now that charters are Markdown, render them as such on charter page (#6628) 2023-11-10 09:26:02 +01:00
Eric Vyncke 639043e890
Fix: meeting important dates can have markdown links (#6594)
* Fix #3911 by adding a markdown filter for template

* fix: move the new markdown filter to utils

* fix: linkify after markdown

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
2023-11-10 09:24:13 +01:00
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
Rich Salz bb8cf21bd1
fix: show nomcoms by convening year only (#6585)
* ci: Update build-base-app.yml workflow

* fix: Relabel NomCom to show start year, not range

Show just the year that a NomCom started, because showing
the start/end years is confusing.

Fixes: #3419

* fix: Shwo Nomcoms year convened only

Fix the main nomcom index page and the announcement archive page

---------

Co-authored-by: Nicolas Giard <github@ngpixel.com>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2023-11-07 09:57:19 +01:00
Rich Salz 35bec48e90
fix: Update NomCom references (#6583)
Add nomcom eligibility RFC to the references section

Fixes: #6581

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2023-11-07 09:53:49 +01:00
Paul Selkirk 2bec81da95
fix: Don't include csrf_token in GET-only form (#6549) 2023-11-07 09:50:23 +01:00
Peter Yee f1425e4a52
fix: move meeting management from base Docs to Meeting (#6586)
* fix: move meeting management from base Docs to Meeting

* fix: add permission check for ability to request an interim meeting

* fix: guard against no user being logged in

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2023-11-06 17:45:07 +01:00
Robert Sparks 3fea443f59
fix: use valid ids on subseries index page 2023-11-05 12:35:34 +01:00
Paul Selkirk a3b4162841
fix: Don't redirect user to the login page when logging in (#6570)
* fix: Don't redirect user to the login page when logging in (#5876)

(Embrace and extend c4bf508cd8.)

* test: Add test case for login button

* refactor: The template filter just strips off a path prefix, so rename/recode accordingly

Also test with a non-trivial redirect target.
2023-11-05 11:09:07 +01:00