diff --git a/NEWS b/NEWS
index 4a462e944..bd6209bde 100644
--- a/NEWS
+++ b/NEWS
@@ -29,6 +29,7 @@ Bug fixes
- [web] if cn isn't found for shared mailboxes, use email address (#3733)
- [web] fixed handling of attendees when updating an event
- [web] show tooltips over long calendar/ab names (#232)
+ - [web] one-click option to give all permissions for user (#1637)
3.1.2 (2016-06-06)
------------------
diff --git a/UI/Templates/UIxAclEditor.wox b/UI/Templates/UIxAclEditor.wox
index f0b6d1c5b..879ccca8a 100644
--- a/UI/Templates/UIxAclEditor.wox
+++ b/UI/Templates/UIxAclEditor.wox
@@ -64,6 +64,11 @@
+
+ select_all
+
diff --git a/UI/WebServerResources/js/Common/Acl.service.js b/UI/WebServerResources/js/Common/Acl.service.js
index 8676e6a6f..0c2ef76b4 100644
--- a/UI/WebServerResources/js/Common/Acl.service.js
+++ b/UI/WebServerResources/js/Common/Acl.service.js
@@ -130,6 +130,17 @@
});
};
+ /**
+ * @function $selectAllRights
+ * @memberof Acl.prototype
+ * @desc Select all rights of an user
+ */
+ Acl.prototype.$selectAllRights = function(user) {
+ _.forEach(user.rights, function(value, right) {
+ user.rights[right] = 1;
+ });
+ };
+
/**
* @function $resetUsersRights
* @memberof Acl.prototype
diff --git a/UI/WebServerResources/js/Common/AclController.js b/UI/WebServerResources/js/Common/AclController.js
index 0d2e1632c..47951b807 100644
--- a/UI/WebServerResources/js/Common/AclController.js
+++ b/UI/WebServerResources/js/Common/AclController.js
@@ -21,6 +21,7 @@
vm.saveModal = saveModal;
vm.confirmChange = confirmChange;
vm.removeUser = removeUser;
+ vm.selectAllRights = selectAllRights;
vm.addUser = addUser;
vm.selectUser = selectUser;
vm.confirmation = { showing: false,
@@ -55,6 +56,10 @@
folder.$acl.$removeUser(user.uid);
}
+ function selectAllRights(user) {
+ folder.$acl.$selectAllRights(user);
+ }
+
function addUser(data) {
if (data) {
folder.$acl.$addUser(data).then(function(user) {