Commit graph

430 commits

Author SHA1 Message Date
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 e9d3809099 Refined the links from document stats pages to author pages so as to not link to non-existent pages. Fixes 404 errors in the test crawler logs.
- Legacy-Id: 17237
2020-01-17 00:49:01 +00:00
Henrik Levkowetz fb3645fcb5 Merged in [17178] from housley@vigilsec.com:
Turn text names into links on the stats pages. Fixes #2854
 - Legacy-Id: 17190
Note: SVN reference [17178] has been migrated to Git commit dd07878bb0
2020-01-07 13:52:21 +00:00
Henrik Levkowetz b14cba5f15 Refactored some document methods to align better with Django's get_absolute_url(), and added Person.get_absolute_uri()
- Legacy-Id: 17189
2020-01-07 13:33:02 +00:00
Russ Housley dd07878bb0 Turn text names into links on the stats pages. Fixes #2854
- Legacy-Id: 17178
2020-01-03 21:50:24 +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
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 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 dc6201eeeb Made sure Person.active_drafts() and .expired_drafts() don't return duplicate entries. Fixes issue #2784.
- Legacy-Id: 16665
2019-08-20 22:43:51 +00:00
Henrik Levkowetz 8e313e4ed5 Adjusted migrations for Python2/3 compatibility.
- Legacy-Id: 16633
2019-08-08 17:11:14 +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 ef4a41c14b Fixed a bytes/str issue with the arguments to syslog.openlog()
- Legacy-Id: 16460
2019-07-16 13:18:37 +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 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 edc1da3023 Added a validation step for SearchablePersonField, to avoid later server 500 errors on bad input.
- Legacy-Id: 16433
2019-07-08 18:14:05 +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 0589d0b313 Changed a bunch of regexes to use r strings; also miscellaneous smaller fixes.
- Legacy-Id: 16376
2019-07-04 15:51:05 +00:00
Henrik Levkowetz 942fc7f907 Fixed a bad call argument to FeedbackFactory
- Legacy-Id: 16351
2019-07-01 12:01:02 +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 484dcece5f Changed all model __unicode__() methods to __str__()
- Legacy-Id: 16330
2019-06-28 21:07:08 +00:00
Henrik Levkowetz e66c0243d5 Updated PersonalApiKey models with correct python3 unicode/bytes handling.
- Legacy-Id: 16322
2019-06-28 13:35:37 +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 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 9bfb488110 After having test_duplicate_person_name() fail for a non-ascii name, changed the test to always supply a non-ascii name.
- Legacy-Id: 16180
2019-05-01 21:34:59 +00:00
Henrik Levkowetz 4e8ef492fc Modified the rolodex code to make sure we capture information about the origin of email addresses if they are added by the secretariat, to ensure GPR compliance.
- Legacy-Id: 15898
2019-01-18 18:27:29 +00:00
Henrik Levkowetz 5abcec4441 Added a bit of name normalization for test factory person names.
- Legacy-Id: 15888
2019-01-14 20:50:52 +00:00
Henrik Levkowetz d6caf615e0 Added testing of test_unidecode() and another name_parts() test case, and removed some debug.statements.
- Legacy-Id: 15771
2018-11-13 19:31:18 +00:00
Henrik Levkowetz 0735021d2b Added a test for various name part combinations, and fixed a couple of issues with utils.name.name_parts().
- Legacy-Id: 15753
2018-11-11 15:12:20 +00:00
Henrik Levkowetz 888a39b3aa Added a migration for the additional API endpoint for PersonalApiKey.
- Legacy-Id: 15571
2018-10-14 22:38:18 +00:00
Henrik Levkowetz 8f073efb13 Merged in [15551] from rjsparks@nostrum.com:
Used factories instead of make_test_data for malinglists, mailtrigger, message, person, secr/announcement, and secr/areas tests.
 - Legacy-Id: 15555
Note: SVN reference [15551] has been migrated to Git commit 5c57cf1b91
2018-10-11 10:49:55 +00:00
Robert Sparks 5c57cf1b91 Used factories instead of make_test_data for malinglists, mailtrigger, message, person, secr/announcement, and secr/areas tests. Commit ready for merge.
- Legacy-Id: 15551
2018-10-10 05:36:34 +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 1cb567f234 Fixed some pyflakes issues.
- Legacy-Id: 15506
2018-09-29 20:22:03 +00:00
Henrik Levkowetz 5318c03b54 Added a PersonEvent type for email address deactivation.
- Legacy-Id: 15503
2018-09-29 20:06:33 +00:00
Henrik Levkowetz 9b7c18d994 Tweaked PersonAdmin to show name_from_draft after the name field.
- Legacy-Id: 15502
2018-09-29 20:05:33 +00:00
Henrik Levkowetz 437418ed36 Added a management command to deactivate email addresses found in delivery-status emails or given on the command-line.
- Legacy-Id: 15501
2018-09-29 19:42:34 +00:00
Henrik Levkowetz bf3b1f7a45 Added 'consent' to the fields handled when merging person records.
- Legacy-Id: 15488
2018-09-27 12:31:29 +00:00
Henrik Levkowetz 4fba531e9e Merged in the latest GDPR changes. This refines the handling of the consent checkbox on the account page; refines the Consent Needed warning given on login if consent is needed; tweaks several models to set the on_deletion fields for FK to User and Person appropriately; adds a Person.needs_consent() method to capture the logic of which fields require consent; refines the Person.plain_name() method and the user.log.log() function; and adds 2 management commands to send out consent requests and delete non-consent information, respectively.
- Legacy-Id: 15464
2018-09-16 23:12:43 +00:00
Henrik Levkowetz 75f703578c Tweaked the Person.needs_consent() method to take historic roles into account and to handle records without associated usesrs.
- Legacy-Id: 15459
2018-09-16 13:49:25 +00:00
Henrik Levkowetz 44d4d76092 Added a migration to capture a change in on_delete for the Person.user field.
- Legacy-Id: 15457
2018-09-16 13:46:28 +00:00
Henrik Levkowetz 74359e9538 Refined Person.plain_name() to avoid leading or trailing spaces when only one name component is present.
- Legacy-Id: 15456
2018-09-16 13:44:27 +00:00
Henrik Levkowetz cf82379503 Undid unintentional commit
- Legacy-Id: 15455
2018-09-14 20:31:17 +00:00
Henrik Levkowetz 89b8fe6c1b Moved document methods rfc_number() and rfcnum() to the abstract parent class to have them available also for historical document records. Should fix the recent server 500 on /doc/draft-ietf-aaa-diameter/17/.
- Legacy-Id: 15454
2018-09-14 20:29:07 +00:00
Henrik Levkowetz 6dacd694bc More name normalization
- Legacy-Id: 15452
2018-09-13 18:58:30 +00:00
Henrik Levkowetz 0ca9ec769c Added a None guard for the person merge last_login date comparison. Fixes issue #2562
- Legacy-Id: 15418
2018-07-30 16:57:59 +00:00
Henrik Levkowetz d8005ab0f1 Fixed an issue in Person.needs_consent(): avoid multiple mentions of 'email address'.
- Legacy-Id: 15268
2018-06-19 19:19:58 +00:00
Henrik Levkowetz 31352b0064 Added Person.needs_consent() which returns a list of descriptions of fields for which consent is needed, or [].
- Legacy-Id: 15258
2018-06-14 18:56:01 +00:00
Henrik Levkowetz 35e16ef7d5 Changed User ForeignKeys to not delete objects pointing at a user when the user is deleted, instead setting the ForeignKey field to None.
- Legacy-Id: 15257
2018-06-14 18:53:48 +00:00
Henrik Levkowetz 0df2c0dee8 Tweaked unidecode_name() to avoid double-quotes in the ascii string.
- Legacy-Id: 15256
2018-06-14 15:06:08 +00:00
Henrik Levkowetz dbe9211963 Tweaked unidecode_name() to not produce single-letter ascii surnames from non-ascii codepoints. The unidecode transliteration is in any case somewhat arbitrary, and in most cases a real person will tweak the ascii name of his account. When running tests, however, this tweak avoids some false test failures. And no, it's not simple to fix the draft author-extraction heuristics to deal well with single-letter surnames.
- Legacy-Id: 15239
2018-06-10 14:48:13 +00:00
Henrik Levkowetz a4d6d3c01e Data migrations to populate email origin and Person.name_from_draft.
- Legacy-Id: 15189
2018-05-29 13:10:20 +00:00
Henrik Levkowetz 2522082979 Changed the email origin field during test to hold user.username in order to exercise more of the code. Changed the EmailFactory to also use user.username as origin.
- Legacy-Id: 15172
2018-05-26 08:32:20 +00:00
Henrik Levkowetz 6ec050d807 Removed a long-running data migration (it will return in the following release).
- Legacy-Id: 15171
2018-05-24 16:11:05 +00:00
Henrik Levkowetz 619b20d2e7 Data migration to assign email origin based on existing records (author, role, and more).
- Legacy-Id: 15148
2018-05-17 16:50:49 +00:00
Henrik Levkowetz f47e1ff2ff Updated email admin to show origin in lists.
- Legacy-Id: 15147
2018-05-17 16:48:49 +00:00
Henrik Levkowetz 70ed611472 Changed the field type for the Person.consent field.
- Legacy-Id: 15146
2018-05-17 16:45:21 +00:00
Henrik Levkowetz 874aad0322 Added a consent field to the Person model.
- Legacy-Id: 15142
2018-05-08 16:24:26 +00:00
Henrik Levkowetz a66639299d Removed all references to the removed Person.affiliation field.
- Legacy-Id: 15129
2018-05-05 12:47:55 +00:00
Henrik Levkowetz 9fe73b5736 Updated admin and resources with email history entries.
- Legacy-Id: 15128
2018-05-05 12:41:47 +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 37f0d141e9 Added a new field name_from_draft to Person, to hold the name field equivalent as captured from drafts, in case name has been modified by the user and we're asked to remove that info under GDPR. Added history for Email, and also an origin field to capture from where we got an email address (draft name, username, meeting registration, etc.) Added a log.assertion() to Email.save() in order to ensure we don't create any email without setting origin.
- Legacy-Id: 15126
2018-05-05 12:37:15 +00:00
Henrik Levkowetz 61a16856ad Updated the admin interface to use the simple-history admin support for Person history.
- Legacy-Id: 15097
2018-05-01 11:07:12 +00:00
Henrik Levkowetz c7d31b44c3 Added django-simple-history and replaced the old (and unused) PersonHistory class with a history=HistoricalRecords() field on Person. Added the needed migrations and changes to admin, resources, and settings. Related to issues #2505 and #2507.
- Legacy-Id: 15096
2018-04-27 17:36:20 +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 4da044e2db Pyflakes fixes.
- Legacy-Id: 14989
2018-04-01 19:06:02 +00:00
Henrik Levkowetz 8e97669dff Added a get_active_ads() utility function that uses the cache to reduce database access. Moved some utility functions so as to reduce import loops.
- Legacy-Id: 14986
2018-04-01 18:36:36 +00:00
Henrik Levkowetz 934c884f4d Migration to match the new endpoint choice avilable in the PersonalApiKey model.
- Legacy-Id: 14973
2018-03-30 15:11:20 +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 2354cc74d4 Tweaked person factory ascii name generation to not include periods inside names.
- Legacy-Id: 14875
2018-03-20 15:24:20 +00:00
Henrik Levkowetz bccb7fb849 Merged in [14862] from rcross@amsl.com:
Add view for merge person records.
 - Legacy-Id: 14871
Note: SVN reference [14862] has been migrated to Git commit 85f4861f9f
2018-03-20 12:31:34 +00:00
Ryan Cross 85f4861f9f Add view for merge person records. Commit ready for merge.
- Legacy-Id: 14862
2018-03-18 18:01:56 +00:00
Henrik Levkowetz b9e34b3eec Merged in [14843] from adam@nostrum.com:
Updated (deprecated, unregistered) 'text/json' with 'application/json' everwhere.
 - Legacy-Id: 14853
Note: SVN reference [14843] has been migrated to Git commit 3c4c0f2584
2018-03-17 18:48:01 +00:00
Ryan Cross f0a4ff213f Backout premature commit of person/tests.py. Commit ready for merge
- Legacy-Id: 14846
2018-03-17 15:51:28 +00:00
Ryan Cross 01bfbff170 Remove unused roles/forms.py. Commit ready for merge
- Legacy-Id: 14845
2018-03-17 15:49:02 +00:00
Adam Roach 3c4c0f2584 Updated (deprecated, unregistered) 'text/json' with 'application/json' everwhere. Commit ready for merge.
- Legacy-Id: 14843
2018-03-17 15:14:57 +00:00
Henrik Levkowetz 98f64dfea4 Added result caching for the Person.email() method.
- Legacy-Id: 14797
2018-03-14 19:14:16 +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 87f4997bf5 Fixed unbalanced parentheses.
- Legacy-Id: 14520
2018-01-14 19:20:24 +00:00
Henrik Levkowetz 4431c3eac3 Exluded another locale from author name generation during testing, due to problematic romanization.
- Legacy-Id: 14519
2018-01-14 18:55:22 +00:00
Henrik Levkowetz b48996f383 Exclude arabic names from PersonFactory due to difficulties with the romanization of the names in connection with draft author extraction.
- Legacy-Id: 14500
2018-01-10 15:20:16 +00:00
Henrik Levkowetz f28eacdd47 Tastypie cannot serialize binary fields. Exclude from PersonalApiKey resource.
- Legacy-Id: 14434
2017-12-18 17:57:48 +00:00
Henrik Levkowetz 789b88d25d Adjusted the personalapikey migration.
- Legacy-Id: 14433
2017-12-18 17:56:46 +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 b0863c8963 Modified some names.
- Legacy-Id: 14428
2017-12-16 18:43:08 +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 152261a869 Added new infrastructure for personal API keys, to generate, view, and delete them.
- Legacy-Id: 14423
2017-12-14 14:30:59 +00:00
Henrik Levkowetz f2f21c4ef3 Improved cleaning of unidecode results in ascii name conversion.
- Legacy-Id: 14405
2017-12-08 12:36:23 +00:00
Henrik Levkowetz 999cd502e2 Tweaked ascii name normalization.
- Legacy-Id: 14381
2017-11-30 16:09:06 +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 0fac54cb3e Merged in [14086] from rjsparks@nostrum.com:
Show whether a person is nomcom eligible on their edit_profile page. Related to #2257 and #2323.
 - Legacy-Id: 14090
Note: SVN reference [14086] has been migrated to Git commit dc20598999
2017-08-31 15:21:17 +00:00
Robert Sparks dc20598999 Show whether a person is nomcom eligible on their edit_profile page. Related to #2257 and #2323. Commit ready for merge.
- Legacy-Id: 14086
2017-08-28 19:28:44 +00:00
Henrik Levkowetz 4dad8cdf9a Added a test to check for missing admin models, and added the admin models that were currently missing.
- Legacy-Id: 14021
2017-08-01 14:00:29 +00:00
Robert Sparks 503199eaff Query unique person objects when searching for duplicates based on aliases. Fixes #2263. Commit ready for merge.
- Legacy-Id: 13978
2017-07-26 20:37:17 +00:00
Henrik Levkowetz f0317b3cff Added another surname particle.
- Legacy-Id: 13823
2017-07-10 20:08:33 +00:00
Henrik Levkowetz b8e11e7f71 Added a migration matching the new validator on Email.address.
- Legacy-Id: 13744
2017-07-01 10:26:49 +00:00
Henrik Levkowetz 70830e8705 Added email address validation for the Email.address field, now that we're not putting dummy addresses in it.
- Legacy-Id: 13739
2017-06-30 11:48:03 +00:00
Henrik Levkowetz 0d120fb46a Tweaked the EmailFactory to return an email address not longer than the Email.address field.
- Legacy-Id: 13738
2017-06-30 11:47:12 +00:00
Henrik Levkowetz ade8973015 Merged in [13726] from rcross@amsl.com:
Update secr.rolodex app to deactivate old Users when replaced on edit.  Fixes #2001.
 - Legacy-Id: 13735
Note: SVN reference [13726] has been migrated to Git commit a251076903
2017-06-29 20:39:52 +00:00
Henrik Levkowetz c4954e13b1 Added more test objects in test_merge_users(), and fixed an issue with merge_users() uncovered by the added testing.
- Legacy-Id: 13730
2017-06-29 14:53:00 +00:00
Ryan Cross a251076903 Update secr.rolodex app to deactivate old Users when replaced on edit. Fixes #2001. Commit ready for merge.
- Legacy-Id: 13726
2017-06-28 20:43:28 +00:00
Ryan Cross 7768e7c6b3 Improve User merge handling in merge_persons(). Fix minor bug in submit.checkers.py. Fixes #1900. Commit ready for merge.
- Legacy-Id: 13718
2017-06-26 23:13:58 +00:00
Henrik Levkowetz 7e68623c90 Additional tweaks to the surname particle handling.
- Legacy-Id: 13670
2017-06-18 03:22:52 +00:00
Henrik Levkowetz f1f32b41ae Additional tweaks to the surname particle handling.
- Legacy-Id: 13669
2017-06-18 03:20:49 +00:00
Henrik Levkowetz bb089c182d Improved the handling of surname particles, (prompted by failure to handle the name of Niels ten Oever correctly)
- Legacy-Id: 13663
2017-06-17 15:12:54 +00:00
Henrik Levkowetz 3d387e5ff6 Merged in [13567] from rcross@amsl.com:
Refactor ietf/bin/merge-person-records to facilitate testing.  Add tests.  Fixes #2162.
 - Legacy-Id: 13580
Note: SVN reference [13567] has been migrated to Git commit e9b7c5753e
2017-06-10 07:48:19 +00:00
Ryan Cross e9b7c5753e Refactor ietf/bin/merge-person-records to facilitate testing. Add tests. Fixes #2162. Commit ready for merge.
- Legacy-Id: 13567
2017-06-08 23:28:43 +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 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 e6191432f3 Updated person migration 0017 to avoid database referential inconsistency due to missing person records.
- Legacy-Id: 13371
2017-05-16 15:17:07 +00:00
Henrik Levkowetz 48c275fa64 Merged in [13336] from rcross@amsl.com:
Fix issue where deferring a ballot causes 500 error in Telechat app.  Fixes #1342.
 - Legacy-Id: 13360
Note: SVN reference [13336] has been migrated to Git commit 7542e8daa3
2017-05-15 14:05:25 +00:00
Robert Sparks 8030fb3965 Created an EditedAuthorsDocEvent to capture the basis or reason for changing a documentauthor set. Mapped a large number of email addresses found from the RFC Editor database and from parsing RFCs to the right Person objects, and creating Person objects as necessary. Updated the documentauthors set for RFCs based on reconciling what the tracker already knew with the RFC Editor database and the parsing the RFCs. Manually inspected the Updates to ensure no author was inappropriately removed from the set. Commit ready for merge.
- Legacy-Id: 13289
2017-05-09 20:16:11 +00:00
Henrik Levkowetz 4803be0c03 Return a person search string instead of bombing out if there are multiple identical names where one don't have an active email address.
- Legacy-Id: 13245
2017-04-19 14:05:43 +00:00
Robert Sparks 0088273f5a Adds scripts to create/delete a dummy nomcom to use in development environments. Commit ready for merge. Fixes #2283.
- Legacy-Id: 13230
2017-04-18 16:13:14 +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
Lars Eggert 8a70e9773d Fix various "RemovedInDjango20Warning" warnings. Commit ready for merge.
- Legacy-Id: 13112
2017-03-25 19:16:45 +00:00
Henrik Levkowetz ce9f879500 Create all appropriate aliases when a Person record is created, both in ietfauth and in PersonFactory.
- Legacy-Id: 12958
2017-03-03 19:42:16 +00:00
Henrik Levkowetz ae8e07ef22 Merged in [12932] from rjsparks@nostrum.com:
Move primary but inactive email to the most recently touched active email for a Person. If a person has more than one primary email, make all but the first be not primary. Fixes #2214.
 - Legacy-Id: 12937
Note: SVN reference [12932] has been migrated to Git commit 572e373f95
2017-02-28 23:28:30 +00:00
Henrik Levkowetz 695bf37bc6 Merged in [12930] from rjsparks@nostrum.com:
Use the Role email associated with a reviewer as the From when emailing a review. Fixes #2201.
 - Legacy-Id: 12936
Note: SVN reference [12930] has been migrated to Git commit 8577a5e84a
2017-02-28 21:50:12 +00:00
Robert Sparks 572e373f95 Move primary but inactive email to the most recently touched active email for a Person. If a person has more than one primary email, make all but the first be not primary. Fixes #2214. Commit ready for merge.
- Legacy-Id: 12932
2017-02-28 19:39:01 +00:00
Robert Sparks 8577a5e84a Use the Role email associated with a reviewer as the From when emailing a review. Fixes #2201. Commit ready for merge.
- Legacy-Id: 12930
2017-02-28 18:40:09 +00:00
Henrik Levkowetz 5f053ad21a Cleaned up the remaining explicit url names, using dotted-paths to view
functions instead.  In all almost 700 changes.
 - Legacy-Id: 12923
2017-02-26 23:21:49 +00:00
Henrik Levkowetz 988a2b808f Added explicit charset setting and consistent encoding to several email paths through the datatracker. After introducing support for non-ascii names in email addresses, using role.formatted_email() to insert names into email content doesn't work any more, since uncode names will now be rfc2047-encoded in formatted_email(). Added another method role.name_and_email() for this case. Replaced another case of '%s <%s>' name-and-email formatting with formataddr(). Fixed some tests which did not send unicode email bodies to the email functions. Fixes issue #2017.
- Legacy-Id: 12896
2017-02-21 19:17:10 +00:00
Henrik Levkowetz 858d855eff Changed the new account creation to require a proper name at the same time as the account password is set, before actually creating the account. Also tweaked the password strength and confirmation code.
- Legacy-Id: 12892
2017-02-20 16:50:39 +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
Ole Laursen c61babb418 Add citation and h-index statistics
- Legacy-Id: 12869
2017-02-17 17:43:14 +00:00
Ole Laursen b2ff10b0f2 Add support for extracting the country line from the author addresses
to the draft parser (incorporating patch from trunk), store the
extracted country instead of trying to turn it into an ISO country
code, add country and continent name models and add initial data for
those, add helper function for cleaning the countries, add author
country and continent charts, move the affiliation models to
stats/models.py, fix a bunch of bugs.
 - Legacy-Id: 12846
2017-02-15 18:43:57 +00:00
Henrik Levkowetz aa5e61d958 Updated all urlpatterns to use ietf.utils.urls.url() instead of django's,
in order to autogenerate dotted path url pattern names.  Updated a number
of url reverses to use dotted path, and removed explicit url pattern names
as needed.

Changed some imports to prevent import of ietf.urls before django
initialization was complete.


Changed 3 cases of form classes being curried to functions; django 1.10
didn't accept that.

Started converting old-style middleware classes to new-style middleware
functions (incomplete).

Tweaked a nomcom decorator to preserve function names and attributes, like
a good decorator should.

Replaced the removed django templatetag 'removetags' with our own version
which uses bleach, and does sanitizing in addition to removing explicitly
mentionied html tags.

Rewrote the filename argument handling in a management command which had
broken with the upgrade.
 - Legacy-Id: 12818
2017-02-11 14:43:01 +00:00
Henrik Levkowetz 761ed8a723 Extended name_parts to consider military rank prefixes.
- Legacy-Id: 12816
2017-02-10 21:58:39 +00:00
Henrik Levkowetz 19d585255a Django 1.10 does not permit the view argument to url() to be a string any more. Changed all cases view arguments to url() which were strings to instead reference the actual imported function.
- Legacy-Id: 12815
2017-02-10 14:49:16 +00:00
Ole Laursen 0d5bc33283 Fix some test errors
- Legacy-Id: 12787
2017-02-06 11:35:28 +00:00
Ole Laursen ea93001c63 Remove debug output
- Legacy-Id: 12786
2017-02-03 18:54:23 +00:00
Ole Laursen ef251c6bc7 Add author affiliation chart.
Also add a model for registering an alias for an affiliation so that
we can group affiliations that are considered the same for statistical
purposes, and a model for registering unimportant endings like Inc.
and GmbH.

Affiliation grouping is done through three means: stripping
uninteresting endings, merging entries that only differ in case and
aliases that map from case-insensitive alias to name.

Stripping endings and merging based on case seem to reduce the number
of needed manually maintained aliases greatly.
 - Legacy-Id: 12785
2017-02-03 18:49:43 +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 c2541ec04b Django 1.9: Removed deprecated use of django.conf.urls.patterns() from all urls*.py files.
- Legacy-Id: 12618
2016-12-22 17:21:57 +00:00
Henrik Levkowetz 14776bae70 Merged django18 work forward to r12447
- Legacy-Id: 12455
2016-12-05 15:03:40 +00:00
Henrik Levkowetz 0bb7854591 Merged django18 work forward to 6.39
- Legacy-Id: 12449
2016-12-05 14:01:25 +00:00
Henrik Levkowetz 486e394cbf Added more document information to the personal profile pages at /person/<full name>, after a suggestion from Benoit Claise. Fixes issue #2066.
- Legacy-Id: 12447
2016-12-05 13:00:01 +00:00
Henrik Levkowetz 1558a52c55 django.admin.utils.get_deleted_objects() changed signature. Fixed.
- Legacy-Id: 12268
2016-11-04 19:02:40 +00:00
Ole Laursen 9a3996a286 Make sure that name_parts doesn't accidentally turn Unicode strings
into plain strings
 - Legacy-Id: 12146
2016-10-14 09:41:21 +00:00
Ole Laursen 958ba5ba95 Make new branch from trunk and merge in review-tracker-r11921
- Legacy-Id: 12129
2016-10-13 16:38:47 +00:00
Henrik Levkowetz 236fb3e185 Make it possible to merge nominations with inactive email addresses in the Nominee Merge form.
- Legacy-Id: 12091
2016-10-05 17:03:31 +00:00
Henrik Levkowetz 69263b8f8f Use plain_ascii() name for formatted_email() address.
- Legacy-Id: 12062
2016-09-30 10:47:34 +00:00
Henrik Levkowetz 7f772641d4 Change the cache key construction to deal with query arguments containing spaces. Fixes 500 errors which would otherwise occur.
- Legacy-Id: 12035
2016-09-25 13:53:22 +00:00
Ole Laursen 6b3e93d5c0 Add test of duplicating a person name - after having fixed the test
data, that's no longer in any other test case
 - Legacy-Id: 11999
2016-09-19 16:26:18 +00:00
Ole Laursen 6da25e6bd9 Add personal review overview page for reviewers, add page for editing
reviewer availability settings, emailing the reviewer/secretary as
necessary, add tests for these pages. Fix a bunch of bugs.
 - Legacy-Id: 11998
2016-09-19 16:05:32 +00:00
Henrik Levkowetz f2c31f242b Changed the 1id_index generation to use a new Person method .plain_ascii(). Added tests for some Person name methods.
- Legacy-Id: 11993
2016-09-15 17:29:08 +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
Henrik Levkowetz 03d5b07e51 Added document information and submission timeline to profile pages. Refactored the chart data generation.
- Legacy-Id: 11928
2016-09-06 19:25:51 +00:00
Ole Laursen 74a02be9bf Create new branch from trunk@r11921, and merge review-tracker-r11360 into it
- Legacy-Id: 11923
2016-09-06 10:17:12 +00:00
Henrik Levkowetz 4537f91424 Modified the alias factory to work around the problem with the backend collapsing aliases with accented and unaccented versions of the same name.
- Legacy-Id: 11580
2016-07-09 19:57:37 +00:00
Henrik Levkowetz c0c3d2a5d6 Removed an unnecessary storage location argument, and corrected the use of ImageField upload_to in order to point at media/photo instead of media/photo/photo.
- Legacy-Id: 11536
2016-07-07 12:23:34 +00:00
Henrik Levkowetz 5acff0e95f Added a method Person.ascii_name() for use when generating 1id-*.txt files. Added caching for Person.plain_name(). Fixes a problem with non-ascii names in 1id-*.txt which lead to non-ascii names in xml2rfc reference files.
- Legacy-Id: 11510
2016-07-01 20:08:28 +00:00
Ole Laursen e2e66522c7 Add review request page for review teams and first draft of manage
review requests page.

Add importer for importing review data from the existing Perl tool
(WIP, gets most but not all of the interesting information out).

Fix various bugs.
 - Legacy-Id: 11508
2016-07-01 16:06:16 +00:00
Henrik Levkowetz fa5a89f3d7 Added a backwards migration for person.0013_add_plain_name_aliases.
- Legacy-Id: 11368
2016-06-14 15:11:05 +00:00
Henrik Levkowetz 45e9801955 Added a migration which provides photo field default values and updates the upload path to the one used in production.
- Legacy-Id: 11345
2016-06-13 14:54:40 +00:00
Henrik Levkowetz 289dd0c2a9 Minor tweaks.
- Legacy-Id: 11343
2016-06-13 14:03:19 +00:00
Henrik Levkowetz e20ffc9e86 Improved data migration for plain_name aliases.
- Legacy-Id: 11339
2016-06-13 10:39:36 +00:00
Henrik Levkowetz 80dc67f109 Fixed pyflakes and consistency issues in person.views.profile().
- Legacy-Id: 11322
2016-06-11 23:05:08 +00:00
Henrik Levkowetz 8ba02dfd2c Added fixes for various profile page problems found by the test crawler.
- Legacy-Id: 11321
2016-06-11 21:54:14 +00:00
Henrik Levkowetz e3cbabaf9b Made it possible to filter on photo and bio fields in the API.
- Legacy-Id: 11320
2016-06-11 19:48:36 +00:00
Henrik Levkowetz f384a134c4 Added a migration to provide plain-name aliases where they are missing, as we expect those for the person profile URLs.
- Legacy-Id: 11319
2016-06-11 11:58:30 +00:00
Henrik Levkowetz 9eacdbf2c6 Merged in ^/personal/henrik/6.21.1-biophoto@11313, with work from rjsparks@nostrum.com and henrik@levkowetz.com which provides support for profile biography and photo.
- Legacy-Id: 11314
2016-06-10 19:36:47 +00:00
Henrik Levkowetz a9980d5cc1 Added a default for photo and photo_thumb to the migration.
- Legacy-Id: 11306
2016-06-10 09:41:09 +00:00
Henrik Levkowetz ebe45e5312 Added tests for various photo pages.
- Legacy-Id: 11305
2016-06-09 21:59:17 +00:00
Henrik Levkowetz 2c456cea73 Added default values to the photo and photo_thumb fields. Made photo_name() return unicode. Made plain_name not fall back to ascii_short, as that's not meaningful.
- Legacy-Id: 11301
2016-06-09 21:53:52 +00:00
Henrik Levkowetz f4d2f19ffb Tweaked the person factory to provide bio and photo on request.
- Legacy-Id: 11300
2016-06-09 21:51:46 +00:00
Henrik Levkowetz dd781c9367 Added and updated migrations.
- Legacy-Id: 11286
2016-06-06 16:30:54 +00:00
Henrik Levkowetz ab20d0002d Added some guards against bad data in name_parts().
- Legacy-Id: 11285
2016-06-06 16:30:30 +00:00
Henrik Levkowetz 9e382bb711 Added support for reStructuredText markup in bios.
- Legacy-Id: 11284
2016-06-06 16:29:25 +00:00
Henrik Levkowetz c4b59f0363 Added personal photo+bio pages.
- Legacy-Id: 11278
2016-06-05 20:14:50 +00:00
Henrik Levkowetz ed583bcc5f Used a more sophisticated algorithm for separation of person name parts in the photo_name() method. Added support for 'Dr' (without dot) as a titular prefix.
- Legacy-Id: 11275
2016-06-05 09:54:13 +00:00
Henrik Levkowetz 1410168a5a Fixed some missed instances of a setting name-change.
- Legacy-Id: 11266
2016-06-02 19:30:25 +00:00
Henrik Levkowetz ab095fca5b MOdified the 0011_populate_photos migration to set photo thumbnail values which include the photos dirname under the media_root. Added a reverse migration, for easier testing from a clean state.
- Legacy-Id: 11264
2016-06-02 19:20:34 +00:00
Henrik Levkowetz 14a4ea177c Merged in ^/personal/rjs/6.21.1.dev0@11257
- Legacy-Id: 11259
2016-06-01 16:37:01 +00:00
Henrik Levkowetz b9fa1905c3 Fixed a problem with person alias updates where get_or_create() could find two results for one alias name because utf8_general_ci collation would match multiple different utf8 forms to the same name.
- Legacy-Id: 11257
2016-05-31 12:21:18 +00:00
Henrik Levkowetz 9d81ddc239 Added a migration to match the Person model changes in [11180].
- Legacy-Id: 11210
Note: SVN reference [11180] has been migrated to Git commit 7e61ce84e8
2016-05-20 10:11:42 +00:00
Ole Laursen 793bc3c2fa Merge account registration fixes branch
- Legacy-Id: 11169
2016-05-05 15:44:47 +00:00
Henrik Levkowetz bf4350f6dc Merged in [11129] from rjsparks@nostrum.com:
Have person.formatted_email() return the primary address if one is so marked. Fixes #1928.
 - Legacy-Id: 11150
Note: SVN reference [11129] has been migrated to Git commit 2fd2b3a8e6
2016-05-04 08:44:19 +00:00
Henrik Levkowetz 35ef32485a Tweaked the field names of Person name fields to make the intended use clearer.
- Legacy-Id: 11140
2016-05-03 16:39:17 +00:00
Ole Laursen a99aa32c59 Refactor account code to use the built-in Django signing framework
(reusing code previously written for the community lists) instead of
the a custom MD5 scheme, add tests of all views, rewrite custom form
handling code to use plain forms and ensure that the data is properly
validated and errors visible in the UI. Move help texts on the Person
form up to the model.
 - Legacy-Id: 11136
2016-04-27 16:26:04 +00:00
Robert Sparks 2fd2b3a8e6 Have person.formatted_email() return the primary address if one is so marked. Fixes #1928. Commit ready for merge.
- Legacy-Id: 11129
2016-04-22 20:19:21 +00:00
Henrik Levkowetz adb8625635 Introduced caching for the api resources.
- Legacy-Id: 10929
2016-03-15 23:12:04 +00:00
Henrik Levkowetz 846a02c3f9 Fixed pyflakes complaints introduced with pyflakes 1.1.0
- Legacy-Id: 10896
2016-03-04 21:24:26 +00:00
Robert Sparks c8c45e2213 Stop making active unknown-email- objects. Mark existing such objects as inactive. Tweak exception handling in submit/utils to make it obvious that the utilities will not change the person an existing Email record is pointing to. Commit ready for merge.
- Legacy-Id: 10780
2016-02-04 22:50:50 +00:00
Robert Sparks a9abd3c2cd Tweak factories to not randomly create keys that violate constraints. Commit ready for merge
- Legacy-Id: 10756
2016-01-28 20:12:00 +00:00
Robert Sparks dc5ae398f2 Improved SearchablePersonField to show the primary email address for any search results where a name appears more than once.
Simplified the edit nominee form.
Replaced the merge nominee form with a request to the secretariat to merge Person records. Fixes #1847.
Added merging nominees to the secretariat's person merging script.
Restructured the person merging script to make it testable.
Updated some tests to match changes to the mailtriggers that hadn't made it to the fixtures.
 - Legacy-Id: 10625
2015-12-22 21:42:55 +00:00
Robert Sparks 6bf4227974 Checkpoint: main nomination forms use SearchableEmailField
- Legacy-Id: 10609
2015-12-18 20:38:17 +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
Henrik Levkowetz 2fe8dcb4c2 Added a very simple html version of the json API, to make it easier to explore the api manually.
- Legacy-Id: 9991
2015-08-09 16:28:55 +00:00
Henrik Levkowetz d0f05cf924 Addressed another bug related to using SearchablePersonsField to choose Person objects, rather than Email objects. If one uses this for Person objects, then object.address isn't going to be terribly useful in the form ,,:-). Addresses issue #1684, #1685 and #1686.
- Legacy-Id: 9530
2015-04-21 15:51:26 +00:00
Henrik Levkowetz 625347cd2f Merged trunk@9354 to facelift copy
- Legacy-Id: 9357
2015-04-02 06:51:34 +00:00
Henrik Levkowetz fb4bd964e4 Tweaked the email activation migration slightly.
- Legacy-Id: 9172
2015-03-10 20:24:31 +00:00
Henrik Levkowetz 5f86b73d0e Tweaked the email activation migration to not send email when there's no active email address; it's not meaningful as the best we can do then is simply to activate the draft-related address.
- Legacy-Id: 9171
2015-03-10 20:13:49 +00:00