Commit graph

1632 commits

Author SHA1 Message Date
Jennifer Richards 82d91d371a
fix: Cast cache key to str before calling encode (#6100) 2023-08-08 17:38:59 -05:00
Robert Sparks baa5127d25
fix: refactor how settings handles cache definitions (#6099)
* fix: refactor how settings handles cache definitions

* chore: more english-speaker readable expression
2023-08-08 17:31:59 -05:00
Jennifer Richards 7e852aebfc
fix: Hash cache key for default memcached cache (#6089) 2023-08-08 13:21:19 -05:00
Paul Selkirk 06c9f06d55
feat: Reclassify nomcom feedback (#6002)
* fix: Clean up view_feedback_pending

- Remove "Unclassified" column header, which caused misalignment in the table body.

- Show the message author - previously displayed as `(None)`.

* feat: Reclassify nomcom feedback (#4669)

- There's a new `Chair/Advisor Tasks` menu item `Reclassify feedback`.

- I overloaded `view_feedback*` URLs with a `?reclassify` parameter.

- This adds a checkbox to each feedback message, and a `Reclassify` button
at the bottom of each feedback page.

- "Reclassifying" basically de-classifies the feedback, and punts it back
to the "Pending emails" view for reclassification.

- If a feedback has been applied to multiple nominees, declassifying it
from one nominee removes it from all.

* fix: Remove unused local variables

* fix: Fix some missing and mis-nested html

* test: Add tests for reclassifying feedback

* refactor: Substantial redesign of feedback reclassification

- Break out reclassify_feedback* as their own URLs and views,
  and revert changes to view_feedback*.html.

- Replace checkboxes with a Reclassify button on each message.

* fix: Remember to clear the feedback associations when reclassifying

* feat: Add an 'Overcome by events' feedback type

* refactor: When invoking reclassification from a view-feedback page, load the corresponding reclassify-feedback page

* fix: De-conflict migration with 0004_statements

Also change the coding style to match, and add a reverse migration.

* fix: Fix a test case to account for new feedback type

* fix: 842e730 broke the Back button

* refactor: Reclassify feedback directly instead of putting it back in the work queue

* fix: Adjust tests to new workflow

* refactor: Further refine reclassification to avoid redirects

* refactor: Impose a FeedbackTypeName ordering

Also add FeedbackTypeName.legend field, rather than synthesizing it every
time we classify or reclassify feedback.

In the reclassification forms, only show the relevant feedback types.

* refactor: Merge reclassify_feedback_* back into view_feedback_*

This means the "Reclassify" button is always present, but eliminates some
complexity.

* refactor: Add filter(used=True) on FeedbackTypeName querysets

* refactor: Add the new FeedbackTypeName to the reclassification success message

* fix: Secure reclassification against rogue nomcom members
2023-08-08 12:33:17 -05:00
Robert Sparks dbe1749438
feat: IAB statements (#5940)
* feat: support iab and iesg statements. Import iab statements. (#5895)

* feat: infrastructure for statements doctype

* chore: basic test framework

* feat: basic statement document view

* feat: show replaced statements

* chore: black

* fix: state help for statements

* fix: cleanout non-relevant email expansions

* feat: import iab statements, provide group statements tab

* fix: guard against running import twice

* feat: build redirect csv for iab statements

* fix: set document state on import

* feat: show published date on main doc view

* feat: handle pdf statements

* feat: create new and update statements

* chore: copyright block updates

* chore: remove flakes

* chore: black

* feat: add edit/new buttons for the secretariat

* fix: address PR #5895 review comments

* fix: pin pydantic until inflect catches up (#5901) (#5902)

* chore: re-un-pin pydantic
2023-07-23 11:00:24 -07:00
Lars Eggert d8c0ae5faf
fix: Add numeric localhost addresses to CSRF_TRUSTED_ORIGINS (#5989) 2023-07-19 09:55:22 -05:00
Jennifer Richards 6f361f9574
chore: Keep default CSRF_TRUSTED_ORIGINS when in debug mode (#5827) 2023-06-15 09:04:43 -05:00
Jennifer Richards 9cee31613b
chore: Set CSRF_TRUSTED_HOSTS to localhost for dev (#5771) 2023-06-06 15:58:06 -05:00
Jennifer Richards edd72826e6
fix: Prevent errors when memcached object size is exceeded (#5769)
* feat: Subclass PyMemcacheCache to tolerate too-large object errors

* fix: Use LenientMemcacheCache to prevent search errors

* fix: Re-raise errors other than "object too large"
2023-06-06 14:35:41 -05:00
Nicolas Giard cfaf966492
fix: add internal static.ietf.org var for pdfized render (#5765) 2023-06-05 20:18:35 -05:00
Jennifer Richards 2d661a1a5f
chore: Use permissive cross-origin-opener-policy setting 2023-06-01 17:12:15 -03:00
Jennifer Richards 1922a6066e
Merge pull request #5700 from ietf-tools/main
chore: main -> django4
2023-05-31 10:59:09 -03:00
Nicolas Giard 0a11892414
chore: use variable for static.ietf.org references (#5692) 2023-05-25 17:23:18 -05:00
Jennifer Richards e973672c25
Merge branch 'feat/django4' into dev/merge-main-5679 2023-05-23 12:11:17 -03:00
Jennifer Richards 2eaea55ce8
chore: Move log out suppression to settings,py 2023-05-19 15:25:35 -03:00
Jennifer Richards b6a791511f
chore: Use DjangoDivFormRenderer to opt in to new default 2023-05-19 12:52:26 -03:00
Jennifer Richards b06fc7acc4
chore: Suppress warning about CryptPasswordHasher 2023-05-19 11:28:58 -03:00
Jennifer Richards 25b9976460
chore: Switch to JSONSerializer
PickleSerializer is deprecated
2023-05-18 18:37:25 -03:00
Robert Sparks d0f8e1148a
chore: keep csp config in sync with production configuration (#5656) 2023-05-18 16:29:30 -05:00
Robert Sparks 34d714c4ec
chore: remove gather from CRSF_TRUSTED_ORIGINS (#5657) 2023-05-18 16:29:18 -05:00
Jennifer Richards c71f44fdb2
chore: Suppress deprecation warning for oidc_provider 2023-05-18 18:00:46 -03:00
Jennifer Richards 6df5d4c67f
chore: Suppress CICharField deprecation warning 2023-05-18 18:00:46 -03:00
Jennifer Richards 171a5bec73
chore: Update setuptools version and suppress warnings
pkg_resources warning is caused by a few packages
(django-simple-history. django-widget-tweaks, etc). The datetime_safe
warning is in tastypie, as indicated. The others are deprecated
settings we already have tickets for.
2023-05-18 18:00:45 -03:00
Jennifer Richards c26c9c71e4
chore: Switch to PyMemcacheCache backend 2023-05-18 15:18:01 -03:00
Jennifer Richards f85978fe24
chore: Disable L10N localization 2023-05-17 12:52:34 -03:00
Jennifer Richards 88452a2db1
chore: Add USE_DEPRECATED_PYTZ to settings.py 2023-05-16 16:20:51 -03:00
Jennifer Richards 76fa01b817
chore: Suppress deprecation warning for oidc_provider AppConfig 2023-05-16 13:21:12 -03:00
Jennifer Richards 374c1a40be
chore: Use new format for CSRF_TRUSTED_ORIGINS setting 2023-05-16 13:14:48 -03:00
Jennifer Richards 329fa26ee0
chore: Remove abandoned django-password-strength package 2023-05-15 15:29:00 -03:00
Jennifer Richards bee7e11360
chore: Remove accidental import from settings.py 2023-05-12 18:29:39 -03:00
Jennifer Richards 9d21196adc
chore: Add DEFAULT_AUTO_FIELD to settings.py 2023-05-12 18:03:28 -03:00
Jennifer Richards ccb7d666ce
chore: Remove add-django-http-cookie-value-none.patch
Fixed upstream
2023-05-12 15:47:37 -03:00
Jennifer Richards 0d070597b4
style: Double backslashes in strings
Not sure why, but if I change the DeprecationWarning filter to
"error", I get a SyntaxError from the \[ because it is an invalid
escape sequence. Not sure why that change triggers it, but
"\[" and "\\[" are the same, so this is a no-op.
2023-05-10 19:21:47 -03:00
Jennifer Richards e6259a5218
chore: Remove filter on staticfiles DeprecationWarning 2023-05-10 18:52:52 -03:00
Jennifer Richards a75dbd4f40
chore: Remove accidentally reverted removal of form_utils app 2023-05-10 16:50:42 -03:00
Jennifer Richards 57026bbb5f
Revert "chore: Remove django-cookie-delete-with-all-settings.patch"
This reverts commit 2cf2a3dee6.
2023-05-10 15:55:25 -03:00
Jennifer Richards 2cf2a3dee6
chore: Remove django-cookie-delete-with-all-settings.patch
Patch no longer applies. Needed until Django 4.2.1, so bring it back
if we deploy something earlier than that to production.
2023-05-09 11:09:41 -03:00
Jennifer Richards 09ff9c6ced
refactor: Tie Meetecho resources to Session pk (#5281)
* feat: Use session.id to specify session for api_set_session_video_url

* feat: Use session.id to specify session for api_upload_bluesheet

* refactor: Add audio/video stream and onsite tool URLs to Session model

* refactor: Get onsite tool/stream URLs for agenda from Session

* refactor: Use Session methods for onsite tool/stream a few more places

* refactor: Move hard-coded meetecho URLs into settings.py

* feat: Add has_onsite_flag to Session

* chore: Set has_onsite_tool for sessions that had meetecho UrlResources

* fix: Only show onsite tool URLs when Session.has_onsite_tool is True

* test: Update test_api_upload_bluesheet to test deprecated version

* fix: Fix test failure in api_upload_bluesheet view

* test: Add test of new api_upload_bluesheet view

* style: Apply Black style to test_api_upload_bluesheet

* fix: Fix test failures in api_upload_bluesheet()

* test: Update test_api_set_session_video_url to test deprecated version

* fix: Fix test failure in api_set_session_video_url view

* test: Add test of new api_set_session_video_url view

* style: Apply Black styling to new test

* fix: Fix test failures in api_set_session_video_url view

* test: Fix test_meeting_agenda; set has_onsite_tool in SessionFactory

* feat: Add has_onsite_tool to Session list in admin

* feat: Add has_onsite_tool flag to SessionDetailsForm

* feat: Add has_onsite_tool flag to sreq

* feat: Show has_onsite_tool flag on secr view for a submitted request

* feat: Only prompt for has_onsite_tool in sreq for non-wg type groups

* fix: Clean up styling of sreq view a bit

* chore: Renumber migrations
2023-04-23 18:15:01 -05:00
Jennifer Richards 372891194e
feat: Move IESG agenda items from filesystem to DB (#5366)
* feat: Add TelechatAgendaContent model and related support

* feat: Add UI for managing TelechatAgendaContents

* refactor: Rename _view view to _manage

* feat: Add a view to dump the TelechatAgendaContent as text/plain

* refactor: Point agenda_data() helpers at content in the DB

* refactor: Replace references to settings URLs/paths with new plumbing

* chore: Remove now-obsolete settings from settings.py

* feat: Link to telechat_agenda_content_manage view from iesg agenda

* fix: Use correct view name

* feat: Link from agenda content management page to IESG agenda view

* chore: Create resources

* chore: Add new names to names.json

* chore: Renumber migration after rebase

* chore: Remove unused import

* fix: Clean up partially removed code

* chore: Add admin model for TelechatAgendaContent

* chore: Simplify __str__ method for TelechatAgendaContent

* test: Add TelechatAgendaContentFactory

* test: Test the fill_in_agenda_administrivia() function

* test: Test that agenda contains action_items content

* test: Test that sensitive agenda links are restricted by role

* test: Test the telechat_agenda_content_view view

* test: Add test of telechat_agenda_content_edit view

* fix: Add type attribute to button to satisfy html validator

* test: Filter TelechatAgendaSectionName to used=True for tests

* test: More thoroughly test for likely(ish) permission errors

* fix: Fix typo in "tablist" role

* test: Test telechat_agenda_content_manage view

* style: Put back newlines at EOF

* chore: Add admin for TelechatAgendaSectionName

* chore: Renumber migrations

* fix: Depend on the correct migration

Forgot to update the number, but was also depending on the wrong
migration.
2023-04-23 18:05:58 -05:00
Robert Sparks 84c1fa195b
feat!: Use postgresql instead of mysqldb (#5482)
BREAKING CHANGE: The underlying database is now postgresql.
2023-04-10 12:47:43 -05:00
Robert Sparks 88a78cf1ab
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-03-20 13:46:32 -05:00
Robert Sparks 39be6da031
chore: abstract ADMINS (#5355) 2023-03-16 11:02:51 -05:00
Robert Sparks cf755d2516
fix: update bug report email address (#5342) 2023-03-15 17:26:21 -05:00
Ryan Cross abc70ae650
refactor: Remove secr groups app (#5334) 2023-03-14 12:27:47 -05:00
Ryan Cross f884e07387
refactor: Remove secr roles (#5257)
* refactor: remove import_audio_files() and related code

* refactor: move functions from proc_utils to meeting/utils

* refactor: remove secr/proceedings

* refactor: remove secr/roles

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2023-03-10 15:35:14 -06:00
Robert Sparks c38ade6e1b
feat: treat django auth username as case insensitive throughout the datatracker (#5165)
* feat: insensitive username matching at django authentication

* feat: use iexact when using the User object manager

* fix: more places to ignore username case

* fix: remove unused management command

* fix: avoid get when probing for object existance

* fix: force lowercase new usernames in secr/rolodex

* fix: use explicit arguments when creating user
2023-02-21 10:01:03 -06:00
Robert Sparks e1206fa91e
Merge remote-tracking branch 'upstream/main' into feat/postgres 2023-02-13 09:17:05 -06:00
Lars Eggert f8b48f4c43
fix: use Internet-Draft more consistently across the UI (#5104)
* s/Internet Draft/Internet-Draft/i

* s/draft/Internet-Draft/i or s/draft/I-D/i

* s/ID/I-D/

* Fix tests

* a -> an

* Undo case-change to ASCII

* Address code review comments

* Add migrations

* Add merged migration

* fix: straighten out migrations

* fix: finish straightening out migrations

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2023-02-11 10:09:28 -06:00
Jennifer Richards 6c31c73eab
feat: Improve links to meeting tools from group pages (#5130)
* chore: Remove unused template parameter from {%include%}

* feat: Add "Meeting tools" section to group session details panel

* feat: Use better label for recordings section after session has ended

* feat: Define template tag to store timezone.now in the render context

* fix: Use get_now tag in session_buttons_include.html

* fix: Update session_details_panel.html to use get_now tag

* refactor: Inject timezone_now from a context processor instead of tag

* chore: Remove unused imports

* chore: Remove unused {%load%}

* chore: Revert renaming of dateformat.py
2023-02-11 10:00:30 -06:00
Robert Sparks 912c7b5ee3
fix: simplify migrations when building postgres db image (#4889)
* chore: remove the effectively unused DATABASE_TEST_OPTIONS setting

* fix: simplify default settings_local so that db-include-fix.py is not needed in CI

* fix: simplify migrations in db-pg-migrate.sh
2022-12-13 17:37:24 -05:00