]> source.dussan.org Git - nextcloud-server.git/commitdiff
update GroupList when a users is added or removed to a group
authorArthur Schiwon <blizzz@owncloud.com>
Wed, 16 Apr 2014 20:16:55 +0000 (22:16 +0200)
committerArthur Schiwon <blizzz@owncloud.com>
Mon, 2 Jun 2014 10:53:56 +0000 (12:53 +0200)
settings/js/users/groups.js
settings/js/users/users.js

index 25b865cf18d4a337e8299a0ff2ff898c745f88d1..4c555bd4c86657db8693c15e80fa7fb233d55830 100644 (file)
@@ -7,15 +7,11 @@
 
  var GroupList = {
        addGroup: function(gid, usercount) {
-               if(usercount === undefined || usercount === 0) {
-                       usercount = '';
-               }
                var li = $('li[data-gid]').last().clone();
                var ul = $('li[data-gid]').first().parent();
                li.attr('data-gid', gid);
-               li.attr('data-usercount', usercount);
                li.find('a span').first().text(gid);
-               li.find('span[class=usercount]').first().text(usercount);
+               GroupList.setUserCount(li, usercount);
 
                $(li).appendTo(ul);
 
                return li;
        },
 
+       setUserCount: function(groupLiElement, usercount) {
+               if(usercount === undefined || usercount === 0) {
+                       usercount = '';
+               }
+               groupLiElement.attr('data-usercount', usercount);
+               groupLiElement.find('span[class=usercount]').first().text(usercount);
+       },
+
        sortGroups: function(usercount) {
                var lis = $('li[data-gid]').filterAttr('data-usercount', usercount.toString()).get();
                var ul = $(lis).first().parent();
@@ -93,6 +97,8 @@
                                $.each(result.data, function (i, subset) {
                                        $.each(subset, function (index, group) {
                                                if($('li[data-gid="' + group.name + '"]').length > 0) {
+                                                       var li = $('li[data-gid="' + group.name + '"]');
+                                                       GroupList.setUserCount(li, group.usercount);
                                                        return true;
                                                }
                                                var li = GroupList.addGroup(group.name, group.usercount);
index e9c85d20e9536b4a9fe5178c2078e7e84427c428..d1cab63eaab7c0b4d8006732b975f19201d6dc53 100644 (file)
@@ -289,10 +289,12 @@ var UserList = {
                                                        group: group
                                                },
                                                function (response) {
-                                                       if(response.status === 'success'
-                                                                       && UserList.availableGroups.indexOf(response.data.groupname) === -1
-                                                                       && response.data.action === 'add') {
-                                                               UserList.availableGroups.push(response.data.groupname);
+                                                       if(response.status === 'success') {
+                                                               GroupList.update();
+                                                               if(UserList.availableGroups.indexOf(response.data.groupname) === -1
+                                                                               && response.data.action === 'add') {
+                                                                       UserList.availableGroups.push(response.data.groupname);
+                                                               }
                                                        }
                                                        if(response.data.message) {
                                                                OC.Notification.show(response.data.message);