* fix:no history entry when changing RFC Editor note for doc
* fix:no history entry when changing RFC Editor note for doc
---------
Co-authored-by: Priyanka Narkar <priyankanarkar@dhcp-91f8.meeting.ietf.org>
* fix: More small dark mode fixes
* "badge rounded-pill bg-" -> "badge rounded-pill text-bg-"
This sets the text color correctly for more readable badges.
* Same for cards
* Fix tests
* refactor: Remove is_rfc() - test type_id instead
* fix: Guard against unknown pub_date
This should not ever come up - we have a published_rfc event for
every rfc. Should investigate fixing pub_date() to always return a val.
* fix: Fix friendly_state() for drafts in rfc state
* refactor: Change became-rfc to became_rfc for consistency
* refactor: Begin handling RFCs separatly in document_main
WIP
* chore: Hide reviews and conflict reviews for RFCs
* chore: Remove irrelevant fields from rfc doc view
* chore: Remove unused variables
* chore: Remove "Versions" field from document_rfc.html
* chore: Hide "Nits" button for RFC documents
* fix: Do not show "rev" column for rfc document history
* style: Reformat document_history() using Black
* refactor: Use "is not None" instead of "!= None"
* refactor: Convert dict() to dict literal
* fix: Migrate group, stream, and ad from draft to rfc Document
* feat: Link rfc/draft history pages
* refactor: Separately migrate DocAliases to rfc Documents
The gap in numbering is intentional, another migration will be along
shortly.
* feat: Migrate docevents onto rfc documents
* chore: Refining DocEvent migration (WIP)
* chore: Move IANA Action state change docevents to rfc docs
* chore: Fix typo
* refactor: Eliminate "created" rfc state
* chore: Leave "ballot set" comments on drafts
* fix: Enforce naming of charter docs in submit()
* style: Reformat submit() with Black
* refactor: Remove redundant check of charter name
* style: Reformat charter_with_milestones_txt with Black
* refactor: Drop canonical_name, use Path in charter_with_milestones_txt
* style: Reformat review_announcement_text() with Black
* style: Reformat action_announcement_text() with Black
* refactor: Change uses of charter.canonical_name() to charter.name
* refactor: Skip docialias when retrieving charter
* refactor: Change canonical_name() to name in utils_charter.py
* refactor: Use Path in read_charter_text()
* refactor: Drop canonical_name, minor refactor of tests_charter.py
* refactor: charter.name instead of canonical_name in milestones.py
* refactor: charter.name instead of canonical_name in tests_info.py
* refactor: Remove unused functions in ietf/secr/utils/groups.py
* refactor: charter.canonical_name -> charter.name in templates
* refactor: Remove charter handling from canonical_name
Temporarily raise an exception for testing
* refactor: Refactor get_charter_text() without canonical_name
* refactor: Remove raise when canonical_name called on a charter
* fix: Add back missing ".txt" extension
* test: Test rejection of invalid charter names
* fix: remove order from DocumentInfo as apparently unneeded (fixes#5245)
Fixes#5245. Includes migration, however I did not test the reverse.
* Merge branch 'main' into pr/Spectre17/5417
* chore: Renumber migrations
* Revert "Merge branch 'main' into pr/Spectre17/5417"
This reverts commit 77b4a46f84e9ece6778dec6e8127aedad71c2625.
---------
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* ISE may initiate conflict review
Add ISE to list of those roles who can initiate a conflict review.
* fix: improve conditional for conflict review action. Add tests.
* chore: fix comment typo
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* fix: Do not add user to the top of queue after reject (fixes#4505)
Added a checkbox in the reject review dialog to ask whether user
wants to be added to the top of the queue or not. Default is off.
* Do not change request_assignment_next if wants_to_be_next is not True.
Set the request_assignment_next also in LeastRecentlyUsedReviewerQueuePolicy
so it can be used to override the assignment policy rules (i.e., if
someone has once per month, but he rejects review with wants_to_be_next set
to true, he will get new assignment immediately, not after one month).
* Added wants_to_be_next to test cases too.
* Fixed test function prototypes, they can't have any parameters, only
self. Added test cases for test_return_reviewer_to_rotation_top both
for RotateAlphabeticallyReviewerQueuePolicyTest and
LeastRecentlyUsedReviewerQueuePolicyTest.
* 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
* fix(doc): Use text badges for email status
BI's envelope icons with status icons are difficult to read.
Use text labels instead (keeping the same tooltip).
Fixes#3855.
* test(doc): Fix failing ballot message tests
Some ballot message changes have been modified to correctly identify
what type of document this ballot is for.
Works on #3855
* test(doc): Remove debugging statement
Accidental inclusion of debug statement.
Works on #3855
* refactor: remove import_audio_files() and related code
* refactor: move functions from proc_utils to meeting/utils
* refactor: remove secr/proceedings
* feat: Prefill the abstract, shepherd and AD info into a ballot writeup
* Suggestions from @rjsparks
* Remove instructions to add IANA Expert template.
* Make "notes" fields for various bodies conditioned on the doc stream
* fix: Don't show replaced, expired or otherwise abandoned docs for AD
Fixes#5153 and #2889.
* Fix filter conditions
* Update ietf/doc/views_search.py
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* fix: Use case insensitive match for group acronym in doc search
* fix: Use case insensitive match for doc.search_by_name view
* fix: Use case insensitive match for doc names in ipr.search view
* test: Test case insensitivity in doc search/search_for_name
* fix: Also extract document names from XML seriesInfo attributes
The old code only looked in the anchor string for the document names of
references, which doesn't work if the anchor uses a mnemonic. This caused lots
of missed references for many documents.
* No need to import lxml anymore
* Add tests
* Handle xinclude to bibxml URLs
* Wrap line
* Apply suggestion from @rjsparks
* Undo erroneous additions
* Address suggestion from @rjsparks
* fix: `add_links_in_new_revision_events` wasn't doing anything, remove
Whatever `add_links_in_new_revision_events` was supposed to do, it didn't do it.
The linkification of things has been happening via the `format_history_text`
template tag.
* Remove import
* 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
* 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
* fix: Use the doc name matched by fuzzy_find_documents when rendering
Fixes#4855
* Follow suggestion by @rjsparks
* fix: handle names with endings that might parse as versions better
Co-authored-by: Lars Eggert <lars@eggert.org>
* fix: Fix layout issue in ballot modals on narrow screens
Fixes#4902
* Also apply change to old positions
* Fix tests
* Use badge to indicate former ADs
* feat: Diff arbitrary versions from new HTMLization page
Fixes#4859
* Rework this based on @rjsparks' suggestion. Not quite done yet.
* Progress
* Fix HTML
* Don't show compare buttons if there aren't at least two versions
* Remove spurious title attribute
* Use and style select2 for the version diff dropdowns
* Roll in code review suggestions
* Some tests!
* refactor: add guards/type hints to build_file_urls()
* fix: compare doc.type_id, not doc.type, with string value
* test: add cursory test of build_file_urls()
* feat: validate the document notify field
* chore: fix spelling in comment
* feat: be more explicit in notify validation, preserving input order.
* fix: restrict notify duplicate check to nameaddrs. Add tests.
* fix: Allow more email addresses in notification lists
Fixes#4736
* Do what @rjsparks suggested
* Number migration
* Number migration
* Fix tests and apply for all doc types
* chore: Use codespell to fix typos in code.
Second part of replacement of #4651
@rjsparks, I probably need to revert some things here, and I also
still need to add that new migration - how do I do that?
* Revert migrations
* Migrate "Whitelisted" to "Allowlisted"
* TEST_COVERAGE_MASTER_FILE -> TEST_COVERAGE_MAIN_FILE
* Fix permissions
* Add suggestions from @jennifer-richards
* feat: Use bs5 for htmlized doc (#4082)
Co-authored-by: Martin Thomson <mt@lowentropy.net>
* fix: Various fixes to HTMLized document view (#4501)
* fix: Pref labels were switched
* fix: Fix ToC for htmlized docs
* Replace datatracker button with document name link to datatracker
* ui: Make fonts even larger on larger window widths
* fix: Document format buttons open new tabs
* fix: Various suggestions from Jay
* fix: Don't show "htmlized" self-link under formats
* ui: Font size fix for iOS
* ui: More little tweaks
* feat/htmlize fixes and improvements (#4506)
* fix: Don't open htmlized view in new tab
* fix: Tests were failing
* feat: Add pref settings to cap max font size
* feat: Add ability to hide side panel
* fix: And more `feat/htmlize` fixes (#4511)
* fix: Remove superfluous scrollbars
* fix: Show email links for authors
* fix: Only show "email authors" button for latest reversion
* fix: Remove duplicate code, fix nav scrolling
* feat: Add RFCs to revision lists
* feat: Add pref option to control dependency inlining
* fix: Add analytical tags
* feat: Notify user of rendering inconsistencies
* feat: Split out bootstrap-icons when not inlining dependencies
* fix: Revision list and minor other fixes
* feat: Show stream logo when possible (#4516)
* fix: Remove superfluous scrollbars
* fix: Show email links for authors
* fix: Only show "email authors" button for latest reversion
* fix: Remove duplicate code, fix nav scrolling
* feat: Add RFCs to revision lists
* feat: Add pref option to control dependency inlining
* fix: Add analytical tags
* feat: Notify user of rendering inconsistencies
* feat: Split out bootstrap-icons when not inlining dependencies
* fix: Revision list and minor other fixes
* feat: Show stream logos when possible
* fix: Pick up CSS changes from https://github.com/martinthomson/rfc-txt-html (#4520)
* fix: Remove superfluous scrollbars
* fix: Show email links for authors
* fix: Only show "email authors" button for latest reversion
* fix: Remove duplicate code, fix nav scrolling
* feat: Add RFCs to revision lists
* feat: Add pref option to control dependency inlining
* fix: Add analytical tags
* feat: Notify user of rendering inconsistencies
* feat: Split out bootstrap-icons when not inlining dependencies
* fix: Revision list and minor other fixes
* feat: Show stream logos when possible
* fix: Pick up CSS changes from https://github.com/martinthomson/rfc-txt-html
* chore: add debug script to replicate GitHub Actions test environment
* chore: cleanup from merge of main
* fix: Fix PDFixation crash due to referencing renamed CSS asset (#4665)
* fix: Rename some CSS classes to handle recent xml2rfc changes (#4791)
* Merge main
* fix: Rename some CSS classes to handle recent xml2rfc changes
Fixes#4784.
* chore: repair merge damage
* chore: more merge corrections
* chore: one more merge correction
* fix: npm dependencies
* fix: Change default font size (#4817)
* Fix dependency issues
* Cap fontsize at 12pt by default
Co-authored-by: Nicolas Giard <github@ngpixel.com>
Co-authored-by: Lars Eggert <lars@eggert.org>
Co-authored-by: Martin Thomson <mt@lowentropy.net>
Co-authored-by: Nicolas Giard <github@ngpixel.com>
This changes the method to operate in UTC instead of server time.
The existing code was mixing UTC and server time, though, giving
timestamps purporting to be UTC but computed from the date in the
server timezone. To the extent that it matters, I think this change
is preferable to restoring the original behavior.
* fix: set tz when passing a date to timesince_days filter
* fix: fill in tz for a constructed datetime in idindex/index.py
* test: simplify double-negatives in test assertions
* test: fix I-D expiration test cases to be tz aware
* fix: use tz-aware comparisons for in_draft_expire_freeze method
* test: fix tz used for timesince_days filter test case
* test: fix tz problem in test_document_ballot() test
* test: fix tz problem in IprTests.test_notify() test
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* test: compare UTC dates in test_search_mail_archive()
* test: compare datetimes, not dates, in action holders test
* test: adjust test to match TZ used for IPR notification message
* test: fix timezone in date_today() calls for liaisons tests
* test: use settings.TIME_ZONE for date in nomination tests
* test: correctly use settings.TIME_ZONE instead of system time zone
* Search for escaped name in HTML output
* Need to check for `plain_name()` in sent emails
* Normalize i18n Unicode names in the same way the database does
* fix: render upcoming.ics timestamps correctly
Both correctly display timestamps in the claimed time zones and format
the date-times in correct iCalendar format.
* refactor: also render DTSTAMP using ics_date_time tag
* fix: render valid date-times in agenda.ics
* fix: render valid date-time in important_dates_for_meeting.ics
Only touching the DTSTAMP here. The DTSTART has VALUE=DATE so the tag
does not handle it.
* test: test ics_date_time tag
* fix: Don't say that IESG processing has started
Fixes#4286
* Update ietf/doc/views_draft.py
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* Update ietf/doc/views_draft.py
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* 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>
Unix timestamp is defined to be UTC and fromtimetamp correctly turns
it into whatever timezone you request. In most cases, just need to
specify *something* to avoid creating naive datetimes.
* fix: return same bibxml for versioned and versionless references
Fixes#4384.
Refactors bibxml production to remove repeated logic.
Abandons the half-implemented idea that returning information
from the Submission object might be better than the Document or
DocHistory objects.
* fix: test for None with `is not` and simplify choice from multiple qs objects
Addresses review comments.
* feat: Add column sums to /doc/ad dashboard
* Tweak template a bit
* Add trend indicators when logged in as AD
* Shorten column headings more; put full heading into tooltip
* Fix trend colors; add table dividers
* Add note about trend indicators
* Wording fix
* Show which docs make up the delta if there is a trend change
* Fix missing stats
* More space before headings
* Better popover formatting
* Make popover trigger clickable, and add links to docs in the delta
* Improve trends
* Fix tests and shorten headers
* Add button to IESG dashboard to AD dashboards.
* fix: use tz-aware calculations for ad_workload view
Co-authored-by: Jennifer Richards <jennifer@painless-security.com>
* fix: use PST8PDT for published_rfc event timestamps
* fix: find RFCs by PST8PDT year in RfcFeed
* refactor: add const RPC_TZINFO to represent RFC publication timezone
* chore: remove (rather than fix) unused template tags
* fix: always return RPC_TZINFO-local date from Document.pub_date()
* refactor: convert 'published' flag to a Boolean to reflect its usage
* fix: display doc publication dates in correct time zones
* fix: fix various small issues breaking tests
* 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
* feat: Add new page as requested in #4242 to list all area directors
and their current workload. Include links to the specific dashboards
for each area director. This new page is in doc/ad/.
* feat: Add new page as requested in #4242 to list all area directors
and their current workload. Include links to the specific dashboards
for each area director. This new page is in doc/ad/.
* Fixed issues from the previous commit by renaming hash to get_hash.
* Making outer () to be non matching
* Fixed RFC Ed Queue Internet-Draft to RFC Ed Queue
* refactor: split the /ad view apart from the /ad/name view.
* fix: make the new template html valid.
* test: start building a test for the new view
* refactor: make the view testable and test it.
* chore: remove unneeded commented lines
* fix: avoid parenthsized-string-looks-like-tuple bug.
* fix: repair bad closing tag in template
Co-authored-by: Tero Kivinen <kivinen@iki.fi>
* refactor: avoid using select2 data-* attrs on html elements
Using "data-ajax--url" shadows explicit configuration in our
select2.js wrapper. Use "data-select2-ajax-url" to avoid this.
Also add ability to omit the ajax setup entirely by returning
None from ajax_url().
* chore: hook up a flag to disable ajax for SearchablePersonsField
* refactor: send select2 prefetch data as array and allow config of min input length
* feat: only offer IAB/IESG members for bofreq responsible leadership
* test: area directors/IAB members should be options for bofreq responsible leaders
* test: update tests to match changes to SearchableField
* fix: clean up SearchablePersonsField breakage when searching by email address
* chore: finish incomplete comment
* fix: corrects the IESG evaluation record summary statement for documents where the IESG state is approved (announced or not).
* fix: corrects IESG evaluation record summary for approved docs
This is a correction to a previous fix that didn't pass all the tests
for some documents
* fix: corrects IESG evaluation record summary for approved docs
Corrects the previous fix by removing commented out code. Sigh. At least
these are free.
* feat: Render the document shepherd writeup templates at two new URL.
Those being `/doc/shepherdwriteuptemplate/group` and
`/doc/shepherdwriteuptemplate/individual`.
* Address review comments from @jennifer-richards
* Fixes
* Remove debug statement
* Make bleach sanitizer not strip the `start` attribute of `ol` tags
Also rearrange the code a bit
* Don't sanitize the `python_markdown` output, it destroys wanted formatting
* Restore bleach
* Don't bleach tag `id`s.