Commit graph

63 commits

Author SHA1 Message Date
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 1e115539c4 The previous nomcom.fields.EncryptedTextField relied on initial cleartext content having the same type as ciphertext. Under Python3, that's not the case (ciphertext has type bytes). Rewrote the nomcom app and tests to handle capture of comments and encryption to the Feedback.comments ciphertext differently.
- Legacy-Id: 16350
2019-07-01 11:59:59 +00:00
Henrik Levkowetz 36cac48063 Fixed a bunch of str/bytes issues.
- Legacy-Id: 16341
2019-06-30 20:54:09 +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 4049b31026 Added normalization of the email addresses returned by ietf.nomcom.utils.parse_email, in order to not treat feedback from the same person as coming from different sources due to email name+address variations.
- Legacy-Id: 15731
2018-11-06 11:47:11 +00:00
Henrik Levkowetz 4f2f843a55 A string.Template with a unicode template must be given unicode dictionary values if the values contain unicode codepoints. Providing values that are objects with __str__() methods, or utf-8 encoded strings doesn't work. Fixes an issue with nomcom template interpolation for nominees with non-ascii names.
- Legacy-Id: 15481
2018-09-24 21:25:20 +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 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 53c4ac36db Removed the Person.address field, which is not being used. This was a legacy from the 2001 perl-based datatracker tables. Fixes issue #2504.
- Legacy-Id: 15095
2018-04-27 14:00:33 +00:00
Henrik Levkowetz 166c7531f9 Changed the nomcom code to permit nomcom year interpolation in the nomcom from-address and in nomcom templates. Changed the nomcom from-address setting to 'nomcom-chair-{year}@ietf.org'.
- Legacy-Id: 14175
2017-09-27 21:20:59 +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 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
Robert Sparks 4813177086 Allow the nomcom to collect feedback on arbitrary topics. Fixes #2256 and #1846. Commit ready for merge.
- Legacy-Id: 13474
2017-05-30 19:54:31 +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 e5f889764c Fixed a problem with stability of test_accept_reject_nomination_edges(), and made some changes to make debugging this easier.
- Legacy-Id: 12829
2017-02-13 15:55:55 +00:00
Henrik Levkowetz ec684e1b4e Added a pylint rc-file, and fixed or silenced a number of issues found by pylint using the settings .pylintrc (which enable only error checking).
- Legacy-Id: 11941
2016-09-08 14:48:59 +00:00
Robert Sparks aadcf2d056 Added selecting existing people to the workflow for chair classification of nominations. Renamed some utility functions to be slightly more self-documenting.
- Legacy-Id: 10620
2015-12-22 04:32:48 +00:00
Robert Sparks 8261507e80 Added forms for the exceptional "create a new person for this nomination" workflow. Checkpointing before a round of simplification refactors.
- Legacy-Id: 10610
2015-12-18 23:11:24 +00:00
Robert Sparks 6bf4227974 Checkpoint: main nomination forms use SearchableEmailField
- Legacy-Id: 10609
2015-12-18 20:38:17 +00:00
Robert Sparks 7d120da9ef Removed the type from the template pathname for the requirements templates. Made the requiremetns view work for both template types plain and rst. Changed the default for the requirements template for new nomcoms to rst. Migrated 2015 requirements to rst (except for the IAB position, which would require a significant edit)
- Legacy-Id: 10587
2015-12-12 03:49:23 +00:00
Robert Sparks e81b473282 Expose views for concluded nomcoms. Close feedback and nomination. Initial work on factory-boy based testing. Partially addresses #1856
- Legacy-Id: 10520
2015-11-25 22:17:41 +00:00
Robert Sparks f5b6465e81 mailtoken becomes mailtrigger
- Legacy-Id: 10090
2015-09-17 20:03:45 +00:00
Robert Sparks 90c3426e2f updated mailtoken utilities to match the model refactor. Morphed all the code using the utilities to match. Added paths to get Cc through as needed. Next up: Recipient selection form for the iesg save-and-send-email workflow
- Legacy-Id: 10040
2015-08-23 18:15:06 +00:00
Robert Sparks 65be4190a7 Done with the first pass instrumenting all mail points. There is one spot in the ipr code that's complicated and will require some refactor before instrumenting. There are a few places to add explicit messages (templates and all) to replace the simple use of email_ad. The next pass will be to make sure every spot that sends mail is covered by a test, and that the tests look at the headers sensibly. That will be followed by a moderately heavy refactor of MailToken and the gather_address utilities. Then pages showing the expansions of a token for a given document/group. Long way to go, but this is working well, and I think it will make things much easier later.
- Legacy-Id: 10030
2015-08-19 21:53:02 +00:00
Henrik Levkowetz 8905ac1789 If the author of a nomcom nomination is unknown, use 'Anonymous' and no email address in outgoing messages, instead of ''.
- Legacy-Id: 9627
2015-05-13 16:55:53 +00:00
Henrik Levkowetz 0db48f3db0 Merged in [8840] from rjsparks@nostrum.com:\n Automatically ensure Alias records exists when Person records are changed, relieving multiple code locations of that responsibility. Fixes bug #1550.
- Legacy-Id: 8873
Note: SVN reference [8840] has been migrated to Git commit b0b3a31b10bb35eb00d29f27d75d21c3cc4edc4e
2015-01-20 22:32:01 +00:00
Ryan Cross c71d1d1ef6 fix get_or_create_nominee() to create Alias for new Person. commit ready for merge.
- Legacy-Id: 8359
2014-09-26 22:19:22 +00:00
Henrik Levkowetz 563f584a9e Made ietf/nomcom pyflakes-clean. Removed some dead code.
- Legacy-Id: 7476
2014-03-15 19:26:01 +00:00
Henrik Levkowetz 5bef5d11ae Made doc/ pyflakes-clean.
- Legacy-Id: 7462
2014-03-15 16:09:47 +00:00
Ole Laursen 2c930d0f97 Get rid of remaining use of email_re, use validate_email instead
- Legacy-Id: 6882
2013-12-11 16:47:47 +00:00
Ole Laursen 9457669310 Merge in changes from the old shimfree branch
- Legacy-Id: 6764
2013-11-27 12:55:50 +00:00
Henrik Levkowetz c7c4afc6dd It turns out that the get_user_email is called for every nominee listed on a feedback page, which is insane. But until the template can be rewritten to do this in a more sane way, we cache the lookup result.
- Legacy-Id: 6651
2013-11-04 20:47:54 +00:00
Henrik Levkowetz 801283f814 By preference, show the same email for a logged-in user as his login, if it
exists; otherwise show the newest active email address.
 - Legacy-Id: 6644
2013-11-03 19:11:45 +00:00
Henrik Levkowetz 5f2da7ba9e Merged [6486] from rjsparks@nostrum.com:
Slightly more than minimal changes to have questionnaire reminders go only to those nominees who have accepted but have not yet sent in a questionnaire for a given position
 - Legacy-Id: 6573
Note: SVN reference [6486] has been migrated to Git commit 2a1b4c7775
2013-10-30 21:17:46 +00:00
Henrik Levkowetz d649fd5e10 Merged [6465] and [6466] from rjsparks@nostrum.com:
Added the ability to send reminders to complete questionnaires to nominees in
the accepted state.  Changed the send_reminders management command to not take
any arguments and run against all active nomcoms.  Removed bugs from the
send_reminders management command and added tests for it.  Adjusted several
dbtemplate titles and content.

Fixes bug 1157
 - Legacy-Id: 6471
Note: SVN reference [6465] has been migrated to Git commit 22f356434a

Note: SVN reference [6466] has been migrated to Git commit a461e6c4a4
2013-10-21 20:12:00 +00:00
Ole Laursen 0eed4ad9e5 Add has_role(role_name, user) utility to group, used like
group.has_role("chair", request.user). Remove the NomCom specific
group utilities, apparently they're not actually used.
 - Legacy-Id: 6217
2013-09-20 11:23:17 +00:00
Henrik Levkowetz 8b6f122314 Fixed nomcom email pipe command to read from stdin if no file given, and give better error messages.
- Legacy-Id: 5992
2013-08-08 12:25:03 +00:00
Henrik Levkowetz 6baea429aa Merged in the nomcom app from ejimenez@yaco.es and esanchez@yaco.es, and accompanying dbtemplate app and the (standard) docutils module. Added some tweaks to get all tests to pass and migrations to run.
- Legacy-Id: 5948
2013-08-06 10:09:29 +00:00
Emilio A. Sánchez López 49117c1622 Nominations are processed first and then the rest of feedback.
Select multiple resizable when selecting a nominee.
Fixed command that gets the feedback from email to retrieve the full address on the from header.
Added a "feedback pending" link in the top bar.
Fixed escaped html tags when displaying comments from feedback.
See #975
 - Legacy-Id: 5781
2013-06-10 10:42:11 +00:00
Emilio Jiménez 8e2a8f2daa Fixed coding error.
See #1042
 - Legacy-Id: 5755
2013-05-22 22:46:43 +00:00
Emilio Jiménez 7c481a6c81 convert to str
See #1042
 - Legacy-Id: 5751
2013-05-22 19:30:40 +00:00
Emilio Jiménez a8c81570ca Add better functions to decode emails.
See #1042
 - Legacy-Id: 5750
2013-05-22 19:23:20 +00:00
Emilio Jiménez a41abe3054 Convert unicode to str.
See #1042
 - Legacy-Id: 5749
2013-05-22 18:34:18 +00:00
Emilio Jiménez 66c4a32c57 Add subject field to feedback model
New form to fill feedback mail via web.
Fixes #1042 #1043
 - Legacy-Id: 5748
2013-05-21 12:31:24 +00:00
Emilio A. Sánchez López ee1eec7de8 Refactored the feedback pending list. Now you can classify feedback as any type of feedback.
The feedback of a type that is not related to a nominee is classified inmediatly.
The feedback of a type that is related to a nominee must be completed with the nominee information.
Created a view to list feedback that is not related to nominees (e.g. offtopic)
Changed the command that retrieves feedback from email to add the subject inside the comment and to set the author using the from field of the email.
Fixes #1036. Fixes #1035
 - Legacy-Id: 5738
2013-05-15 16:33:01 +00:00
Emilio Jiménez a6fdc52397 Refactor code to send reminders in a unique function
Refactor reminder command.
Fixes #1040
 - Legacy-Id: 5736
2013-05-15 09:08:49 +00:00
Emilio A. Sánchez López 454128b165 Check valid public key. Fixes #1004
- Legacy-Id: 5711
2013-05-08 12:39:50 +00:00
Emilio A. Sánchez López 38480747b4 Add an example of the format in the private key form.
Check if the private key is valid.
Fixes #1004
 - Legacy-Id: 5697
2013-05-06 12:21:31 +00:00