RoleEntitlementsListView.js revision 90929d4c6b284dd318f4a78c2aa407afb7423747
/**
* The contents of this file are subject to the terms of the Common Development and
* Distribution License (the License). You may not use this file except in compliance with the
* License.
*
* You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
* specific language governing permission and limitations under the License.
*
* When distributing Covered Software, include this CDDL Header Notice in each file and include
* the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
* Header, with the fields enclosed by brackets [] replaced by your own identifying
* information: "Portions copyright [year] [name of copyright owner]".
*
* Copyright 2011-2015 ForgeRock AS.
*/
/*global define */
"jquery",
"underscore",
], function($, _,
UIUtils) {
element: "#role-entitlements",
noBaseTemplate: true,
events: {
"click .add-assignment": "addAssignment",
"click .edit-assignment": "editAssignment",
"click .delete-assignment": "deleteAssignment"
},
addAssignment: function(e) {
e.preventDefault();
},
editAssignment: function(e) {
if(e) {
e.preventDefault();
}
},
deleteAssignment: function(e) {
e.preventDefault();
UIUtils.confirmDialog($.t("templates.admin.RoleEntitlementsTemplate.deleteEntitlementConfirm",{ assignment: assignmentName }), "danger", _.bind(function() {
resourceDelegate.updateResource(this.data.serviceUrl, this.data.role._id, this.data.role, _.bind(function() {
messagesManager.messages.addMessage({"message": $.t("templates.admin.RoleEntitlementsTemplate.assignmentDeleteSuccess",{ assignment: assignmentName })});
}, this));
}, this));
}, this));
},
this.parentRender(function() {
if(callback) {
callback();
}
});
},
removeAssignmentsToMap: function(assignmentName) {
var queryFilter = '/assignments/' + assignmentName + ' pr and !(/_id eq "' + this.data.role._id + '")';
//if no other roles have this assignmentName then remove it from each mapping that has the assignment in it's assignmentsToMap list
return resourceDelegate.searchResource(queryFilter ,"managed/role").then(_.bind(function(rolesWithAssignment){
if(mapping.assignmentsToMap) {
mapping.assignmentsToMap = _.reject(mapping.assignmentsToMap, function(assignment) { return assignment === assignmentName; });
delete mapping.assignmentsToMap;
}
}
return mapping;
});
}, this));
} else {
}
},this));
}
});
return new RoleEntitlementsListView();
});