Commit graph

958 commits

Author SHA1 Message Date
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
nick ba7e43ec31 fix: selenium 3.x webdriver start parameter
- Legacy-Id: 19547
2021-11-04 00:46:17 +00:00
Robert Sparks 6e3718ffb5 Merged in [19497] from rjsparks@nostrum.com:
Change email copy settings.
 - Legacy-Id: 19531
Note: SVN reference [19497] has been migrated to Git commit 107b1ffdcd
2021-11-02 18:15:06 +00:00
Robert Sparks d9dc4f55e2 Merged in [19493] from jennifer@painless-security.com:
Create management command base class that sends emails on exceptions. Fixes #3356 and #3357.
 - Legacy-Id: 19527
Note: SVN reference [19493] has been migrated to Git commit 968b775315
2021-11-02 17:40:28 +00:00
Robert Sparks 59597794b7 Merged in [19432] from lars@eggert.org:
Fix things that selenium deprecated in version 4.
 - Legacy-Id: 19504
Note: SVN reference [19432] has been migrated to Git commit 715b0949cc
2021-10-29 19:53:37 +00:00
Robert Sparks 107b1ffdcd Change email copy settings. Commit ready to merge.
- Legacy-Id: 19497
2021-10-29 17:33:42 +00:00
Jennifer Richards 968b775315 Create management command base class that sends emails on exceptions. Fixes #3356 and #3357. Commit ready for merge.
- Legacy-Id: 19493
2021-10-29 01:58:21 +00:00
Jennifer Richards 5cbe402036 Improvements to the timeslot and schedule editors (move new toggles to modals, handle overflowing session names, fix timeslot editor scrolling, add buttons to quickly create single timeslot, accept trailing slash on edit URL)
- Legacy-Id: 19449
2021-10-21 14:59:02 +00:00
Jennifer Richards 1054f90873 Snapshot of dev work to add session purpose annotation
- Legacy-Id: 19415
2021-10-12 17:08:58 +00:00
Mark J. Donnelly 604d6edef0 Add a new Django field, IETFJSONField
This field is needed because the plain JSONField does not permit empty arrays - [] - or empty objects - {} - when the field is marked as required.  Those values explicitly evaluate to a null value, and are rejected.

Instead, the IETFJSONField accepts two new arguments to control this:
- empty_values: An array of values that should evaluate to null/empty, and be rejected.
- accepted_empty_values: An array of values that should *not* evaluate to null/empty, and be accepted.

This allows the programmer to specify either a positive or negative statement of what values to accept.

Fixes issue #3331.  Commit ready for merge.
 - Legacy-Id: 19401
2021-10-07 19:30:51 +00:00
Robert Sparks 9d09cedc91 Merged in [19363] from rjsparks@nostrum.com:
Tune text draft reference extractor. Fixes #3404.
 - Legacy-Id: 19371
Note: SVN reference [19363] has been migrated to Git commit 50a1e6e66b
2021-09-19 14:56:42 +00:00
Robert Sparks 50a1e6e66b Tune text draft reference extractor. Fixes #3404. Commit ready for merge.
- Legacy-Id: 19363
2021-09-14 16:44:30 +00:00
Jennifer Richards c390fe012e Use live_server_url as IDTRACKER_BASE_URL in IetfLiveServerTestCase. Fixes #3203. Commit ready for merge.
- Legacy-Id: 19353
2021-09-07 18:18:13 +00: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
Jennifer Richards 336d762123 Allow configuration of group conflict types used for each meeting Fixes #2770. Commit ready for merge.
- Legacy-Id: 19266
2021-07-30 17:50:24 +00:00
Robert Sparks 338da98661 merged forward. Gave IAB same abilities as IESG.
- Legacy-Id: 19201
2021-07-06 20:19:12 +00:00
Robert Sparks 6b383255ad Staging for merge forward
- Legacy-Id: 19199
2021-07-06 18:05:54 +00:00
Jennifer Richards 044293b4a9 Fix broken meeting materials button on upcoming meetings page. Fixes #3278. Commit ready for merge.
- Legacy-Id: 19164
2021-06-28 18:57:20 +00:00
Kesara Rathnayake 0a645fd486 Parse RFC2047 formatted text properly in submission form. Fixes #2465. Commit ready for merge.
- Legacy-Id: 19120
2021-06-14 10:46:35 +00:00
Jennifer Richards 6cf9eb8dd1 Allow secretariat to edit document author list. Fixes #3185. Commit ready for merge.
- Legacy-Id: 18989
2021-05-11 18:40:28 +00:00
Robert Sparks 6d7a0b6d0f Merged in [18939] from jennifer@painless-security.com:
Consolidate repeated searchable field code into SearchableField class. Fix single-valued searchable fields. Make javascript test config reusable. Use Django Form.media for JS/CSS inclusion. Fixes #3196, #3204.
 - Legacy-Id: 18948
Note: SVN reference [18939] has been migrated to Git commit 17d37723f7
2021-04-12 22:07:03 +00:00
Jennifer Richards 17d37723f7 Consolidate repeated searchable field code into SearchableField class. Fix single-valued searchable fields. Make javascript test config reusable. Use Django Form.media for JS/CSS inclusion. Fixes #3196, #3204. Commit ready for merge.
- Legacy-Id: 18939
2021-04-09 15:18:11 +00:00
Russ Housley 44d8caaaae Log Unicode exception instead of printing them to the console when they occur building the email alias files.
- Legacy-Id: 18909
2021-03-09 21:19:11 +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 59b49c846b Fixed a number of TimeSlot-related issues, in particular related to getting the correct date from a timeslot. Also fixed the displayed slot times in the new schedule editors to show local times, not UTC times.
- Legacy-Id: 18785
2020-12-19 22:55:11 +00:00
Henrik Levkowetz a708bdf895 Refactored out a new test case DrafTestCase in order to re-use it to set up test directories with draft content, and updated the StatisticsTest to subclass it.
- Legacy-Id: 18783
2020-12-19 22:42:36 +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 9c0e215e73 Removed log noise when running in repair mode.
- Legacy-Id: 18726
2020-12-01 20:26:09 +00:00
Henrik Levkowetz 7384c03859 Merged in ^/personal/jennifer/7.17.1.dev0 from jennifer@painless-security.com:
This adds support for the simpler show/hide filtering to the ical agenda
views. It also significantly rearranges (and, I hope, improves the
organization of) the tests. In particular, it specifically tests that
the ical and HTML views include equivalent sets of events. Finally, the
agenda_filter.html template is reworked to be more modular.
 - Legacy-Id: 18631
2020-10-23 18:50:42 +00:00
Henrik Levkowetz 9cd45195ef Added timing information to the send_smtp() log entries.
- Legacy-Id: 18628
2020-10-23 13:36:44 +00:00
Jennifer Richards d67b298512 Use reworked filtering for ical agendas; refactor filter UI with office hours buttons and nicer formatting
- Legacy-Id: 18619
2020-10-16 16:06:07 +00:00
Henrik Levkowetz 020d560190 Grammar fix.
- Legacy-Id: 18562
2020-10-05 13:20:18 +00:00
Henrik Levkowetz 7d01c661f2 Merged in the agenda filtering improvements from jennifer@painless-security.com. This completely reworks the filtering of the IETF agenda, in order to not collide with page navigation and clean up a number of edge cases. It also reinstates the same kind of filtering for the upcoming meetings page.
- Legacy-Id: 18534
2020-09-30 11:39:40 +00:00
Jennifer Richards 97dd600a9b Rebase agenda customization from jennifer/7.13.1.dev0 to 7.17.1.dev0
- Legacy-Id: 18517
2020-09-24 14:27:30 +00:00
Henrik Levkowetz 51806b1964 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().
- Legacy-Id: 18503
2020-09-18 14:15:02 +00:00
Henrik Levkowetz e86bf0194b Added an assertion to catch an unexpected document state (no IESG state set). Updated the log.assertion() function to accept a "note" argument, for more informative assertion messages.
- Legacy-Id: 18479
2020-09-09 14:09:43 +00:00
Henrik Levkowetz 2355f7c0e8 Merged in [18378] from rjsparks@nostrum.com:
Improved the classification of some github related external resources. Tightened validation of new resource values.
 - Legacy-Id: 18449
Note: SVN reference [18378] has been migrated to Git commit 2b70735fd2
2020-08-31 15:21:42 +00:00
Henrik Levkowetz 16fb382943 Made the patch utility return information to distinguish already patched files from successful patch application, and modified our checks extensions to signal when patches have been applied and a ccommand needs to be re-run.
- Legacy-Id: 18386
2020-08-20 11:36:46 +00:00
Robert Sparks 2b70735fd2 Improved the classification of some github related external resources. Tightened validation of new resource values. Commit ready to merge.
- Legacy-Id: 18378
2020-08-17 23:50:22 +00:00
Henrik Levkowetz 07d60de46e Merged in /branch/iola/meeting-improvement-r17835@18048. This provides a new snapshot of the new schedule editor work, with improved edit page layout and details.
- Legacy-Id: 18358
2020-08-12 19:16:18 +00:00
Jennifer Richards ea3882034a Use querystring instead of URL hash for agenda filters
- Legacy-Id: 18353
2020-08-11 13:45:41 +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 35c7f0fd9d Added a utility function around the PermissionDenied exception, in order to easily be able to provide relevant information to the 403 template.
- Legacy-Id: 18332
2020-07-31 12:35:00 +00:00
Robert Sparks 2b10465aa7 Convert IRTF area groups into their own group type rather than attempting to overload AG. Fixes #3027. Commit ready for merge.
- Legacy-Id: 18298
2020-07-28 18:54:44 +00:00
Henrik Levkowetz f0baae3623 Made test parts that depends on yanglint conditional. Added some informational messages about tests skipped due to missing resources.
- Legacy-Id: 18255
2020-07-24 13:43:59 +00:00
Henrik Levkowetz 606cedd796 Merged in the ExtResource work from rjsparks@nostrum.com, based on a feature request and contributions from rsalz@akamai.com. This provides external resource models for Person, Group, and Document models, as a generalisation of the previous related-URL concept. This provides a consistent labelling and classification of URLs and other resources related to a Group, Document, or Person. The GroupURL (and similar) classes will be removed in a later step. Some DocumentURL instances (such as auth48 URLs) remain to convert, as they have come in with other merged-in work while the ExtResource work was in transit.
- Legacy-Id: 18192
2020-07-20 01:58:26 +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 c44dd5c5ea Added support for a meeting session order_number (denoting first session for this group in the meeting, second session, etc.) when filling in URL templates with session info using the 'format' filter. Used for the Meetecho video straming url for a session.
- Legacy-Id: 18174
2020-07-15 13:08:55 +00:00
Robert Sparks 99df95d542 Cleaned up created names. Improved validation during migration. Cleaned up migration output. Cleaned the last of the awp includes from secr views. Removed now unused secr templates. Build extresource urls correctly during submission and when creating group wikis.
- Legacy-Id: 18158
2020-07-13 16:03:39 +00:00
Henrik Levkowetz 1e1f056053 Changed the subclass of lxml.html.clean.Cleaner() to adapt to changes in the superclass in v4.5.2
- Legacy-Id: 18146
2020-07-11 20:20:50 +00:00
Robert Sparks 53f7bc3ce6 migrated forward
- Legacy-Id: 18144
2020-07-09 21:07:05 +00:00
Henrik Levkowetz 1654f9319e Reworked the support for remote access urls in the agenda_note and remote_instructions fields of Session objects so as to accept any of a list of conference service domains as remote call-in URLs -- not only webex.
- Legacy-Id: 18119
2020-07-01 14:17:01 +00:00
Henrik Levkowetz 0924640676 Removed the command to purge request_profiler entries, given that request_profiler is incompatible with Django 2.2
- Legacy-Id: 18107
2020-06-30 14:34:15 +00:00
Henrik Levkowetz cb9006eb26 Changed skip messages from test suites to use print() instead of sys.stderr.write(), to match other output from the test runner.
- Legacy-Id: 18087
2020-06-27 17:32:02 +00:00
Henrik Levkowetz dc5ca4eebc Merged in Django 2.1 upgrade changes.
- Legacy-Id: 18060
2020-06-24 20:51:00 +00:00
Henrik Levkowetz 6459638fad Adjusted the code to the 2.1 attribute name change from ._size to .size in upload file objects.
- Legacy-Id: 18054
2020-06-24 20:42:05 +00:00
Robert Sparks bf53bf1057 Merged forward. Added some missing parts to the XMPPURLValidator.
- Legacy-Id: 18050
2020-06-24 19:01:45 +00:00
Henrik Levkowetz 595dcb75e9 Fixed a silly bug in [18040]. 'settings' isn't a dictionary.
- Legacy-Id: 18043
Note: SVN reference [18040] has been migrated to Git commit e1ed51b0b6
2020-06-23 21:16:02 +00:00
Henrik Levkowetz e1ed51b0b6 Fixed a logging issue when running the test crawler.
- Legacy-Id: 18040
2020-06-23 20:38:33 +00:00
Henrik Levkowetz bf230a738b Added a test suite switch to optionally show logging output. Normally this is suppressed while running tests. In production, it goes to syslog's user facility. With --show-logging, it will go to the console when running tests.
- Legacy-Id: 18010
2020-06-17 15:05:57 +00:00
Ole Laursen 8bd9e5de6e Round the debug time sum
- Legacy-Id: 17998
2020-06-16 16:48:29 +00:00
Henrik Levkowetz 3589ea2cd9 Fixed two mypy issues with utils.log code to set loggin handlers.
- Legacy-Id: 17987
2020-06-14 18:32:45 +00:00
Henrik Levkowetz 0a7648b7de Improved the handling of logger enabling entries in UTILS_LOGGER_LEVELS to set a handler if none exists for a given logger.
- Legacy-Id: 17981
2020-06-13 21:31:31 +00:00
Henrik Levkowetz cb0817175e Tweaked the showloggers command help text.
- Legacy-Id: 17979
2020-06-13 21:28:32 +00:00
Henrik Levkowetz c5f6883624 Fixed a couple of mypy errors.
- Legacy-Id: 17977
2020-06-12 22:05:03 +00:00
Henrik Levkowetz 77524a333b Added a management command to list registered loggers, in order to see which can be configured in settings_local with the UTILS_LOGGER_LEVELS settings.
- Legacy-Id: 17974
2020-06-12 15:00:15 +00:00
Henrik Levkowetz 682036321d Reorganized the python logging setup slightly, and added a possibility to configure logging levels for individual loggers in settings_local.py
- Legacy-Id: 17973
2020-06-12 14:41:41 +00:00
Henrik Levkowetz 49bf6090d0 Updated the @require_api_key decorator to not check for recent login dates for staff (which would include robots)
- Legacy-Id: 17937
2020-06-08 19:24:42 +00:00
Henrik Levkowetz 5a2a255bcb Added django urlconfig namespace support in ietf.utils.test.get_callbacks() (needed when testing the reverse lookups in templates for oidc_provider).
- Legacy-Id: 17917
2020-06-06 20:19:54 +00:00
Henrik Levkowetz cd186fa04b Tweaked patch.py for Py3 compatibility.
- Legacy-Id: 17916
2020-06-06 20:17:31 +00:00
Henrik Levkowetz 0ca29a80c2 Tweaked log.unreachable() and log.assertion() for Py3 compatibility.
- Legacy-Id: 17915
2020-06-06 20:17:04 +00:00
Robert Sparks 324be05151 added an XMPP URL validator
- Legacy-Id: 17872
2020-05-21 21:27:36 +00:00
Robert Sparks 38ba0f401d merged forward
- Legacy-Id: 17868
2020-05-21 18:30:48 +00:00
Robert Sparks 7e57be2bd3 merged forward ^/personal/rjs/explore-extref
- Legacy-Id: 17840
2020-05-19 18:47:47 +00:00
Henrik Levkowetz 3a963eaf29 Removed a future import
- Legacy-Id: 17818
2020-05-18 10:59:59 +00:00
Henrik Levkowetz 488ff08352 Merged in ^/personal/henrik/6.129.2-django2.0 which contains an upgrade of Django from 1.11 to 2.0, with the code changes needed.
- Legacy-Id: 17817
2020-05-18 06:50:50 +00:00
Henrik Levkowetz d36d717fe5 Removed some debug code.
- Legacy-Id: 17810
2020-05-17 19:46:14 +00:00
Henrik Levkowetz bc05e7a8d0 Refactored many instances of msg.get_payload(decode=True).decode('utf-8') and similar to get_payload_text(msg), which uses msg.get_charset() to get the actual charset to do the decoding, in a consistent manner. Also removed some instances of force_str, but more remain.
- Legacy-Id: 17807
2020-05-16 20:20:05 +00:00
Henrik Levkowetz 6318d49b40 Added an utility function to get email payload as unicode text.
- Legacy-Id: 17800
2020-05-15 14:50:22 +00:00
Henrik Levkowetz 6d7c5b52ee Django 2.0 conversion. Test suite passes, except for javascript tests.
- Legacy-Id: 17762
2020-05-08 13:07:07 +00:00
Henrik Levkowetz c5a7cfaf10 Changed the verbosity of the purge_request_profiler_records command to require -v2 to show records deleted.
- Legacy-Id: 17704
2020-04-28 18:04:00 +00:00
Henrik Levkowetz 42995fadea Merged in ^/branch/iola/meeting-improvement-r17214@17617, which provides a new meeting schedule editor.
- Legacy-Id: 17701
2020-04-28 14:34:34 +00:00
Henrik Levkowetz bd53b197d8 Removed a debug statement
- Legacy-Id: 17693
2020-04-27 19:58:28 +00:00
Henrik Levkowetz 20013f28da Removed a debug statement.
- Legacy-Id: 17690
2020-04-26 10:44:55 +00:00
Henrik Levkowetz 59df536958 Added a template filter that is a replacement for Django's builtin 'date' filter, with a more polymorphic signature: It accepts either datetime or date input, and ignores time-specific format entries when handling a date.
- Legacy-Id: 17686
2020-04-25 11:29:15 +00:00
Robert Sparks 2de9eb93b5 Added validation to the migrations. Added external resources to the draft display page. Built an editor for DocExternalResources.
- Legacy-Id: 17683
2020-04-24 16:14:43 +00:00
Henrik Levkowetz 9aeda11a29 Removed some Py2 compatibility decorators.
- Legacy-Id: 17673
2020-04-21 13:54:31 +00:00
Henrik Levkowetz 3054b8cf58 Removed usage of maybe_create_svn_symlinks()
- Legacy-Id: 17668
2020-04-20 18:03:25 +00:00
Henrik Levkowetz 78963ecdef Added request profiler and a management command to purge profiler records.
- Legacy-Id: 17648
2020-04-15 20:48:08 +00:00
Henrik Levkowetz bba2149b5e Added exception handling in the require_api_key() decorator for AttributeError raised by the decorated function.
- Legacy-Id: 17629
2020-04-15 11:57:33 +00:00
Henrik Levkowetz 5a0a502ff9 Merged in the py3clean work, which removes usage of six and __future__ imports, along with other py2/3 compatibility code.
- Legacy-Id: 17619
2020-04-14 19:06:53 +00:00
Henrik Levkowetz f2b883d2bb Merged in ^/trunk@17617.
- Legacy-Id: 17618
2020-04-14 17:11:51 +00:00
Henrik Levkowetz 0df0a87a48 Added a workaround for the current libmagic which quite easily can mischaracterise text/plain documents as text/x-Algol68. Fixes issues #2941 and #2956.
- Legacy-Id: 17594
2020-04-07 18:33:24 +00:00
Henrik Levkowetz f10ddadc0e Merged in changes from trunk up to r17584.
- Legacy-Id: 17593
2020-04-07 16:02:52 +00:00
Henrik Levkowetz f86b87e2ed Merged in [17555] from rjsparks@nostrum.com:
Remove the not-quite-working customization widgets from /meeting/upcoming and /meeting/past. Simplify those views. Correct the list of sessions on those pages when one interim has more than one session. Fixes #2938. Partially addresses #2937.
 - Legacy-Id: 17556
Note: SVN reference [17555] has been migrated to Git commit e9756d8987
2020-03-28 15:38:10 +00:00
Robert Sparks e9756d8987 Remove the not-quite-working customization widgets from /meeting/upcoming and /meeting/past. Simplify those views. Correct the list of sessions on those pages when one interim has more than one session. Fixes #2938. Partially addresses #2937. Commit ready for merge.
- Legacy-Id: 17555
2020-03-27 22:47:38 +00:00
Henrik Levkowetz 827ab69705 Merged in [17521] from housley@vigilsec.com:
Improve performance of log.assertion() and log.unreachable()
 - Legacy-Id: 17535
Note: SVN reference [17521] has been migrated to Git commit 333abcab6d
2020-03-24 21:47:59 +00:00
Russ Housley 333abcab6d Improve performance of log.assertion() and log.unreachable()
- Legacy-Id: 17521
2020-03-23 22:02:58 +00:00
Ole Laursen e5943f814d Add support for displaying constraint hints when scheduling a task and
for displaying violated constraints in the new schedule editor, with
the old of a new field, ConstraintName.editor_label.

Add support for displaying room capacity violations.

Add support for selecting a session and displaying information about
it similar to the existing scheduling editor.

Add support for sorting unassigned sessions.

Clean up markup and styles a bit, and fix some bugs.

Expand HTML-based test and add JS test that exercises the
Javascript-based functionality.

Switch to using Chrome driver instead of PhantomJS since the HTML
engine in PhantomJS is apparently too old to support the constructs in
the new schema editor.

Add a workaround for LiveServerTestCase clashing with IetfTestRunner
fixture loading.
 - Legacy-Id: 17519
2020-03-23 17:55:36 +00:00
Henrik Levkowetz a0d1ffa7be Fixed a pyflakes issue.
- Legacy-Id: 17472
2020-03-20 18:59:16 +00:00