Changeset - c2088143f5ff
[Not reviewed]
default
5 1 1
Branko Majic (branko) - 11 years ago 2013-07-25 19:53:43
branko@majic.rs
CONNT-15: Reduced repetition for the update form by using a mixin and single template.
7 files changed with 70 insertions and 135 deletions:
0 comments (0 inline, 0 general)
conntrackt/templates/conntrackt/communication_update_form.html
Show inline comments
 
deleted file
conntrackt/templates/conntrackt/entity_update_form.html
Show inline comments
 
deleted file
conntrackt/templates/conntrackt/interface_update_form.html
Show inline comments
 
deleted file
conntrackt/templates/conntrackt/location_update_form.html
Show inline comments
 
deleted file
conntrackt/templates/conntrackt/project_update_form.html
Show inline comments
 
deleted file
conntrackt/templates/conntrackt/update_form.html
Show inline comments
 
new file 100644
 
{% extends "conntrackt/base.html" %}
 

	
 
{# For html_link #}
 
{% load conntrackt_tags %}
 
{# For Bootstrapped forms #}
 
{% load crispy_forms_tags %}
 

	
 
{% block content %}
 
<div class="row">
 
  <h1 class="span12">{{headline}}</h1>
 
</div>
 
<div class="row">
 
  <div class="span6">
 
    <form action="" method="post">
 
      <div class="controls controls-row">
 
      {% csrf_token %}
 
      {{ form | crispy }}
 
      </div>
 
      <div class="controls">
 
        <button type="submit" class="btn btn-primary">Update</button>
 
      </div>
 
    </form>
 
  </div>
 
</div>
 
{% endblock content %}
conntrackt/views.py
Show inline comments
 
@@ -266,14 +266,14 @@ class ProjectCreateView(SetHeadlineMixin
 
    raise_exception = True
 

	
 

	
 
class ProjectUpdateView(MultiplePermissionsRequiredMixin, UpdateView):
 
class ProjectUpdateView(SetHeadlineMixin, MultiplePermissionsRequiredMixin, UpdateView):
 
    """
 
    View for modifying an existing project.
 
    """
 

	
 
    model = Project
 
    form_class = ProjectForm
 
    template_name_suffix = "_update_form"
 
    template_name = "conntrackt/update_form.html"
 

	
 
    # Required permissions.
 
    permissions = {
 
@@ -283,6 +283,13 @@ class ProjectUpdateView(MultiplePermissi
 
    # Raise authorisation denied exception for unmet permissions.
 
    raise_exception = True
 

	
 
    def get_headline(self):
 
        """
 
        Set headline based on project name.
 
        """
 

	
 
        return "Update project %s" % self.object.name
 

	
 

	
 
class ProjectDeleteView(MultiplePermissionsRequiredMixin, DeleteView):
 
    """
 
@@ -333,14 +340,14 @@ class LocationCreateView(SetHeadlineMixi
 
    success_url = reverse_lazy("index")
 

	
 

	
 
class LocationUpdateView(MultiplePermissionsRequiredMixin, UpdateView):
 
class LocationUpdateView(SetHeadlineMixin, MultiplePermissionsRequiredMixin, UpdateView):
 
    """
 
    View for modifying an existing location.
 
    """
 

	
 
    model = Location
 
    form_class = LocationForm
 
    template_name_suffix = "_update_form"
 
    template_name = "conntrackt/update_form.html"
 

	
 
    # Required permissions.
 
    permissions = {
 
@@ -352,6 +359,13 @@ class LocationUpdateView(MultiplePermiss
 

	
 
    success_url = reverse_lazy("index")
 

	
 
    def get_headline(self):
 
        """
 
        Set headline based on location name.
 
        """
 

	
 
        return "Update location %s" % self.object.name
 

	
 

	
 
class LocationDeleteView(MultiplePermissionsRequiredMixin, DeleteView):
 
    """
 
@@ -437,14 +451,14 @@ class EntityCreateView(SetHeadlineMixin,
 
        return initial
 

	
 

	
 
class EntityUpdateView(MultiplePermissionsRequiredMixin, UpdateView):
 
class EntityUpdateView(SetHeadlineMixin, MultiplePermissionsRequiredMixin, UpdateView):
 
    """
 
    View for updating an existing entity.
 
    """
 

	
 
    model = Entity
 
    form_class = EntityForm
 
    template_name_suffix = "_update_form"
 
    template_name = "conntrackt/update_form.html"
 

	
 
    # Required permissions.
 
    permissions = {
 
@@ -454,6 +468,13 @@ class EntityUpdateView(MultiplePermissio
 
    # Raise authorisation denied exception for unmet permissions.
 
    raise_exception = True
 

	
 
    def get_headline(self):
 
        """
 
        Set headline based on entity name.
 
        """
 

	
 
        return "Update entity %s" % self.object.name
 

	
 

	
 
class EntityDeleteView(MultiplePermissionsRequiredMixin, DeleteView):
 
    """
 
@@ -552,14 +573,14 @@ class InterfaceCreateView(SetHeadlineMix
 
        return reverse("entity", args=(self.object.entity.pk,))
 

	
 

	
 
class InterfaceUpdateView(MultiplePermissionsRequiredMixin, UpdateView):
 
class InterfaceUpdateView(SetHeadlineMixin, MultiplePermissionsRequiredMixin, UpdateView):
 
    """
 
    View for updating an existing interface.
 
    """
 

	
 
    model = Interface
 
    form_class = InterfaceForm
 
    template_name_suffix = "_update_form"
 
    template_name = "conntrackt/update_form.html"
 

	
 
    # Required permissions.
 
    permissions = {
 
@@ -595,6 +616,13 @@ class InterfaceUpdateView(MultiplePermis
 

	
 
        return reverse("entity", args=(self.object.entity.pk,))
 

	
 
    def get_headline(self):
 
        """
 
        Set headline based on interface name.
 
        """
 

	
 
        return "Update interface %s" % self.object.name
 

	
 

	
 
class InterfaceDeleteView(MultiplePermissionsRequiredMixin, DeleteView):
 
    """
 
@@ -719,14 +747,14 @@ class CommunicationCreateView(SetHeadlin
 
        return self.request.GET.get("next", reverse("project", args=(self.object.source.entity.project.pk,)))
 

	
 

	
 
class CommunicationUpdateView(MultiplePermissionsRequiredMixin, UpdateView):
 
class CommunicationUpdateView(SetHeadlineMixin, MultiplePermissionsRequiredMixin, UpdateView):
 
    """
 
    View for updating an existing communication.
 
    """
 

	
 
    model = Communication
 
    form_class = CommunicationForm
 
    template_name_suffix = "_update_form"
 
    template_name = "conntrackt/update_form.html"
 

	
 
    # Required permissions.
 
    permissions = {
 
@@ -766,6 +794,13 @@ class CommunicationUpdateView(MultiplePe
 

	
 
        return self.request.GET.get("next", reverse("project", args=(self.object.source.entity.project.pk,)))
 

	
 
    def get_headline(self):
 
        """
 
        Set headline based on communication.
 
        """
 

	
 
        return "Update communication %s" % self.object
 

	
 

	
 
class CommunicationDeleteView(MultiplePermissionsRequiredMixin, DeleteView):
 
    """
0 comments (0 inline, 0 general)