Add standard base form templates using our CSS component classes.

Review Request #10893 — Created Feb. 7, 2020 and submitted

Information

Review Board
release-4.0.x

Reviewers

We have several templates throughout Review Board and Djblets that
define the structure of a form. This is partly because we used to not
have a standard. The closest thing was how the Django admin UI defined
forms, which was heavily model-centric in places.

In an effort to standardize how forms were used, and to allow Djblets
components to work in both standard forms and the administration UI, we
introduced a series of templates in Djblets that defined the
presentation of forms and non-model-based administration change pages.
In retrospect, the approach used there wasn't as future-proof as we
liked, but that's a problem for another day.

This change defines a new set of templates under templates/forms/ for
how a fieldset and a field look, making use of our CSS component
classes. These are effectively ports of the Djblets form templates,
updated to use our classes.

We provide overrides for some of the Djblets templates that forward on
to these templates, along with some additional templates that override
how to interface with our new administration UI.

This isn't the final iteration of this. An effort is planned to bridge
the new admin templates (which are still separate) and the new ones, but
before that some work is planned for Djblets to create a new set of
renderer classes for forms that will give consuming projects full
control of template rendering, removing the need in the future to handle
all these specialized form templates.

For now, this change is enough to provide a proper UI for most of the
remaining pages in the administration UI, particularly (most of the)
settings pages.

Tested a few pages that make use of the Djblets templates. Verified that
we were now using our CSS component classes for forms.

Summary ID
Add standard base form templates using our CSS component classes.
We have several templates throughout Review Board and Djblets that define the structure of a form. This is partly because we used to not have a standard. The closest thing was how the Django admin UI defined forms, which was heavily model-centric in places. In an effort to standardize how forms were used, and to allow Djblets components to work in both standard forms and the administration UI, we introduced a series of templates in Djblets that defined the presentation of forms and non-model-based administration change pages. In retrospect, the approach used there wasn't as future-proof as we liked, but that's a problem for another day. This change defines a new set of templates under `templates/forms/` for how a fieldset and a field look, making use of our CSS component classes. These are effectively ports of the Djblets form templates, updated to use our classes. We provide overrides for some of the Djblets templates that forward on to these templates, along with some additional templates that override how to interface with our new administration UI. This isn't the final iteration of this. An effort is planned to bridge the new admin templates (which are still separate) and the new ones, but before that some work is planned for Djblets to create a new set of renderer classes for forms that will give consuming projects full control of template rendering, removing the need in the future to handle all these specialized form templates. For now, this change is enough to provide a proper UI for most of the remaining pages in the administration UI, particularly (most of the) settings pages.
0902be08e93dc23b220c16f66bb8d8625616b58d

Description From Last Updated

This probably shouldn't be indented.

daviddavid

This probably shouldn't be indented.

daviddavid
david
  1. 
      
  2. reviewboard/templates/forms/field.html (Diff revision 1)
     
     
    Show all issues

    This probably shouldn't be indented.

  3. reviewboard/templates/forms/field.html (Diff revision 1)
     
     
    Show all issues

    This probably shouldn't be indented.

  4. 
      
chipx86
david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-4.0.x (1c02fc4)