Commit graph

683 commits

Author SHA1 Message Date
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 3439f3d42c Tweaked a log.assertion() case.
- Legacy-Id: 17793
2020-05-14 15:47:41 +00:00
Henrik Levkowetz 111d27486f Added a pyflakes:ignore
- Legacy-Id: 17771
2020-05-10 14:25:27 +00:00
Henrik Levkowetz 0daddb5b91 Changed a log.assertion() to provide more information about the unexpected situation.
- Legacy-Id: 17770
2020-05-10 14:17:23 +00:00
Henrik Levkowetz 9aeda11a29 Removed some Py2 compatibility decorators.
- Legacy-Id: 17673
2020-04-21 13:54:31 +00:00
Henrik Levkowetz f2b883d2bb Merged in ^/trunk@17617.
- Legacy-Id: 17618
2020-04-14 17:11:51 +00:00
Henrik Levkowetz 5c3c3fff82 Changed the handling of some exceptions during draft submission to give user feedback rather than server 500 responses, in order to deal better with severely malformed drafts.
- Legacy-Id: 17595
2020-04-08 13:12:39 +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 4d345573ae Check if any files matching the submitted draft name and revision already exists on disk in the active drafts or archived drafts directories, and if so reject the submission. Fixes issue #2908
- Legacy-Id: 17498
2020-03-21 22:56:57 +00:00
Henrik Levkowetz e99fa4be40 Merged in [17419] from rjsparks@nostrum.com:
Don't warn about idcutoff when the cutoff is after the meeting starts. Fixes #2907.
 - Legacy-Id: 17422
Note: SVN reference [17419] has been migrated to Git commit edc41a8705
2020-03-11 21:46:02 +00:00
Robert Sparks edc41a8705 Don't warn about idcutoff when the cutoff is after the meeting starts. Fixes #2907. Commit ready for merge.
- Legacy-Id: 17419
2020-03-11 16:15:40 +00:00
Henrik Levkowetz 0f6a886ae0 Corrected the extent of a try/except block, moving more code inside the block. Fixes a submission exception that should just be a document error reported back to the user.
- Legacy-Id: 17411
2020-03-09 14:13:37 +00:00
Henrik Levkowetz 726fcbf27d Removed all __future__ imports.
- Legacy-Id: 17391
2020-03-05 23:53:42 +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
Henrik Levkowetz b4d7dd131a Added ability to use the submission API with active secondary email addresses. Fixes issue #2639.
- Legacy-Id: 17383
2020-03-04 18:05:56 +00:00
Henrik Levkowetz 095c3a2ccb Fixed an issue where the lookup of recognized country names during draft submission grabbed the unicode name instead of the ascii name for non-ascii country strings in XML submissions.
- Legacy-Id: 17345
2020-02-26 17:20:13 +00:00
Henrik Levkowetz a7baacf519 Added missing .as_strings() to some gather_address_lists() calls, in order to assign strings rather than lists to Message CharField instances. Fixed a Message content_type setting.
- Legacy-Id: 17337
2020-02-26 16:59:18 +00:00
Henrik Levkowetz 9439f718d4 Wrapped more code in an exception block, in order not to continue processing after an XML parse exception. Fixes issue #2885.
- Legacy-Id: 17305
2020-02-18 20:20:09 +00:00
Henrik Levkowetz e79eb56c01 Changed the xml parser settings for legacy xml draft submissions to remove comments before converting to .txt. Fixes and issue with comments in <artwork> text.
- Legacy-Id: 17297
2020-02-16 15:48:45 +00:00
Henrik Levkowetz 65ca6e240c Added some raw_id fields to avoid long page load times
- Legacy-Id: 17267
2020-01-30 22:13:29 +00:00
Henrik Levkowetz 096c08aac4 Added a test case for draft submission errors due to periods in document names.
- Legacy-Id: 17251
2020-01-18 15:07:51 +00:00
Henrik Levkowetz 060539cf1f Added a suggestion to the error message issued for invalid characters in document names found in draft submission XML files, when the invalid character is a period. In this particular case, the problem most likely is inclusion of the filename extension in the document name. Fixes issue #2874.
- Legacy-Id: 17250
2020-01-18 15:06:17 +00:00
Henrik Levkowetz edf28348aa Changed draft submission field validation taking place in clean() to associate the errors with the field in question, rather than raising them as general form errors.
- Legacy-Id: 17249
2020-01-18 15:01:35 +00:00
Henrik Levkowetz 76ee1b8cdf Fixed a Py3 issue trying run .decode() on (already decoded) str.
- Legacy-Id: 17248
2020-01-18 14:59:08 +00:00
Henrik Levkowetz 3db48727ea Specified explicit UTF-8 decoding of submission checker output
- Legacy-Id: 17194
2020-01-07 22:26:00 +00:00
Henrik Levkowetz 6482254a03 Merged in ^/branch/akayla/irsg/6.113.1.dev0 from peter@akayla.com.
This provides support for IRSG ballots, similar to the IESG ballots support which has been in use for quite some time.  The IRSG ballots differ from IESG ballots in a number of ways, described in detail in the RFP and SoW for this work and implemented here.
 - Legacy-Id: 17164
2019-12-20 15:00:55 +00:00
Henrik Levkowetz 202d112e0d Added handling for a decoding exception during submission processing.
- Legacy-Id: 17151
2019-12-16 13:32:51 +00:00
Peter E. Yee bb7e504d14 12/13 merged into 6.113.1.dev0 with migration ordering failure
- Legacy-Id: 17149
2019-12-13 19:53:45 +00:00
Henrik Levkowetz ac6b664fa5 Added normalization of draft title extracted from submitted XML.
- Legacy-Id: 17119
2019-12-02 16:24:51 +00:00
Henrik Levkowetz c486ec8003 Fixed naming of staged xml draft submission files and tweaked the arguments for the xml2rfc parser invocation for xml draft submissions. Added some more logging.
- Legacy-Id: 17075
2019-11-21 04:35:31 +00:00
Henrik Levkowetz 98dc8e99f3 Changed the call arguments for submission tool conversion from XML to v3 text to match those of the standalone tool. Fixes an issue where <sourecode> would have line ends stripped when converted by the datatracker.
- Legacy-Id: 17021
2019-11-12 18:27:01 +00:00
Henrik Levkowetz b7724c43d7 Changed some # type: ignore statements to work with the latest mypy
- Legacy-Id: 16968
2019-11-05 22:41:18 +00:00
Henrik Levkowetz bf299bbfb5 Be more liberal with v3 xml submissions.
- Legacy-Id: 16956
2019-11-04 18:13:22 +00:00
Henrik Levkowetz 994e0ba6cc Moved the code that generates .txt and .html draft files from .xml to a place where potential errors can be caught and displayed better. Related to ticket #2814.
- Legacy-Id: 16862
2019-10-15 14:33:35 +00:00
Henrik Levkowetz 5b3b9c2791 Reverting the previous commit
- Legacy-Id: 16857
2019-10-10 18:32:49 +00:00
Henrik Levkowetz c58f370104 Updated requirements3.txt. Explicitly listing mypy version requirements is counter-productive as it is determined by django-stubs.
- Legacy-Id: 16856
2019-10-10 18:31:25 +00:00
Henrik Levkowetz 9d4ca615d3 Merged in [16607] from rcross@amsl.com:
Fix issue where third session requests, which rerequire AD approval, get left with approved status, instead of scheduled, after Secretraiat sends out notifications of official schedule.  Fixes #2765.
 - Legacy-Id: 16817
Note: SVN reference [16607] has been migrated to Git commit 9a82586e1b
2019-10-02 20:55:54 +00:00
Henrik Levkowetz 07375b46f8 Added log.unreachable() for the code that creates unknown-email-*' addresses. Addresses issue #2696.
- Legacy-Id: 16814
2019-10-02 17:45:44 +00:00
Henrik Levkowetz 33e8733b91 Fixed up mypy issues or added type:ignore comments as needed for a clean mypy run.
- Legacy-Id: 16772
2019-09-30 15:42:18 +00:00
Henrik Levkowetz e0479d8d13 Changed the call signature of docevent_from_submission() to take an optional Person object, rather than person name. Added a type hint for the signature.
- Legacy-Id: 16764
2019-09-29 20:00:49 +00:00
Henrik Levkowetz a1db2d5aef Tweaked the condition for waiving submission email confirmation slightly.
- Legacy-Id: 16760
2019-09-27 06:12:55 +00:00
Henrik Levkowetz 3939c0b88c Changed draft submission to not require an email round-trip when the submitter is logged in. Added corresponding test cases.
- Legacy-Id: 16749
2019-09-26 14:43:26 +00:00
Henrik Levkowetz 466bd0675e Added asciiFullname and asciiSurname attributes to the XML submission test template.
- Legacy-Id: 16748
2019-09-26 14:41:48 +00:00
Henrik Levkowetz 125ec9b3b7 Added a template interpolation variable for document title to the submission test text template.
- Legacy-Id: 16747
2019-09-26 14:40:36 +00:00
Henrik Levkowetz eabf121abe Added code to detect conflicting information for draft name, revision, and title when both XML and text versions of a document are submitted.
- Legacy-Id: 16746
2019-09-26 14:38:47 +00:00
Henrik Levkowetz 78889979a1 Changed the draft submission form and views so that an email address is required for each author in order to complete self-service draft submission. It is possible to add these as metadata updates, but this will lead to submission through the secretariat (and the email addresses will still be required). Also updated related templates to make the handling of form section headings more consistent.
- Legacy-Id: 16745
2019-09-23 17:26:16 +00:00
Henrik Levkowetz a3f59ee9a2 Added conversion of version 3 XML draft submissions to v3 HTML, in addition to text. Added a link to HTML versions (when present) to the document status page, and renamed the link to the htmlized version to 'htmlized'. Converted the submission XML test-file to version 3. Added test code to check that HTML is generated for version 3 XML submissions.
- Legacy-Id: 16737
2019-09-20 14:24:44 +00:00
Henrik Levkowetz 44f42cdb3a Undid the previous commit
- Legacy-Id: 16735
2019-09-20 11:30:04 +00:00
Henrik Levkowetz e3e9f676b7 Added class 'bg-danger' to submission error messages. The big 'Meta-Data errors found' pane on red background is so noticeable that class 'text-danger' which gives bold text is insufficient to stand out clearly. Adding 'bg-danger' gives the specific error messages red background, too.
- Legacy-Id: 16734
2019-09-20 11:28:53 +00:00
Henrik Levkowetz 8e313e4ed5 Adjusted migrations for Python2/3 compatibility.
- Legacy-Id: 16633
2019-08-08 17:11:14 +00:00
Henrik Levkowetz 22e0d39e4b Fixed an issue where text file charset information would be overwritten on upload of multiple files for a draft. Fixes issue #2768.
- Legacy-Id: 16626
2019-08-06 15:41:13 +00:00
Henrik Levkowetz 915d8e3c2a Added LookupError to the exceptions caught during text upload decoding, leading to upload form validation error.
- Legacy-Id: 16573
2019-07-22 15:47:40 +00:00
Henrik Levkowetz e03784132d Merged changes from current trunk to Py3 branch.
- Legacy-Id: 16468
2019-07-16 15:36:16 +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 ea8c84d2f6 Python2/3 compatibility: used @python_2_unicode_compatible to provide __unicode__() versions of __str__() methods.
- Legacy-Id: 16455
2019-07-15 18:01:26 +00:00
Henrik Levkowetz 99a7f9c263 Python2/3 compatibility: Added force_str or force_bytes in some places, to ensure the argument right type
- Legacy-Id: 16453
2019-07-15 17:13:46 +00:00
Henrik Levkowetz 855716e1d5 Py2/3 compatibility: Added __future__ import
- Legacy-Id: 16448
2019-07-15 15:46:06 +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 f481f5c3e6 Replaced use of six with the equivalent pure python3 constructs.
- Legacy-Id: 16428
2019-07-08 10:43:47 +00:00
Henrik Levkowetz 48bab56be9 Removed a print() call
- Legacy-Id: 16420
2019-07-07 13:04:20 +00:00
Henrik Levkowetz 1225f8af6b Refactored submission code to be clearer and only do mimetype extraction in one place, made the point where files are saved less obscure, fixed bytes/str issues for file read and write, fixed regex strings, fixed variable name visibility due to scope changes in py3.
- Legacy-Id: 16375
2019-07-04 15:49:42 +00:00
Henrik Levkowetz 2e92652eaa Changed a regex to use an r string. Added decoding of command pipe output.
- Legacy-Id: 16374
2019-07-04 15:45:18 +00:00
Henrik Levkowetz b54e033474 Fixed an error in the handling of long draft names extracted from xml source.
- Legacy-Id: 16363
2019-07-03 19:56:04 +00:00
Henrik Levkowetz 97a555936d Changed a large number of test assertions to use assertContains() and removed separate, now unnecessary,status_code checks. Also changed many assertTrue(... in ...) to use assertIn().
- Legacy-Id: 16346
2019-06-30 21:03:34 +00:00
Henrik Levkowetz 15e74e89cb Converted instances of assertTrue(text in response.content) to the recommended assertContains(response, text), and similar for assertFalse(... in ...)
- Legacy-Id: 16336
2019-06-29 13:43:31 +00:00
Henrik Levkowetz 484dcece5f Changed all model __unicode__() methods to __str__()
- Legacy-Id: 16330
2019-06-28 21:07:08 +00:00
Henrik Levkowetz 3ec7e864be Converted leading tabs to spaces in ietf/**/*.py
- Legacy-Id: 16310
2019-06-27 14:51:02 +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 13705976e2 Merged in [16287] from rjsparks@nostrum.com:
Send mail to a list when a new IETF WG -00 is submitted. Fixes #2730.
 - Legacy-Id: 16289
Note: SVN reference [16287] has been migrated to Git commit 9ace7db719
2019-06-19 14:32:25 +00:00
Henrik Levkowetz db12f2b948 Fixed some name versus pk issues lingering after the Document/DocAlias primary key refactoring. Fixes issue #2729.
- Legacy-Id: 16288
2019-06-19 12:57:52 +00:00
Robert Sparks 9ace7db719 Send mail to a list when a new IETF WG -00 is submitted. Fixes #2730. Commit ready for merge.
- Legacy-Id: 16287
2019-06-18 21:24:49 +00:00
Henrik Levkowetz 7270d5f67a Added the option to order API resource lists by primary key, for stable ordering when paging through a list.
- Legacy-Id: 16284
2019-06-18 12:40:19 +00:00
Henrik Levkowetz a5cf8b6a3b Added a better error message for too long draft names during submission.
- Legacy-Id: 16281
2019-06-17 18:25:05 +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 d300a82845 Added validation of draft names extracted from XML submission files.
- Legacy-Id: 16239
2019-06-12 22:06:53 +00:00
Henrik Levkowetz 5e796292ff Added class inheritance from 'object'.
- Legacy-Id: 16238
2019-06-12 21:31:42 +00:00
Henrik Levkowetz 815602351f This is a series of 50 migrations that changes the Document and DocAlias
primary keys from character strings to integers, and makes corresponding code
changes.

This was prompted by database limitations discovered when trying to make
DocAlias use a m2m document field; with 255 long strings as primary keys for
Document and DocAlias this violated the MySQL database limitations.

Changing the primary keys to integers should also improve efficiency.  

Due to the data migrations which create the new integer primary keys and adds
corresponding integer foreign keys matching the previous string foreign keys
in all tables having foreign keys to Document and DocAlias, some of these
migrations take a long time.  The total set of migrations are expected to have
a runtime on the order of 2 hours.
 - Legacy-Id: 16237
2019-06-10 11:32:46 +00:00
Henrik Levkowetz 94de3e0f7e Refined the handling of draft xml version 3 versus version 2.
- Legacy-Id: 16229
2019-06-03 14:51:34 +00:00
Henrik Levkowetz 175c75cfaf Removed a debug print statement
- Legacy-Id: 16111
2019-03-28 10:11:33 +00:00
Henrik Levkowetz 2f31f7fb88 Temorary workaround to upload xml validation. The tree.validate() of xml2rfc should be updated to check vocabulary version and validate against the appropriate schema, to fix this properly.
- Legacy-Id: 16101
2019-03-25 10:56:30 +00:00
Henrik Levkowetz 07fa09b6dc Removed a debug print statement
- Legacy-Id: 15963
2019-02-25 12:30:52 +00:00
Henrik Levkowetz e8a59ce1e5 Rewrote the submission deduce_group() to consider all groups with acronyms that are also GroupTypeNames. Added GroupTypeName for iesg,ise,adhoc groups, and appropriate GroupFeatures for each. Updated the names.json fixture.
- Legacy-Id: 15960
2019-02-21 15:27:58 +00:00
Henrik Levkowetz fc5dd02c27 Fixed a submission failure for xml files missing abstract sections.
- Legacy-Id: 15933
2019-02-07 15:26:26 +00:00
Henrik Levkowetz b57ad67041 Updated code and templates to use the new docman and groupman group features.
- Legacy-Id: 15922
2019-01-30 15:59:00 +00:00
Henrik Levkowetz c87d3741f3 Added 2 utility functions to help create group features query filters, and applied them in 3 places in order to move group feature role list code back into DB queries.
- Legacy-Id: 15911
2019-01-23 18:40:39 +00:00
Henrik Levkowetz 57a4c9f41f Added 9 new group features, and changed list-like char fields to json fields, to get better support for using the values as lists. Modified code to use the group features instead of explicit lists of group types in many places in the code.
- Legacy-Id: 15908
2019-01-22 18:11:46 +00:00
Henrik Levkowetz 47aaf48cd5 Merged in [15833] from rjsparks@nostrum.com:
Incremental improvements to the submit_existing tests.
 - Legacy-Id: 15873
Note: SVN reference [15833] has been migrated to Git commit 21a673490b
2019-01-07 17:56:04 +00:00
Henrik Levkowetz 879f44a2ab Merged in [15829] from rjsparks@nostrum.com:
Make state/substate changes on new submissions sensitive to stream. Fixes #2642.
 - Legacy-Id: 15872
Note: SVN reference [15829] has been migrated to Git commit 3d6c1f991b
2019-01-07 15:51:07 +00:00
Henrik Levkowetz 0cc7f73d58 Additional tweaks to submission yang testing and the test runner
- Legacy-Id: 15870
2019-01-07 13:38:44 +00:00
Henrik Levkowetz 2634e2143a Added a bit of additional checking to test_submit_invalid_yang.
- Legacy-Id: 15869
2019-01-07 11:43:28 +00:00
Robert Sparks 21a673490b Incremental improvements to the submit_existing tests. Commit ready for merge.
- Legacy-Id: 15833
2018-12-18 23:22:40 +00:00
Robert Sparks 3d6c1f991b Make state/substate changes on new submissions sensitive to stream. Fixes #2642. Commit ready for merge.
- Legacy-Id: 15829
2018-12-17 22:38:22 +00:00
Robert Sparks 6118975620 Added an explicit ID-Exists state for the IESG state machine. Reworked code so that the IESG state machine always has a state. Added the ability to release a document from a working group, research group, or the independent stream. Releasing a document removes all stream state, and sets the document to have no stream.
- Legacy-Id: 15809
2018-12-11 22:38:05 +00:00
Henrik Levkowetz 8180716efa Added a couple of assertion to help understand test coverage percentage variations
- Legacy-Id: 15751
2018-11-11 12:19:29 +00:00
Henrik Levkowetz ef3cbf4684 Merged in [15595] from rjsparks@nostrum.com:
Converted stats, submit, sync. and utils/test to use factories. Excluded utils/test_data from coverage checks.
 - Legacy-Id: 15599
Note: SVN reference [15595] has been migrated to Git commit 39e76a836996ec9ed8ea449c92bdfae91c3dbaae
2018-10-19 12:54:58 +00:00
Henrik Levkowetz 232774a5cc Adjusted the test_submit_nonascii_name() to match the output from idnits 2.16.0, which emits warnings rather than errors for nonascii content.
- Legacy-Id: 15525
2018-10-07 14:18:00 +00:00
Henrik Levkowetz c14b02cfa4 Fixed a problem where an exception could be raised when reporting an exception during draft XML processing to the user.
- Legacy-Id: 15491
2018-09-27 13:36:25 +00:00
Henrik Levkowetz b2bfc7858a Generalized the log.assertion() function a bit to be able to provide more information on assertion failure.
- Legacy-Id: 15426
2018-08-10 15:31:12 +00:00
Henrik Levkowetz dab5b81ae2 Fixed display of xml2rfc exceptions when processing draft submission in xml form.
- Legacy-Id: 15371
2018-07-17 14:23:18 +00:00
Henrik Levkowetz e87442f33a Merged in [15282] from housley@vigilsec.com:
Set reply-to for I-D Announcements that include a CC to a mail list.  Fixes #2530.
 - Legacy-Id: 15289
Note: SVN reference [15282] has been migrated to Git commit 733c304e3d
2018-07-10 17:16:47 +00:00
Russ Housley 733c304e3d Set reply-to for I-D Announcements that include a CC to a mail list. Fixes #2530.
- Legacy-Id: 15282
2018-06-29 18:15:42 +00:00
Henrik Levkowetz 4db4dd16b0 Merged in ^/personal/henrik/6.79.1-gdpr@15180 containing GDPR-adaptations.
- Legacy-Id: 15181
2018-05-28 11:26:24 +00:00
Henrik Levkowetz b1440e818b Added assingment of the person.name_from_draft field on draft submission. To be used to replace the content of person.name if someone requires removal of consent-based name info.
- Legacy-Id: 15178
2018-05-26 08:40:58 +00:00
Henrik Levkowetz 6c3ec5b18e Added Email origin to Email record creation throughout the codebase.
- Legacy-Id: 15149
2018-05-17 16:56:26 +00:00
Henrik Levkowetz dda9c0136c Overwrite earlier email origin when we've picked up the address from a submission.
- Legacy-Id: 15141
2018-05-08 16:23:27 +00:00
Henrik Levkowetz f0c0753e28 Added email origin information to some function calls that needed it.
- Legacy-Id: 15130
2018-05-05 12:49:10 +00:00
Henrik Levkowetz 5f37a71889 Added origin information to all places where we create email address entries.
- Legacy-Id: 15127
2018-05-05 12:40:30 +00:00
Henrik Levkowetz d076a1728c Added a 'recent drafts' page, showing drafs submitted the last 7 days.
- Legacy-Id: 15099
2018-05-01 17:55:22 +00:00
Henrik Levkowetz fec59ad937 Fixed a PyQuery property access that should have been a method call.
- Legacy-Id: 15087
2018-04-26 11:51:39 +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 9bd18df83b Use .assertIn(...) in tests instead of .assertTrue(x in y) as the failure messages are much more informative
- Legacy-Id: 15026
2018-04-07 10:09:07 +00:00
Henrik Levkowetz 327ffb6559 Test data template tweak.
- Legacy-Id: 14873
2018-03-20 13:17:29 +00:00
Henrik Levkowetz 04495217bc Merged in [14863] from rjsparks@nostrum.com:
Improved test coverage for ietf.utils.draft.
 - Legacy-Id: 14872
Note: SVN reference [14863] has been migrated to Git commit 1d021770a8
2018-03-20 12:58:44 +00:00
Henrik Levkowetz b75ee89865 Added a test case for reference extraction.
- Legacy-Id: 14869
2018-03-20 11:04:12 +00:00
Robert Sparks 1d021770a8 Improved test coverage for ietf.utils.draft. Commit ready for merge.
- Legacy-Id: 14863
2018-03-18 18:52:43 +00:00
Henrik Levkowetz 6e5e50c78c Added an error message for missing email in extracted author information during automated draft submission.
- Legacy-Id: 14743
2018-03-07 16:42:57 +00:00
Henrik Levkowetz 5573dc00d0 Find person by email during draft submission also if email case doesn't match.
- Legacy-Id: 14723
2018-03-02 21:27:13 +00:00
Henrik Levkowetz 1ed8e967e7 Merged in ^/personal/henrik/6.72.1-django-1.11@14676: Upgrade to Django 1.11
- Legacy-Id: 14695
2018-02-25 19:55:16 +00:00
Henrik Levkowetz 00a97a47fe Changed an exception handling to not depend on exceptions having a .msg element
- Legacy-Id: 14687
2018-02-23 14:48:18 +00:00
Henrik Levkowetz 8a9dcfc856 Call the xml2rfc parser with normalize=True, in alignment with xml2rfc internal use.
- Legacy-Id: 14686
2018-02-23 13:46:28 +00:00
Henrik Levkowetz 26bf387356 Replaced direct assignment to m2m fields with .clear() and .set()
- Legacy-Id: 14666
2018-02-21 23:58:25 +00:00
Henrik Levkowetz a4768bb514 Removed unused imports. Added some explicit orderings to avoid pagination issues.
- Legacy-Id: 14664
2018-02-21 23:54:31 +00:00
Henrik Levkowetz 06362ec046 Got rid of old migrations and created new initial migrations.
- Legacy-Id: 14662
2018-02-21 23:46:22 +00:00
Henrik Levkowetz 5638cf3da3 Changed all usage of ForeignKey and OneToOneFiled in model.py files to the compatibility versions from ietf.utils.models.
- Legacy-Id: 14661
2018-02-20 15:36:05 +00:00
Henrik Levkowetz fcc22da623 Removed a chunk of code that won't be executed in all test environments from the test coverage measurements
- Legacy-Id: 14550
2018-01-23 17:29:41 +00:00
Henrik Levkowetz 4695ec5383 Restricted automatic IANA state change into 'Version Changed - Review Needed' on new draft revisions to events before document approval, based on conversation with Michelle.
- Legacy-Id: 14486
2018-01-04 12:31:05 +00:00
Henrik Levkowetz 8ff59cd41c Fixed some issues with a migration. The migration has been re-run on production.
- Legacy-Id: 14484
2017-12-31 15:37:18 +00:00
Henrik Levkowetz 29a0c8a47f Added a data migration to create yang catalog links for yang documents published before the yang catalog link feature was introduced in the datatracker.
- Legacy-Id: 14447
2017-12-19 15:08:33 +00:00
Henrik Levkowetz 47a0b9d3ce Changed handling of yang modeules from drafts with errors, to not place them in separate directories, due to possible follow-on effects. Added use of IANA-held modules when validating, and regular rsyncing from IANA.
- Legacy-Id: 14389
2017-12-04 14:37:15 +00:00
Henrik Levkowetz 98d234cd86 Refactored the handling of BallotDocEvent in tests, only creating them as needed, in preparation for stricter checks on state transitions to avoid mismatches between state and ballot.
- Legacy-Id: 14380
2017-11-30 16:02:31 +00:00
Henrik Levkowetz b6f0fbd52d Added new checker runs for all active drafts with yang modules to the yang link data migration, in order to make sure to have module information available.
- Legacy-Id: 14277
2017-11-02 14:49:51 +00:00
Henrik Levkowetz 370a0e3d94 Added a progress bar to the submission checker json field upgrade migration.
- Legacy-Id: 14276
2017-11-02 14:48:28 +00:00
Henrik Levkowetz 6edcd1b407 Capture messages from xym's get_extracted_models()
- Legacy-Id: 14275
2017-11-02 14:45:58 +00:00
Henrik Levkowetz a25ee4e50d Fixed an initialization error.
- Legacy-Id: 14271
2017-11-01 20:58:21 +00:00
Henrik Levkowetz 48a81862b8 Added a data migration to upgrade the submission checker json details to a consistent format.
- Legacy-Id: 14269
2017-11-01 14:45:25 +00:00
Henrik Levkowetz 1e98a58386 Added missing in-loop variable initializations in the yang checker code. Fixes issue #2397.
- Legacy-Id: 14268
2017-11-01 14:40:56 +00:00
Henrik Levkowetz 02ec2aa7e3 Included the path for draft moduled found invalid in the module paths when running yanglint, in order to avoid some unhelpful model not found messages. Fixes issue #2398.
- Legacy-Id: 14266
2017-11-01 14:00:24 +00:00
Henrik Levkowetz ec02ed5cdd Removed case sensitivity in the submission API when comparing the submitter email address with the email addresses found in the draft. Fixes issue #2396.
- Legacy-Id: 14265
2017-11-01 13:47:12 +00:00
Henrik Levkowetz 130261e781 Removed some debug statements.
- Legacy-Id: 14242
2017-10-30 12:28:51 +00:00
Henrik Levkowetz 7edb4da711 Added draft URLs pointing to Yang resources (impact analysis and model metadata) for submissions containing Yang modules.
- Legacy-Id: 14237
2017-10-30 11:30:01 +00:00
Henrik Levkowetz 54088de325 Changed the submission checkers to return more information in the checker details json blob; in particular added information about individual extracted code modules associated with a draft. This is used by the yang valididty checker to return a list of extracted yang modules.
- Legacy-Id: 14236
2017-10-30 11:28:19 +00:00
Henrik Levkowetz 8f2247ad1d Changed the SubmissionCheck.time field to use a default now value, instead of auto_now, to permit migrations without changing the timestamps.
- Legacy-Id: 14235
2017-10-30 11:25:40 +00:00
Henrik Levkowetz f795fa56b9 Changed the SubmissionCheck.time field to use a default now value, instead of auto_now, to permit migrations without changing the timestamps.
- Legacy-Id: 14234
2017-10-30 11:24:47 +00:00
Henrik Levkowetz 7c9364b61f Added some more debugging output for occasional author extraction failures during test. See also [14226].
- Legacy-Id: 14233
Note: SVN reference [14226] has been migrated to Git commit 215008211a
2017-10-30 11:22:45 +00:00
Henrik Levkowetz 215008211a Added some debugging code to help identify random test failures
- Legacy-Id: 14226
2017-10-27 05:53:23 +00:00
Henrik Levkowetz ac69d9889d Added a guard against feeding int() a non-numeric string during submission confirmation and a log assertion to report same.
- Legacy-Id: 14202
2017-10-10 15:02:00 +00:00
Henrik Levkowetz 437a622141 Set a temporary state 'confirmed' when handling submission confirmations in order to avoid running the confirmation code multiple times on multiple form submits.
- Legacy-Id: 14191
2017-10-07 13:34:14 +00:00
Henrik Levkowetz 7b2d921a5a Tweaked the submission search form to accept draft names which include revision numbers. Fixes issue #2380.
- Legacy-Id: 14171
2017-09-27 15:08:40 +00:00
Henrik Levkowetz 2d817427fc Added a cancel button to the submission confirmation page. Fixes issue #2379.
- Legacy-Id: 14170
2017-09-27 14:18:12 +00:00
Henrik Levkowetz 328c6c6ab8 Added a submission state filter to the submission admin page.
- Legacy-Id: 14169
2017-09-27 14:15:31 +00:00
Henrik Levkowetz d0583f4f02 Removed the repeat of the error message in the HTTP reason string. Fixes issue #2378.
- Legacy-Id: 14168
2017-09-27 11:03:25 +00:00
Henrik Levkowetz 2c1438c240 Moved unidecode_name from utils.text to person.name.
Modified UserFactory to use a new locale for each new user, instead of the
same locale for a whole test run.  This (almost) ensures the exercise of
code to deal with non-ascii names, something which would not happen if a
locale with ascii names was chosen at the start of a run.

Modified name.initials() to not use non-word characters as initials.

Modified unidecode_name() to do more normalization, to conform to the
conventions used in internet-drafts.

Added saving of the factory-boy random state in order to be able to re-run
a test suite with the same pseudo-random sequence as in a previous failed
run.

Fixed an issue with email formatting in test_api_submit_ok().

Modified the draft author extraction code to deal better with names with
embedded apostrophes.
 - Legacy-Id: 14141
2017-09-20 15:36:30 +00:00
Henrik Levkowetz 33b275b04f Added ietf.utils.text.unidecode_name() and replaced various uses of unidecode() with it, in order to normalize the generation of ascii versions of names, to avoid different practices in space stripping and space normalization in different parts of the code.
- Legacy-Id: 14128
2017-09-17 15:12:18 +00:00
Henrik Levkowetz 6aa2cfca89 Updated tests to match the submission API info page.
- Legacy-Id: 14127
2017-09-17 14:02:52 +00:00
Henrik Levkowetz 8d3c540edd Added submit API instructions and fixed a bug in error handling for the submission validity checkers.
- Legacy-Id: 14126
2017-09-17 13:04:41 +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 135d5d946b Tweaked the submission checker shell invocation code to deal with command lines starting with environment variable settings.
- Legacy-Id: 14107
2017-09-08 12:09:22 +00:00
Henrik Levkowetz a9b259ef26 Changed the message shown when xml file parsing fails during draft submission to include the actual error message from the xml parser. Fixes issue #2353.
- Legacy-Id: 14102
2017-09-06 17:41:29 +00:00
Henrik Levkowetz 95a5400dea Changed the handling of yang validation otput to capture errors messages also when command the exit code is zero.
- Legacy-Id: 14100
2017-09-03 14:40:02 +00:00
Henrik Levkowetz d481019803 Added reverse relationships from drafts to submissions to submission checks to the Json API, to make it easier to find the yang checks for a given document.
- Legacy-Id: 13785
2017-07-07 12:55:30 +00:00
Henrik Levkowetz 25e833444c Added a check for duplicate Yang model names after xym extraction. This prevents running pyang and yanglint on one module, moving it to the module libs, and then failing to run the checks on a second module with the same name, because the file has been moved after the first check.
- Legacy-Id: 13770
2017-07-03 21:24:19 +00:00
Henrik Levkowetz 08f0338555 Tweaked the wording of the unexpected-encoding warning.
- Legacy-Id: 13760
2017-07-03 11:38:03 +00:00
Henrik Levkowetz 274548f1b1 Check the whole draft submission text when checking mime type, and catch decoding errors and raise ValidationError when converting submission form txt file to unicode for Draft().
- Legacy-Id: 13759
2017-07-02 21:32:44 +00:00
Henrik Levkowetz 7e1b09410c Upgraded xym to 0.4.2, with related changes in method calls.
- Legacy-Id: 13741
2017-06-30 15:59:40 +00:00
Henrik Levkowetz 60e9b7451c Included the temporary yang model extraction directory in the list of model librarires given to yanglint, in order to support drafts with models referencing models in the same draft. Fixes issue #2324.
- Legacy-Id: 13736
2017-06-29 21:03:26 +00:00
Henrik Levkowetz 3b7f320c29 Removed the copy of xym copied directly from repository -- the method call we use is too unstable at the moment. Now requiring xym=='0.4'.
- Legacy-Id: 13723
2017-06-28 11:53:09 +00:00
Henrik Levkowetz 13905a2a84 Modified the yang checker to work with both versions 0.3.x and 0.4.x of xym (different signatures for get_extracted_models()).
- Legacy-Id: 13719
2017-06-27 11:37:56 +00:00
Henrik Levkowetz 8eded1d8d2 Return a checker None result with exception message on xym exceptions.
- Legacy-Id: 13707
2017-06-22 15:08:01 +00:00
Henrik Levkowetz 70de94fc48 Variable naming tweak
- Legacy-Id: 13701
2017-06-21 13:12:19 +00:00
Henrik Levkowetz 768ca0b45e Catch bad module names in the Yang checker (they are not currently flagged by xym).
- Legacy-Id: 13700
2017-06-21 13:10:05 +00:00
Henrik Levkowetz 95f966c98b Changed the implementation of Submission.latest_checks() to also return None checks, so it's possible to update a Passed due to no yang modules to a None (no modules to check).
- Legacy-Id: 13698
2017-06-20 21:05:48 +00:00
Henrik Levkowetz 508bf15c6c Work around an issue in xml2rfc
- Legacy-Id: 13682
2017-06-19 19:02:42 +00:00
Henrik Levkowetz b42f1cbeb5 Replaced the use of unaccent.asciify(), which has similar functionality to unidecode.unidecode(). Changed the draft parser to work exclusively with unicode text, which both makes the removal of unaccent easier, and takes us closer to Py35 compatibility. Adjusted callers of the draft parser to send in unicode.
- Legacy-Id: 13673
2017-06-18 18:23:18 +00:00
Henrik Levkowetz 228a68348f Don't deliver spurious yang extraction errors for drafts where no yang modules were found.
- Legacy-Id: 13668
2017-06-17 20:54:52 +00:00
Henrik Levkowetz 98dc0d0092 Only run yanglint and yanglint tests if we have it configured.
- Legacy-Id: 13636
2017-06-15 22:13:43 +00:00
Henrik Levkowetz 4fc2c6f960 Merged in ^/personal/henrik/6.54.2-yang@13630:
Added a new yang checker, 'yanglint', to the existing Yang checker class, in
addition to the existing 'pyang' checker.

Added modal overlay displays showing the yang check results every place the
yin/yang symbol is shown (red or green) to indicate the presencee and result
of yang checks.  Added a Yang Validation: line in the document
meta-information section on the document's page in the datatracker.

Added the result of the xym extaction to the yang check results, to make
extration failures visible.

Added the version of the used xym, pyang, and yanglint commands to the check
results.

Added an action to move successfully extracted and validated modules to the
module library directories immediately on submission.

Added the xym and pyang repositories as svn:external components, rather than
listing them in requirements.txt, as there has been delays of many months
between essential features in the repositories, and an actual release.  We may
get occasional buildbot failures if broken code is pulled in from the
repository, but better that than the functionality failure of severely
outdated componets.

Added a new management command to re-run yang validation for active drafts for
which yang modules were found at submission time, in order to pick up imported
models which may have arrived in the model libraries after the draft's
submission.  Run daily from bin/daily.

Added a table to hold version information for external commands.  The yang
checker output should include the version information of the used checkers,
but seems unnecessary to run each command with its --version switch every
time we check a module...

Added a new management command to collect version information for external
commands on demand.  To be run daily from bin/daily.

Added tests to verify that xym, pyang and yanglint information is available
on the submission confirmation page, and updated the yang module contained in
the test document to validate under both pyang and yanglint.

Updated admin.py and resource.py files as needed.
 - Legacy-Id: 13634
2017-06-15 20:16:48 +00:00
Henrik Levkowetz 207ea51723 Added a test case for invalid yang in a draft submission.
- Legacy-Id: 13633
2017-06-15 19:22:36 +00:00
Henrik Levkowetz d98054c103 Added a new yang checker, 'yanglint', to the existing Yang checker class, in
addition to the existing 'pyang' checker.

Added modal overlay displays showing the yang check results every place the
yin/yang symbol is shown (red or green) to indicate the presencee and result
of yang checks.  Added a Yang Validation: line in the document
meta-information section on the document's page in the datatracker.

Added the result of the xym extaction to the yang check results, to make
extration failures visible.

Added the version of the used xym, pyang, and yanglint commands to the check
results.

Added an action to move successfully extracted and validated modules to the
module library directories immediately on submission.

Added the xym and pyang repositories as svn:external components, rather than
listing them in requirements.txt, as there has been delays of many months
between essential features in the repositories, and an actual release.  We may
get occasional buildbot failures if broken code is pulled in from the
repository, but better that than the functionality failure of severely
outdated componets.

Added a new management command to re-run yang validation for active drafts for
which yang modules were found at submission time, in order to pick up imported
models which may have arrived in the model libraries after the draft's
submission.  Run daily from bin/daily.

Added a table to hold version information for external commands.  The yang
checker output should include the version information of the used checkers,
but seems unnecessary to run each command with its --version switch every
time we check a module...

Added a new management command to collect version information for external
commands on demand.  To be run daily from bin/daily.

Added tests to verify that xym, pyang and yanglint information is available
on the submission confirmation page, and updated the yang module contained in
the test document to validate under both pyang and yanglint.

Updated admin.py and resource.py files as needed.
 - Legacy-Id: 13630
2017-06-15 16:09:28 +00:00
Henrik Levkowetz df2d0571c4 Narrowed a too wide try/except region in order to give more correct error messages. Changed the the strip() application to happen only on extracted author elements that actually have content. Fixes an inability to upload xml-only drafts with missing author country information.
- Legacy-Id: 13574
2017-06-09 20:12:44 +00:00
Henrik Levkowetz fb66f38afd Undid an unintentional adaptation to the xml2rfc 2.6.0 call interface change.
- Legacy-Id: 13556
2017-06-07 00:07:39 +00:00
Henrik Levkowetz a28940fc1e Name/email formatting tweaks, to complement [13536].
- Legacy-Id: 13540
Note: SVN reference [13536] has been migrated to Git commit 55d36e284d
2017-06-06 08:11:31 +00:00
Henrik Levkowetz 55d36e284d Changed the '%s <%s>'%(name,email) idiom in several places to use email.utils.formataddr() instead, to avoid future problems with names that would need quotes. Added comments in 2 places where this change would not be appropriate.
- Legacy-Id: 13536
2017-06-05 22:40:11 +00:00
Henrik Levkowetz a92c2b4ad5 Updated migration numbering to avoid collisions.
- Legacy-Id: 13480
2017-05-31 21:36:08 +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 4afe0b8830 Added stripping of leading and trailing whitespace from submission data (including email addresses) gleaned from submitted xml. Changed email line parsing to use email.utils.parseaddr() instead of a regex which only would handle unwuoted names (and possibly not utf-8 names) correctly.
- Legacy-Id: 13423
2017-05-25 14:10:42 +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 14c748df98 Changed the creation of temporary test dirs to use names which include the test class name, in order to make it possible to run test cases in parallel. Disabled coverage testing when running in parallel (those classes cannot be pickled and distributed to the test runner threads, and also won't pass coverage data back). Tweaked the TestCase.tempdir() method.
- Legacy-Id: 13157
2017-03-27 21:41:18 +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 814e1315b5 Added a new document tab for some documents, showing htmlized drafts and RFCs
using the htmlization code previously developed for tools.ietf.org.  As the
generation of the htmlized page is a bit too costly to do on the fly for
often-referenced drafts and RFCs, the part of each page which contains the
htmlized document is cached on file with a cache time of 2 weeks.

Changed all links which pointed to the htmlized version on tools to instead
point at the datatracker htmlized document.

Tweaked some URLs which didn't permit retrieval of intermediate-rev-charters.

Narrowed the pattern for document names to disallow dots in names, and
instead explicitly enumerated the few historical draftw with dots in the
name.

Added a file-system cache for the htmlized documents, and specified a
max_entries value for caches, overriding the default 300 entries.

Tweaked the code for new author email entries to provide a time if missing
in an updated entry.

Changed links in various email templates which pointed at tools.ietf.org
pages to instead point at datatracker pages, where appropriate.

Changed the search result rows to provide links to both the current meta-
information document pages (with a (i) info symbol) and to the new htmlized
document pages.
 - Legacy-Id: 13040
2017-03-20 14:08:52 +00:00
Henrik Levkowetz bb5096da8a Added more email validation for draft submission author emails, and blocked some baths that could lead to bad email addresses ('none') being set as document author email addresses.
- Legacy-Id: 13010
2017-03-14 14:07:21 +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 5bb5ca727b Created a special function log.unreachable() to mark code unreachable, and changed a function name from log.affirm() to log.assertion().
- Legacy-Id: 12933
2017-02-28 20:16:52 +00:00
Henrik Levkowetz ffa19c9847 Added a log.affirm() call at the point where we may discover new flawed document author records. Fixed a place where the generation of Person.ascii from Person.name wasn't done well.
- Legacy-Id: 12903
2017-02-23 11:57:29 +00:00
Henrik Levkowetz a5290e143a Made some changes to the missing-email submission handling. This may have fixed the creation of author records containing 'none' email entries, but as I've not been able to reproduce the issue, this is uncertain. Next is to build an email notification assert statement to help capture information if this happens.
- Legacy-Id: 12898
2017-02-22 15:36:28 +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 8930d29a8e Merged in Django-1.10 upgrade work from ^/personal/henrik/6.43.1-django-1.10
- Legacy-Id: 12881
2017-02-19 18:18:00 +00:00
Henrik Levkowetz cf4a4b02a7 Reworked the email address handling in order to be able to support non-ascii names as part of email address fields. Reworked the generation of user names in the test suite to generate names from multiple non-ascii locales. Fixes issue #2080.
- Legacy-Id: 12872
2017-02-18 21:50:18 +00:00