Commit graph

12578 commits

Author SHA1 Message Date
Jennifer Richards 3ddd8c9cce
fix: Fix/adjust periodic_tasks management command (#7108)
* fix: Skip midnight partial rfced sync

* fix: call iana protocols update task correctly
2024-02-28 08:15:04 -06:00
Robert Sparks bc963187f8
fix: redirect to the right app for statement docs (#7090) 2024-02-22 15:42:22 -06:00
Robert Sparks 0878c8e2ad
fix: emit bulk redirect configuration for iesg artifacts (#7086)
* fix: emit bulk redirect configuration for iesg artifacts

* chore: remove unintended debug statement
2024-02-22 13:15:29 -06:00
Jennifer Richards ecc823eae5
feat: Give better errors when docName is missing (#7083)
* feat: Give better error when docName is missing

* refactor: Make method static for easier testing

* test: Add test of XMLDraft.parse_docname()
2024-02-21 11:59:07 -06:00
Jennifer Richards 89d2a0c012
feat: API to retrieve active email addrs (#7035)
* feat: API to retrieve active email addrs

* test: Test active_email_list view

* chore: Remove debug statement

* fix: Return 405 on non-GET requests
2024-02-20 16:38:36 -06:00
Paul Selkirk 65cf001ecf
feat: Group admin form accepts acronyms starting with numbers for SDO groups (#7051)
* feat: Group admin form accepts acronyms starting with numbers for SDO groups (#6825)

* fix: Acronym can't start with hyphen

* fix: Restore some tests
2024-02-20 16:38:11 -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
Jennifer Richards 547c515c07
chore: Fix incorrect docstring 2024-02-12 20:29:34 -04:00
Jennifer Richards 3157cf65d1
fix: Accept&ignore group_type for some views 2024-02-12 17:38:36 -04:00
Jennifer Richards 4c396e6645
fix: Add file ext to href for non-meeting slides (#7030) 2024-02-07 12:17:48 -06:00
Jennifer Richards fa56223939
feat: API to replace email alias generation commands (#7012)
* feat: DraftAliasGenerator class

Encapsulates logic from generate_draft_aliases.py

* refactor: Avoid circular imports

* feat: Add draft_aliases API endpoint

* feat: Add @requires_api_token decorator

Stolen from feat/rpc-api

* feat: Add token auth to draft_aliases endpoint

* feat: draft-aliases-from-json.py script

Parses output from the draft_aliases API call

* chore: Remove unused cruft

* refactor: Avoid shadowing "draft" name

* fix: Suppress empty lists from DraftAliasGenerator

* refactor: Use a GET instead of POST

* feat: GroupAliasGenerator class

* feat: group aliases API view

* fix: Handle domains array correctly

* fix: Suppress empty group aliases

* refactor: Generalize aliases-from-json.py script

* refactor: Same output fmt for draft and group alias apis

* feat: Sort addresses for stability

* fix: Add "anything" virtual alias

* test: Test requires_api_token decorator

* feat: Harden is_valid_token against misconfig

* test: Test is_valid_token

* test: Test draft_aliases view

* test: Test group_aliases view

* test: Test DraftAliasGenerator

* fix: ise group is type "ise" in test data

* test: Fix logic in testManagementCommand

The test was incorrect - and fails when fixed. :-(

* test: Test GroupAliasGenerator

Test currently fails

* fix: Suppress empty -ads alias

* test: Fix group acronym copy/paste error

I *think* this must be what had been intended. The
code does not look like it ever dealt with GroupHistory,
so I'm pretty sure it wasn't meant to have the same
acronym used by two different Groups at different
times.

* test: Check draft .notify alias generation

* test: Cover get_draft_notify_emails()
2024-02-07 10:15:50 -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 efdaee3bb3
feat: decouple from mailman2 - explicitly model nonwg mailing lists (#7013)
* fix: remove synchronization with mailman2

* feat: manage non wg mailing lists explicitly

* chore: black

* fix: update tests for new nonwg view

* feat: drop unused models
2024-02-05 09:28:23 -06:00
Jennifer Richards b4cf04a09d
feat: celery tasks to replace ietf/bin scripts (#6971)
* refactor: Change import style for clarity

* feat: Add iana_changes_updates_task()

* chore: Squelch lint warning

My linter does not like variables defined outside
of __init__()

* feat: Add PeriodicTask for iana_changes_updates_task

* refactor: tasks instead of scripts on sync.views.notify()

* test: Test iana_changes_updates_task

* refactor: rename task for consistency

* feat: Add iana_protocols_update_task

* feat: Add PeriodicTask for iana protocols sync

* refactor: Use protocol sync task instead of script in view

* refactor: itertools.batched() not available until py312

* test: test iana_protocols_update_task

* feat: Add idindex_update_task()

Calls idindex generation functions and does the file
update dance to put them in place.

* chore: Add comments to bin/hourly

* fix: annotate types and fix bug

* feat: Create PeriodicTask for idindex_update_task

* refactor: Move helpers into a class

More testable this way

* refactor: Make TempFileManager a context mgr

* test: Test idindex_update_task

* test: Test TempFileManager

* fix: Fix bug in TestFileManager

yay testing

* feat: Add expire_ids_task()

* feat: Create PeriodicTask for expire_ids_task

* test: Test expire_ids_task

* test: Test request timeout in iana_protocols_update_task

* refactor: do not re-raise timeout exception

Not sure this is the right thing to do, but it's the
same as rfc_editor_index_update_task

* feat: Add notify_expirations_task

* feat: Add "weekly" celery beat crontab

* refactor: Reorder crontab fields

This matches the crontab file field order

* feat: Add PeriodicTask for notify_expirations

* test: Test notify_expirations_task

* test: Add annotation to satisfy mypy
2024-01-31 15:24:20 -06:00
Jennifer Richards 118b00d729
fix: Replace joint session field with instructions (#6997) 2024-01-30 14:34:09 -06:00
Robert Sparks 1e2a53e0e0
fix: restore explicit STATIC_ROOT (#6970) 2024-01-25 17:03:36 -06:00
Robert Sparks ca425790ea
fix: correct static url pattern 2024-01-24 13:06:58 -06:00
Jennifer Richards 0dadeb2af8
fix: Fix task specs in periodic_tasks.py (#6965) 2024-01-24 11:31:34 -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
Jennifer Richards 36c43c8520
chore: add task tests; move message task to message app (#6964)
* test: Test send_review_reminders_task

* refactor: Move send_scheduled_mail_task to message app

* chore: Remove unused import

* test: Add Message/SendQueue factories

* test: Test send_scheduled_mail_task

* test: Reset mocks before reuse

* test: Cover error conditions

* test: Return non-empty change set

* test: Test SMTPException handling

* test: Test fetch_attendance_from_meetings()

* test: Test RuntimeError handling

* test: RFC index sync should populate authors
2024-01-24 08:53:42 -06:00
Robert Sparks 7438a4e87a
chore: remove unused code (#6963) 2024-01-23 18:24:25 -06:00
Jennifer Richards 7dbb7e36d3
fix: Add testing, fix bug in fetch_meeting_attendance_task (#6961)
* test: Test rfc_editor_index_update_task

* chore: Add docstring to test

* fix: Reuse stats instead of fetching twice

* test: Test fetch_meeting_attendance_task

* chore: Remove outdated tasks

* Revert "chore: Add docstring to test"

This reverts commit 0395410d665c0d310248fd151386f013357c5d13.

* Revert "test: Test rfc_editor_index_update_task"

This reverts commit 4dd9dd131723497db3d2aa76166169fd32c42fdd.

* test: Test rfc_editor_index_update_task

This time without reformatting the entire file...

* chore: Remove accidentally committed fragment

* test: Annotate function to satisfy mypy

* chore: Remove unused imports
2024-01-23 16:14:37 -06:00
Jennifer Richards 4227ef5948
fix: do nothing if rfc has no draft; add test (#6960)
* fix: Check that rfc came from draft first

* test: Add mgmt command test

* test: Cannot force-reset draftless RFC
2024-01-23 10:58:34 -06:00
Jennifer Richards 97822214eb
fix: Set authors when publishing an RFC (#6957)
* fix: Copy authors from draft when RFC is published

* feat: Mgmt command to set RFC authors from draft

* feat: Better event messages
2024-01-23 09:04:13 -06:00
Jennifer Richards 7de8feca83
chore: Remove unused import (#6958) 2024-01-23 08:41:23 -06:00
Jennifer Richards 8d12071bf5
refactor: Move cron jobs to celery tasks (#6926)
* refactor: Factor out helper from fetch_meeting_attendance.py

* feat: Define fetch_meeting_attendance_task task

Equivalent to the fetch_meeting_attendance management command

* chore: Disable fetch_meeting_attendance in bin/daily

* feat: Log errors in fetch_meeting_attendance_task

* feat: Enable a result backend for celery

Ignore results by default, but enable the backend so we
can manage tasks

* feat: Define daily task in ietf.utils.tasks

* refactor: Make bin/send-review-reminders into a task

* refactor: Make bin/send-scheduled-mail into a task

* chore: Update copyright years

* refactor: Make bin/rfc-editor-index-updates into a task

* refactor: Accept date type in rfc index update fn

* chore: Update comment

* fix: Annotate param as Optional

* fix: Revert treating skip_older_than_date as str

Misunderstood the comment, "fixed" a non-bug. Oops.

* feat: mgmt command to create periodic tasks

* feat: add summary of tasks to mgmt cmd

* style: black

* fix: Remove debug statements

* feat: Enable/disable tasks

* chore: Disable periodic tasks by default

* chore: Revert changes to daily and every15m

* fix: Call intended function

* chore: Add task descriptions
2024-01-22 12:04:16 -06:00
Robert Sparks b38e8c38ae
chore: shadowbox with mypy 2024-01-19 14:21:09 -06:00
Robert Sparks fc2673c13c
refactor: use statics.ietf.org for all statics 2024-01-18 16:51:09 -06:00
Robert Sparks 473b84ef90
feat: color for wit in the schedule editor (#6930) 2024-01-17 15:39:28 -06:00
Robert Sparks 06f496ca6c
fix: reduce database queries when building menues (#6928) 2024-01-17 13:19:20 -06:00
dependabot[bot] 1bcee8b506
chore(deps): bump the yarn group with 15 updates (#6924)
* chore(deps): bump the yarn group with 15 updates

Bumps the yarn group with 15 updates:

| Package | From | To |
| --- | --- | --- |
| [caniuse-lite](https://github.com/browserslist/caniuse-lite) | `1.0.30001572` | `1.0.30001576` |
| [highcharts](https://github.com/highcharts/highcharts-dist) | `11.2.0` | `11.3.0` |
| [naive-ui](https://github.com/tusen-ai/naive-ui) | `2.36.0` | `2.37.3` |
| [sortablejs](https://github.com/SortableJS/Sortable) | `1.15.1` | `1.15.2` |
| [vue](https://github.com/vuejs/core) | `3.4.4` | `3.4.13` |
| [@parcel/optimizer-data-url](https://github.com/parcel-bundler/parcel) | `2.10.3` | `2.11.0` |
| [@parcel/transformer-inline-string](https://github.com/parcel-bundler/parcel) | `2.10.3` | `2.11.0` |
| [@parcel/transformer-sass](https://github.com/parcel-bundler/parcel) | `2.10.3` | `2.11.0` |
| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `4.5.0` | `4.6.2` |
| [c8](https://github.com/bcoe/c8) | `9.0.0` | `9.1.0` |
| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `16.6.1` | `16.6.2` |
| [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) | `9.19.2` | `9.20.1` |
| [html-validate](https://gitlab.com/html-validate/html-validate) | `8.8.0` | `8.9.1` |
| [parcel](https://github.com/parcel-bundler/parcel) | `2.10.3` | `2.11.0` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `4.5.0` | `4.5.1` |


Updates `caniuse-lite` from 1.0.30001572 to 1.0.30001576
- [Commits](https://github.com/browserslist/caniuse-lite/compare/1.0.30001572...1.0.30001576)

Updates `highcharts` from 11.2.0 to 11.3.0
- [Commits](https://github.com/highcharts/highcharts-dist/compare/v11.2.0...v11.3.0)

Updates `naive-ui` from 2.36.0 to 2.37.3
- [Changelog](https://github.com/tusen-ai/naive-ui/blob/main/CHANGELOG.en-US.md)
- [Commits](https://github.com/tusen-ai/naive-ui/compare/v2.36.0...v2.37.3)

Updates `sortablejs` from 1.15.1 to 1.15.2
- [Release notes](https://github.com/SortableJS/Sortable/releases)
- [Commits](https://github.com/SortableJS/Sortable/compare/1.15.1...1.15.2)

Updates `vue` from 3.4.4 to 3.4.13
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.4.4...v3.4.13)

Updates `@parcel/optimizer-data-url` from 2.10.3 to 2.11.0
- [Release notes](https://github.com/parcel-bundler/parcel/releases)
- [Changelog](https://github.com/parcel-bundler/parcel/blob/v2/CHANGELOG.md)
- [Commits](https://github.com/parcel-bundler/parcel/compare/v2.10.3...v2.11.0)

Updates `@parcel/transformer-inline-string` from 2.10.3 to 2.11.0
- [Release notes](https://github.com/parcel-bundler/parcel/releases)
- [Changelog](https://github.com/parcel-bundler/parcel/blob/v2/CHANGELOG.md)
- [Commits](https://github.com/parcel-bundler/parcel/compare/v2.10.3...v2.11.0)

Updates `@parcel/transformer-sass` from 2.10.3 to 2.11.0
- [Release notes](https://github.com/parcel-bundler/parcel/releases)
- [Changelog](https://github.com/parcel-bundler/parcel/blob/v2/CHANGELOG.md)
- [Commits](https://github.com/parcel-bundler/parcel/compare/v2.10.3...v2.11.0)

Updates `@vitejs/plugin-vue` from 4.5.0 to 4.6.2
- [Release notes](https://github.com/vitejs/vite-plugin-vue/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-vue/blob/plugin-vue@4.6.2/packages/plugin-vue/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-vue/commits/plugin-vue@4.6.2/packages/plugin-vue)

Updates `c8` from 9.0.0 to 9.1.0
- [Release notes](https://github.com/bcoe/c8/releases)
- [Changelog](https://github.com/bcoe/c8/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bcoe/c8/compare/v9.0.0...v9.1.0)

Updates `eslint-plugin-n` from 16.6.1 to 16.6.2
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/16.6.1...16.6.2)

Updates `eslint-plugin-vue` from 9.19.2 to 9.20.1
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Commits](https://github.com/vuejs/eslint-plugin-vue/compare/v9.19.2...v9.20.1)

Updates `html-validate` from 8.8.0 to 8.9.1
- [Release notes](https://gitlab.com/html-validate/html-validate/tags)
- [Commits](https://gitlab.com/html-validate/html-validate/compare/v8.8.0...v8.9.1)

Updates `parcel` from 2.10.3 to 2.11.0
- [Release notes](https://github.com/parcel-bundler/parcel/releases)
- [Changelog](https://github.com/parcel-bundler/parcel/blob/v2/CHANGELOG.md)
- [Commits](https://github.com/parcel-bundler/parcel/compare/v2.10.3...v2.11.0)

Updates `vite` from 4.5.0 to 4.5.1
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.5.1/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.5.1/packages/vite)

---
updated-dependencies:
- dependency-name: caniuse-lite
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: yarn
- dependency-name: highcharts
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: naive-ui
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: sortablejs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: yarn
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: yarn
- dependency-name: "@parcel/optimizer-data-url"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: "@parcel/transformer-inline-string"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: "@parcel/transformer-sass"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: "@vitejs/plugin-vue"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: c8
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: eslint-plugin-n
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: yarn
- dependency-name: eslint-plugin-vue
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: html-validate
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: parcel
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: yarn
...

Signed-off-by: dependabot[bot] <support@github.com>

* test: Disable hidden-focusable and unique-landmark validations

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
2024-01-16 11:00:23 -06:00
Jennifer Richards 47dad0706d
refactor: Avoid module-level queries (#6916)
* refactor: Avoid module-level queries

* refactor: Avoid repeated State queries
2024-01-16 08:53:24 -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
Jennifer Richards 81dc5554a8
test: unpin django-stubs and update mypy (#6901)
* chore: Unpin django-stubs / update mypy

* test: Use "app.model" for ManyToManyField

django-stubs requires "app.model" instead of just "model" for
ManyToManyField lazy model references.

See https://github.com/typeddjango/django-stubs/issues/1802
2024-01-10 09:53:43 -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
Robert Sparks 88bc604949
fix: filter draft documents that became RFCs out of docs by ad (#6884) 2024-01-05 08:10:24 -06:00
Lars Eggert 5174e399ed
fix: Adjust dark theme to make range slider more visible (#6885)
Fixes #6881
2024-01-05 07:47:39 -06:00
Robert Sparks 678feca759
fix: remove unneeded (and broken) redirect (#6866) 2024-01-04 12:08:06 -06:00
Robert Sparks 2331b7541b
Merge pull request #6878 from pselkirk/fix-6861
fix: Correctly display the last pre-RFC rev of a draft
2024-01-04 11:01:08 -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 b445119428
fix: Properly set AD as action holder when submitting to IESG for publication (#6854)
* fix: Properly set AD as action holder when submitting to IESG for publication (#5227)

The clear intent of `to_iesg` is that
a) the document AD should be the group AD, if not already set, and
b) the document Action Holder should be the document AD;
but there was an order-of-operation error,
such that the Action Holder remained empty.

* refactor: Don't take values out of the parent scope, don't insert values into the parent scope

* refactor: Streamline DocEvent creation
2024-01-03 16:30:06 -06:00
Robert Sparks bbc64d30fd
fix: count RFCs correctly for doc/ad (#6833)
* fix: count RFCs correctly for doc/ad

* chore: improve query legibility
2024-01-03 10:37:44 -06: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 288b69d0f3
fix: Allow reassignment of withdrawn review assignment (#6723) (#6850) 2023-12-27 11:09:45 -06:00
Paul Selkirk 1450ecde99
fix: Retain date of cancelled virtual interim meeting (#6708) (#6852) 2023-12-27 10:39:13 -06:00
Robert Sparks 2c11b544f1
fix: show state help for the editorial stream (#6836) 2023-12-26 08:53:52 -06:00
Robert Sparks c328ff7425
fix: improve idnits2_state document creation time calculations (#6832)
* fix: improve idnits2_state document creation time calculations

* chore: apply black to the idnits2_state function
2023-12-21 17:52:55 -06:00
Paul Selkirk 359a107fc5
fix: Include RFCs when searching on a draft name (#6787) (#6827) 2023-12-21 17:27:32 -06:00
Robert Sparks bc74977fcc
fix: 404 requests for bibtex for none draft or rfc documents (#6834)
* fix: 404 requests for bibtex for none draft or rfc documents

* test: test rejecting the types with factories already being imported
2023-12-21 16:27:48 -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
Lars Eggert db8fba486b
fix: Deduplicate referenced_by (#6820)
Fixes #6808
2023-12-20 16:36:55 -06:00
Robert Sparks ca664c4162
fix: don't create a volunteer object when a person has already volunt… (#6809)
* fix: don't create a volunteer object when a person has already volunteered

* fix: safer create

* refactor: use shorthand from django

* fix: also protect volunteer from datatracker from race
2023-12-18 16:49:27 -06:00
Jennifer Richards 7d447802d2
fix: no dups on stream documents view (#6804) 2023-12-18 10:45:51 -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
Lars Eggert f5bd078351
fix: AD queue graphs and AD doc list sorting (#6752)
* Fix AD queue graphs and AD doc list sorting.

Fixes #6700
Fixes #6720

* Fix the issue @rdanyliw found. Hopefully.

* More fixes

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2023-12-14 15:05:00 -06:00
Robert Sparks 4216c129fe
fix: change verbosity of api key purge mgmt command (#6758)
* fix: change verbosity of api key purge mgmt command

* test: adjust mgmt command test arguments
2023-12-14 15:04:27 -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
Ryan Cross e9d44d41f0
feat: Capture volunteers from the registration system (#6605)
* feat: Capture volunteers from the registration system. Fixes #5938

* fix: allow withdrawn field to be null

* docs: add explanatory code comments

* fix: identify current nomcom by is_accepting_volunteers

* fix: use auto_now_add instead of auto_now

* fix: update migration

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2023-12-14 13:46:27 -06:00
Robert Sparks 501a5b8e58
fix: consider subseries when calculating downref (#6777) 2023-12-14 09:35:30 -06:00
Jennifer Richards 6083205cc8
fix: Update group dependencies for new rfc model (#6773)
* fix: Avoid accessing slug when state is None

* fix: ignore pre-rfc drafts as rfc-to-rfc references

* fix: also ignore pre-rfc to pre-rfc refs

* chore: remove breakpoint

* fix: ignore subseries non-downrefs

* fix: label nodes as RFCS when possible

* fix: get "rfc" flag right

* chore: Remove comment, answer seems to be "no"

* refactor: Specify state type; drop redundant source doc type check

We're only admitting source__type="draft", so
no need to check it again in filter queries

* refactor: Specify state type in old code
2023-12-14 09:29:55 -06:00
Robert Sparks 6ccf9080b4
Merge pull request #6776 from rjsparks/statsfixes
fix: gather interesting years for stats accounting for published rfcs
2023-12-13 15:22:58 -06:00
Robert Sparks e130a301de
fix: gather interesting years for stats accounting for published rfcs 2023-12-13 13:14:38 -06:00
Robert Sparks d74d5ed233
fix: ignore attempts to look for versions of rfcs, but find the rfc. 2023-12-13 11:54:22 -06:00
Robert Sparks e211dc57d4
feat!: RFCs and subseries as Document types 2023-12-11 09:36:21 -06:00
Robert Sparks 4823dfe8eb
chore: move some things that had been moved but later touched in main again (#6751) 2023-12-07 18:27:08 -04: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
Jennifer Richards dd41234bb4
fix: Allow blank originaltargetaliasname (#6748) 2023-12-07 15:01:55 -04:00
Jennifer Richards 8351b4528f
test: RFC pub date is in RPC_TZINFO (#6747) 2023-12-07 11:57:24 -04:00
Jennifer Richards 2e2960a2af
refactor: Use type_id="rfc" in migration (#6746) 2023-12-07 11:38:03 -04:00
Robert Sparks ce918c4d18
chore: remove management commands already removed in main 2023-12-05 13:14:52 -06:00
Robert Sparks 402186477f
chore: reorder migrations 2023-12-05 12:15:17 -06:00
Robert Sparks 03e161bae9
chore: merge branch 'main' into feat/rfc 2023-12-05 09:12:11 -06:00
Paul Selkirk 5006ea53e6
fix: Reject obvious bad encoding pastes into the Submitter field in submissions (#6702) 2023-12-04 13:10:36 -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 ddebdf0263
test: Add delay to upcoming mtg filter tests (#6707) 2023-11-29 16:02:27 -06: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
Jennifer Richards b011f0ab32
fix: Show requested rev if it is current, even w/o dochistory (#6703) 2023-11-29 08:20:46 -06:00
Jennifer Richards d1909fd0c3
fix: Combine Group and GroupHistory when counting (#6701)
* fix: Combine Group and GroupHistory when counting

* refactor: Use same symbol in parallel iterators

* fix: Handle group acronym changes in assertion

* refactor: Avoid reference to GroupHistory in assertions

* chore: Revert so assertion fails on changed acronym

The filtering and meeting displays disagree on how to handle this,
so let's get a notification if it comes up in production.
2023-11-28 14:06:36 -06:00
Kesara Rathnayake f442d6c0af
fix: Remove extra spaces in bibtex (#6688) 2023-11-27 08:13:14 -06:00
Robert Sparks 9dec409b41
feat: iab workshops (#6684)
* feat: iab workshops

* chore: keep names fixture up to date
2023-11-27 08:09:30 -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
Jennifer Richards 62775bc56e
chore: Squelch celery deprecation warning (#6662) 2023-11-22 08:59:53 -06:00
Kesara Rathnayake bcca519d67
fix: Fix document not found bug in rfcdiff API (#6681)
Fixes #6675
2023-11-22 08:37:45 -06:00
Robert Sparks 2137dd8491
fix: teach ajax_select2_search_docs about rfcs (#6679) 2023-11-21 15:33:44 -06:00
Lars Eggert 3d44825333
ci: Switch to using geckodriver (#6541)
* Switch to using geckodriver

* Switch to selenium 4

* Undo

* Remove comment

* Fixes

* Restore non-standard line endings to minimize diff

* Undo

* Remove comment

* test: Fix test_upcoming_view_time_zone_selection

The inputs are hidden and managed by JS, so click
the visible elements instead.

* test: Clumsy fix to test_upcoming_materials_modal

Waiting for the button to be clickable does not
work because the modal is still fading in, so does
not actually close. Would be better to check for it
responding, but I haven't found the right way to do
that yet.

* test: Fix test_add_author_forms

Sending '\n' does not seem to work as it did before,
so click the option instead.

Also reverted some fixme hacks that seem to be obe.

* ci: Update base.Dockerfile

* test: add resource limits to dev/tests/debug.sh env

* ci: add upload of geckodriver.log on failure

* ci: run tests as user 1001

* ci: run app-create-dirs as sudo

* ci: set home folder to root to run tests

---------

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
Co-authored-by: Nicolas Giard <github@ngpixel.com>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2023-11-21 15:30:50 -06:00
Robert Sparks eb22d6a12f
fix: address dangling pyflake (#6678) 2023-11-21 13:17:55 -06:00
Robert Sparks b760248cc0
fix: correct stream document view (#6677)
* fix: correct stream document view

* fix: better filtering for stream view
2023-11-21 12:33:36 -06:00
Jennifer Richards ab3864e07a
refactor: Minor clean up of rfc index sync (#6661)
* chore: Remove commented code

* refactor: Drop unneeded local variable

* refactor: Eliminate no-op code branch
2023-11-17 17:09:11 -04:00
Jennifer Richards 4ac1153d7d
fix: Label draft change log with rfc number (#6659)
* fix: Label draft change log with rfc num

* test: Update test
2023-11-17 15:49:34 -04:00
Jennifer Richards b215867cb1
chore: Reorder migrations (#6660) 2023-11-17 14:56:21 -04: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
Robert Sparks 0051aa9844
fix: search correct doc type/states, switch rfc correctly in html_body, remove dead code. (#6640)
* fix: search correct doc type/states, switch rfc correctly in html_body, remove dead code

* chore: Add unreachable() marker

---------

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
2023-11-16 13:05:58 -06:00
Robert Sparks 925e22006b
ci: change test coverage fudge factor (#6649) 2023-11-16 12:46:36 -06:00
Robert Sparks 9fedce005f
fix: restore rfcs on document graph when looking at rfc predecesors (#6646) 2023-11-16 12:49:50 -04:00
Robert Sparks a035c93351
fix: favor RFCs over drafts in related document section (#6643) 2023-11-16 11:08:16 -04:00
Jennifer Richards 53e232302e
fix: Sort milestones for groups not using dates (#6642)
* fix: Respect uses_milestone_dates == False

* test: Test milestone ordering

* test: Fix temp variable naming
2023-11-15 13:32:27 -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
Robert Sparks 4fa8bfa543
fix: use correct doc types and states for rfcs (#6639) 2023-11-15 10:08:39 -04: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
Ryan Cross 6986e65665
fix: prevent creation of duplicate MeetingRegistration records (#6593)
* fix: prevent creation of duplicate MeetingRegistration records

* fix: use get_or_create to prevent duplicate MeetingRegistrations

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2023-11-06 18:22:42 +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
Tero Kivinen f8a06f663e
fix: Add history entry when approving the slides. (#6588)
* Added history entry when approving the slides.

Also changed os.rename to shutils.move as the submissions and
proceedings are on the separate filesystems on the docker image,
and this same thing might happen in the real environment in the
future.

* Add migrations for the docevents type.
2023-11-06 17:19:32 +01:00
Robert Sparks 37c796ebef
fix: repair ad-dashboard test 2023-11-06 09:39:10 +01:00
Robert Sparks b78eb448a5
chore: remove some unused code 2023-11-06 09:12:40 +01:00
Robert Sparks 195926ada7
fix:bring rfc-index sync test into sync with function changes 2023-11-05 14:47:43 +01:00
Robert Sparks bdeab001e6
chore: sync subseries index test with view changes 2023-11-05 13:56:50 +01:00
Robert Sparks 801b79fbb1
fix: repair is_downref 2023-11-05 13:49:56 +01:00
Robert Sparks 3fea443f59
fix: use valid ids on subseries index page 2023-11-05 12:35:34 +01:00
Paul Selkirk b5ee9ec9ab
fix: Don't allow group chair to change group parent (#6496)
* fix: Don't allow group chair to change group parent (#6037)

* test: Fix test_edit_parent_field, add test_edit_parent (whole form)

* test: Verify that the chair can't circumvent the system to change the group parent

* fix: 403 if user tries to edit an unknown or hidden field

* fix: Give edwg GroupFeatures a parent type

This tracks a change that was made directly in the production database
to fix the immediate cause of #6037.

* Empty commit to trigger github unit test
2023-11-05 12:32:03 +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
Lars Eggert 1df7319e26
fix: Remove time from materials cell (#6584)
Fixes #6542
2023-11-05 11:04:25 +01:00
Lars Eggert 275b3b2b0a
fix: Make authors take at least two lines in HTMLized (#6606)
From 32f8003712

Fixes #6575
2023-11-05 10:40:34 +01:00
Tero Kivinen 2f5bbebf70
Add link to review request page to review result page. (#6596)
Remove link to self on review result page.
2023-11-05 09:57:04 +01:00
Tero Kivinen 53d0014826
feat: add "add comment" feature to the review requests. (#6603) 2023-11-05 09:29:25 +01:00
Robert Sparks 9a2b0cf947
fix: better empty text and prettystdname on subseries index view 2023-11-01 16:21:05 -05:00
Robert Sparks 3836f76052
feat: add subseries to main menu 2023-11-01 16:20:18 -05:00
Robert Sparks 575560a885
fix: don't parameterize search for subseries types. 2023-11-01 16:08:39 -05:00
Robert Sparks 71a760f05a
feat: show references to and from subseries 2023-11-01 15:57:34 -05:00
Robert Sparks 1f82fab2cd
fix: silenced (and explained) several warnings 2023-11-01 15:20:29 -05:00
Robert Sparks 942c4d42af
fix: better message on first import of subseries membership 2023-11-01 13:29:12 -05:00
Robert Sparks 986e002c1d
chore: repair merge damage 2023-11-01 12:41:15 -05:00
Robert Sparks 8e3e59079a
chore: reorder migrations 2023-11-01 11:45:23 -05:00
Robert Sparks 28c3e1bd5d
chore: merge branch 'main' into feat/rfc 2023-11-01 10:54:29 -05:00
Robert Sparks e65c4c3f7f
fix: use clearer descriptions on docevents for initial sync run 2023-10-31 16:36:47 -05:00
Robert Sparks 320ca6232b
chore: remove spurious whitespace change 2023-10-31 15:54:15 -05:00
Robert Sparks 0afe496aa3
fix: preserve RelatedDocument references to subseries 2023-10-31 15:52:11 -05:00
Robert Sparks 466921728f
chore: reorder migrations 2023-10-31 11:56:44 -05:00
Lars Eggert d246879069
Fix code review comments 2023-10-27 17:29:09 -07:00
Robert Sparks 1130f1f790
Merge branch 'main' into feat-md-bs 2023-10-25 20:46:00 -05:00
Lars Eggert 6d87279895
fix: BCPs can normatively cite all other standards levels (#6530)
* fix: BCPs can normatively cite all other standards levels

Fixes #6524

* Revise the logic and add tests

* Fix bug in truth table
2023-10-25 20:43:05 -05:00
Lars Eggert 5f8bf4b6f7
Merge branch 'main' into feat-md-bs 2023-10-25 20:23:33 +02:00
Ryan Cross 601ab53db9
refactor: remove secr IPR admin link (#6540) 2023-10-25 12:45:22 -05:00
Jennifer Richards be4a6ef6f5
chore: Revert agenda editor font change (#6538)
* Revert "fix: Change some colors to make agenda tool work in dark mode (#6428)"

This reverts commit 699a8e2d9e.

* Revert "Revert "fix: Change some colors to make agenda tool work in dark mode (#6428)""

This reverts commit 5adafac4cb7896e9dd309a3385ec9aab5035e7d3.

* chore: Revert only font-family change

* chore: Add comment to ietf.scss
2023-10-25 12:43:17 -05:00
Lars Eggert c2a44dbad0
fix: Use d-none class instead of hide (#6535)
Fixes #6531
2023-10-25 08:37:14 -05:00
Lars Eggert 888a4f2efe
fix: Add link to session to material metadata (#6536)
* fix: Add link to session to material metadata

Fixes #6533

* Fix CI
2023-10-25 08:28:50 -05:00
Lars Eggert e7639e94ed
Merge branch 'main' into feat-md-bs 2023-10-24 19:49:17 +02:00