Browse Source

Added bulk import view for circuit types

Jeremy Stretch 7 years ago
parent
commit
2c9b41db75

+ 11 - 0
netbox/circuits/forms.py

@@ -85,6 +85,17 @@ class CircuitTypeForm(BootstrapMixin, forms.ModelForm):
         fields = ['name', 'slug']
 
 
+class CircuitTypeCSVForm(forms.ModelForm):
+    slug = SlugField()
+
+    class Meta:
+        model = CircuitType
+        fields = ['name', 'slug']
+        help_texts = {
+            'name': 'Name of circuit type',
+        }
+
+
 #
 # Circuits
 #

+ 1 - 0
netbox/circuits/urls.py

@@ -21,6 +21,7 @@ urlpatterns = [
     # Circuit types
     url(r'^circuit-types/$', views.CircuitTypeListView.as_view(), name='circuittype_list'),
     url(r'^circuit-types/add/$', views.CircuitTypeCreateView.as_view(), name='circuittype_add'),
+    url(r'^circuit-types/import/$', views.CircuitTypeBulkImportView.as_view(), name='circuittype_import'),
     url(r'^circuit-types/delete/$', views.CircuitTypeBulkDeleteView.as_view(), name='circuittype_bulk_delete'),
     url(r'^circuit-types/(?P<slug>[\w-]+)/edit/$', views.CircuitTypeEditView.as_view(), name='circuittype_edit'),
 

+ 7 - 0
netbox/circuits/views.py

@@ -114,6 +114,13 @@ class CircuitTypeEditView(CircuitTypeCreateView):
     permission_required = 'circuits.change_circuittype'
 
 
+class CircuitTypeBulkImportView(PermissionRequiredMixin, BulkImportView):
+    permission_required = 'circuits.add_circuittype'
+    model_form = forms.CircuitTypeCSVForm
+    table = tables.CircuitTypeTable
+    default_return_url = 'circuits:circuittype_list'
+
+
 class CircuitTypeBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'circuits.delete_circuittype'
     cls = CircuitType

+ 1 - 1
netbox/templates/inc/nav_menu.html

@@ -330,7 +330,7 @@
                             {% if perms.circuits.add_circuittype %}
                                 <div class="buttons pull-right">
                                     <a href="{% url 'circuits:circuittype_add' %}" class="btn btn-xs btn-success" title="Add"><i class="fa fa-plus"></i></a>
-                                    <a class="btn btn-xs btn-info disabled" title="Import"><i class="fa fa-download"></i></a>
+                                    <a href="{% url 'circuits:circuittype_import' %}" class="btn btn-xs btn-info" title="Import"><i class="fa fa-download"></i></a>
                                 </div>
                             {% endif %}
                             <a href="{% url 'circuits:circuittype_list' %}">Circuit Types</a>