From b3ac11a66b72e2aade94dbd17c9eda12e1108d90 Mon Sep 17 00:00:00 2001 From: Sachi King <nakato@nakato.io> Date: Mon, 24 Apr 2017 16:31:13 +1000 Subject: [PATCH] Simplify django form rendering Remove my hack to get bootstrap forms. Remove the insane render-row-at-a-time forms that then only render default django forms. --- pinaxcon/settings.py | 1 - pinaxcon/templates/_form_snippet.html | 4 +- .../django/forms/widgets/checkbox.html | 1 - .../django/forms/widgets/checkbox_option.html | 3 - .../templates/django/forms/widgets/input.html | 1 - .../django/forms/widgets/radio_option.html | 3 - .../django/forms/widgets/select.html | 5 -- .../templates/django/forms/widgets/text.html | 1 - .../django/forms/widgets/textarea.html | 2 - pinaxcon/templates/forms/render.html | 58 ------------------- pinaxcon/templates/forms/render_fields.html | 5 -- pinaxcon/templates/forms/widget.html | 14 ----- pinaxcon/templates/forms/widget_basic.html | 12 ---- .../forms/widget_boolean_multiple.html | 18 ------ .../forms/widget_boolean_single.html | 17 ------ .../registrasion/amend_registration.html | 1 - .../registrasion/checkout_errors.html | 1 - .../registrasion/guided_registration.html | 1 - pinaxcon/templates/registrasion/invoice.html | 1 - .../registrasion/product_category.html | 1 - .../templates/registrasion/profile_form.html | 1 - .../templates/registrasion/reports_list.html | 1 - pinaxcon/templates/registrasion/review.html | 1 - .../stripe/credit_card_payment.html | 1 - .../symposion/proposals/document_create.html | 2 - .../symposion/proposals/proposal_detail.html | 1 - .../symposion/proposals/proposal_edit.html | 2 - .../proposals/proposal_speaker_manage.html | 1 - .../symposion/reviews/review_detail.html | 2 +- .../symposion/speakers/speaker_create.html | 1 - .../symposion/speakers/speaker_edit.html | 1 - 31 files changed, 4 insertions(+), 160 deletions(-) delete mode 100644 pinaxcon/templates/django/forms/widgets/checkbox.html delete mode 100644 pinaxcon/templates/django/forms/widgets/checkbox_option.html delete mode 100644 pinaxcon/templates/django/forms/widgets/input.html delete mode 100644 pinaxcon/templates/django/forms/widgets/radio_option.html delete mode 100644 pinaxcon/templates/django/forms/widgets/select.html delete mode 100644 pinaxcon/templates/django/forms/widgets/text.html delete mode 100644 pinaxcon/templates/django/forms/widgets/textarea.html delete mode 100644 pinaxcon/templates/forms/render.html delete mode 100644 pinaxcon/templates/forms/render_fields.html delete mode 100644 pinaxcon/templates/forms/widget.html delete mode 100644 pinaxcon/templates/forms/widget_basic.html delete mode 100644 pinaxcon/templates/forms/widget_boolean_multiple.html delete mode 100644 pinaxcon/templates/forms/widget_boolean_single.html diff --git a/pinaxcon/settings.py b/pinaxcon/settings.py index ded917c9..9b7e566a 100644 --- a/pinaxcon/settings.py +++ b/pinaxcon/settings.py @@ -90,7 +90,6 @@ STATICFILES_FINDERS = [ "django.contrib.staticfiles.finders.AppDirectoriesFinder", ] -FORM_RENDERER = 'django.forms.renderers.TemplatesSetting' TEMPLATES = [ { "BACKEND": "django.template.backends.django.DjangoTemplates", diff --git a/pinaxcon/templates/_form_snippet.html b/pinaxcon/templates/_form_snippet.html index 19ba3aa3..7d64b937 100644 --- a/pinaxcon/templates/_form_snippet.html +++ b/pinaxcon/templates/_form_snippet.html @@ -1,4 +1,6 @@ {% load pyconau2017_tags %} +{% load bootstrap %} + {% if form.non_field_errors %} <div class="has-errors"> {{ form.non_field_errors }} @@ -10,4 +12,4 @@ Fields marked with <strong>*</strong> are required. </blockquote> -{% include "forms/render.html" with form=form %} +{{ form|bootstrap_horizontal }} diff --git a/pinaxcon/templates/django/forms/widgets/checkbox.html b/pinaxcon/templates/django/forms/widgets/checkbox.html deleted file mode 100644 index ee66c9c2..00000000 --- a/pinaxcon/templates/django/forms/widgets/checkbox.html +++ /dev/null @@ -1 +0,0 @@ -<input class="form-check-input" type="{{ widget.type }}" name="{{ widget.name }}"{% if widget.value != None %} value="{{ widget.value }}"{% endif %}{% include "django/forms/widgets/attrs.html" %} /> diff --git a/pinaxcon/templates/django/forms/widgets/checkbox_option.html b/pinaxcon/templates/django/forms/widgets/checkbox_option.html deleted file mode 100644 index fd57f435..00000000 --- a/pinaxcon/templates/django/forms/widgets/checkbox_option.html +++ /dev/null @@ -1,3 +0,0 @@ -{% if wrap_label %}<label class="form-check-label"{% if widget.attrs.id %} for="{{ widget.attrs.id }}"{% endif %}>{% endif %} -<input class="form-check-input" type="{{ widget.type }}" name="{{ widget.name }}"{% if widget.value != None %} value="{{ widget.value }}"{% endif %}{% include "django/forms/widgets/attrs.html" %} /> -{% if wrap_label %} {{ widget.label }}</label>{% endif %} diff --git a/pinaxcon/templates/django/forms/widgets/input.html b/pinaxcon/templates/django/forms/widgets/input.html deleted file mode 100644 index 87a8c065..00000000 --- a/pinaxcon/templates/django/forms/widgets/input.html +++ /dev/null @@ -1 +0,0 @@ -<input class="form-control" type="{{ widget.type }}" name="{{ widget.name }}"{% if widget.value != None %} value="{{ widget.value }}"{% endif %}{% include "django/forms/widgets/attrs.html" %} /> diff --git a/pinaxcon/templates/django/forms/widgets/radio_option.html b/pinaxcon/templates/django/forms/widgets/radio_option.html deleted file mode 100644 index 323bbbb3..00000000 --- a/pinaxcon/templates/django/forms/widgets/radio_option.html +++ /dev/null @@ -1,3 +0,0 @@ -{% if wrap_label %}<label class="form-check-label"{% if widget.attrs.id %} for="{{ widget.attrs.id }}"{% endif %}>{% endif %} - <input class="form-check-input" type="{{ widget.type }}" name="{{ widget.name }}"{% if widget.value != None %} value="{{ widget.value }}"{% endif %}{% include "django/forms/widgets/attrs.html" %} /> -{% if wrap_label %} {{ widget.label }}</label>{% endif %} diff --git a/pinaxcon/templates/django/forms/widgets/select.html b/pinaxcon/templates/django/forms/widgets/select.html deleted file mode 100644 index 8a6ecad8..00000000 --- a/pinaxcon/templates/django/forms/widgets/select.html +++ /dev/null @@ -1,5 +0,0 @@ -<select class="form-control" name="{{ widget.name }}"{% include "django/forms/widgets/attrs.html" %}>{% for group_name, group_choices, group_index in widget.optgroups %}{% if group_name %} - <optgroup label="{{ group_name }}">{% endif %}{% for option in group_choices %} - {% include option.template_name with widget=option %}{% endfor %}{% if group_name %} - </optgroup>{% endif %}{% endfor %} -</select> diff --git a/pinaxcon/templates/django/forms/widgets/text.html b/pinaxcon/templates/django/forms/widgets/text.html deleted file mode 100644 index 87a8c065..00000000 --- a/pinaxcon/templates/django/forms/widgets/text.html +++ /dev/null @@ -1 +0,0 @@ -<input class="form-control" type="{{ widget.type }}" name="{{ widget.name }}"{% if widget.value != None %} value="{{ widget.value }}"{% endif %}{% include "django/forms/widgets/attrs.html" %} /> diff --git a/pinaxcon/templates/django/forms/widgets/textarea.html b/pinaxcon/templates/django/forms/widgets/textarea.html deleted file mode 100644 index 3cdc0916..00000000 --- a/pinaxcon/templates/django/forms/widgets/textarea.html +++ /dev/null @@ -1,2 +0,0 @@ -<textarea class="form-control" name="{{ widget.name }}"{% include "django/forms/widgets/attrs.html" %}> -{% if widget.value %}{{ widget.value }}{% endif %}</textarea> diff --git a/pinaxcon/templates/forms/render.html b/pinaxcon/templates/forms/render.html deleted file mode 100644 index 488303fa..00000000 --- a/pinaxcon/templates/forms/render.html +++ /dev/null @@ -1,58 +0,0 @@ -{% load formset_tags %} - -{% if form.total_form_count and form.empty_form %} - - {% comment %}This is a formset.{% endcomment %} - - <div class="formset" data-formset-prefix="{{ form.prefix }}"> - - {{ form.management_form }} - - <div data-formset-body> - {% for inner_form in form %} - <div data-formset-form> - <fieldset> - {% include "forms/render_fields.html" with form=inner_form %} - </fieldset> - </div> - {% if not forloop.last %} - <div class="vertical-small"></div> - {% endif %} - {% endfor %} - </div> - - <script type="form-template" data-formset-empty-form> - {% escapescript %} - <div class="vertical-small"></div> - <div data-formset-form> - <fieldset> - {% include "forms/render_fields.html" with form=form.empty_form %} - </fieldset> - </div> - {% endescapescript %} - </script> - - <div class="vertical-small"></div> - <input type="button" class="btn" value="Add another" data-formset-add> - - <script type="text/javascript"> - function defer() { - if (window.jQuery) { - jQuery(function($) { - $(".formset").formset({ - animateForms: true - }); - }); - } else { - setTimeout(function() { defer() }, 50); - } - } - defer(); - </script> - - - </div> - -{% else %} - {% include "forms/render_fields.html" %} -{% endif %} diff --git a/pinaxcon/templates/forms/render_fields.html b/pinaxcon/templates/forms/render_fields.html deleted file mode 100644 index 91b7e2b3..00000000 --- a/pinaxcon/templates/forms/render_fields.html +++ /dev/null @@ -1,5 +0,0 @@ -{% for field in form %} - {% if not field.is_hidden %} - {% include "forms/widget.html" %} - {% endif %} -{% endfor %} diff --git a/pinaxcon/templates/forms/widget.html b/pinaxcon/templates/forms/widget.html deleted file mode 100644 index cf1fc56c..00000000 --- a/pinaxcon/templates/forms/widget.html +++ /dev/null @@ -1,14 +0,0 @@ -{% load pyconau2017_tags %} - -<div class="form-group row"> - {% classname field.field.widget as widget %} - {% if widget == "CheckboxInput" %} - {% include "forms/widget_boolean_single.html" %} - {% elif widget == "RadioSelect" or widget == "CheckboxSelectMultiple" %} - {% include "forms/widget_boolean_multiple.html" %} - {% elif widget == "Select" or widget == "SelectMultiple" or widget == "LazySelect" or widget == "CountrySelectWidget" %} - {% include "forms/widget_basic.html" with widget_class="select" %} - {% else %} - {% include "forms/widget_basic.html" %} - {% endif %} -</div> diff --git a/pinaxcon/templates/forms/widget_basic.html b/pinaxcon/templates/forms/widget_basic.html deleted file mode 100644 index 295dc5f4..00000000 --- a/pinaxcon/templates/forms/widget_basic.html +++ /dev/null @@ -1,12 +0,0 @@ -{% if field.errors %} - <div class="alert alert-danger col-sm-offset-2 col-sm-10" role="alert"> - {{ field.errors }} - </div> -{% endif %} -<label for="{{ field.id_for_label }}" class="col-sm-2 control-label">{{ field.label }}{% if field.field.required %} *{% endif %}</label> -<div class="col-sm-10"> - {{ field }} - {% if field.help_text %} - <span class="help_text">{{ field.help_text|safe }}</span> - {% endif %} -</div> diff --git a/pinaxcon/templates/forms/widget_boolean_multiple.html b/pinaxcon/templates/forms/widget_boolean_multiple.html deleted file mode 100644 index 4208042f..00000000 --- a/pinaxcon/templates/forms/widget_boolean_multiple.html +++ /dev/null @@ -1,18 +0,0 @@ -<h3> - {{ field.label }}{% if field.field.required %} *{% endif %} -</h3> -{% if field.help_text %} - <span class="help_text">{{ field.help_text|safe }}</span> -{% endif %} - -{% if field.errors %} - <div class="alert alert-danger" role="alert"> - {{ field.errors }} - </div> -{% endif %} - -{% for item in field %} - <div class="col-sm-offset-2 col-sm-10"> - {{ item }} - </div> -{% endfor%} diff --git a/pinaxcon/templates/forms/widget_boolean_single.html b/pinaxcon/templates/forms/widget_boolean_single.html deleted file mode 100644 index c00b4102..00000000 --- a/pinaxcon/templates/forms/widget_boolean_single.html +++ /dev/null @@ -1,17 +0,0 @@ -<h3> - {{ field.label }}{% if field.field.required %} *{% endif %} -</h3> -{% if field.errors %} - <div class="alert alert-danger col-sm-offset-2 col-sm-10" role="alert"> - {{ field.errors }} - </div> -{% endif %} -<div class="col-sm-offset-2 col-sm-10"> - <label class="form-check-label" for="id_profile-past_lca_0"> - {{ field }} - <p>Sign me up</p> - {% if field.help_text %} - <span class="help_text">{{ field.help_text|safe }}</span> - {% endif %} - </label> -</div> diff --git a/pinaxcon/templates/registrasion/amend_registration.html b/pinaxcon/templates/registrasion/amend_registration.html index b996bf64..613cf548 100644 --- a/pinaxcon/templates/registrasion/amend_registration.html +++ b/pinaxcon/templates/registrasion/amend_registration.html @@ -1,5 +1,4 @@ {% extends "registrasion/base.html" %} -{% load bootstrap %} {% load registrasion_tags %} {% block content %} diff --git a/pinaxcon/templates/registrasion/checkout_errors.html b/pinaxcon/templates/registrasion/checkout_errors.html index 5a1bcd4c..8a707a09 100644 --- a/pinaxcon/templates/registrasion/checkout_errors.html +++ b/pinaxcon/templates/registrasion/checkout_errors.html @@ -1,5 +1,4 @@ {% extends "registrasion/base.html" %} -{% load bootstrap %} {% load registrasion_tags %} {% block body %} diff --git a/pinaxcon/templates/registrasion/guided_registration.html b/pinaxcon/templates/registrasion/guided_registration.html index 5a2302f4..71af3298 100644 --- a/pinaxcon/templates/registrasion/guided_registration.html +++ b/pinaxcon/templates/registrasion/guided_registration.html @@ -1,5 +1,4 @@ {% extends "registrasion/base.html" %} -{% load bootstrap %} {% load pyconau2017_tags %} {% block header_title %}Buy Your Ticket{% endblock %} diff --git a/pinaxcon/templates/registrasion/invoice.html b/pinaxcon/templates/registrasion/invoice.html index 6f51f569..ebfadd9a 100644 --- a/pinaxcon/templates/registrasion/invoice.html +++ b/pinaxcon/templates/registrasion/invoice.html @@ -1,5 +1,4 @@ {% extends "registrasion/base.html" %} -{% load bootstrap %} {% load registrasion_tags %} {% load pyconau2017_tags %} {% load staticfiles %} diff --git a/pinaxcon/templates/registrasion/product_category.html b/pinaxcon/templates/registrasion/product_category.html index db531ab2..0cbd23ce 100644 --- a/pinaxcon/templates/registrasion/product_category.html +++ b/pinaxcon/templates/registrasion/product_category.html @@ -1,5 +1,4 @@ {% extends "registrasion/base.html" %} -{% load bootstrap %} {% load registrasion_tags %} {% load pyconau2017_tags %} diff --git a/pinaxcon/templates/registrasion/profile_form.html b/pinaxcon/templates/registrasion/profile_form.html index 38c7f14e..5911874d 100644 --- a/pinaxcon/templates/registrasion/profile_form.html +++ b/pinaxcon/templates/registrasion/profile_form.html @@ -1,5 +1,4 @@ {% extends "registrasion/base.html" %} -{% load bootstrap %} {% load pyconau2017_tags %} {% block header_title %}Your profile{% endblock %} diff --git a/pinaxcon/templates/registrasion/reports_list.html b/pinaxcon/templates/registrasion/reports_list.html index f5883593..0fea9af0 100644 --- a/pinaxcon/templates/registrasion/reports_list.html +++ b/pinaxcon/templates/registrasion/reports_list.html @@ -1,5 +1,4 @@ {% extends "site_base.html" %} -{% load bootstrap %} {% load registrasion_tags %} {% block body %} diff --git a/pinaxcon/templates/registrasion/review.html b/pinaxcon/templates/registrasion/review.html index 33115f59..f582673b 100644 --- a/pinaxcon/templates/registrasion/review.html +++ b/pinaxcon/templates/registrasion/review.html @@ -1,5 +1,4 @@ {% extends "registrasion/base.html" %} -{% load bootstrap %} {% load registrasion_tags %} {% load pyconau2017_tags %} diff --git a/pinaxcon/templates/registrasion/stripe/credit_card_payment.html b/pinaxcon/templates/registrasion/stripe/credit_card_payment.html index 25478439..33b1a9e0 100644 --- a/pinaxcon/templates/registrasion/stripe/credit_card_payment.html +++ b/pinaxcon/templates/registrasion/stripe/credit_card_payment.html @@ -1,5 +1,4 @@ {% extends "registrasion/base.html" %} -{% load bootstrap %} {% load registrasion_tags %} {% load pyconau2017_tags %} diff --git a/pinaxcon/templates/symposion/proposals/document_create.html b/pinaxcon/templates/symposion/proposals/document_create.html index e238b136..96169771 100644 --- a/pinaxcon/templates/symposion/proposals/document_create.html +++ b/pinaxcon/templates/symposion/proposals/document_create.html @@ -1,7 +1,5 @@ {% extends "symposion/proposals/base.html" %} -{% load bootstrap %} - {% block page_title %}Upload Document to '{{ proposal.title }}'{% endblock %} {% block proposals_body %} diff --git a/pinaxcon/templates/symposion/proposals/proposal_detail.html b/pinaxcon/templates/symposion/proposals/proposal_detail.html index 163e9096..83f3476e 100644 --- a/pinaxcon/templates/symposion/proposals/proposal_detail.html +++ b/pinaxcon/templates/symposion/proposals/proposal_detail.html @@ -1,7 +1,6 @@ {% extends "symposion/proposals/base.html" %} {% load i18n %} -{% load bootstrap %} {% block head_title %}{{ proposal.title }}{% endblock %} {% block page_title %}#{{ proposal.number }}: {{ proposal.title }} ({{ proposal.speaker }}){% endblock %} diff --git a/pinaxcon/templates/symposion/proposals/proposal_edit.html b/pinaxcon/templates/symposion/proposals/proposal_edit.html index f9a0e818..55095879 100644 --- a/pinaxcon/templates/symposion/proposals/proposal_edit.html +++ b/pinaxcon/templates/symposion/proposals/proposal_edit.html @@ -1,7 +1,5 @@ {% extends "symposion/proposals/base.html" %} -{% load bootstrap %} - {% block head_title %}Editing {{ proposal.title }}{% endblock %} {% block page_title %}Editing: {{ proposal.title }}{% endblock %} diff --git a/pinaxcon/templates/symposion/proposals/proposal_speaker_manage.html b/pinaxcon/templates/symposion/proposals/proposal_speaker_manage.html index 228b7352..4445933e 100644 --- a/pinaxcon/templates/symposion/proposals/proposal_speaker_manage.html +++ b/pinaxcon/templates/symposion/proposals/proposal_speaker_manage.html @@ -1,7 +1,6 @@ {% extends "symposion/proposals/base.html" %} {% load i18n %} -{% load bootstrap %} {% block page_title %}{% trans 'Proposal:' %} {{ proposal.title }}{% endblock %} {% block head_title %}{% trans 'Proposal:' %} {{ proposal.title }}{% endblock %} diff --git a/pinaxcon/templates/symposion/reviews/review_detail.html b/pinaxcon/templates/symposion/reviews/review_detail.html index 35f3cf9a..aba2aa06 100644 --- a/pinaxcon/templates/symposion/reviews/review_detail.html +++ b/pinaxcon/templates/symposion/reviews/review_detail.html @@ -1,7 +1,7 @@ {% extends "symposion/reviews/base.html" %} -{% load i18n %} {% load bootstrap %} +{% load i18n %} {% block body %} diff --git a/pinaxcon/templates/symposion/speakers/speaker_create.html b/pinaxcon/templates/symposion/speakers/speaker_create.html index 699434b9..5086dfe6 100644 --- a/pinaxcon/templates/symposion/speakers/speaker_create.html +++ b/pinaxcon/templates/symposion/speakers/speaker_create.html @@ -1,6 +1,5 @@ {% extends "symposion/speakers/base.html" %} -{% load bootstrap %} {% load i18n %} {% block head_title %}{% trans "Create Speaker Profile" %}{% endblock %} diff --git a/pinaxcon/templates/symposion/speakers/speaker_edit.html b/pinaxcon/templates/symposion/speakers/speaker_edit.html index e09307b1..a43ef42e 100644 --- a/pinaxcon/templates/symposion/speakers/speaker_edit.html +++ b/pinaxcon/templates/symposion/speakers/speaker_edit.html @@ -1,6 +1,5 @@ {% extends "symposion/speakers/base.html" %} -{% load bootstrap %} {% load i18n %} {% block head_title %}{% trans "Edit Speaker Profile" %}{% endblock %}