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
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
requests for a given set of teams/reviewers (making it trivial to
compute statistics), revamp the related doc event code to support this
by referencing the review request directly, add a reviewer overview
page with recent performance for each reviewer as well as
settings/unavailable periods. Fix some bugs and shuffle some of the
review code a bit around.
Finish the importer from the previous Perl-based review tool,
importing log entries, figuring out whether a given review is
early/telechat/last call and fixing corner cases.
- Legacy-Id: 12080
Set up removing the order field from Document.
Modified the meeting materials, proceedings, and session details views to use the order field on SessionPresentation.
Added bootstrapped views to upload session materials (agendas, slides, minutes, and bluesheets).
Integrated upload into the session details view.
Commit ready for merge.
- Legacy-Id: 11989
The IESG Telechat Agenda now shows "(Has RFC Editor Note)" after the I-D
filename if there is an RFC Editor Note associated with the document. This
was added to the html and txt versions of the agenda. It was not added to the
Secretariat view or the Scribe view of the agenda.
For transition, when an AD edits the RFC Editor Note, they need to move the
text from the current writeup into the new field. Returning documents on the
telechat agenda seems to be the biggest opportunity for something to fall
between the cracks. If an event of type "changed_rfc_editor_note' exists, and
the string "RFC Editor Note" appears in the text of the most recent
'changed_ballot_writeup_text' event, then a message is shown that tells the AD
to remove the RFC Editor Note from the writeup.
- Legacy-Id: 10783
Note: SVN reference [10770] has been migrated to Git commit 4b5ac9e09e
Note: SVN reference [10771] has been migrated to Git commit 46589ee421
Note: SVN reference [10772] has been migrated to Git commit c73659e95c
Note: SVN reference [10773] has been migrated to Git commit 2e6633c016
This fixes Javascript widgets working with DocAliases, such as the
replaces field in draft submission, to work better with Javascript
disabled. It also makes sense from a modelling perspective as the name
really is a unique key for the alias.
The actual transformation requires a series of migrations taking a
couple of minutes to complete. The actual switch to the key is done at
the end.
Branch ready for merge.
- Legacy-Id: 10111
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
Changes to allow upload of bluesheets in materials upload page. Primarily for use with Interim meetings.
- Legacy-Id: 8891
Note: SVN reference [8861] has been migrated to Git commit 40efbf4f57
- Migrates the information captured in GroupInfo.ad to Role objects.
- Renames GroupInfo.ad to GroupInfo._ad (retaining the current column name) to prepare for deletion of that field.
- Provides ad property accessor and setter methods implemented using the group's role_set (so that the existing view code continues to work with minimal changes)
- Improved selection in many querysets that assumed only groups of type 'area' would have area directors.
Related to #1557 and #1555.
- Legacy-Id: 8884
Note: SVN reference [8851] has been migrated to Git commit 4c9db8f250
Added tests for document urls that provide a revision for all the document types the view code currently handles. Refactored parts of Document and DocHistory into DocumentInfo to get the tests to pass. (but careful review is probably warranted).
- Legacy-Id: 8880
Note: SVN reference [8846] has been migrated to Git commit ce5bda1835b32640d17136d09262f654fade94d4
- Migrates the information captured in GroupInfo.ad to Role objects.
- Renames GroupInfo.ad to GroupInfo._ad (retaining the current column name) to prepare for deletion of that field.
- Provides ad property accessor and setter methods implemented using the group's role_set (so that the existing view code continues to work with minimal changes)
- Improved selection in many querysets that assumed only groups of type 'area' would have area directors.
Related to #1557 and #1555.
Commit ready to merge.
- Legacy-Id: 8851
focusing on groups of type 'team'.
* Simplifies managing the Abstract for uploaded group materials.
Displays the abstract on the groups materials page
* Provides SessionPresentation: a binding between
Document and Session objects, that tracks doc version.
* Adds helpers for finding upcoming sessions, and the
most recent SessionPresentations whose sessions have passed
* Generalizes the snippet concept (as a templatetage) used
in the history tab for use on other pages
* Adds a variant of the snippet that can be styled as an edit link
* Provides several ways to address sessions, using sequence,
dates, group acronyms, and day of week
* Adds a 'Materials Manager' Role
- Legacy-Id: 8765
Note: SVN reference [8711] has been migrated to Git commit b4448a8faa
enhances a number of pages in the datatracker where forms contain fields
where a person should be chosen, such as for instance when choosing the
shepherd of a document, so that they uniformly display choices which show
both email address and name.
Furthermore, changes have been made so as to make the email address
uniformly act as reference to the person record.
Autocompletion is now consistently provided when looking for the email
address or name of the person to choose.
This solves a number of issues where it has been difficult to choose the
correct Person/Email combination, and where the correct email address to use
for an association has been unavailable previously.
- Legacy-Id: 8472
Note: SVN reference [8471] has been migrated to Git commit d62f2343e8
Changes to support video content in proceedings ('recording' document type).
- Legacy-Id: 8462
Note: SVN reference [8237] has been migrated to Git commit 96bccc7b17
Refactored editing the notify field to remove redundant code.
Changed the default notification list to include .all for documents, and the wg list for wg documents.
Allowed recalculating the notification list for all document types.
Improved the calculated notification list value for charters, conflict-reviews, and status-changes.
Adds shepherds to the notification list when they are assigned to a document.
Adds the working group email list to the notification list when a document is adopted.
Fixes#1438
- Legacy-Id: 8385
Note: SVN reference [8293] has been migrated to Git commit 640c5eb52ace8bb6d2c1b3ca6c14ef10ad0f324f
Made doc.active_defer_event() look for the events that are currently being created. This remains brittle.
Added email notifying the IESG of an undefer analagous to the defer email.
Guarded against deferring an already deferred document or undeferring a document that hasn't been deferred.
Guarded against deferring a document that's not scheduled for a telechat.
Fixes bugs 1417, 1465, 1417
- Legacy-Id: 8366
Note: SVN reference [8255] has been migrated to Git commit 0b49f402b4ec9145cb290b8a968755cc9ebdef92
to support RG charters properly, also remove the dead code for
handling group acronym renames (it contained some instances of
charter-ietf-%s too)
- Legacy-Id: 7936
doc/utils_charter.py) in favour of add_state_change_event which has
slightly better API but otherwise does basically the same except it
sets an event type we can later search for. Also expand tests slightly
to exercise three more templates.
- Legacy-Id: 7129
Adds pages to show what a given document refers to and what refers to it.
Fixes bug #1194
commit ready for merge
- Legacy-Id: 6951
Note: SVN reference [6701] has been migrated to Git commit d19967ac93
Ticket #1153: Fixes IPR disclosures being counted multiple times and counting of \'not yet approved\' IPR disclosures.
- Legacy-Id: 6623
Note: SVN reference [6613] has been migrated to Git commit b72c8a7cfd
* Made reporting IPR consistant across document searches, IPR searches, AD document queues, last calls, and agendas. All these points now report on the document(s) being directly queried, and the documents those transitively replace or obsolete.
* Brought search results against WGs and document titles into consistency with results from searching for individual documents
* Added the IPR count to the link on the documents main page (when not zero)
* Built on Henrik's reimplementation of all_related_*, making the *_related_* functions return DocAlias? lists consistently, and added corresponding _relations_ functions to get lists of actual RelatedDocument? objects.
* Added getting the DocAlias? with the same name to Document
* Added getting related IPR disclosures (as described in the first bullet) to Document
* Simplified ipr/related.py
* Removed the use of DraftLikeDocAlias? and IETFWG from ipr/search.py. Retooled the various search functions and templates to use DocAlias? and IprDocAlias? directly.
* Removed dead code from ipr/search.py
* Removed the special handling of WG 2000 from ipr/search.py
This fixes bug #1071
- Legacy-Id: 6083
* Brought search results against WGs and document titles into consistency with results from searching for individual documents
* Added the IPR count to the link on the documents main page (when not zero)
* Built on Henrik's reimplementation of all_related_*, making the *_related_* functions return DocAlias lists consistently, and added corresponding _relations_ functions to get lists of actual RelatedDocument objects.
* Added getting the DocAlias with the same name to Document
* Added getting related IPR disclosures (as described in the first bullet) to Document
* Simplified ipr/related.py
* Removed the use of DraftLikeDocAlias and IETFWG from ipr/search.py. Retooled the various search functions and templates to use DocAlias and IprDocAlias directly.
* Removed dead code from ipr/search.py
* Removed the special handling of WG 2000 from ipr/search.py
Fixes bug 1071
- Legacy-Id: 6042
(-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
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.
- Legacy-Id: 5611
since we always have to restrict on the relationship type anyway,
instead add two helpers for doing the necessary queries (in both
directions)
- Legacy-Id: 5205
Liasion Manager:
* Patch from Yaco to avoid resetting the From field when changing other items on the form
* Gave the secretariat the ability to find/approve any unapproved liaisons
* Changed all the email code to use ietf.mail.utils (and removed the fake-mail concept)
Charter documents and the Agenda pages:
* Added charter documents to iesg/agenda and iesg/agenda/documents
* Synced the ordering of drafts on iesg/agenda and iesg/agenda/documents
* Allow setting a responsible AD for charter documents
* Changed the UI of the charter page to use editlink for changing attributes and buttons for actions (to align with drafts and conflict-reviews)
Moderator package:
* Refactor: Simplified access to the current BallotDocEvent from a Document
* Added functions to BallotDocEvents? to faciliate access to BallotPositionDocEvents?, both for all positions, and current AD postions.
* Updated the moderator package to use the Documents from _agenda_data.
* Added a filter to assist with rendering the moderator package.
* Fixed a bug where different functions in idrfc/views_ballot were using log_state_changed expecting different implementations (a cleanup task should reconcile the _three_ implementations in the codebase of that function).
Cleanup from codesprint:
* Removed some duplication between doc/util and doc/models by moving things into doc/models
* Do not show non-empty discuss text when the ballot position is not blocking
* Added a migration to update non-blocking ballot positions that have non-empty discuss text
DEPLOYMENT NOTES
Please be aware that migration step will take a few minutes to complete.
Fixes bug 865
- Legacy-Id: 4780
Note: SVN reference [4772] has been migrated to Git commit e5c3a5adc5
Added functions to BallotDocEvents to faciliate access to BallotPositionDocEvents, both for all positions, and current AD postions.
Updated the moderator package to use the Documents from _agenda_data.
Added a filter to assist with rendering the moderator package.
Fixed a bug where different functions in idrfc/views_ballot were using log_state_changed expecting different implementations (a cleanup task should reconcile the _three_ implementations in the codebase of that function).
- Legacy-Id: 4768
Adjusted the scribe template to make it XHTML compliant and fix what Robert broke
- Legacy-Id: 4730
Note: SVN reference [4724] has been migrated to Git commit 08c1c0cb19
allow a more generic document history page; this will be important for
charters, less important for other types, but might as well get it
right from the beginning
- Legacy-Id: 3940