Răsfoiți Sursa

HUE-6312 [useradmin] Add error notifications on Hue 4 for edit permission

Enrico Berti 8 ani în urmă
părinte
comite
7573b99190

+ 4 - 1
apps/useradmin/src/useradmin/templates/edit_permissions.mako

@@ -82,7 +82,10 @@ ${layout.menubar(section='permissions')}
     $editPermissionsComponents.find('#editForm').ajaxForm({
       dataType:  'json',
       success: function(data) {
-        if (data && data.url){
+        if (data && data.status == -1) {
+          renderUseradminErrors(data.errors);
+        }
+        else if (data && data.url) {
           huePubSub.publish('open.link', data.url);
           $.jHueNotify.info("${ _('Permission information updated correctly') }");
         }

+ 11 - 8
apps/useradmin/src/useradmin/views.py

@@ -512,14 +512,17 @@ def edit_permission(request, app=None, priv=None):
         return redirect(reverse(list_permissions))
   else:
     form = PermissionsEditForm(instance=instance)
-
-  return render('edit_permissions.mako', request, {
-    'form': form,
-    'action': request.path,
-    'app': app,
-    'priv': priv,
-    'is_embeddable': is_embeddable,
-  })
+  if request.method == 'POST' and is_embeddable:
+    return JsonResponse(
+      {'status': -1, 'errors': [{'id': f.id_for_label, 'message': f.errors} for f in form if f.errors]})
+  else:
+    return render('edit_permissions.mako', request, {
+      'form': form,
+      'action': request.path,
+      'app': app,
+      'priv': priv,
+      'is_embeddable': is_embeddable,
+    })
 
 
 def add_ldap_users(request):