Commit graph

61 commits

Author SHA1 Message Date
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
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 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 69263b8f8f Use plain_ascii() name for formatted_email() address.
- Legacy-Id: 12062
2016-09-30 10:47:34 +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 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
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
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 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 9e382bb711 Added support for reStructuredText markup in bios.
- Legacy-Id: 11284
2016-06-06 16:29:25 +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 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
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
Robert Sparks 6bf4227974 Checkpoint: main nomination forms use SearchableEmailField
- Legacy-Id: 10609
2015-12-18 20:38:17 +00:00
Henrik Levkowetz 7258dc6eff Made sure that Email.__unicode__() will return a string even if address is None. Fixes an exception on deleting an email address for a Person object in the admin interface.
- Legacy-Id: 9159
2015-03-07 15:42:34 +00:00
Henrik Levkowetz a64961977b Added a new field 'primary' to the Email model, added a matching migration, and a data migration to set primary fields to match the way a primary address is chosen today.
- Legacy-Id: 9149
2015-03-04 17:53:48 +00:00
Henrik Levkowetz 7bd647c0d6 Don't create empty Alias records. Fixes issue #1603.
- Legacy-Id: 9086
2015-02-13 13:04:42 +00:00
Henrik Levkowetz 94c9ac7e91 Tweaked the person/alias duplicate test for new aliases slightly.
- Legacy-Id: 8894
2015-01-21 21:21:01 +00:00
Henrik Levkowetz 630a263ef7 Merged in [8870] from rjsparks@nostrum.com:
Inform the secretariat when a duplicate Alias.name is created that isn't already a duplicate Person.name. Improve the message that's sent when either duplicate Person or Alias names are detected.
 - Legacy-Id: 8893
Note: SVN reference [8870] has been migrated to Git commit 8e1abfa833f528bccf0f61a2a767f3923255e137
2015-01-21 20:44:06 +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
Robert Sparks f5325272f8 Send mail to the secretariat when a Person is created with the same name as some other Person objects in case its a duplicate that needs to be merged. Fixes ticket #1553. Commit ready to merge.
- Legacy-Id: 8726
2014-12-04 03:51:48 +00:00
Ole Laursen 9850290adb A little bit of cleanup, don't allow selecting email addresses without
associated persons in the EmailsField
 - Legacy-Id: 8274
2014-08-17 10:08:11 +00:00
Henrik Levkowetz df432f8888 Made ietf/person pyflakes-clean. Fixed a bug where Person.role_email() might blow up if given a group parameter.
- Legacy-Id: 7477
2014-03-15 19:37:25 +00:00
Ole Laursen 3fa1834986 Remove Person.objects.by_username/by_email for now - they aren't actually in use, the email one looks suspicious in that it takes the email from the User object, and the username one does not seem generally useful; also remove the unit tests of these two which was relying on an incomplete fixture
- Legacy-Id: 7029
2013-12-20 12:13:02 +00:00
Ole Laursen 7738f35283 Remove backwards compatibility person() method on Person
- Legacy-Id: 6828
2013-12-07 12:13:14 +00:00