Use a macro for form tags

This will stop us repeatedly forgetting to add `novalidate` and
`autocomplete='off'` to our forms (which is how most of them are set
up).

It uses sensible defaults, based on how we most-commonly configure
forms:
- most of our forms are `post`ed (but this can be overridden)
- `autocomplete` should only be enabled where it makes sense, otherwise
  it’s more annoying than useful (but this can be overriden)
- we should never be using HTML5 form validation because our own error
  styles and messages are better
This commit is contained in:
Chris Hill-Scott
2018-09-19 12:39:36 +01:00
parent 5ab876aeab
commit d9da219b7e
72 changed files with 257 additions and 170 deletions

View File

@@ -2,6 +2,7 @@
{% from "components/textbox.html" import textbox %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/form.html" import form_wrapper %}
{% block service_page_title %}
Invite a team member
@@ -13,7 +14,7 @@
Invite a team member
</h1>
<div class="grid-row">
<form method="post" class="column-three-quarters" novalidate>
{% call form_wrapper(class="column-three-quarters") %}
{{ textbox(form.email_address, width='1-1', safe_error_message=True) }}
<div class="bottom-gutter">
@@ -27,7 +28,7 @@
</div>
{{ page_footer('Send invitation email') }}
</form>
{% endcall %}
</div>
{% endblock %}

View File

@@ -1,6 +1,7 @@
{% extends "withnav_template.html" %}
{% from "components/textbox.html" import textbox %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/form.html" import form_wrapper %}
{% block service_page_title %}
{{ user.name or user.email_localpart }}
@@ -15,7 +16,8 @@
<p>
{{ user.email_address }}
</p>
<form method="post" class="column-three-quarters">
{% call form_wrapper(class="column-three-quarters") %}
{{ page_footer(
'Save',
back_link=url_for('.manage_org_users', org_id=current_org.id),
@@ -23,6 +25,6 @@
delete_link=url_for('.remove_user_from_organisation', org_id=current_org.id, user_id=user.id) if user or None,
delete_link_text='Remove user from organisation'
) }}
</form>
{% endcall %}
{% endblock %}