[Pkg-owncloud-commits] [owncloud] 63/70: fixing JS syntax errors
David Prévot
taffit at moszumanska.debian.org
Mon Jul 14 17:38:09 UTC 2014
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository owncloud.
commit 66130ad3364214bb45b08013b68164cd2a661b77
Author: Thomas Müller <thomas.mueller at tmit.eu>
Date: Wed Jul 9 14:30:28 2014 +0200
fixing JS syntax errors
remove the group in case the last user has removed from that group
cleanup
use .filterAttr()
---
settings/ajax/userlist.php | 3 ++
settings/js/users/groups.js | 6 +--
settings/js/users/users.js | 101 ++++++++++++++++++++++++--------------------
3 files changed, 62 insertions(+), 48 deletions(-)
diff --git a/settings/ajax/userlist.php b/settings/ajax/userlist.php
index 32237d6..2bf4068 100644
--- a/settings/ajax/userlist.php
+++ b/settings/ajax/userlist.php
@@ -34,6 +34,9 @@ if (isset($_GET['limit'])) {
}
if (isset($_GET['gid']) && !empty($_GET['gid'])) {
$gid = $_GET['gid'];
+ if ($gid === '_everyone') {
+ $gid = false;
+ }
} else {
$gid = false;
}
diff --git a/settings/js/users/groups.js b/settings/js/users/groups.js
index e3acce5..22f5c9d 100644
--- a/settings/js/users/groups.js
+++ b/settings/js/users/groups.js
@@ -40,8 +40,8 @@ GroupList = {
},
modEveryoneCount: function(diff) {
- $li = GroupList.getGroupLI(GroupList.everyoneGID);
- count = GroupList.getUserCount($li) + diff;
+ var $li = GroupList.getGroupLI(GroupList.everyoneGID);
+ var count = GroupList.getUserCount($li) + diff;
GroupList.setUserCount($li, count);
},
@@ -140,7 +140,7 @@ GroupList = {
}
_.defer(function () {
$(lis).each(function () {
- this.removeClass('transparent')
+ this.removeClass('transparent');
});
});
}
diff --git a/settings/js/users/users.js b/settings/js/users/users.js
index 60e1e1d..7d567e2 100644
--- a/settings/js/users/users.js
+++ b/settings/js/users/users.js
@@ -20,8 +20,8 @@ var UserList = {
add: function (username, displayname, groups, subadmin, quota, storageLocation, lastLogin, sort) {
var $tr = $userListBody.find('tr:first-child').clone();
- var subadminsEl;
- var subadminSelect;
+ var subAdminsEl;
+ var subAdminSelect;
var groupsSelect;
if ($tr.find('div.avatardiv').length){
$tr.find('.avatardiv').imageplaceholder(username, displayname);
@@ -38,7 +38,7 @@ var UserList = {
.data('username', username)
.data('user-groups', groups);
if ($tr.find('td.subadmins').length > 0) {
- subadminSelect = $('<select multiple="multiple" class="subadminsselect multiselect button" data-placehoder="subadmins" title="' + t('settings', 'Group Admin') + '">')
+ subAdminSelect = $('<select multiple="multiple" class="subadminsselect multiselect button" data-placehoder="subadmins" title="' + t('settings', 'Group Admin') + '">')
.data('username', username)
.data('user-groups', groups)
.data('subadmin', subadmin);
@@ -46,14 +46,14 @@ var UserList = {
}
$.each(this.availableGroups, function (i, group) {
groupsSelect.append($('<option value="' + escapeHTML(group) + '">' + escapeHTML(group) + '</option>'));
- if (typeof subadminSelect !== 'undefined' && group !== 'admin') {
- subadminSelect.append($('<option value="' + escapeHTML(group) + '">' + escapeHTML(group) + '</option>'));
+ if (typeof subAdminSelect !== 'undefined' && group !== 'admin') {
+ subAdminSelect.append($('<option value="' + escapeHTML(group) + '">' + escapeHTML(group) + '</option>'));
}
});
$tr.find('td.groups').empty().append(groupsSelect);
- subadminsEl = $tr.find('td.subadmins');
- if (subadminsEl.length > 0) {
- subadminsEl.append(subadminSelect);
+ subAdminsEl = $tr.find('td.subadmins');
+ if (subAdminsEl.length > 0) {
+ subAdminsEl.append(subAdminSelect);
}
if ($tr.find('td.remove img').length === 0 && OC.currentUser !== username) {
var deleteImage = $('<img class="svg action">').attr({
@@ -73,23 +73,22 @@ var UserList = {
.find('option').attr('selected', null)
.first().attr('selected', 'selected');
} else {
- if ($quotaSelect.find('option[value="' + quota + '"]').length > 0) {
- $quotaSelect.find('option[value="' + quota + '"]').attr('selected', 'selected');
+ if ($quotaSelect.find('option').filterAttr('value', quota).length > 0) {
+ $quotaSelect.find('option').filterAttr('value', quota).attr('selected', 'selected');
} else {
$quotaSelect.append('<option value="' + escapeHTML(quota) + '" selected="selected">' + escapeHTML(quota) + '</option>');
}
}
$tr.find('td.storageLocation').text(storageLocation);
- if(lastLogin === 0) {
- var lastLoginRel = t('settings', 'never');
- var lastLoginAbs = lastLoginRel;
- } else {
+ var lastLoginRel = t('settings', 'never');
+ var lastLoginAbs = lastLoginRel;
+ if(lastLogin !== 0) {
lastLogin = new Date(lastLogin * 1000);
- var lastLoginRel = relative_modified_date(lastLogin.getTime() / 1000);
- var lastLoginAbs = formatDate(lastLogin.getTime());
+ lastLoginRel = relative_modified_date(lastLogin.getTime() / 1000);
+ lastLoginAbs = formatDate(lastLogin.getTime());
}
- $tdLastLogin = $tr.find('td.lastLogin');
+ var $tdLastLogin = $tr.find('td.lastLogin');
$tdLastLogin.text(lastLoginRel);
//tooltip makes it complicated … to not insert new HTML, we adjust the
//original title. We use a temporary div to get back the html that we
@@ -124,8 +123,8 @@ var UserList = {
window.setTimeout(function(){
$quotaSelect.singleSelect();
UserList.applyGroupSelect(groupsSelect);
- if (subadminSelect) {
- UserList.applySubadminSelect(subadminSelect);
+ if (subAdminSelect) {
+ UserList.applySubadminSelect(subAdminSelect);
}
}, 0);
return $tr;
@@ -238,18 +237,17 @@ var UserList = {
UserList.getRow(uid).show();
},
markRemove: function(uid) {
- $tr = UserList.getRow(uid);
- groups = $tr.find('.groups .groupsselect').val();
- for(i in groups) {
+ var $tr = UserList.getRow(uid);
+ var groups = $tr.find('.groups .groupsselect').val();
+ for(var i in groups) {
var gid = groups[i];
- $li = GroupList.getGroupLI(gid);
- userCount = GroupList.getUserCount($li);
- if(userCount == 1) {
- newUserCount = '';
+ var $li = GroupList.getGroupLI(gid);
+ var userCount = GroupList.getUserCount($li);
+ if(userCount === 1) {
+ GroupList.setUserCount($li, '');
} else {
- newUserCount = userCount - 1;
+ GroupList.setUserCount($li, userCount - 1);
}
- GroupList.setUserCount($li, newUserCount);
}
GroupList.decEveryoneCount();
UserList.hide(uid);
@@ -258,18 +256,17 @@ var UserList = {
UserList.getRow(uid).remove();
},
undoRemove: function(uid) {
- $tr = UserList.getRow(uid);
- groups = $tr.find('.groups .groupsselect').val();
- for(i in groups) {
+ var $tr = UserList.getRow(uid);
+ var groups = $tr.find('.groups .groupsselect').val();
+ for(var i in groups) {
var gid = groups[i];
- $li = GroupList.getGroupLI(gid);
- userCount = GroupList.getUserCount($li);
- if(userCount == 1) {
- newUserCount = '';
+ var $li = GroupList.getGroupLI(gid);
+ var userCount = GroupList.getUserCount($li);
+ if(userCount === 1) {
+ GroupList.setUserCount($li, '');
} else {
- newUserCount = userCount + 1;
+ GroupList.setUserCount($li, userCount + 1);
}
- GroupList.setUserCount($li, newUserCount);
}
GroupList.incEveryoneCount();
UserList.getRow(uid).show();
@@ -359,7 +356,7 @@ var UserList = {
}, 0);
}
UserList.updating = false;
- });
+ });
},
applyGroupSelect: function (element) {
@@ -388,23 +385,37 @@ var UserList = {
function (response) {
if (response.status === 'success') {
GroupList.update();
- if (UserList.availableGroups.indexOf(response.data.groupname) === -1 &&
+ var groupName = response.data.groupname;
+ if (UserList.availableGroups.indexOf(groupName) === -1 &&
response.data.action === 'add'
) {
- UserList.availableGroups.push(response.data.groupname);
+ UserList.availableGroups.push(groupName);
+ }
+
+ // in case this was the last user in that group the group has to be removed
+ var groupElement = GroupList.getGroupLI(groupName);
+ var userCount = GroupList.getUserCount(groupElement);
+ if (response.data.action === 'remove' && userCount === 1) {
+ _.without(UserList.availableGroups, groupName);
+ GroupList.remove(groupName);
+ $('.groupsselect option').filterAttr('value', groupName).remove();
+ $('.subadminsselect option').filterAttr('value', groupName).remove();
}
+
+
}
if (response.data.message) {
OC.Notification.show(response.data.message);
}
}
);
- }
- };
+ };
+ }
var addGroup = function (select, group) {
$('select[multiple]').each(function (index, element) {
$element = $(element);
- if ($element.find('option[value="' + group + '"]').length === 0 && select.data('msid') !== $element.data('msid')) {
+ if ($element.find('option').filterAttr('value', group).length === 0 &&
+ select.data('msid') !== $element.data('msid')) {
$element.append('<option value="' + escapeHTML(group) + '">' + escapeHTML(group) + '</option>');
}
});
@@ -453,7 +464,7 @@ var UserList = {
var addSubAdmin = function (group) {
$('select[multiple]').each(function (index, element) {
- if ($(element).find('option[value="' + group + '"]').length === 0) {
+ if ($(element).find('option').filterAttr('value', group).length === 0) {
$(element).append('<option value="' + escapeHTML(group) + '">' + escapeHTML(group) + '</option>');
}
});
@@ -634,7 +645,7 @@ $(document).ready(function () {
if (result.data.groups) {
var addedGroups = result.data.groups;
UserList.availableGroups = $.unique($.merge(UserList.availableGroups, addedGroups));
- for (i in result.data.groups) {
+ for (var i in result.data.groups) {
var gid = result.data.groups[i];
$li = GroupList.getGroupLI(gid);
userCount = GroupList.getUserCount($li);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git
More information about the Pkg-owncloud-commits
mailing list