Change merge-person-records, don't delete User until we handle related objects.
- Legacy-Id: 10767
Note: SVN reference [10755] has been migrated to Git commit a6399fdcf3c67b648f120bf42be987ca50935019
Removed Test watermark from interim meeting index background. Rewrote merge-person-records utility script to handle all related objects in a generic manner, remove old User records and handle email primary attribute. Fixes#1627.
- Legacy-Id: 10740
Note: SVN reference [10721] has been migrated to Git commit e97cd64bbb
Note: SVN reference [10724] has been migrated to Git commit 8efb9229f6
This set of changes focuses on improvements to the nomcom portion of
the datatracker.
These changes:
- Simplify the nomcom form for comments. Make it more obvious who
receives mail when a comment is supplied. Fixes#1849.
- Simplify the nomcom form for nominations. Provide a primary workflow
where nominations choose an existing Person, and a secondary
workflow for nominating new people.
- Allow nominees to add a comment when accepting or declining a
nomination. Fixes#1845.
- Organize the list of nominees on the feedback page. Fixes#1786 and
#1809.
- Simplify the mechanisms used to display feedback message counts.
- Regroup the feedback view to make it easier to see where to spend
review effort. Fixes#1866.
- Capture when nomcom members last reviewed feedback for a given
nominee. Add badges when new feedback is avaliable. Improve the
layout of the feedback index page. Fixes#1850.
- Reorganize the tab navigation on the nomcom private pages. Made it
more obvious when the chair is doing something that only the chair
gets to see. Fixes#1788 and #1795.
- Regroup multiselect options to make classifying pending feedback
simpler. Make the control larger and resizable. Fixes#1495.
- Simplify the chair's views for editing nominee records. Replace the
merge nominee form with a request to the secretariat to merge Person
records. Fixes#1847.
- Added merging nominees to the secretariat's persson merging script.
- Show information for concluded nomcoms. Close feedback and
nomination for concluded nomcoms. Fixes#1856.
- Improve the questionnaire templates, reminding the nominee that
receiving the questionnaire does not imply they have accepted a
nomination. Fixes#1807.
- Remove the description field from Postion. Simplify the Position
list and the Position edit form. Make the nomcom pages more self
documenting. Add a page to help nomcom chiars through setting up a
new nomcom. Fixes#1867 and #1768.
- Remove the type from the template pathname for the requirements
templates. Make the requirements views work for both types plain and
rst. Changed the default type for new nomcom requirement templates
to rst.
- Remove 'incumbent' from the models. Fixes#1771.
- Adjust the models for Nominee and Nomination to better associate
Nominee objects with Person objects.
- Remove BaseNomcomForm and the implementation of custom fieldsets.
- Replace the custom message framework with the django provided
messages framework.
- Improve SearchablePersonField to show the primary email address for
any search result where a name appears more than once.
- Add the use of factory-boy for generating test data. Normalize
management of a test directory for test nomcom public keys.
Significantly improve test coverage of the nomcom related code.
- Legacy-Id: 10703
Note: SVN reference [10629] has been migrated to Git commit c8bbfbad78
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
The new API requires at least one event and will automatically save a
snapshot of the document and related state. Document.save() will now
throw an exception if called directly, as the new API is intended to
ensure that documents are saved with both an appropriate snapsnot and
relevant history log, both of which are easily defeated by just
calling .save() directly.
To simplify things, the snapshot is generated after the changes to a
document have been made (in anticipation of coming changes), instead
of before as was usual.
While revising the existing code to work with this API, a couple of
missing events was discovered:
- In draft expiry, a "Document has expired" event was only generated
in case an IESG process had started on the document - now it's
always generated, as the document changes its state in any case
- Synchronization updates like title and abstract amendmends from the
RFC Editor were silently (except for RFC publication) applied and
not accompanied by a descriptive event - they now are
- do_replace in the Secretariat tools now adds an event
- Proceedings post_process in the Secretariat tools now adds an event
- do_withdraw in the Secretariat tools now adds an event
A migration is needed for snapshotting all documents, takes a while to
run. It turns out that a single document had a bad foreign key so the
migration fixes that too.
- Legacy-Id: 10101
Fixed a typo in code that looks for the IRTF chair email address while adding replaces relationships.
Made that code slightly more robust.
Fixes ticket #1253
- Legacy-Id: 7531
Note: SVN reference [7153] has been migrated to Git commit 99c01fa54a
Reworked SMTP Exception handling, adding sending a ticket to the secretariat when there are errors handing messages off for delivery.
Added SMTP exception handling to send-scheduled-mail.
This is related to ticket #1208
- Legacy-Id: 7256
Note: SVN reference [7138] has been migrated to Git commit 64727c1c33
Commit ready for merge.
Ryan - could you apply this to the current production branch as a patch and start a cron job that runs this file daily until the 24th please?
- Legacy-Id: 7085
Script to run from cron to send daily messages to IETF Announce showing the email header field change.
This should be run from Jan 6 to Jan 20, after which point we need to deploy analagous changes to the code that constructs last call announcements.
This is related to bug #811
Commit ready for merge.
- Legacy-Id: 6952
Note: SVN reference [6857] has been migrated to Git commit c500184eee
This should be run from Jan 6 to Jan 20, after which point we need to deploy analagous changes to the code that constructs last call announcements.
This is related to bug #811
Commit ready for merge.
- Legacy-Id: 6857
- Rename IdSubmissionDetail to Submission
- Rename various submission fields to correspond to the conventions in
the new schema
- Use a name model for the states instead of IdSubmissionStatus
- Drop the TempIdAuthor model which is based on splitting up author
names
- Add a simple textual SubmissionEvent for tracking events in the
lifetime of a submission
- Delete a bunch of obsolete fields
- Make sure all submission have an access key so we can depend on it
- Add state for when approval is needed from previous authors
A couple of migrations take care of transforming the
IdSubmissionDetail and moving data over/cleaning it up.
Also revamp the submit view code:
- Make form code do validation/cleaning only so there's a clear
separation of concerns
- Reduce uses of inheritance that made the code hard to follow -
forms now don't inherit from each other, views don't call each other
but instead reuse common utilities, templates share CSS/utilities
instead of relying on inheritance
- Move email rendering/sending to separate file
- Drop the in-grown terminology use (auto post vs. manual posts)
- Make the status page explain who is emailed for what purpose
- Add history table with recorded events
- Make the status page handle its post actions by itself instead of
duplicating most of the setup logic in a number of simple views
- Fix a couple of minor bugs and handle some edge cases better
- Expand tests with a couple of more cases
Possibly the submit tool could still use more help text added to
explain the process, ideally what's explained in the tool instructions
page should be inlined or self-evident.
- Legacy-Id: 6714
review decisions. Add migration to split up iesg_approve/disapprove
events of the form "IESG has approved ... and state has been changed
..." into the approve/disapprove event and a synthesized state change
event. Also regularize the descriptions a bit. This simplifies the
code in the new page.
- Legacy-Id: 6340
Added support and scripts for generation of wg- and draft-aliases. Fixes issue #713.
- Legacy-Id: 5937
Note: SVN reference [5902] has been migrated to Git commit e5b551f4ce
Note: SVN reference [5904] has been migrated to Git commit e68e51cc55
(-r5465:HEAD from branch/iola/shimfree). Copying relevant
commit messages here:
- Deleted dead code in many places.
- Renamed id-something to draft-something, make the "is
this eligible for expiration" logic clearer
- Added a name for IPR search URL
- Revamped the ballot popup view
- URL reversed the IPR search link instead of hardcoding it
- Cleaned up search views and remove dead code, port them to the new DB
schema, hack related views in iesg/ and wginfo/ to use the new search
interfaces, avoid camelCase in search GET parameters (with
backwards-compat fallback), add some simple search unit tests, remove
caching from views_search.py index pages as they're now pretty fast to
generate, rewrite ballot popup JS, regularize some CSS classes to use
hyphen-notation rather than camelCase, move some of the search
templates to doc/.
idrfc/ now mostly contains some wrapper code still in use by other
subdirs, some ported code not yet moved, and dead code.
- Fixed output bug in test crawler and print referrer upon errors so it's
easier to figure out where a link came from
- Added /doc/in-last-call/ to crawler, report original page as referrer in
a redirect chain rather than intermediate URL
- Ported idindex to new schema, speed them up, add tests, refactor index
page in views_search to share code with the text index file, get rid
of some special-case idindex filters from ietf_filters, move
"/drafts/" redirects to a file in /doc/
- Ported /idtracker/status/ and /idtracker/status/last-call/ overview of
drafts in IESG process to new schema in /doc/iesg/ and
/doc/iesg/last-call/
- Added redirects for all of /idtracker/*, removed all view code and other
dead code from idtracker/
- Removed the idtracker sitemap indexing drafts - in its current form,
it adds nothing of value to the HTML-based /doc/all/ view, and it's
pretty slow
- Ported idtracker feeds to new schema, move them to doc/, cleaned up
idtracker/ - only templatetags/ietf_filters and proxy code is left
- Legacy-Id: 5836
(-r5194:5465 from branch/iola/shimfree). Copying relevant
commit messages here:
- Removed .related many to many relationship, it's not really useful
since we always have to restrict on the relationship type anyway,
instead add two helpers for doing the necessary queries (in both
directions)
- Added migration for transforming the .desc on the new_revision events
into something more akin to what is actually shown in the history page
- Added migration for blanking IESG notes that just consist of "RFC
XXXX", these have been superfluous for some time
- Grant stream chairs access to changing the stream on a draft
- Hacked the format_history_text filter to be less weird, using the same
formatting for snippets and full text, also link up legacy ballot set
events
- Moved the decoraters + utilities to new ietfauth/utils.py file
- Added simple helper to Email to identify invalid email addresses (from
legacy author entries)
- Used new new_revision .desc format for when drafts are submitted
- Improved the looks of the button class by adding extra contrast and a
linear gradient. Currently the gradient is only visible in fairly
recent browsers.
- Rewrote draft and RFC tabs in terms of the new schema, porting
write-up and history tabs as well
- Fixed two bugs in RFC Editor syncing: make sure documents we don't know
beforehand get a "draft" type and make sure individually submitted
drafts get the type="individ" group instead of NULL
- Made the CSS-styled button feel a bit nicer to use by flattening the
active state, also introduce some temporary styles until browsers
catch up with the standard syntax
- Added migrations for fixing 1) a dummy RFC entry, 2) three stand-alone
RFCs that didn't get their doc.type set, 3) a big bunch of historic
stand-alone RFCs that have doc.group=None - set these to the
individual submission "none" group for the time being so the view code
doesn't have to deal with a special case.
In some cases this is wrong since there actually was a WG associated
but unfortunately fixing them properly requires detective work
(probably parsing the RFCs) and in at least some cases recreating
historic WGs. In case someone ends up doing this, the documents to
check can still be found with
Document.objects.filter(name__startswith="rfc", group__type="individ")
since there are almost no new RFCs that didn't went through the I-D
process.
- Merged the I-D and RFC views by showing I-D information on RFCs too.
I-Ds that have been published as RFCs redirect to the RFC URL. Also
support alias URLs so e.g. /doc/bcpXXXX redirects to /doc/rfcXXXX.
- Fixed revision augmentation so events after RFC publication gets a "RFC"
designation
- Fixed a bug with tabs not using provided name but rather doc.name
- Displaying draft-iesg state rather than doc.friendly_state as IESG state,
also show a notice that the IESG state refers to post-RFC processing
if it does, like the old separate RFC page did
- Fixed the RFC number doc.note migration to catch combined "RFC XXX; BCP
XXX" notes too, use the opportunity to remove inserted HTML tags from
notes and rely on linebreaksbr filter instead (the other thing was a
left-over from the Perl days), update the various uses of the note to
reflect that
- Refactored slightly to make views_doc.py independent of other idrfc code
- Moveed idrfc/views_doc.py to doc/ with associated templates, replace the
somewhat fragile simple URL tests for views_doc.py with ordinary unit
tests. The new tests are still fairly basic but at least test more
than the URL tests did.
- Made sure RFC's (and BCP/STD/FYI) are stored as RFC123 instead of
RFC0123 in the alias table with a new migration and a change to the
RFC Editor sync, this in turn makes /doc/std1/ do the right thing
- Now /doc/std1/ works, we can actually do a local link in
urlize_ietf_docs rather than linking to the tools.ietf.org server
- Fixed history text formatter: sanitize HTML before adding linebreaks and
non-breaking spaces, this cuts the time to render a history page with
long comments in half
- Added a test crawler that walks through the crawlable part of the site,
reporting errors and slow pages
- Got rid of initial "No record" positions when showing old positions,
it's just noise
- Added a .select_related() to the document main tab to reduce the number
of DB queries, unfortunately it seems it doesn't really help with
Django 1.2.x due to a bug (Document inherits from DocumentInfo which
makes things a bit more complicated)
- Introduced a simple cache in doc.get_state so repeated reads don't
cause a DB query
- Cleaned up the search code in preparation for removal of the shim-layer;
use a static button and don't send extraneous GET parameters
- Removed dead code in several places
- Legacy-Id: 5830
* Skip IANA - Review Needed and Version Changed - Review Needed changes from
IANA as it turns out that the Datatracker is the authoritative source on
these states. Also improve logging so that the raw JSON from IANA is
dumped, the parsed JSON on imported changes is dumped and we write to
syslog before starting a sync script in the notification view.
* Only add charter state change link when chartering, it doesn't make sense
for an approved charter. Fixes#861.
* Don't display group.comments on the charter document page. Apparently
group.comments have been used by the Secretariat in the past for
chartering comments, but it's not possible to edit the field and the whole
thing doesn't make sense from a modelling perspective - a feature like
this should probably use the note field on the charter. Fixes issue
#1048.
* Don't crash if an attachment has been created already, just reuse it -
this case shouldn't actually happen, but apparently sometimes does,
probably due to a concurrency issue
* Add link to charter pages from the milestones editing page (besides the
cancel button), fixes#1044.
* Special-case proposed working groups with respect to milestones, they get
the charter milestones on the WG charter page rather than the current set
* Show approved milestones on /doc/charter-xyz/ page if the charter is
approved instead of only showing proposed milestones for proposed charters
- Legacy-Id: 5812
Note: SVN reference [5794] has been migrated to Git commit a603b8e056
Note: SVN reference [5800] has been migrated to Git commit 0f69f87a56
from IANA as it turns out that the Datatracker is the authoritative
source on these states. Also improve logging so that the raw JSON from
IANA is dumped, the parsed JSON on imported changes is dumped and we
write to syslog before starting a sync script in the notification view.
- Legacy-Id: 5800
discrepancies report for seeing differences between the
Datatracker/RFC Editor/IANA, add tests of IANA/RFC Editor integration,
add script for weekly discrepancies emails
- Legacy-Id: 4851
protocols page (to see when references to newly published RFCs have
been updated) and parsing IANA review emails to be included as
comments
- Legacy-Id: 4850
and email the Secretariet when a draft sent to the RFC Editor ends up
in the queue, split it up so it's easier to test; also moved the
location of the binaries to bin/
- Legacy-Id: 4848