Commit graph

172 commits

Author SHA1 Message Date
Nicolas Giard a605b08de6
feat: load agenda asynchronously via REST endpoint (#4257)
* feat: load agenda asynchronously via REST endpoint

* fix: handle invalid meeting number + pre-64 meetings redirect
2022-07-24 10:34:57 -05:00
Robert Sparks b988850985
fix: avoid mutables as defaults. Compute date default arguments at runtime rather than loadtime. (#4144) 2022-07-06 14:39:36 -05:00
Robert Sparks 07bfa68a75
feat: explicitly model session attendance (#4025)
* feat: add model to track session attendance

* feat: add model to track session attendance

* feat: add api to set session attendees

* fix: use user pk instead off person pk in the attended api.

* feat: calculate three of five from attended

* feat: management utility to populate Attended model history

* docs: document why nomcom calculations don't use Attended yet.

* fix: add migration to add new personalapikey endpoint to choices

* test: verify very old last login prevents api key use,

* chore: address review nits

* chore: comment on some idiosyncracies of the expected input to populate_attended

* fix: add unique_together constraint for the Attended model

* fix: correctly handle empty querysets passed to three_of_five_eligible functions.
2022-06-20 10:46:36 -05:00
rpcross 698f031b7f
feat: separate MeetingRegistration rows for each registration type. updates the registration API (#3641)
* Registration API Update

- change MeetingRegistration.reg_type field to hold only one type
- allow multiple MeetingRegistration records per person/meeting
  (one for each reg_type)

* Fix scope claims

* Add meeting 114 to MeetingRegistration migration

* fix: update stats views for MeetingRegistration model use changes

* refactor: remove unused imports
2022-06-16 15:39:34 -05:00
Robert Sparks 8373914678
fix: complete the removal of ietf.__init__.date. (#3771)
Co-authored-by: Nicolas Giard <github@ngpixel.com>
2022-03-30 18:43:51 -03:00
Lars Eggert eb5423d084
ci: Also check generated HTML with the "vnu" validator (#3682)
* ci: Also check generated HTML with the "vnu" validator

Because HTML Tidy apparently misses a bunch of errors.

* thead -> tbody

* More fixes

* More fixes

* Start checker in test runner
2022-03-21 12:50:23 -05:00
Jennifer Richards 6c260a5b7e Merge 7.45.1.dev0 into Bootstrap 5 update branch. Made a first pass at reconciling differences.
- Legacy-Id: 19945
2022-02-17 20:09:49 +00:00
Lars Eggert cf629a42ad And more fixes.
- Legacy-Id: 19877
2022-01-25 10:14:25 +00:00
Lars Eggert c68446ae93 More select2 and test fixes.
- Legacy-Id: 19781
2021-12-14 18:19:12 +00:00
Lars Eggert e9fd78128c Interim commit
- Legacy-Id: 19765
2021-12-09 18:26:53 +00:00
Kesara Rathnayake 43513ed2f5 Adds private app authentication API for bibxml. Fixes #3480. Commit ready for merge.
- Legacy-Id: 19711
2021-11-25 04:26:30 +00:00
Lars Eggert 021ba39712 Reindent all templates with djhtml
- Legacy-Id: 19610
2021-11-10 09:41:11 +00:00
Jennifer Richards 81d9234d54 Use temporary directories instead of "real" filesystem for tests. Fixes #3414. Commit ready for merge.
- Legacy-Id: 19555
2021-11-05 19:45:57 +00:00
Robert Sparks 766a4638b2 Merged in [19344] from krathnayake@ietf.org:
Implements /api/appauth/authortools API endpoint. Fixes #3396.
 - Legacy-Id: 19364
Note: SVN reference [19344] has been migrated to Git commit dc833aa85c
2021-09-18 17:07:47 +00:00
Kesara Rathnayake dc833aa85c Implements /api/appauth/authortools API endpoint. Fixes #3396. Commit ready for merge.
- Legacy-Id: 19344
2021-09-06 11:42:16 +00:00
Ryan Cross 92f2d02207 Fix /api/v2/person/person to work with Robot apikey. Commit ready for merge.
- Legacy-Id: 19101
2021-06-09 18:13:17 +00:00
Robert Sparks 3697180cc1 Reverted merge of timezone-aware migration efforts.
- Legacy-Id: 18792
2021-01-12 16:54:20 +00:00
Henrik Levkowetz 774e752a54 Snapshot of timezone-aware datatracker code. Tests pass, and the test-crawler shows only expected differences. Trunk changes merged in up to r18768.
- Legacy-Id: 18770
2020-12-16 23:53:37 +00:00
Henrik Levkowetz ca79c61950 Added a 'dumptime' entry to the JSON return from /api/version, in order to be able to make sure that running 'test-crawl --diff' will use database data from the same dump to avoid false page diff positives. Commit ready for merge.
- Legacy-Id: 18752
2020-12-11 17:08:53 +00:00
Henrik Levkowetz 6cd3e6c83e Added Person.personextresource_set to the information returned in the personal-information JSON blob.
- Legacy-Id: 18543
2020-10-02 12:10:33 +00:00
Henrik Levkowetz 96330c3f43 Added a missing URL pattern for /api/openid/.
- Legacy-Id: 18496
2020-09-15 10:13:11 +00:00
Henrik Levkowetz 724e982a1c Added documentation of the OpenID Connect and version endpoints to /api/. Added some tests.
- Legacy-Id: 18487
2020-09-11 14:13:45 +00:00
Henrik Levkowetz ac31ea1f5d Added a datatracker version endpoint /api/version. Fixes issue #3077.
- Legacy-Id: 18486
2020-09-11 14:11:37 +00:00
Henrik Levkowetz 95bca1dbed Updated the bluesheet submission API tests slightly, to check correct handling of updates.
- Legacy-Id: 18447
2020-08-30 19:41:55 +00:00
Henrik Levkowetz da7c22f710 Added html.escape() in a test case in order to correctly handle affiliation names with ampersands.
- Legacy-Id: 18420
2020-08-26 16:04:50 +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 d8b11c4293 Removed an unused and unnecessary API endpoint, now that gather.town has gotten OpenID Connect authentication working.
- Legacy-Id: 18190
2020-07-17 19:33:15 +00:00
Henrik Levkowetz 9910d1ecf0 Added the use of local test directories instead of default settings for bluesheet files in the bluesheet upload API test.
- Legacy-Id: 18069
2020-06-26 15:37:21 +00:00
Henrik Levkowetz 3a76e4a935 Added an API endpoint for bluesheet information upload. Factored out code in common with manual upload_session_bluesheets(). Tweaked ietf.secr.proceedings.utils.handle_upload_file() to handle temp files in addition to http file objects, to support the API endpoint.
- Legacy-Id: 18067
2020-06-26 14:49:13 +00:00
Henrik Levkowetz b332233d6f Fixed a problem with the handling of multiple registrations for the same person and meeting in api_new_meeting_registration().
- Legacy-Id: 18059
2020-06-24 20:49:13 +00:00
Henrik Levkowetz ddf874bc77 Fixed an issue in a test function that could occasionally fail incorrectly.
- Legacy-Id: 18045
2020-06-24 11:07:11 +00:00
Henrik Levkowetz 9b672fc801 The registration system creates separate records for hackathon and session registration, but in order to provide OAuth2 registration information to for instance Meetecho we want just one consolidated record. Changed the handling of notifications from the registration system to aggregate reg_type and ticket_type information in one record.
- Legacy-Id: 18011
2020-06-17 15:44:37 +00:00
Henrik Levkowetz 980de4fac0 Removed an unused import
- Legacy-Id: 17959
2020-06-10 11:32:24 +00:00
Henrik Levkowetz 6e30b36515 Expanded the test case for api_new_meeting_registration() to test both the existing and new account case, and that additional table fields are set appropriately.
- Legacy-Id: 17958
2020-06-09 21:06:09 +00:00
Henrik Levkowetz 8547432583 Updated the api_new_meeting_registration() endpoint to set all provided fields correctly. Fixes a bug that left some fields unset.
- Legacy-Id: 17957
2020-06-09 21:04:12 +00:00
Henrik Levkowetz ec5d159b4f Added a new API endpoint to be used by the registration system, to trigger account creation.
- Legacy-Id: 17941
2020-06-08 19:51:10 +00:00
Henrik Levkowetz 0ba2c93d7f Added a showapikeys management command, to be able to easily see the api keys.
- Legacy-Id: 17935
2020-06-08 19:20:27 +00:00
Henrik Levkowetz 65c919b325 Added OpenID support through django-oidc-provider, with tests using the certified python oic module.
- Legacy-Id: 17919
2020-06-06 21:01:21 +00:00
Henrik Levkowetz b9b36dc124 Tweaked the meetecho access API fallback response to use person.plain_name instead of person.name.
- Legacy-Id: 17913
2020-06-06 20:13:54 +00:00
Henrik Levkowetz 950f1822bc Refined the makeresources management command slightly to improve handling of models with names ending in 'Resource' -- tastypie requires the resource name to be explicitly set in that case.
- Legacy-Id: 17858
2020-05-20 19:38:44 +00:00
Henrik Levkowetz 0bc19f0c7c Added group chair/secretary role information to the personal meetecho key API.
- Legacy-Id: 17806
2020-05-16 15:58:40 +00:00
Henrik Levkowetz eedd48d455 Simplified the URL and view code for the personal meetecho access API endpoint, and added test code.
- Legacy-Id: 17642
2020-04-15 17:19:54 +00:00
Henrik Levkowetz e01cc95f15 Tweaked some comments
- Legacy-Id: 17632
2020-04-15 12:02:28 +00:00
Henrik Levkowetz 0db30f3ca8 Updated the API v2 JsonExporMixin to not try to use an API key argument as a queryset argument when building the json response.
- Legacy-Id: 17631
2020-04-15 12:01:52 +00:00
Henrik Levkowetz bd934d0f2d Added a personal API key for meetecho access.
- Legacy-Id: 17630
2020-04-15 11:58:52 +00:00
Henrik Levkowetz 726fcbf27d Removed all __future__ imports.
- Legacy-Id: 17391
2020-03-05 23:53:42 +00:00
Henrik Levkowetz ab173cb2eb Removed further six usage: six.string_types, six.integer_types, six.moves.urllib instances.
- Legacy-Id: 17390
2020-03-05 20:46:58 +00:00
Henrik Levkowetz e9a37d8ac8 Removed six.text_type(), changed six.moves.urllib to plain urllib, and removed now unused six imports.
- Legacy-Id: 17385
2020-03-05 14:41:41 +00:00
Ole Laursen 3957743b85 Move Session.status, .requested, and .requested_by to a new SchedulingEvent
- Legacy-Id: 17122
2019-12-05 12:41:09 +00:00
Henrik Levkowetz 92a84117b4 Added a type hint stub file for ietf/api/__init__.py, to capture variables created during module initialization.
- Legacy-Id: 16804
2019-10-01 20:29:02 +00:00
Henrik Levkowetz bdc73e771a Python2/3 compatibility: replaced six.ensure_text() with either six.text_type or django's force_text(), depending on the case, and fixed a variable scope issue.
- Legacy-Id: 16461
2019-07-16 13:20:05 +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 a5e31c3f40 Py2/3 compatibility: Added __future__ import.
- Legacy-Id: 16452
2019-07-15 15:52:18 +00:00
Henrik Levkowetz 2d7c9629aa Added 'from __future__' imports all over the place, to bring code behaviour into closer alignment between python2 and python3
- Legacy-Id: 16446
2019-07-15 15:40:51 +00:00
Henrik Levkowetz 71ea5ae379 Updated the file header generated by the makeresources managment command to set Copyright and file encoding, and use io.open() for py2/3 compatibility.
- Legacy-Id: 16441
2019-07-15 14:35:25 +00:00
Henrik Levkowetz f481f5c3e6 Replaced use of six with the equivalent pure python3 constructs.
- Legacy-Id: 16428
2019-07-08 10:43:47 +00:00
Henrik Levkowetz 0679eaa8d4 Removed unused imports.
- Legacy-Id: 16402
2019-07-04 21:06:57 +00:00
Henrik Levkowetz f480799af9 Undid unintentional bulk commit
- Legacy-Id: 16401
2019-07-04 21:04:46 +00:00
Henrik Levkowetz fc09a59950 Added decode() of command pipe output.
- Legacy-Id: 16400
2019-07-04 21:01:39 +00:00
Henrik Levkowetz b7690fbdcd Changed additional regexes to r strings.
- Legacy-Id: 16377
2019-07-04 15:54:23 +00:00
Henrik Levkowetz 05f275a3af Changed instances of json.loads(r.content) to r.json(). Changed some instances of assert* to assertContains.
- Legacy-Id: 16338
2019-06-30 20:44:45 +00:00
Henrik Levkowetz 92350834c7 Give hashlib.md5() bytes instead of str.
- Legacy-Id: 16325
2019-06-28 20:20:18 +00:00
Henrik Levkowetz e39ac52071 Removed 2to3-generated list() around .items() iterator in for loops.
- Legacy-Id: 16315
2019-06-27 18:11:17 +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 b8e92d31da Added generation of Meta.ordering for API ModelResources in mkresources.
- Legacy-Id: 16283
2019-06-18 12:32:28 +00:00
Henrik Levkowetz 004d1d3aa8 Removed a debug statement.
- Legacy-Id: 15545
2018-10-09 13:51:54 +00:00
Henrik Levkowetz 8c985fe440 Turned the nomcom chair dropdown menu item 'Classify pending feedback' into a tab with a mail count badge.
- Legacy-Id: 15544
2018-10-08 15:11:21 +00:00
Henrik Levkowetz 8f2ba33059 Merged in [15263], [15264], [15265], [15287] from rcross@amsl.com:
Added new custom API endpoints for export of person data, restricted
    to secretariat use.  Added a test for the new custom API.
 - Legacy-Id: 15543
Note: SVN reference [15263] has been migrated to Git commit 8e7e0faf529db057ac4f7496d0bc84fb05f0625d

Note: SVN reference [15264] has been migrated to Git commit e6549635650d4d9f9a9de7c5b4711f5a4a25c42c

Note: SVN reference [15265] has been migrated to Git commit 7c0e97f824b874763550adf1647841129017bf5a

Note: SVN reference [15287] has been migrated to Git commit 7431bdfcd9f2213c812a9004162ca576ae230a94
2018-10-08 14:23:51 +00:00
Henrik Levkowetz fcbbe08eba Removed video url import from youtube, which is not needed any more given the /api/meeting/session/video/url API endpoint. This also prevents duplicate video URLs.
- Legacy-Id: 15424
2018-08-10 12:54:27 +00:00
Henrik Levkowetz 65fc1f8e0f Added additional checks to the meeting_session_video_url api test.
- Legacy-Id: 15377
2018-07-17 22:14:54 +00:00
Henrik Levkowetz 21f38a364e Replaced the use of a deprecated Django field attribute with the sanctioned replacement.
- Legacy-Id: 15315
2018-07-12 10:19:00 +00:00
Henrik Levkowetz 816f5de566 Added a missing related object to the person information export. Related to issue #2501.
- Legacy-Id: 15208
2018-06-04 14:27:43 +00:00
Henrik Levkowetz a62e9964a5 Added a recursive object to JSON serializer and a view which will let any logged-in user download a JSON serialized copy of the datatracker information related to his person record. Added information about this, and a link, to the account page. Related to issue #2501.
- Legacy-Id: 15206
2018-06-04 13:06:47 +00:00
Henrik Levkowetz a9fbea113b Changed incorrect use of 404 status code in api to 400. Fixes issue #2498.
- Legacy-Id: 15044
2018-04-13 11:11:48 +00:00
Henrik Levkowetz 33e7be35e3 Added more information about personal API keys to the API help page.
- Legacy-Id: 15031
2018-04-08 13:24:14 +00:00
Henrik Levkowetz 189cb2a2f9 Added another check to test_api_set_session_video_url()
- Legacy-Id: 14974
2018-03-30 18:21:57 +00:00
Henrik Levkowetz a1c79a075d Merged in ^/personal/henrik/6.76.1-meetecho-api/ which provides new API endpoint to let video urls be associated with sessions. Also added some more checks to the test_api_set_session_video_url() test.
- Legacy-Id: 14969
2018-03-29 15:25:36 +00:00
Henrik Levkowetz e8f999dc07 Added an API endpoint to let Meetech associate recording urls with sessions.
- Legacy-Id: 14967
2018-03-29 11:04:47 +00:00
Henrik Levkowetz 36b5e2ef8e Changed name from .rel to .remote_field for remote accessors.
- Legacy-Id: 14665
2018-02-21 23:56:36 +00:00
Henrik Levkowetz 6567e707ce Merged in ^/personal/henrik/6.64.2-ballotapi@14426. This provides personal API keys and a ballot position API at /api/iesg/position. Also added an endpoint description at /api/.
- Legacy-Id: 14430
2017-12-17 23:43:44 +00:00
Henrik Levkowetz e7209c6e50 Added a new personal event table to keep track of personal API key logins, and a management command to send out reports about activity to users with API keys. Added a weekly cronjob script to trigger weekly reports, and a monthly script for future use. Added a @require_api_key decorator to validate API keys for API key views and log in the API key owner. Modified the API key management urls to use create and disable rather than add and delete. Updated the API key list view. Added an API placeholder view function for ballot position setting, for test purposes. Added tests for the decorator and management command.
- Legacy-Id: 14426
2017-12-16 18:37:52 +00:00
Henrik Levkowetz 77d5f1c155 Added a test for the new API help page.
- Legacy-Id: 14299
2017-11-03 20:01:14 +00:00
Henrik Levkowetz 526003fd26 Added a brief REST API info page. In preparation for signing http notifications using RFC 7515, added information about API signing public/private keypair. Refactored api views to reside in api/views.py. Added jwcrypto to requirements.
- Legacy-Id: 14294
2017-11-03 16:17:00 +00:00
Henrik Levkowetz 3af2554b2f Added an API for draft submission, at /api/submit. Added an urls.py file under api/ to hold api urls, and moved those from ietf/urls.py. Refactored out many parts of the regular submission forms and functions in submit/forms.py and submit/views.py in order to re-use the appropriate parts for the submission API. Moved support functions to submit/utils.py. Added a new validation errors for missing docName in xml-based submissions. Updated the submission test document templates to use insert additional values. Added failure and success test cases for automated API submissions, and refactored some test utility functions.
- Legacy-Id: 14125
2017-09-16 09:35:42 +00:00
Henrik Levkowetz 27bf51cbb9 Removed some test code which isn't useful with tastypie 0.14.0
- Legacy-Id: 13768
2017-07-03 21:20:36 +00:00
Henrik Levkowetz e9b82e3425 Tastypie 0.14.0 does not support the callback parameter as earlier; disable the tests for this as we don't use it anyway.
- Legacy-Id: 13764
2017-07-03 17:38:33 +00:00
Henrik Levkowetz 023a32715d Merged in ^/branch/iola/author-stats-r13145 from olau@iola.com, with additional features from ^/personal/henrik/6.52.1-authorstats.
- Legacy-Id: 13550
2017-06-06 18:36:59 +00:00
Henrik Levkowetz d3decdcb61 Merged in [13485] from rcross@amsl.com:
Add import of YouTube session videos using YouTube Data API.  Fixes #2249.
 - Legacy-Id: 13509
Note: SVN reference [13485] has been migrated to Git commit 7ee2a16967
2017-06-03 23:58:05 +00:00
Ryan Cross 7ee2a16967 Add import of YouTube session videos using YouTube Data API. Fixes #2249. Commit ready for merge.
- Legacy-Id: 13485
2017-06-01 18:36:46 +00:00
Henrik Levkowetz 76628be3fd Merged in ^/branch/iola/author-stats-r13145 from olau@iola.dk, and fixed some tests in code which moved after the latest merge with trunk. The test suite passes, but the migrations are _not_ ready to run, because of numbering conflicts (again due to code changes on trunk since the latest sync).
- Legacy-Id: 13479
2017-05-31 20:59:26 +00:00
Henrik Levkowetz 9635e5e3e4 Fixed some pyflakes issues.
- Legacy-Id: 13313
2017-05-11 09:57:58 +00:00
Henrik Levkowetz c36e773a9d More fixes for the makeresources management command
- Legacy-Id: 13310
2017-05-11 05:06:41 +00:00
Henrik Levkowetz 405f76f238 Updated the makeresources command to use the current AppCommand.handle_app_config() interface.
- Legacy-Id: 13306
2017-05-10 20:08:40 +00:00
Ole Laursen 5b677dc6ba Merge author stats branch into new branch from trunk
- Legacy-Id: 13159
2017-03-28 14:36:40 +00:00
Henrik Levkowetz 69c9d25022 Merged in [13125] from rcross@amsl.com:
Add REST API endpoint to notify Datatracker that new recording files are available.
 - Legacy-Id: 13158
Note: SVN reference [13125] has been migrated to Git commit a50b09b152
2017-03-27 21:51:55 +00:00
Henrik Levkowetz 6110b15de1 Modified an API test to make it pickleable (for parallel test runs).
- Legacy-Id: 13156
2017-03-27 21:28:39 +00:00
Ryan Cross a50b09b152 Add REST API endpoint to notify Datatracker that new recording files are available. Commit ready for merge.
- Legacy-Id: 13125
2017-03-25 21:52:11 +00:00
Lars Eggert 8a70e9773d Fix various "RemovedInDjango20Warning" warnings. Commit ready for merge.
- Legacy-Id: 13112
2017-03-25 19:16:45 +00:00
Ole Laursen 9308948195 Add person, affiliation and country (through django-countries) to
DocumentAuthor, rename author field to email and make it optional (for
modeling old email-less submissions), remove the authors many to many
referencing field from Document as it is not really pointing the right
place.

Update the Secretariat tools to show affiliation and country.

Add migration for getting rid of the fake email addresses that the
migration script created some years ago (just set the author email
field to null).
 - Legacy-Id: 12739
2017-01-26 17:10:08 +00:00
Henrik Levkowetz 7b95411f58 The context_instance parameter to render_to_response() and render_to_string() is now deprecated. Fixed this, and generally changed the idiom render_to_response('template.html', {}, RequestContext(request)) to the newer and simpler render(request, 'template.html', {}). About 200 instances.
- Legacy-Id: 12637
2017-01-09 21:26:30 +00:00