* refactor: avoid shadowing type()
* style: Black
* feat: is_blanket_disclosure field
* feat: add field to form
* feat: js to mark field required/not required
* feat: blanket disclosure = royalty-free license
* feat: manage licensing radio buttons
* fix: adjust wording/format of disclosure page
* fix: point at RFC 8179 in checkbox label
* test: test blanket disclosure licensing restrictions
* fix: conditionally render is_blanket_disclosure
* test: refactor test case
* test: patent details optional for blanket ipr
in order to autogenerate dotted path url pattern names. Updated a number
of url reverses to use dotted path, and removed explicit url pattern names
as needed.
Changed some imports to prevent import of ietf.urls before django
initialization was complete.
Changed 3 cases of form classes being curried to functions; django 1.10
didn't accept that.
Started converting old-style middleware classes to new-style middleware
functions (incomplete).
Tweaked a nomcom decorator to preserve function names and attributes, like
a good decorator should.
Replaced the removed django templatetag 'removetags' with our own version
which uses bleach, and does sanitizing in addition to removing explicitly
mentionied html tags.
Rewrote the filename argument handling in a management command which had
broken with the upgrade.
- Legacy-Id: 12818
Addresses issue #628, using reverse() and the newly created helper function
reverse_lazy() (found in ietf/utils/lazy.py) to DRY out the code a bit by
decoupling the urls from being hardcoded.
With this commit idrfc, and ipr modules have been modified to take advantage
of the reverse() and reverse_lazy() functions.
- Legacy-Id: 2956
Note: SVN reference [2948] has been migrated to Git commit 9399a2e0e8bbfe5c5a16781fd784776cfa31fbac
* 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
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
* 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