Parcourir la source

Converted RackGroups to use utility CBVs

Jeremy Stretch il y a 9 ans
Parent
commit
bacde242aa
3 fichiers modifiés avec 20 ajouts et 50 suppressions
  1. 7 0
      netbox/dcim/forms.py
  2. 7 6
      netbox/dcim/views.py
  3. 6 44
      netbox/templates/dcim/rackgroup_edit.html

+ 7 - 0
netbox/dcim/forms.py

@@ -72,6 +72,13 @@ class SiteImportForm(BulkImportForm, BootstrapMixin):
 # Rack groups
 #
 
+class RackGroupForm(forms.ModelForm, BootstrapMixin):
+
+    class Meta:
+        model = RackGroup
+        fields = ['site', 'name', 'slug']
+
+
 class RackGroupBulkDeleteForm(ConfirmationForm):
     pk = forms.ModelMultipleChoiceField(queryset=RackGroup.objects.all(), widget=forms.MultipleHiddenInput)
 

+ 7 - 6
netbox/dcim/views.py

@@ -23,8 +23,8 @@ from utilities.views import ObjectListView, BulkImportView, BulkEditView, BulkDe
 
 from .filters import RackGroupFilter, RackFilter, DeviceTypeFilter, DeviceFilter, ConsoleConnectionFilter, \
     PowerConnectionFilter, InterfaceConnectionFilter
-from .forms import SiteForm, SiteImportForm, RackGroupFilterForm, RackGroupBulkDeleteForm, RackForm, RackImportForm, \
-    RackBulkEditForm, RackBulkDeleteForm, RackFilterForm, DeviceTypeForm, DeviceTypeBulkEditForm, \
+from .forms import SiteForm, SiteImportForm, RackGroupForm, RackGroupFilterForm, RackGroupBulkDeleteForm, RackForm, \
+    RackImportForm, RackBulkEditForm, RackBulkDeleteForm, RackFilterForm, DeviceTypeForm, DeviceTypeBulkEditForm, \
     DeviceTypeBulkDeleteForm, DeviceTypeFilterForm, DeviceForm, DeviceImportForm, DeviceBulkEditForm, \
     DeviceBulkDeleteForm, DeviceFilterForm, ConsolePortForm, ConsolePortCreateForm, ConsolePortConnectionForm, \
     ConsoleConnectionImportForm, ConsoleServerPortForm, ConsoleServerPortCreateForm, ConsoleServerPortConnectionForm, \
@@ -144,17 +144,18 @@ class RackGroupListView(ObjectListView):
     template_name = 'dcim/rackgroup_list.html'
 
 
-class RackGroupAddView(PermissionRequiredMixin, CreateView):
+class RackGroupAddView(PermissionRequiredMixin, ObjectAddView):
     permission_required = 'dcim.add_rackgroup'
     model = RackGroup
-    fields = ['site', 'name', 'slug']
+    form_class = RackGroupForm
     template_name = 'dcim/rackgroup_edit.html'
+    cancel_url = 'dcim:rackgroup_list'
 
 
-class RackGroupEditView(PermissionRequiredMixin, UpdateView):
+class RackGroupEditView(PermissionRequiredMixin, ObjectEditView):
     permission_required = 'dcim.change_rackgroup'
     model = RackGroup
-    fields = ['site', 'name', 'slug']
+    form_class = RackGroupForm
     template_name = 'dcim/rackgroup_edit.html'
 
 

+ 6 - 44
netbox/templates/dcim/rackgroup_edit.html

@@ -1,49 +1,11 @@
-{% extends '_base.html' %}
+{% extends 'utilities/obj_edit.html' %}
 {% load form_helpers %}
 
-{% block title %}{% if rack %}Editing rack group {{ rackgroup }}{% else %}Add a rack group{% endif %}{% endblock %}
-
-{% block content %}
-<form action="." method="post" class="form form-horizontal">
-    {% csrf_token %}
-    <div class="row">
-        <div class="col-md-6 col-md-offset-3">
-            {% if rackgroup %}
-                <h1>Rack group {{ rackgroup }}</h1>
-            {% else %}
-                <h1>Add a Rack Group</h1>
-            {% endif %}
-            {% if form.non_field_errors %}
-                <div class="panel panel-danger">
-                    <div class="panel-heading"><strong>Errors</strong></div>
-                    <div class="panel-body">
-                        {{ form.non_field_errors }}
-                    </div>
-                </div>
-            {% endif %}
-        </div>
-    </div>
-    <div class="row">
-        <div class="col-md-6 col-md-offset-3">
-            <div class="panel panel-default">
-                <div class="panel-heading"><strong>Rack Group</strong></div>
-                <div class="panel-body">
-                    {% render_form form %}
-                </div>
-            </div>
-        </div>
-    </div>
-    <div class="row">
-        <div class="col-md-6 col-md-offset-3 text-right">
-            {% if rackgroup %}
-                <button type="submit" name="_update" class="btn btn-primary">Update</button>
-                <a href="{% url 'dcim:rackgroup_list' %}" class="btn btn-default">Cancel</a>
-            {% else %}
-                <button type="submit" name="_create" class="btn btn-primary">Create</button>
-                <button type="submit" name="_addanother" class="btn btn-primary">Create and Add Another</button>
-                <a href="{% url 'dcim:rackgroup_list' %}" class="btn btn-default">Cancel</a>
-            {% endif %}
+{% block form %}
+    <div class="panel panel-default">
+        <div class="panel-heading"><strong>Rack Group</strong></div>
+        <div class="panel-body">
+            {% render_form form %}
         </div>
     </div>
-</form>
 {% endblock %}