Commit graph

46 commits

Author SHA1 Message Date
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
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 3157cf65d1
fix: Accept&ignore group_type for some views 2024-02-12 17:38:36 -04:00
Robert Sparks 4946430159
chore: checkpoint: halfway through removing docalias 2023-08-15 09:11:53 -05:00
Jennifer Richards 2060173f3a Improve proceedings display with new title block, configurable host logos, and additional PDF or URL materials. Fixes #3147. Commit ready for merge.
- Legacy-Id: 19306
2021-08-30 17:02:49 +00:00
Henrik Levkowetz 57938b039d Converted many cases of plain-text 403 messages to use a properly styled page instead, with a login link when appropriate. Also changed some API endpoint 400 responses to a more correct 403.
- Legacy-Id: 18339
2020-08-06 10:59:52 +00:00
Henrik Levkowetz 726fcbf27d Removed all __future__ imports.
- Legacy-Id: 17391
2020-03-05 23:53:42 +00:00
Henrik Levkowetz 77abc3868e Type checking tweaks.
- Legacy-Id: 16867
2019-10-15 16:54:33 +00:00
Henrik Levkowetz 8c6eb3a30a Python2/3 compatibility: Changed the use of open() and StringIO to io.open() etc.
- Legacy-Id: 16458
2019-07-15 19:14:04 +00:00
Henrik Levkowetz d7f5c84182 Initial 2to3 patch with added copyright statement updates.
- Legacy-Id: 16309
2019-06-27 14:40:54 +00:00
Henrik Levkowetz 426870b766 Merged in the Document and DocAlias primary key change and m2m work in ^/personal/henrik/6.96.1-docalias.
- Legacy-Id: 16261
2019-06-15 12:00:48 +00:00
Henrik Levkowetz a2cafded25 Changed DocAlias to be many-to-many, in order to be able to handle STD aliases referring to multiple RFCs.
- Legacy-Id: 16249
2019-06-14 20:38:14 +00:00
Henrik Levkowetz 2daef52bea This commit replaces the code defined group features with features held
in a database table:

- Added a GroupFeatures model to the group models, and removed the old 
  features.py
- Added a agenda type for future use in showing different group types on
  different agendas.
- Renamed the group feature has_materials to has_nonsession_materials.
- Added API resources and admin support for the new tables.
- Added a Directorate (with reviews) group type as complement to
  Directorate, to distinguish between directorates with and without reviews.
- Adjusted tests as needed.
- Updated the fixtures, and fixed the generate_fixtures script to include
  the new AgendaTypeName objects.

There still exists about 70 instances of code comparing the group type
with a list of types; most of these should probably be replaced with new
features, instead, to make it possible to add new group types through the
database table, rather than having to edit the code.  That was the purpose
of this refactoring from the start, but the presence of this large number
of comparisons of group type against lists of types defeats the goal until
we add appropriate features and replace the group type list comparisons.
 - Legacy-Id: 15316
2018-07-12 10:51:48 +00:00
Robert Sparks fbde311f43 Allow editing of title for agendas, minutes, and bluesheets documents. Fixes #2317. Commit ready for merge.
- Legacy-Id: 13899
2017-07-15 12:24:02 +00:00
Henrik Levkowetz f8f7815060 Added a slide abstract [Edit] button on slide document pages also for empty abstracts, to provide the ability to add abstracts.
- Legacy-Id: 13825
2017-07-10 21:46:21 +00:00
Lars Eggert 8a70e9773d Fix various "RemovedInDjango20Warning" warnings. Commit ready for merge.
- Legacy-Id: 13112
2017-03-25 19:16:45 +00:00
Henrik Levkowetz 4daf66d11c Added DocEvent rev= parameter througout the code.
- Legacy-Id: 12978
2017-03-06 15:08:21 +00:00
Henrik Levkowetz 5f053ad21a Cleaned up the remaining explicit url names, using dotted-paths to view
functions instead.  In all almost 700 changes.
 - Legacy-Id: 12923
2017-02-26 23:21:49 +00:00
Henrik Levkowetz 27351c4349 Fixed url lookups for doc.views_doc.document_main() to only use dotted-path, and removed the doc_view explicit url name. Fixes a 500 error in /submit/status/NNNN/.
- Legacy-Id: 12897
2017-02-22 11:40:55 +00:00
Henrik Levkowetz 6de7be6953 Specified strip=False for another bunch of CharField form fields with Textarea widgets.
- Legacy-Id: 12711
2017-01-23 17:38:56 +00:00
Henrik Levkowetz 671df0492a Fixed an issue where a queryset filter argument didn't have the right datatype.
- Legacy-Id: 12403
2016-11-28 18:05:14 +00:00
Henrik Levkowetz f97204ceee Fixed a number of places where events were given the document time, but the document had not been given a new time yet, after the eventsave refactoring code changes of [11841]. Fixes issue #2004.
- Legacy-Id: 11901
Note: SVN reference [11841] has been migrated to Git commit d868371aff
2016-08-31 10:54:27 +00:00
Henrik Levkowetz 4b0a9360f0 Merged in ^/branch/iola/event-saving-refactor-r10291, which refactors document saving to always use doc.save_with_history(events), and requires accompanying events. This branch also provides refactoring of recurring regexes in url patterns into a dictionary. As part of the merge, also refactored new code which didn't use the save_with_history() method.
- Legacy-Id: 11840
2016-08-23 10:52:08 +00:00
Robert Sparks 1a2b885864 checkpoint. Refactor to put session oriented utilites back in the meeting app. Minimize the use of the /materials url. Provide better access control to the remaining materials url functions.
- Legacy-Id: 10850
2016-02-22 17:03:46 +00:00
Robert Sparks 859f2ead3d checkpoint: purged the rest of the day/seq URLs. Streamlined workflows to focus on "current" versions as a default. Plumbed editing and deleting sessionpresentations from a document perspective. Started adding meat to document factories.
- Legacy-Id: 10847
2016-02-19 04:20:57 +00:00
Robert Sparks d709af6ca2 checkpoint: refined document/session view with test. Trivial start on Document factories.
- Legacy-Id: 10845
2016-02-18 04:07:17 +00:00
Robert Sparks 78ca39f237 checkpoint: start of a view showing all sessions associated with a document
- Legacy-Id: 10844
2016-02-17 16:38:33 +00:00
Robert Sparks a1a518a4bc merged older materials work (specifically, that vetted in prague)
- Legacy-Id: 10750
2016-01-27 01:12:19 +00:00
Henrik Levkowetz 71dec7a692 Moved forward to 6.7.2.dev0 the changes to rename class ScheduledSession to the more correct (but unfortunately also cumbersome) SchedTimeSessAssignment, and rename reverse relationships involving this class appropriately. Accompanying changes in javascript and templates. Migrations to match.
- Legacy-Id: 10297
2015-10-26 22:45:26 +00:00
Ole Laursen 32a4a95b47 Summary: Fix bug with uploading new materials with new save API
- Legacy-Id: 10188
2015-10-12 13:20:43 +00:00
Ole Laursen e1f0917659 Summary: Add new document saving API, Document.save_with_history(events).
The new API requires at least one event and will automatically save a
snapshot of the document and related state. Document.save() will now
throw an exception if called directly, as the new API is intended to
ensure that documents are saved with both an appropriate snapsnot and
relevant history log, both of which are easily defeated by just
calling .save() directly.

To simplify things, the snapshot is generated after the changes to a
document have been made (in anticipation of coming changes), instead
of before as was usual.

While revising the existing code to work with this API, a couple of
missing events was discovered:

- In draft expiry, a "Document has expired" event was only generated
  in case an IESG process had started on the document - now it's
  always generated, as the document changes its state in any case

- Synchronization updates like title and abstract amendmends from the
  RFC Editor were silently (except for RFC publication) applied and
  not accompanied by a descriptive event - they now are

- do_replace in the Secretariat tools now adds an event

- Proceedings post_process in the Secretariat tools now adds an event

- do_withdraw in the Secretariat tools now adds an event

A migration is needed for snapshotting all documents, takes a while to
run. It turns out that a single document had a bad foreign key so the
migration fixes that too.
 - Legacy-Id: 10101
2015-09-28 14:01:03 +00:00
Robert Sparks 609f368ce1 Still clunky but far enough along for sprinters to play with and comment on
- Legacy-Id: 9720
2015-07-15 02:13:48 +00:00
Ole Laursen f63a99be1c Facelift remaining materials pages
- Legacy-Id: 8938
2015-01-28 12:50:09 +00:00
Robert Sparks 986768bf73 Cleaned up issues with date and weekday variants of the session views
- Legacy-Id: 8707
2014-11-24 21:06:58 +00:00
Robert Sparks 2d0eb1e011 Reworked URLs to explicitly invoke edit. Build list of possible sessions using group acronym and sequence variant of urls, not just sequence alone
- Legacy-Id: 8706
2014-11-24 20:53:36 +00:00
Robert Sparks 5f1663530c Added comment docevents when changing SessionPresentation objects. Reworked group materials page to be more helpful when there are multiple SessionPresentations withing a given Meeting
- Legacy-Id: 8705
2014-11-24 19:54:25 +00:00
Robert Sparks c05d734cf3 one more tweak before refactoring
- Legacy-Id: 8455
2014-10-21 22:38:06 +00:00
Robert Sparks 2f6799ece6 Have working selectors for sessions related to a meeting and sessions related to a document, views for listing such sections that can be edited, and an edit form for changing the presented version. Checkpointing before big refactor to move the URI components around
- Legacy-Id: 8453
2014-10-21 21:16:27 +00:00
Robert Sparks 9a46f47168 fix diffable bug, improve form grooming, remove too restrictive help text from form
- Legacy-Id: 8439
2014-10-16 18:58:13 +00:00
Robert Sparks 31f687b343 allow editing of abstract for existing material
- Legacy-Id: 8435
2014-10-16 16:46:38 +00:00
Robert Sparks 2f56de6223 added abstract to the upload form
- Legacy-Id: 8434
2014-10-16 16:27:51 +00:00
Robert Sparks 754ee80016 snapshot before SIPit - have a working session presentation edit form
- Legacy-Id: 8358
2014-09-26 20:47:13 +00:00
Robert Sparks 4de405e8d3 Use the name field from the materials upload form. Fixes ticket #1445. Commit ready for merge.
- Legacy-Id: 8099
2014-07-16 14:47:39 +00:00
Ole Laursen f9ee750afd Make it possible to adjust the name of new materials upon upload, also fix a couple of warnings from PyFlakes
- Legacy-Id: 7914
2014-06-13 12:30:42 +00:00
Ole Laursen 6e83335f0f Fix a bunch of mistakes found by PyFlakes in the new materials code
- Legacy-Id: 7839
2014-06-03 11:28:27 +00:00
Ole Laursen 88cf68d43f Move group material handling code to doc/material/ now that the view of the material is integrated into /doc/, fix a bunch of bugs
- Legacy-Id: 7834
2014-06-03 09:42:16 +00:00