# HG changeset patch # User Branko Majic # Date 2013-07-25 19:33:31 # Node ID 0d8ace5c1a9992e3883f3e63914b67681498c120 # Parent 3a4f7bb39a219e9e05a00de44ecfbd8bb2e0b932 CONNT-15: Reduced repetition for the create form by using a mixin and single template. diff --git a/conntrackt/templates/conntrackt/communication_create_form.html b/conntrackt/templates/conntrackt/communication_create_form.html deleted file mode 100644 --- a/conntrackt/templates/conntrackt/communication_create_form.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends "conntrackt/base.html" %} - -{# For html_link #} -{% load conntrackt_tags %} -{# For Bootstrapped forms #} -{% load crispy_forms_tags %} - -{% block content %} -
-

Add new communication

-
- -
-
-
-
- {% csrf_token %} - {{ form | crispy }} - {{ interface_form | crispy }} -
-
- -
-
-
-
-{% endblock content %} diff --git a/conntrackt/templates/conntrackt/create_form.html b/conntrackt/templates/conntrackt/create_form.html new file mode 100644 --- /dev/null +++ b/conntrackt/templates/conntrackt/create_form.html @@ -0,0 +1,25 @@ +{% extends "conntrackt/base.html" %} + +{# For html_link #} +{% load conntrackt_tags %} +{# For Bootstrapped forms #} +{% load crispy_forms_tags %} + +{% block content %} +
+

{{headline}}

+
+
+
+
+
+ {% csrf_token %} + {{ form | crispy }} +
+
+ +
+
+
+
+{% endblock content %} diff --git a/conntrackt/templates/conntrackt/entity_create_form.html b/conntrackt/templates/conntrackt/entity_create_form.html deleted file mode 100644 --- a/conntrackt/templates/conntrackt/entity_create_form.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends "conntrackt/base.html" %} - -{# For html_link #} -{% load conntrackt_tags %} -{# For Bootstrapped forms #} -{% load crispy_forms_tags %} - -{% block content %} -
-

Add new entity

-
- -
-
-
-
- {% csrf_token %} - {{ form | crispy }} - {{ interface_form | crispy }} -
-
- -
-
-
-
-{% endblock content %} diff --git a/conntrackt/templates/conntrackt/interface_create_form.html b/conntrackt/templates/conntrackt/interface_create_form.html deleted file mode 100644 --- a/conntrackt/templates/conntrackt/interface_create_form.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends "conntrackt/base.html" %} - -{# For html_link #} -{% load conntrackt_tags %} -{# For Bootstrapped forms #} -{% load crispy_forms_tags %} - -{% block content %} -
-

Add new interface

-
- -
-
-
-
- {% csrf_token %} - {{ form | crispy }} - {{ interface_form | crispy }} -
-
- -
-
-
-
-{% endblock content %} diff --git a/conntrackt/templates/conntrackt/location_create_form.html b/conntrackt/templates/conntrackt/location_create_form.html deleted file mode 100644 --- a/conntrackt/templates/conntrackt/location_create_form.html +++ /dev/null @@ -1,25 +0,0 @@ -{% extends "conntrackt/base.html" %} - -{# For html_link #} -{% load conntrackt_tags %} -{# For Bootstrapped forms #} -{% load crispy_forms_tags %} - -{% block content %} -
-

Add new location

-
-
-
-
-
- {% csrf_token %} - {{ form | crispy }} -
-
- -
-
-
-
-{% endblock content %} diff --git a/conntrackt/templates/conntrackt/project_create_form.html b/conntrackt/templates/conntrackt/project_create_form.html deleted file mode 100644 --- a/conntrackt/templates/conntrackt/project_create_form.html +++ /dev/null @@ -1,25 +0,0 @@ -{% extends "conntrackt/base.html" %} - -{# For html_link #} -{% load conntrackt_tags %} -{# For Bootstrapped forms #} -{% load crispy_forms_tags %} - -{% block content %} -
-

Add new project

-
-
-
-
-
- {% csrf_token %} - {{ form | crispy }} -
-
- -
-
-
-
-{% endblock content %} diff --git a/conntrackt/views.py b/conntrackt/views.py --- a/conntrackt/views.py +++ b/conntrackt/views.py @@ -11,7 +11,7 @@ from django.shortcuts import render_to_r from django.views.generic import TemplateView, DetailView, CreateView, UpdateView, DeleteView # Third-party application imports. -from braces.views import MultiplePermissionsRequiredMixin +from braces.views import MultiplePermissionsRequiredMixin, SetHeadlineMixin # Application imports. from .forms import ProjectForm, LocationForm, EntityForm, InterfaceForm, CommunicationForm @@ -247,14 +247,15 @@ def project_iptables(request, project_id return response -class ProjectCreateView(MultiplePermissionsRequiredMixin, CreateView): +class ProjectCreateView(SetHeadlineMixin, MultiplePermissionsRequiredMixin, CreateView): """ View for creating a new project. """ model = Project form_class = ProjectForm - template_name_suffix = "_create_form" + headline = "Add new project" + template_name = "conntrackt/create_form.html" # Required permissions. permissions = { @@ -311,14 +312,15 @@ class ProjectDeleteView(MultiplePermissi return super(ProjectDeleteView, self).post(*args, **kwargs) -class LocationCreateView(MultiplePermissionsRequiredMixin, CreateView): +class LocationCreateView(SetHeadlineMixin, MultiplePermissionsRequiredMixin, CreateView): """ View for creating a new location. """ model = Location form_class = LocationForm - template_name_suffix = "_create_form" + headline = "Add new location" + template_name = "conntrackt/create_form.html" # Required permissions. permissions = { @@ -379,14 +381,15 @@ class LocationDeleteView(MultiplePermiss return super(LocationDeleteView, self).post(*args, **kwargs) -class EntityCreateView(MultiplePermissionsRequiredMixin, CreateView): +class EntityCreateView(SetHeadlineMixin, MultiplePermissionsRequiredMixin, CreateView): """ View for creating a new entity. """ model = Entity form_class = EntityForm - template_name_suffix = "_create_form" + headline = "Add new entity" + template_name = "conntrackt/create_form.html" # Required permissions. permissions = { @@ -490,14 +493,15 @@ class EntityDeleteView(MultiplePermissio return super(EntityDeleteView, self).delete(*args, **kwargs) -class InterfaceCreateView(MultiplePermissionsRequiredMixin, CreateView): +class InterfaceCreateView(SetHeadlineMixin, MultiplePermissionsRequiredMixin, CreateView): """ View for creating a new interface. """ model = Interface form_class = InterfaceForm - template_name_suffix = "_create_form" + headline = "Add new interface" + template_name = "conntrackt/create_form.html" # Required permissions permissions = { @@ -630,14 +634,15 @@ class InterfaceDeleteView(MultiplePermis return super(InterfaceDeleteView, self).delete(*args, **kwargs) -class CommunicationCreateView(MultiplePermissionsRequiredMixin, CreateView): +class CommunicationCreateView(SetHeadlineMixin, MultiplePermissionsRequiredMixin, CreateView): """ View for creating a new communication. """ model = Communication form_class = CommunicationForm - template_name_suffix = "_create_form" + headline = "Add new communication" + template_name = "conntrackt/create_form.html" # Required permissions permissions = {