diff --git a/netbox/secrets/forms.py b/netbox/secrets/forms.py index e71bb92fa..4e8d6667c 100644 --- a/netbox/secrets/forms.py +++ b/netbox/secrets/forms.py @@ -43,6 +43,17 @@ class SecretRoleForm(BootstrapMixin, forms.ModelForm): fields = ['name', 'slug', 'users', 'groups'] +class SecretRoleCSVForm(forms.ModelForm): + slug = SlugField() + + class Meta: + model = SecretRole + fields = ['name', 'slug'] + help_texts = { + 'name': 'Name of secret role', + } + + # # Secrets # diff --git a/netbox/secrets/urls.py b/netbox/secrets/urls.py index 961e0f0ed..ecba5741f 100644 --- a/netbox/secrets/urls.py +++ b/netbox/secrets/urls.py @@ -11,6 +11,7 @@ urlpatterns = [ # Secret roles url(r'^secret-roles/$', views.SecretRoleListView.as_view(), name='secretrole_list'), url(r'^secret-roles/add/$', views.SecretRoleCreateView.as_view(), name='secretrole_add'), + url(r'^secret-roles/import/$', views.SecretRoleBulkImportView.as_view(), name='secretrole_import'), url(r'^secret-roles/delete/$', views.SecretRoleBulkDeleteView.as_view(), name='secretrole_bulk_delete'), url(r'^secret-roles/(?P[\w-]+)/edit/$', views.SecretRoleEditView.as_view(), name='secretrole_edit'), diff --git a/netbox/secrets/views.py b/netbox/secrets/views.py index d1febc245..6197faf10 100644 --- a/netbox/secrets/views.py +++ b/netbox/secrets/views.py @@ -52,6 +52,13 @@ class SecretRoleEditView(SecretRoleCreateView): permission_required = 'secrets.change_secretrole' +class SecretRoleBulkImportView(PermissionRequiredMixin, BulkImportView): + permission_required = 'secrets.add_secretrole' + model_form = forms.SecretRoleCSVForm + table = tables.SecretRoleTable + default_return_url = 'secrets:secretrole_list' + + class SecretRoleBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'secrets.delete_secretrole' cls = SecretRole diff --git a/netbox/templates/inc/nav_menu.html b/netbox/templates/inc/nav_menu.html index 9b4fa2624..c1dc9dc67 100644 --- a/netbox/templates/inc/nav_menu.html +++ b/netbox/templates/inc/nav_menu.html @@ -356,7 +356,6 @@
  • {% if perms.secrets.add_secret %}
    -
    {% endif %} @@ -366,7 +365,7 @@ {% if perms.secrets.add_secretrole %}
    - +
    {% endif %} Secret Roles