* 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
* 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
Closing the ipr_generic.cgi ticket, but leaving ipr.cgi and notify.cgi open
till further testing has been done. Also adding a new task for the IPR
update form.
There may still be some dead code to clean out, but I'm committing what
I have now since it provides working form submission :-)
- Legacy-Id: 158
into view_new.py
* Added error indication of the top of the page, in case there are any
errors further down.
* Set more fields to required, matching the old perl code
* Various other tweaks.
- Legacy-Id: 140
callback to provide a RegexpField class.
* Added checkbox for submitter contact information being the same as
IETF contact information; with javascript support and validation
support.
* Cleaned out the old split_form() and mk_formatting_form() functions from
ietf.utils.
- Legacy-Id: 138
Using some more logic in views.py, less in the templated.
* Some tweaks in FormattingForm rendering.
* Selection of which sections to show is now table driven in views.py
* Some minor refactoring and cleanup in views.py
* Some more form subclassing in ipr/views.py in order to support form
validation.
* Removed style information from ipr/details.html template, and added
ipr/style.html
* Cleanup of details.html
* Fixed ipr/formfield.html to display error messages, and with the right
class.
- Legacy-Id: 105
using pretty much the same template as for a non-form view.
This solution is less hackish than the previous one which
used the form.as_table() rendering of a form, and then split
the resulting html in chunks.
Instead, '''all''' the html has been moved out to a formfield
template, and a custom form class is generated which will render
the form elements using an indicated template.
* Add form factory in utils.py (an old version which still has
html in the code is there for history, but will be removed
* Changes in ipr/views.py:new(), now subclassing one form with
some class members being other form instances, matching the
members used for the show() view
* A fix in ipr/models, making an email field use models.EmailField
* Reverting a number of changes in ipr/details.html which aren't
needed any more, as well as in ipr/new.html; and adding
ipr/formfield.html
- Legacy-Id: 104
* Re-wrote the IPR declaration form using form.to_table()
and the split_form() function in order to get sub-blocks
of the form which could easily be used with the existing
IPR detail display templates.
How to merge forms from multiple models took some thinking;
since the forms have a common ancestor, multiple inheritance
doesn't preserve the form data. In the end the merging
didn't turn out too horrible. See ipr.views.new().
* Changed the IprDetail model; first to specify editable=False
for all fieleds which shouldn't be shown in the form, but
this has the drawback of also removing them from the admin
page form. Simply bagging them in an un-used sub block with
split_form() works fine.
* Changed the URLs for IPR by-date some again
* Updated the ipr/new* templates to use the form sub-blocks
- Legacy-Id: 97