datatracker/ietf/utils
Robert Sparks e6138ca126
feat: session apis (#7173)
* feat: Show bluesheets using Attended tables (#7094)

* feat: Show bluesheets using Attended tables (#6898)

* feat: Allow users to add themselves to session attendance (#6454)

* chore: Correct copyright year

* fix: Address review comments

* fix: Don't try to generate empty bluesheets

* refactor: Complete rewrite of bluesheet.html

* refactor: Fill in a few gaps, close a few holes

- Rename the live "bluesheet" to "attendance", add some explanatory text.
- Add attendance links in materials view and pre-finalized proceedings view.
- Don't allow users to add themselves after the corrections cutoff date.

* fix: Report file-save errors to caller

* fix: Address review comments

* fix: typo

* refactor: if instead of except; refactor gently

* refactor: Rearrange logic a little, add comment

* style: Black

* refactor: auto_now_add->default to allow override

* refactor: jsonschema to validate API payload

* feat: Handle new API data format

Not yet tested except that it falls back when the old
format is used.

* test: Split test into deprecated/new version

Have not yet touched the new version

* style: Black

* test: Test new add_session_attendees API

* fix: Fix bug uncovered by test

* refactor: Refactor affiliation lookup a bit

* fix: Order bluesheet by Attended.time

* refactor: Move helpers from views.py to utils.py

* test: Test that finalize calls generate_bluesheets

* test: test_bluesheet_data()

* fix: Clean up merge

* fix: Remove debug statement

* chore: comments

* refactor: Renumber migrations

---------

Co-authored-by: Paul Selkirk <paul@painless-security.com>

* chore: Remove unused import

* style: Black

* feat: Stub session update notify API

* feat: Add order & rev to slides JSON

* style: Black

* feat: Stub actual Meetecho slide deck mgmt API

* refactor: Limit reordering to type="slides"

* chore: Remove repository from meetecho API

(API changed on their end)

* feat: update Meetecho on slide reorder

* refactor: drop pytz from meetecho.py

* chore: Remove more repository refs

* refactor: Eliminate more pytz

* test: Test add_slide_deck api

* fix: Allow 202 status code / absent Content-Type

* test: Test delete_slide_deck api

* test: Test update_slide_decks api

* refactor: sessionpresentation_set -> presentations

* test: Test send_update()

* fix: Debug send_update()

* test: ajax_reorder_slides calls Meetecho API

* test: Test SldesManager.add()

* feat: Implement SlidesManager.add()

* test: Test that ajax_add_slides... calls API

* feat: Call Meetecho API when slides added to session

* test: Test SlidesManager.delete()

* feat: Implement SlidesManager.delete()

* test: ajax_remove_slides... calls Meetecho API

* feat: Call Meetecho API when slides removed

* chore: Update docstring

* feat: rudimentary debug mode for Meetecho API

* test: remove_sessionpresentation() calls Meetecho API

* feat: Call Meetecho API from remove_sessionpresentation()

* test: upload_slides() calls Meetecho API

* style: Black

* fix: Refactor/debug upload_session_slides

Avoids double-save of a SessionPresentation for the session
being updated and updates other sessions when apply_to_all
is set (previously it only created ones that did not exist,
so rev would never be updated).

* test: Fix test bug

* feat: Call Meetecho API when uploading session slides

* fix: Only replace slides actually linked to session

* fix: Delint

Removed some type checking rather than debugging it

* fix: Send get_versionless_href() as url for slides

* test: TZ-aware timestamps, please

* chore: Add comments

* feat: Call Meetecho API in edit_sessionpresentation

* feat: Call Meetecho API in remove_sessionpresentation

* feat: Call Meetecho API from add_sessionpresentation

* fix: Set order in add_sessionpresentation

* fix: Restrict API calls to "slides" docs

* feat: Call Meetecho API on title changes

* test: Check meetecho API calls in test_revise()

* fix: better Meetecho API "order" management

* fix: no PUT if there are no slides after DELETE

* feat: Catch exceptions from SlidesManager

Don't let errors in the MeetEcho slides API interfere with
the ability to modify slides for a session.

* feat: Limit which sessions we send notifications for

* fix: handle absence of request_timeout in api config

* test: always send slide notifications in tests

* fix: save slides before sending notification (#7172)

* fix: save slides before sending notification

* style: fix indentation

It's not a bug, it's a flourish!

---------

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
Co-authored-by: Paul Selkirk <paul@painless-security.com>
2024-03-12 10:22:24 -05:00
..
management fix: Fix/adjust periodic_tasks management command (#7108) 2024-02-28 08:15:04 -06:00
migrations chore: Add type annotations to satisfy linter (#5435) 2023-03-29 09:06:14 +09:00
templatetags Fix: meeting important dates can have markdown links (#6594) 2023-11-10 09:24:13 +01:00
__init__.py Cleaned out some (arbitrary) submodule name imports into ietf.utils, and made the corresponding import statements import the names directly from the correct submodules. 2014-03-16 07:09:38 +00:00
accesstoken.py refactor: Replace deprecated force_text with force_str 2023-05-09 15:21:50 -03:00
admin.py refactor: Replace deprecated force_text with force_str 2023-05-09 15:21:50 -03:00
aliases.py Log Unicode exception instead of printing them to the console when they occur building the email alias files. 2021-03-09 21:19:11 +00:00
bootstrap.py And more fixes. 2022-02-01 07:47:25 +00:00
cache.py fix: Import DEFAULT_TIMEOUT correctly (#5803) 2023-06-12 13:50:14 -05:00
db.py Guard against absent 'form_class' kwarg in IETFJSONField.formfield(). Commit ready for merge. 2021-11-18 15:54:46 +00:00
decorators.py chore: Fix incorrect docstring 2024-02-12 20:29:34 -04:00
draft.py fix: Handle missing date fields in XML submissions (#5744) 2023-06-02 14:40:52 -05:00
draft_search.py Removed all __future__ imports. 2020-03-05 23:53:42 +00:00
fields.py chore: remove a stray space that crashes black (#5185) 2023-02-23 08:50:24 -06:00
hedgedoc.py feat: improve notes imports by using de-gfm -4. Related to #3851. (#3930) 2022-05-03 18:04:48 -05:00
history.py Removed all __future__ imports. 2020-03-05 23:53:42 +00:00
html.py fix: Fix removetags (#4226) 2022-07-18 09:39:11 -05:00
http.py refactor: Replace deprecated request.is_ajax() 2023-05-12 18:26:56 -03:00
jstest.py ci: Switch to using geckodriver (#6541) 2023-11-21 15:30:50 -06:00
log.py Updated log.assertion() to provide an exception object (under Py3, it seems that logging.Logger instances ignore the traceback if there isn't also an exception object). Added a check for unset draft-iesg state to Document.set_state(). 2020-09-18 14:15:02 +00:00
mail.py refactor: Replace deprecated force_text with force_str 2023-05-09 15:21:50 -03:00
markdown.py feat: Import IESG artifacts into the datatracker (#6908) 2024-02-20 16:35:08 -06:00
markup_txt.py Revert "chore: Replace markup_txt with rfc2html (#6632)" (#6909) 2024-01-11 13:08:24 -06:00
meetecho.py feat: session apis (#7173) 2024-03-12 10:22:24 -05:00
mime.py Merged in ^/trunk@17617. 2020-04-14 17:11:51 +00:00
models.py Added a utility function to convert objects to dictionaries (for comparison, for instance) 2020-03-19 22:42:43 +00:00
ordereddict.py Removed all __future__ imports. 2020-03-05 23:53:42 +00:00
patch.py chore: Use codespell to fix typos in comments. (#4794) 2022-11-28 10:36:36 -06:00
pdf.py Removed all __future__ imports. 2020-03-05 23:53:42 +00:00
pipe.py fix: close open things (#5593) 2023-05-10 11:19:34 -05:00
resources.py Added 'from __future__' imports all over the place, to bring code behaviour into closer alignment between python2 and python3 2019-07-15 15:40:51 +00:00
response.py test: Validate HTML rendered during tests (#3782) 2022-04-07 13:30:38 -03:00
serialize.py fix: fix failing tests and eliminate naive datetime warnings (#4402) 2022-09-01 13:07:28 -03:00
storage.py Added a pylint rc-file, and fixed or silenced a number of issues found by pylint using the settings .pylintrc (which enable only error checking). 2016-09-08 14:48:59 +00:00
test_data.py feat: API to replace email alias generation commands (#7012) 2024-02-07 10:15:50 -06:00
test_draft_with_references_v2.xml Find references from submitted XML instead of rendering to text and parsing. Fixes #3342. Commit ready for merge. 2022-01-07 17:53:23 +00:00
test_draft_with_references_v3.xml fix: Also extract document names from XML seriesInfo attributes and XInclude URLs (#5037) 2023-02-14 17:07:54 -06:00
test_runner.py chore(deps): bump the yarn group with 15 updates (#6924) 2024-01-16 11:00:23 -06:00
test_smtpserver.py fix: avoid mutables as defaults. Compute date default arguments at runtime rather than loadtime. (#4144) 2022-07-06 14:39:36 -05:00
test_textupload.py Removed all __future__ imports. 2020-03-05 23:53:42 +00:00
test_utils.py feat: Can we provide a better review assignment email subject. #3760 (#5415) 2023-05-17 12:23:20 -05:00
tests.py feat: Give better errors when docName is missing (#7083) 2024-02-21 11:59:07 -06:00
tests_hedgedoc.py Add ability to import session minutes from notes.ietf.org. Mock out calls to the requests library in tests. Call markdown library through a util method. Fixes #3489. Commit ready for merge. 2021-12-09 17:16:19 +00:00
tests_markdown.py fix: Need to linkify during Markdown rendering (#5066) 2023-02-11 10:13:20 -06:00
tests_meetecho.py feat: session apis (#7173) 2024-03-12 10:22:24 -05:00
tests_restapi.py Removed all __future__ imports. 2020-03-05 23:53:42 +00:00
texescape.py Removed all __future__ imports. 2020-03-05 23:53:42 +00:00
text.py feat: Import IESG artifacts into the datatracker (#6908) 2024-02-20 16:35:08 -06:00
textupload.py Removed all __future__ imports. 2020-03-05 23:53:42 +00:00
timezone.py test: increase number of tries to find tz not near midnight (#4756) 2022-11-15 07:53:21 -06:00
urls.py refactor: Implement require_api_key with functools.wraps 2023-05-17 09:45:07 -03:00
validators.py test: Suppress mypy error on import of _lazy_re_compile() 2023-05-15 11:04:29 -03:00
xmldraft.py feat: Give better errors when docName is missing (#7083) 2024-02-21 11:59:07 -06:00