/** * Returns a list of the user names currently in the direct permission table with the given permission and entity * type. * @param permissionType type of permission to retrieve, either "view" or "edit" * @param entityType type of entity to retrieve, either "Users" or "Group" (note case) */ public List<String> getPermissions(ContentPermissionType permissionType, ContentPermissionEntityType entityType) { // construct field name, e.g. viewPermissionsUsers String typeKey = permissionType.getValue().toLowerCase() + "Permissions" + entityType.getTitleString() + "s"; return client.getEvalListFunction("return this.AJS.PagePermissions.makePermissionStrings()['" + typeKey + "'];"); }
private String getPermissionRowSelectorJS(ContentPermission contentPermission, String tableSelector) { String rowSelector = "." + contentPermission.getPermissionType().lowerValue() + "-permission-row"; String username = GeneralUtil.escapeForJavascript(contentPermission.getEntity().getName()); return "$('" + tableSelector + " " + rowSelector + "')" + ".filter(function(){return $('.permission-entity-name',this).text() == '" + username + "'})" + ".closest('tr')"; }
public String getRemovePermissionRowLinkId(ContentPermission contentPermission) { String rowSelector = "." + contentPermission.getPermissionType().lowerValue() + "-permission-row"; String userSelector = ".permission-entity-name:contains(" + GeneralUtil.escapeForJavascript(contentPermission.getEntity().getName()) + ")"; String removeLinkSelector = "$('#page-permissions-table " + rowSelector + " " + userSelector + "').closest('tr').find('.remove-permission-link').attr('id')"; return client.getEval(removeLinkSelector); }