Parcourir la source

Fixes #1312: Catch error when attempting to activate a user key with an invalid private key

Jeremy Stretch il y a 7 ans
Parent
commit
af9fa85cc1
1 fichiers modifiés avec 6 ajouts et 4 suppressions
  1. 6 4
      netbox/secrets/admin.py

+ 6 - 4
netbox/secrets/admin.py

@@ -42,13 +42,15 @@ class UserKeyAdmin(admin.ModelAdmin):
         if 'activate' in request.POST:
             form = ActivateUserKeyForm(request.POST)
             if form.is_valid():
-                try:
-                    master_key = my_userkey.get_master_key(form.cleaned_data['secret_key'])
+                master_key = my_userkey.get_master_key(form.cleaned_data['secret_key'])
+                if master_key is not None:
                     for uk in form.cleaned_data['_selected_action']:
                         uk.activate(master_key)
                     return redirect('admin:secrets_userkey_changelist')
-                except ValueError:
-                    messages.error(request, "Invalid private key provided. Unable to retrieve master key.")
+                else:
+                    messages.error(
+                        request, "Invalid private key provided. Unable to retrieve master key.", extra_tags='error'
+                    )
         else:
             form = ActivateUserKeyForm(initial={'_selected_action': request.POST.getlist(admin.ACTION_CHECKBOX_NAME)})