浏览代码

HUE-6241 [useradmin] Delete a user in Hue 4 behaves correctly

Enrico Berti 8 年之前
父节点
当前提交
ceafa01
共有 2 个文件被更改,包括 23 次插入2 次删除
  1. 15 0
      apps/useradmin/src/useradmin/templates/list_users.mako
  2. 8 2
      apps/useradmin/src/useradmin/views.py

+ 15 - 0
apps/useradmin/src/useradmin/templates/list_users.mako

@@ -119,6 +119,9 @@ ${layout.menubar(section='users')}
   <div class="modal hide fade delete-user">
     <form action="${ url('useradmin.views.delete_user') }" method="POST">
       ${ csrf_token(request) | n,unicode }
+      % if is_embeddable:
+        <input type="hidden" value="true" name="is_embeddable" />
+      % endif
       <div class="modal-header">
         <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">&times;</span></button>
         <h2 class="modal-title">${ _("Are you sure you want to delete the selected user(s)?") }</h2>
@@ -183,6 +186,18 @@ ${layout.menubar(section='users')}
       placement: 'right'
     });
 
+    % if is_embeddable:
+    $usersComponents.find('.delete-user form').ajaxForm({
+      dataType:  'json',
+      success: function(data) {
+        if (data && data.url){
+          huePubSub.publish('open.link', data.url);
+        }
+        $usersComponents.find(".delete-user").modal("hide");
+      }
+    });
+    % endif
+
     $usersComponents.find(".dataTables_wrapper").css("min-height", "0");
     $usersComponents.find(".dataTables_filter").hide();
 

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

@@ -186,8 +186,14 @@ def delete_user(request):
   finally:
     __users_lock.release()
 
-  request.info(_('The users were deleted.'))
-  return redirect(reverse(list_users))
+  is_embeddable = request.GET.get('is_embeddable', request.POST.get('is_embeddable', False))
+
+  if is_embeddable:
+    return JsonResponse({'url': '/hue' + reverse(list_users)})
+  else:
+    request.info(_('The users were deleted.'))
+    return redirect(reverse(list_users))
+
 
 
 def delete_group(request):