- added tests
- reverted 'obj' to 'object'
- removed check for valid email
- identifing person by Email.person rather than Person.user__username
- used a simpler form of unidecode logic. TBD: the previous code was stolen from elsewhere in the code which should also be simplified.
- Person.name now uses firstname + lastname rather than email.
- Legacy-Id: 13969
case we can't parse it and it's not empty, add page with list of
countries (to be able to refer people to it), add ISO codes as country
aliases - the country alias code is now more intelligent with respect
to case so it's easier to keep these aliases explicitly
- Legacy-Id: 12862
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
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
review test code use a separate reviewer and reviewsecretary user to
avoid confounding things - also let these use Unicode in their names
to check for Unicode trouble.
- Legacy-Id: 12175