diff --git a/netbox/project-static/js/secrets.js b/netbox/project-static/js/secrets.js index 23af3593a..da5e52b74 100644 --- a/netbox/project-static/js/secrets.js +++ b/netbox/project-static/js/secrets.js @@ -15,8 +15,11 @@ $(document).ready(function() { }); // Adding/editing a secret - $('form.requires-session-key').submit(function(event) { - if ($('#id_plaintext').val() && document.cookie.indexOf('session_key') == -1) { + $('form').submit(function(event) { + if ( + $(this).find('input.requires-session-key').filter(function() {return this.value == ""}) && + document.cookie.indexOf('session_key') == -1 + ) { $('#privkey_modal').modal('show'); event.preventDefault(); } diff --git a/netbox/secrets/forms.py b/netbox/secrets/forms.py index 8c866f85b..65e369376 100644 --- a/netbox/secrets/forms.py +++ b/netbox/secrets/forms.py @@ -48,7 +48,7 @@ class SecretRoleForm(BootstrapMixin, forms.ModelForm): class SecretForm(BootstrapMixin, forms.ModelForm): plaintext = forms.CharField(max_length=65535, required=False, label='Plaintext', - widget=forms.PasswordInput()) + widget=forms.PasswordInput(attrs={'class': 'requires-session-key'})) plaintext2 = forms.CharField(max_length=65535, required=False, label='Plaintext (verify)', widget=forms.PasswordInput()) @@ -82,7 +82,7 @@ class SecretFromCSVForm(forms.ModelForm): class SecretImportForm(BootstrapMixin, BulkImportForm): - csv = CSVDataField(csv_form=SecretFromCSVForm) + csv = CSVDataField(csv_form=SecretFromCSVForm, widget=forms.Textarea(attrs={'class': 'requires-session-key'})) class SecretBulkEditForm(BootstrapMixin, BulkEditForm): diff --git a/netbox/templates/secrets/secret_edit.html b/netbox/templates/secrets/secret_edit.html index 4c80c85bd..4a56bb368 100644 --- a/netbox/templates/secrets/secret_edit.html +++ b/netbox/templates/secrets/secret_edit.html @@ -5,7 +5,7 @@ {% block title %}{% if secret.pk %}Editing {{ secret }}{% else %}Add a Secret{% endif %}{% endblock %} {% block content %} -