Improve the look and feel of extension configuration.

Review Request #4281 — Created July 3, 2013 and submitted — Latest diff uploaded

Information

Djblets
master

Reviewers

Improve the look and feel of extension configuration.

Extension configuration did a lot of the same work that siteconfig did,
but worse.

It didn't fit in with the rest of the templates at all, making it stand
out noticeably.

It was lacking features from siteconfig's SiteSettingsForm, such as save
blacklists and fieldsets, requiring the extension author to work around it.

It also didn't have any notification of when settings were saved. It
looked like clicking Save did nothing. What's worse is that hitting
reload on the page would prompt to resubmit the form data, since we
didn't redirect.

Extensions now reuse all the siteconfig code for this. An extension's
Settings object conforms to the siteconfig API for setting/getting data,
and all the templates and form code is mostly siteconfig code.

Now, configuration fits in with the rest of the UI, and isn't so buggy.
Tested with a couple extensions. They didn't look terrible anymore.

I temporarily added some fieldsets and blacklists for tests. Saw the
fieldsets, along with their title, description, and list of fields.
The blacklists applied.

After saving, I saw the "The settings have been saved" banner, and hitting
reload didn't prompt me to re-submit.