* Move update() to new.py
* Get the update submitter in update() and overwrite the ipr submitter with it when updating.
* Remove ? from trailing slash in about - the addslashes middleware will get there first anyway, and the ? confuses reverse()
- Legacy-Id: 705
* Added IPR patent info search term error pages
* Fixed empty holder search template error
* Some refactoring to have one ipr->doc relation instead of both ->drafts and -> rfcs
- Legacy-Id: 687
* Added test cases for this and for addtional empty test results
* Some refactoring of IPR search code
* Fixed bugs in multiple templates for the empty test result case
- Legacy-Id: 685
* Allow update to pass in an object to be updated.
* Pass initial values to rfclist, draftlist, 3 ContactForms and IprForm if we have an update.
* Pass **kwargs through ipr_detail_form_callback to get the initial values.
* Add a row in IprUpdate if updating
Cleanups in that apply to both new and update:
* Validate licensing_option in the clean function to allow it to be conditionally required.
* Use a regular character field for date_applied, since it is a prose date in the database.
* Fix typo in title setting: s/general/generic/
* Fix typo in 3rd-party title setting: s/submitter/ietf_name/
* Fix IprRfc object creation
* Log the complete set of field errors
* Move the validation of "one of the document fields must be filled in" to the form clean, since clean_data["draftlist"] isn't available in clean_rfclist()
* Render non_field_errors since now we could have one.
* Move the setting of the summary and title to after the form is cleaned, and use the clean version of the document names.
- Legacy-Id: 683
* announcements -> ann
* liaisons -> liaison
* idindex -> drafts
* mailinglists -> list
I checked the tests and used a link checker locally, so hopefully
the fallout will be minimal.
- Legacy-Id: 657
algorithm of displaying the current IESG with empty positions
for those that haven't been cast yet; if it has been sent
then just list the actual positions that are recorded since
the database doesn't have any record of whether the positions
were for current or old ADs.
- Legacy-Id: 636
Add the year to the date field when it's not this year, using a new template tag "thisyear" which returns a boolean.
Also implement template tag "inpast" which I think could be useful for the meeting materials page.
- Legacy-Id: 599
* Don't sort by ballot ID.
* dictsort by filename within 'primary_flag' sets inside the template.
* Change myifchanged to not reset on the first cycle of a for loop.
* Introduce cyclevalue tag, to get the current cycle color from the cycle node itself instead of the context, since the context gets reset between for loops.
- Legacy-Id: 596