Commit graph

12688 commits

Author SHA1 Message Date
Sangho Na f7e0a67095
fix: turn off automatic escaping in session request templates (#8007)
* fix: turn off automatic escaping in session request templates

* test: ensure no unwanted escaping in session request emails

* test: use PersonFactory to create test users

* test: minor refactoring
2024-10-09 14:49:05 -05:00
Jennifer Richards a6d15c98ba
test: fill in milestone descriptions (#8002)
* test: fill in milestone descriptions

If "Next" or "Last" appear in the descriptions, the
selectors used by the tests get confused.

* test: avoid fragile selectors
2024-10-09 11:04:54 -05:00
Jennifer Richards 6aff818b72
feat: remove deprecated /api/submit/ endpoint (#8017)
* feat: remove deprecated /api/submit endpoint

* chore: remove unused imports

* test: test api_submit_tombstone view
2024-10-09 10:56:00 -05:00
Sangho Na 364dec3e33
fix: fix wg anchor tags (case-sensitive) (#7995)
* 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
2024-10-02 19:37:49 -03:00
Sangho Na b34bbe59ad
fix: hide rounded pill if session has no purpose specified (#7997) 2024-10-02 11:44:52 -05:00
Jennifer Richards fbcfa19add
feat: remove "AD is watching" state (#7960)
* 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>
2024-09-24 12:13:12 -05:00
Jennifer Richards 5581dc79e1
feat: doc mgrs can edit/remind action holders (#7971)
* feat: doc mgrs can edit/remind action holders

* test: test docman_roles, not "chair"
2024-09-24 10:46:00 -05:00
Robert Sparks 06b9df10ee
feat: warn about materials for cancelled sessions (#7959)
* feat: warn about materials for cancelled sessions

* fix: handle viewing a DocHistory material object
2024-09-23 10:09:50 -05:00
Robert Sparks 25fd4fce5d
fix: show correct time for cancelled sessions. (#7958) 2024-09-23 09:41:18 -05:00
Jennifer Richards 32057f335a
feat: allow blanket IPR disclosures (#7934)
* 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
2024-09-18 16:37:02 -05:00
Lars Eggert 35074660dc
chore: Prevent test suite artifact creation in work directory (#6438)
* chore: Prevent test suite artifact creation in work directory

Also remove a few other stale test assets while I'm here.

* Try and fix CI

* Change IDSUBMIT_REPOSITORY_PATH

* Make the dir

* test: clean up media/nomcom directories

* test: de-dup settings_temp_path_overrides

* chore: remove debug

* refactor: avoid premature import of test_utils

* refactor: drop useless lambda wrapper

---------

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
2024-09-18 14:08:01 -05:00
Jennifer Richards c6389ba65f
fix: only send state change notifications once (#7953)
* feat: split state_change_event create / save

* refactor: avoid double-save in rfceditor.py

* feat: only send notifications on event creation

* test: update test_notification_signal_receiver()

* chore: update comment
2024-09-18 14:02:00 -05:00
Robert Sparks 97b719505e
test: focus on a helper rather than a whole view (#7951) 2024-09-17 13:06:10 -05:00
Robert Sparks 8362b45c8e
fix: optimize and debug has_role and can_manage_some_groups (#7949)
* fix: optimize can_manage_some_groups

* fix: improve cache key

* refactor: extra_role_qs to kwargs and bugfix to cache key

* fix: restrict groupman_role matches to active states

* chore: styling, decommenting, black
2024-09-17 13:05:56 -05:00
Sangho Na 9d583ab9eb
fix: Use email or name when building community list view (#7203)
* 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>
2024-09-16 10:06:16 -05:00
Robert Sparks cc1eade4f8
fix: correct headers for charter evaluation email (#7937) 2024-09-16 08:57:05 -05:00
Robert Sparks 3b5058a516
fix: start to reconcile internal inconsistencies wrt multiple from values (#7935) 2024-09-16 08:56:51 -05:00
Jennifer Richards f5c132a20a
refactor: helper for session recording URL; fix test (#7933)
* refactor: session recording URL label helper

* test: update tests, avoid tz dependence

* test: use date_today()
2024-09-13 16:42:51 -05:00
Robert Sparks 65547a7a9d
fix: rectify mixed types in gathering mailtrigger recipients (#7932) 2024-09-12 17:04:12 -05:00
Kesara Rathnayake f0f2b6d8b6
test: Use timezone aware datetime (#7918)
* test: Use timezone aware datetime

* fixup! test: Use timezone aware datetime
2024-09-12 12:47:53 -05:00
Sangho Na 8d608a1282
test: check HTML content with whitespace ignored (#7921) 2024-09-12 12:47:15 -05:00
Sangho Na 80599f29f0
fix: Include missing related drafts in IPR searches (#7836)
* 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>
2024-09-10 17:22:45 -05:00
Jennifer Richards d8d52eedbf
feat: email ingestor api test endpoint (#7915)
* feat: email ingestor api test endpoint

* ci: add ingestion test token for sandbox

* chore: fix comments
2024-09-09 10:00:54 -05:00
Robert Sparks cb25831a2a
feat: total ids, pre-pubreq counts and pages left to ballot on on the AD dashboard (#7813)
* 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>
2024-09-05 10:43:43 -05:00
Jennifer Richards 36847428d5
fix: label > 26 sessions per group (#7599)
* fix: label > 26 sessions correctly

* test: test new helper

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2024-09-04 15:39:03 -05:00
Jennifer Richards b6f8ede98a
feat: is_authenticated request logging + cleanup (#7893)
* chore: nginx log is s, not ms

* chore: log seconds from gunicorn too

* chore: drop X-Real-IP header / log

* style: Black

* style: single -> double quotes

* feat: add is-authenticated header

* feat: log is-authenticated header

* chore: update nginx-auth.conf to match
2024-09-03 17:24:26 -05:00
Seonghyeon Cho 061c89f3b5
fix: Missing button text for PostScript in RFC (#7889)
Resolves #7879

Signed-off-by: Seonghyeon Cho <seonghyeoncho96@gmail.com>
2024-09-03 10:46:34 -05:00
Kesara Rathnayake 23e5307d2e
feat: Use meetecho-player.ietf.org for session recording (#7873) 2024-09-03 08:20:36 -05:00
Matthew Holloway 17bd312468
fix: Document type badges (#7760)
* fix: document type badge#7475

* chore: PR feedback (naming)

* fix: use type_id rather than str(type) for conditionals in templatetag

* fix: remove debugging CSS inline style dashed border

* fix: document type badge template tag passing context variables

* fix: context vars to document_type_badge

* fix: badge error logging

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2024-08-28 14:32:58 -05:00
Robert Sparks 73968dca5f
fix: use rsab mailtrigger for To in ballot position email (#7868) 2024-08-28 14:17:36 -05:00
Robert Sparks 1f6db0fef1
feat: mark bofreqs as spam (#7869) 2024-08-28 14:17:14 -05:00
Matthew Holloway 715edafcdc
fix: return to ballotpopup (#7858)
* 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
2024-08-28 07:51:05 -05:00
Jennifer Richards 2230242b9b
refactor: speed up finalizing proceedings (#7846)
* chore: increase nginx proxy_read_timeout

* refactor: speed up bluesheet_data

The affiliation helper was extremely slow. Using
queryset annotation speeds it up by almost an order
of magnitude.

* chore: delint
2024-08-22 10:34:52 -05:00
Robert Sparks c323cdde03
fix: remove unused internal_comments from the DocumentInfo abstract model (#7833) 2024-08-21 08:32:06 -05:00
Robert Sparks f53d1cae65
fix: remove unused notes field from SchedSessTimeAssignment model (#7832) 2024-08-21 08:29:09 -05:00
Jennifer Richards bb0b342716
test: fix DraftFormTest setup (#7828)
* test: fix DraftFormTest setup

Tests were failing when the doc factories started
producing pks >= 10 because of an incorrect test
data structure.

* chore: improve comments
2024-08-15 16:33:14 -05:00
Jennifer Richards 00d6143293
fix: guard against missing ipr revisions (#7826)
* fix: guard against missing "revisions"

* test: add tests for DraftForm

Only testing the part relevant to this issue.

* test: clarify intentions

* chore: "document" -> "draft" in comments
2024-08-14 11:43:21 -05:00
Matthew Holloway ff8898186b
fix: Ballot return to url via url params rather than session (#7788)
* 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
2024-08-09 09:24:04 -05:00
Warren Kumari 1252cd2ac2
fix: badgeify "Serious Issues", "On the right track" review summaries. (#7809)
Addresses #7808
2024-08-08 12:10:54 -05:00
Matthew Holloway e5e6c9bc89
feat: Site status message (#7659)
* 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>
2024-08-07 13:36:21 -05:00
Emelia Smith 30970749e3
fix: Send create user email for password resets where we have an email and person, but no user. (#7729)
* fix: Send create user email for password resets where we have an email and person, but no user account

This fixes https://github.com/ietf-tools/datatracker/issues/6458

* fix: create User straight away and use nomral password reset

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2024-08-07 13:25:08 -05:00
Rich Salz 0c8db80b18
fix: Show recordings for interims (#7197)
* 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>
2024-08-07 11:23:18 -05:00
Jennifer Richards 4b912d55a5
fix: better handle "entered" agendas (#7721)
* fix: don't assume file has open method

The open method is specific to Django's uploaded
file classes, where it just calls seek(0)

* refactor: better upload/enter agenda abstraction
2024-08-07 10:14:39 -05:00
Russ Housley 7d6d7e1c44
Update session_details_panel.html (#7719)
Add rows for interim meeting recordings. Fixes #7699.
2024-08-07 10:12:40 -05:00
Russ Housley 1de41965be
fix: add celery tasks for idnits2 and bibxml file generation (#7204)
* Add celery tasks for idnits2 and bibxml file generation

* Update tests_tasks.py

Fix typo: bad_vakue -> bad_value

* Update utils.py

Don't raise error inbibxml_for_all_drafts

* chore: fixup merge

* chore: more merge cleanup

* chore: one last merge cleanup

---------

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
2024-08-07 09:18:13 -05:00
Jennifer Richards 95a7e14ada
feat: dev mode admin + refactor api init (#7628)
* 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.
2024-08-07 09:16:40 -05:00
Sangho Na b90820eb7a
fix: Hide last modified field in agenda when unavailable (#7722)
* 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
2024-08-07 09:15:01 -05:00
Jim Fenton 9ef7bff77c
feat: Unify slide upload and proposal (#7787)
* attempt at optional approval

* Update of meeting slides propose/upload

* Fix tests and residual coding bugs

* Remove gratuitous blank lines
2024-08-06 10:03:37 -05:00
Russ Housley 63d13074d1
fix: use area-acronym-at-the-time in proceedings (#7723)
When generating IETF meeting proceedings, use the Area Acronym for each WG at the time of the meeting. Fixes #7706.
2024-08-05 11:03:17 -05:00
Jennifer Richards 16ac73d4b7
fix: use BOF states in concluded_groups() (#7771)
* fix: use BOF states in concluded_groups()

* fix: handle events for older BOFs

These could be cleaned up in the database, but I think this
change does the right thing for the existing data.

* style: Black
2024-08-05 10:18:01 -05:00
Rich Salz 8a5826a941
fix: redundant word in banner for Legacy stream documents (#7207)
* 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>
2024-08-05 09:48:48 -05:00
Jennifer Richards d683920cec
test: log in before pdfize test (#7778) 2024-08-01 16:33:49 -05:00
Jennifer Richards 06677a9863
fix: require login to pdfize (#7775)
* fix: require login to pdfize

* fix: suppress "pdfized" button when it won't work
2024-08-01 15:23:35 -05:00
Matthew Holloway fb1942a538
fix: Sort RFCs by date (#7766)
* fix: Sort RFCs by date

* fix: concluded wgs and bofs date sort #7350
2024-08-01 14:25:03 -05:00
Jennifer Richards 247361b7dd
ci: better access logs+redirect auth URLs+fix X-Request-Start header (#7700)
* fix: silence nginx healthcheck logs

* fix: nginx logs in JSON

* fix: typos in nginx conf

* refactor: repeat less nginx config

* fix: log more req headers from gunicorn

* fix: redirect auth->datatracker, not deny

* feat: log X-Forwarded-Proto
2024-07-30 20:55:07 -03:00
Robert Sparks b5ab4b6611
chore: update test name fixture (#7751) 2024-07-25 15:31:53 -07:00
Jennifer Richards d5ceb7b20d
fix: optional / for /person/merge/ URL (#7746) 2024-07-24 14:20:18 -07:00
Sangho Na aa36f481e1
chore: Add additional log messages to directauth() (#7716)
* chore: Add additional log messages to directauth()

* chore: Keep single log message for each successful response
2024-07-21 11:15:33 -07:00
Sangho Na a3e4e634fc
fix: Exclude replaced documents from IESG discusses (#7712)
* fix: Exclude replaced documents from IESG discusses

* test: Add checks for filtering replaced IESG drafts

* chore: Improve replaced draft filter

---------

Co-authored-by: Paul Selkirk <paul@painless-security.com>
2024-07-21 11:14:02 -07:00
Lars Eggert 363c01e711
fix: Explicitly set executable_path for Selenium (#7715)
* fix: Explicitly set `executable_path` for Selenium

So it finds `geckodriver` again.

* Minimize diff

* fix: use existing executable_name

Co-authored-by: Lars Eggert <lars@eggert.org>

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2024-07-20 17:14:40 -07:00
Ryan Cross c5ca0ea405
fix: force choice of From address in Announcement form. Fixes #7679. (#7720) 2024-07-20 15:24:14 -07:00
Robert Sparks 60a3976c3d
Fixed 'to' to 'review_to' and 'cc' to 'review_cc'. (#7710)
Co-authored-by: Tero Kivinen <kivinen@iki.fi>
2024-07-20 15:23:56 -07:00
Robert Sparks 9783756992
Changed milestones to use RFC number if draft is published as RFC. (#7718)
Co-authored-by: Tero Kivinen <kivinen@iki.fi>
2024-07-20 15:23:32 -07:00
Jennifer Richards a86c62e133
fix: raw_id_fields for EventAdmin classes (#7711)
* fix: raw_id_fields for ReviewRequestDocEventAdmin

* fix: raw_id_fields for ReviewAssignmentDocEventAdmin

* fix: raw_id_fields for AddedMessageEventAdmin

* fix: raw_id_fields for SubmissionDocEventAdmin

* refactor: make inheritance clearer
2024-07-20 15:17:43 -07:00
Jennifer Richards c7f6bdef0a
test: test missing file 2024-07-20 13:02:32 -07:00
Jennifer Richards 0555eef13a
fix: prevent error when no file selected 2024-07-20 12:47:43 -07:00
Matthew Holloway b00dfd3c99 feat: Overflow shadows 2024-07-17 12:31:00 +12:00
Jennifer Richards 18bb793b2d
feat: add nginx, robots.txt, HTTP headers (#7683)
* feat: nginx + robots.txt

* feat: minimal /health/ endpoint

* ci: startupProbe for datatracker pod

* ci: probe auth pod; set timeoutSeconds

* feat: add CSP and other headers to nginx

* fix: typo in nginx.conf

* feat: split auth/dt nginx confs

* test: test health endpoint

* ci: auth service on port 80

We'll remove http-old (8080) in the future.

* ci: rename auth container/nginx cfg
2024-07-15 16:45:51 -05:00
Robert Sparks 17e0f573b3
fix: check correct state machine when clearing status change ballots (#7684)
* fix: check correct state machine when clearing status change ballots

Fixes #7335

* fix: Improve ballot clearing tests

* fix: look at the right state machines for defer state for a ballot

* fix: also do the right thing with conflrev defers
2024-07-15 16:33:00 -05:00
Jennifer Richards f1d58da877
feat: send doc event emails via celery (#7680)
* feat: notify_event_to_subscribers_task

* fix: avoid circular import, handle error

* fix: don't queue task in test mode

* fix: don't even send mail in test mode

* test: separately test signal

* fix: if/else error

* test: better naming

* test: test the new task

* test: better test name

* test: refactor notify email test

* fix: save, not update

* test: restore template coverage
2024-07-12 10:10:46 -05:00
Jennifer Richards b2a858c880
fix: prevent dups in DraftAliasGenerator (#7650) 2024-07-10 15:34:04 -05:00
Jennifer Richards 20f183c948
feat: update meetecho slides on approval (#7633)
* feat: update meetecho slides on approval

* test: test slide management
2024-07-10 15:33:52 -05:00
Jennifer Richards f78b050263
refactor: Streamline draft aliases api (#7607)
* chore: update add-django-cprofile-filter.patch

* fix: only use "draft" state when making aliases

* refactor: eliminate repeated get_state_slug()

On dev, reduces time for a draft-aliases api
call by by 10-15%

* refactor: only annotate inactive drafts

* refactor: de-lint

* refactor: speed up get_draft_authors_emails

Another 20% or so improvement in response time

* fix: guard against null person
2024-06-28 12:01:26 -05:00
Jennifer Richards 6a96a69234
feat: improve / clean up logging (#7591)
* refactor: always use console log handler

* refactor: json for k8s, plain otherwise

* chore: remove syslog from wsgi.py

* chore: remove debug.log()

* chore: drop syslog from settings.py

* refactor: use log.log() in person.utils

* refactor: fetch_meeting_attendance->log.log()

* chore: gunicorn logs as JSON (wip)

* feat: better json log formatting

* refactor: improve log config

* feat: gunicorn access log fields

* fix: remove type hints

The gunicorn logger plays tricks with the
LogRecord args parameter to let it have string
keys instead of being a simple tuple.
The mypy tests rightly flag this. Rather
than fighting the typing, just remove the
hints and leave a comment warning not to
use the gunicorn-specific formatter with
other loggers.
2024-06-26 14:53:05 -05:00
Robert Sparks 704f9967fd
fix: remove no longer needed htpasswd infrastructure (#7590) 2024-06-26 13:33:09 -05:00
Robert Sparks 5aacd59db0
fix: prune away unsused model and view (#7585) 2024-06-24 10:25:19 -05:00
Jennifer Richards 77f61f0f45
fix: signal rejected IPR response emails (#7584) 2024-06-24 10:22:01 -05:00
Jennifer Richards cc604a247b
fix: use system temp dir, not /a/tmp (#7581)
* chore: remove IDSUBMIT_MANUAL_STAGING_DIR

unused

* fix: use system temp dir, not /a/tmp
2024-06-21 11:34:30 -05:00
Jennifer Richards 6f4e328334
fix: remove is_secure() check (#7579)
The real work happened in a previous commit,
just nudging the patch version with this CC
message.
2024-06-21 09:50:35 -05:00
Jennifer Richards c8471d47d3
chore: remove is_secure() check (#7575) 2024-06-21 09:33:00 -05:00
Jennifer Richards 92784f9c31
feat: re-run yang checks via celery (#7558)
* refactor: yang checks -> task

* chore: add periodic task

* chore: remove run_yang_model_checks.py

* test: add tests

* refactor: populate_yang_model_dirs -> task

* chore: remove populate_yang_model_dirs.py

* chore: remove python setup from bin/daily
2024-06-18 10:42:13 -05:00
Jennifer Richards 0ac2ae12dc
refactor: don't use filesystem for group aliases (#7556)
* refactor: generate group aliases on the fly

* chore: remove group alias file check

* chore: drop group alias settings, fix lint

* refactor: rename var to hint it's ignored

* test: update tests

* refactor: move utility to utils

* test: add test

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2024-06-18 08:28:09 -05:00
Jennifer Richards 6338f4594f
refactor: don't use filesystem for draft aliases (#7555)
* 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
2024-06-18 08:13:10 -05:00
Jennifer Richards 2a90447a45
fix: fewer ipr bounce alerts (#7553) 2024-06-17 16:57:56 -05:00
Jennifer Richards 35ab9bf4e4
refactor: adjust mail ingestion api (#7523) 2024-06-15 14:18:01 -05:00
Jennifer Richards 4e6abcbaad
refactor: make WG summary view into a task (#7529)
* feat: generate_wg_summary_files_task()

* refactor: wg summaries from filesys for view

* refactor: use new helper for charter views

* refactor: use FileResponse

* refactor: don't use FileResponse

FileResponse generates a StreamingHttpResponse
which brings with it differences I don't fully
understand, so let's stay with HttpResponse

* test: update view tests

* test: test_generate_wg_summary_files_task()

* chore: create PeriodicTask

N.B. that this makes it hourly instead of daily
2024-06-14 15:49:44 -05:00
Matthew Holloway c1f1e1b830
fix: Formatting blockquotes in datatrackers rendered markdown (#7500)
* Formatting blockquotes in datatrackers rendered markdown

* Blockquote default formatting, with overrides for legacy blockquote

* Removing unnecessary 'richtext' CSS class

---------

Co-authored-by: Matthew Holloway <Matthew Holloway>
2024-06-06 15:42:23 -05:00
Matthew Holloway 3e09c14a81
fix: Scroll metadata sidebar tab content (#7499)
* Scroll metadata sidebar tab content

* Increase spacing for scrollbars for browsers that allow overlapping

---------

Co-authored-by: Matthew Holloway <Matthew Holloway>
2024-06-06 13:38:14 -05:00
Robert Sparks c5aaab74b8
fix: mailman3 links for nonwg lists (#7507) 2024-06-06 13:11:54 -05:00
Jennifer Richards da0a217a8c
feat: use surname/initials for author name (#7510)
* feat: use surname/initials for author name

* test: test new method

* fix: handle case where author name is empty
2024-06-06 13:10:24 -05:00
Robert Sparks 2c75df3557
fix: correct links to early meeting proceedings. (#7492) 2024-06-04 12:57:08 -05:00
Robert Sparks ac3813f1af
fix: improve warnings on ballot issue view. Fixes #7490. (#7491) 2024-06-04 12:38:54 -05:00
Ryan Cross 99b852805b
fix: handle registration is_nomcom_volunteer = false correctly (#7484)
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2024-05-31 10:14:52 -05:00
Jennifer Richards 2ccc230ce7
feat: send_apikey_usage_emails_task() (#7486)
* feat: send_apikey_usage_emails_task

* chore: update test to use task instead of cmd

* chore: add PeriodicTask

* chore: remove old command + empty management dir

* chore: remove now-empty bin/weekly

* refactor: only consider keys that might have events

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2024-05-30 08:31:25 -05:00
Jennifer Richards 020bdeb058
feat: purge_personal_api_key_events() task (#7485)
* feat: purge_personal_api_key_events() task

* feat: log number of events purged

* test: test new task

* fix: name task properly

* chore: create daily PeriodicTask

* chore: remove old management command

* chore: remove tests of old command

* test: finish removing now-empty tests.py
2024-05-30 08:23:49 -05:00
Jennifer Richards 1cdfd97937
fix: abort if output-dir is not a dir (#7478) 2024-05-28 13:22:27 -05:00
Robert Sparks 39d471d3ac
fix: better chatlog and polls links (#7466) 2024-05-28 10:35:29 -05:00
Jennifer Richards 08e953995a
feat: better reject null characters in forms (#7472)
* feat: subclass ModelMultipleChoiceField to reject nuls

* refactor: Use custom ModelMultipleChoiceField

* fix: handle value=None
2024-05-28 10:34:55 -05:00
Jennifer Richards 3c13db45fd
fix: validate form in login() (#7435)
* fix: validate form in login()

* refactor: custom LoginView subclass for logins

Preserves old behavior, but avoids some hacks.

* test: reverse with strings, not view refs

* chore: remove unused imports

* fix: restore logout() call
2024-05-24 16:36:58 -05:00
Jennifer Richards 1a2996e5f6
feat: expire submissions after 14 days (#7461)
* feat: expire submissions after 14 days

* test: update test_cancel_stale_submissions
2024-05-24 09:30:01 -05:00