Commit graph

12696 commits

Author SHA1 Message Date
Robert Sparks 8881010051
feat: explicit names for meetecho recordings (#8062)
* feat: explicit names for meetecho recordings

* fix: better regex and kebab-styled-endpoint-name

* fix: spaces around comparison operator
2024-10-21 16:45:36 -05:00
Jennifer Richards 9c56ba9a0a
fix: drop, not bounce, uninteresting ipr emails (#8057)
* fix: drop, not bounce, uninteresting ipr emails

* chore: log to address

* chore: unused import
2024-10-17 16:23:34 -05:00
Jennifer Richards de2e66ede3
feat: report xml2rfc errors for submissions (#8000)
* feat: capture xml2rfc output on exception

* fix: chain exception properly

* feat: log xml2rfc stderr/stdout

May want to pass these back to the submitter, but
let's watch them to see what sorts of sanitizing we
should do first.

* Revert "feat: log xml2rfc stderr/stdout"

This reverts commit 959c54d30733a4a3df7ed0250fef347ed6f03a08.

* feat: log xml2rfc stderr/stdout

This time without reformatting all the imports

* feat: path sanitization for submission errors

* fix: parentheses in regex

* test: test SubmissionError sanitization

* style: consolidate imports

* fix: apply sanitization to all args

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2024-10-17 16:23:13 -05:00
Jennifer Richards a338df16f2
fix: 404 instead of 300 for ambiguous email_or_person (#8004)
* fix: 404 on CommunityList name collision

* fix: 404 on ambiuous person for photo() view

* test: update tests

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2024-10-16 11:36:54 -05:00
Martin Thomson 166340842e
fix: Set overflow-y to clip for pre (#8047)
Browsers treat an overflow: auto directive as a request to make an
element scrollable, even if the element does not need it.
This results in scrolling being confined to that element sometimes,
such as when a document is scrolled using a mouse wheel
if the document scrolls the pointer into that element.
The result is that scrolling can be "trapped" on an element that
doesn't really need to scroll.

This disables vertical scrolling for those pre elements that might
trap scrolling in this way.
2024-10-14 15:24:49 -05:00
Jennifer Richards 2d2e879bd1
fix: versioned href for slides URL (#8040) 2024-10-14 10:22:19 -05:00
Robert Sparks 83f5fc8d1a
fix: add exception to last<->first name swap (#8043) 2024-10-11 12:24:35 -05:00
Jennifer Richards 148fa2f9f6
fix: decode header fields for alert msg (#8034)
* style: Black

* chore: type hints

* refactor: % to f-string

* refactor: helper to decode header values

* fix: decode header fields for pop-up msg

* test: add tests

* fix: use truthiness check

We want to suppress empty strings, too...

* refactor: use f-string for time formatting

* test: clarify side_effect intention
2024-10-10 12:23:25 -05:00
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