* fix: 404 on CommunityList name collision
* fix: 404 on ambiuous person for photo() view
* test: update tests
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* fix: Use email or name when building community list view
instead of email
* test: add test case
* chore: remove debug
* fix: use name in community list menu when no active email is found
---------
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
* refactor: change references from User to Person (#5821)
* refactor: Change CommunityList reference from User to Person
* refactor: Convert more user references to person
* refactor: Change augment_docs_and_user_with_user_info to person
* refactor: Change Nomination and Feedback references from User to Person
* refactor: Change a few test case function signatures to be more pythonic
* refactor: Harmonize how profile and photo views look up email_or_name
* refactor: Rework community views to operate on Person instead of User (#5859)
* test: Update tests to try all of the person's emails and aliases
* fix: Recode a test case to avoid an exception if there's Unicode in the URL
This only happens using the form-filling and submission feature of
WebTest, which is only used in this one test case, so just it rip out.
* test: Add duplicate-person tests
* fix: If there are multiple matching users, prefer the logged-in one.
* chore: We no longer use WebTest, so don't include it.
* fix: Address review comments
* fix: case-insensitive person name or email matching (#6096)
* chore: Renumber migrations
* fix: Update merged code so tests pass (#6887)
* fix: Use refactored method
* fix: Don't assume user has person
* fix: Use new view param name
* chore: Drop community lists w/o person; cleanup (#6896)
* fix: Don't assume user has person
* fix: user->person in update_community_list_index.py
* feat: Remove CommunityLists without Person
* refactor: Speed up nomcom migrations
---------
Co-authored-by: Paul Selkirk <paul@painless-security.com>
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
* refactor: replace datetime.now with timezone.now
* refactor: migrate model fields to use timezone.now as default
* refactor: replace datetime.today with timezone.now
datetime.datetime.today() is equivalent to datetime.datetime.now(); both
return a naive datetime with the current local time.
* refactor: rephrase datetime.now(tz) as timezone.now().astimezone(tz)
This is effectively the same, but is less likely to encourage accidental
use of naive datetimes.
* refactor: revert datetime.today() change to old migrations
* refactor: change a missed datetime.now to timezone.now
* chore: renumber timezone_now migration
* chore: renumber migrations
Restore ability to remove documents while managing a personal list. Required updating code to match the recent change to Document's primary key. Fixes#2757.
- Legacy-Id: 16608
Note: SVN reference [16583] has been migrated to Git commit 821609888a2c8a6db67867dd334103b034157d20
primary keys from character strings to integers, and makes corresponding code
changes.
This was prompted by database limitations discovered when trying to make
DocAlias use a m2m document field; with 255 long strings as primary keys for
Document and DocAlias this violated the MySQL database limitations.
Changing the primary keys to integers should also improve efficiency.
Due to the data migrations which create the new integer primary keys and adds
corresponding integer foreign keys matching the previous string foreign keys
in all tables having foreign keys to Document and DocAlias, some of these
migrations take a long time. The total set of migrations are expected to have
a runtime on the order of 2 hours.
- Legacy-Id: 16237
page. Each WG/RG now gets a list with an initial set of rules to
populate the list.
Refine the community list management interface a bit to support the
group lists better - group lists aren't connected to the usual track
icons so need to be able to add/remove individual drafts.
Change the "name contains" rule to support regular expressions to
enable each group to have a default replacement for the previously
implemented "related documents" search. Maintain a materialized view
of the regexp-matched drafts with a call in the submit code to avoid
having to scan all drafts/~1000 group rules all the time.
- Legacy-Id: 10963
From a user perspective: Use friendlier URLs for lists. Reuse the
search results table for displaying lists. Simplify the management
pages and improve the search rule UI to help fill in the values and
validating them, instead of just providing a text field. Fixes#1874.
Add an explicit button for adding individual documents. Include all
changes in the document change streams, not just some changes. Fix a
concurrency issue that allows changed documents to escape the search
rules. Don't create an empty list just be logging in.
From a code maintenance perspective: Clean up the models. Replace the
background caching scheme with direct queries. Get rid of a big chunk
of code. Speed up the code that adds track buttons to search results.
Add tests of all community views. Fixes#1422. Also fix some minor
bugs and oddities here and there.
There's still some work to do with respect to integrating the group
lists better.
- Legacy-Id: 10921
As part of this fix, you need to do the following:
1. Eliminate duplicates currently in the data base. This statement can be used to identify them.
SELECT e1.id id1, e2.id id2, e1.community_list_id, e1.rule_type, e1.value FROM ietf_utf8.community_rule e1 JOIN ietf_utf8.community_rule e2 ON (e1.id != e2.id AND e1.community_list_id=e2.community_list_id AND e1.rule_type=e2.rule_type AND e1.value=e2.value);
2. Delete any current duplicate lines in the text. This uses the following commands as of the check-in
DELETE FROM TABLE ietf_utf8.community_rule WHERE id=19 OR id=91 OR id=177
3. Add a constraint to the table so that it will enforce the rule itself
ALTER TABLE ietf_utf8.community_rule ADD CONSTRAINT pc_CommunityRule UNIQUE (community_list_id, rule_type, value)
- Legacy-Id: 5426
1. It returns the last 14 days of changes rather than the last 20
2. Change the atom template so that it has correct time offsets rather than saying that PST and UTC are the same
3. Change the atom template so that it uses content rather than summary and return HTML content with line breaks as needed.
- Legacy-Id: 5425