Commit graph

93 commits

Author SHA1 Message Date
Henrik Levkowetz 154876a12a Merged in ^/trunk@17782 (just ahead of release 6.130.0)
- Legacy-Id: 17783
2020-05-12 15:54:46 +00:00
Henrik Levkowetz 26e85ce53b Added a catch for malformed apikey input.
- Legacy-Id: 17769
2020-05-10 14:16:22 +00:00
Henrik Levkowetz 6d7c5b52ee Django 2.0 conversion. Test suite passes, except for javascript tests.
- Legacy-Id: 17762
2020-05-08 13:07:07 +00:00
Henrik Levkowetz 9aeda11a29 Removed some Py2 compatibility decorators.
- Legacy-Id: 17673
2020-04-21 13:54:31 +00:00
Henrik Levkowetz 69a5d0817d Refined the GUI for personal API endpoints so that endpoints for which one does not have the right Roles do not show in the GUI, and added a supporting method on Person objects. Updated tests accordingly.
- Legacy-Id: 17643
2020-04-15 17:22:06 +00:00
Henrik Levkowetz 2d1685868d Added the meetecho access api key to the list of personal API keys available through the Personal API GUI, and removed a secretariat-only key from the list.
- Legacy-Id: 17633
2020-04-15 12:04:39 +00:00
Henrik Levkowetz 726fcbf27d Removed all __future__ imports.
- Legacy-Id: 17391
2020-03-05 23:53:42 +00:00
Henrik Levkowetz ab173cb2eb Removed further six usage: six.string_types, six.integer_types, six.moves.urllib instances.
- Legacy-Id: 17390
2020-03-05 20:46:58 +00:00
Henrik Levkowetz e9a37d8ac8 Removed six.text_type(), changed six.moves.urllib to plain urllib, and removed now unused six imports.
- Legacy-Id: 17385
2020-03-05 14:41:41 +00:00
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
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 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 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 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 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 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 5318c03b54 Added a PersonEvent type for email address deactivation.
- Legacy-Id: 15503
2018-09-29 20:06:33 +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 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 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 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 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 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 98f64dfea4 Added result caching for the Person.email() method.
- Legacy-Id: 14797
2018-03-14 19:14:16 +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 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 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
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 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 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
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 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 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 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 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