
META-INF.resources.edit_role_permissions.jsp Maven / Gradle / Ivy
The newest version!
<%--
/**
* SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com
* SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
*/
--%>
<%@ include file="/init.jsp" %>
<%
String cmd = ParamUtil.getString(request, Constants.CMD);
String tabs2 = "roles";
String tabs3 = ParamUtil.getString(request, "tabs3", "current");
String redirect = ParamUtil.getString(request, "redirect");
String backURL = ParamUtil.getString(request, "backURL", redirect);
long roleId = ParamUtil.getLong(request, "roleId");
Role role = RoleServiceUtil.fetchRole(roleId);
String portletResource = ParamUtil.getString(request, "portletResource");
if (Validator.isNull(redirect)) {
redirect = PortletURLBuilder.createRenderURL(
renderResponse
).setMVCPath(
"/edit_role_permissions.jsp"
).setCMD(
Constants.VIEW
).setBackURL(
backURL
).setTabs1(
roleDisplayContext.getEditRolePermissionsTabs1()
).setTabs2(
tabs2
).setParameter(
"accountRoleGroupScope", roleDisplayContext.isAccountRoleGroupScope()
).setParameter(
"roleId", role.getRoleId()
).setParameter(
"tabs3", tabs3
).buildString();
}
request.setAttribute("edit_role_permissions.jsp-role", role);
request.setAttribute("edit_role_permissions.jsp-portletResource", portletResource);
if (!portletName.equals(PortletKeys.SERVER_ADMIN)) {
portletDisplay.setShowBackIcon(true);
portletDisplay.setURLBack(backURL);
portletDisplay.setURLBackTitle(portletDisplay.getPortletDisplayName());
renderResponse.setTitle(role.getTitle(locale));
}
%>
<%@ include file="/edit_role_permissions_navigation.jspf" %>
function selectOrganization(
organizationId,
groupId,
name,
type,
target
) {
selectGroup(groupId, name, target);
}
var AParseContent = A.Plugin.ParseContent;
var originalSelectedValues = [];
var permissionContainerNode = A.one(
'# permissionContainer'
);
var permissionContentContainerNode = permissionContainerNode.one(
'# permissionContentContainer'
);
window[' loadContent'] = function (href) {
permissionContentContainerNode.plug(A.LoadingMask);
permissionContentContainerNode.loadingmask.show();
permissionContentContainerNode.unplug(AParseContent);
Liferay.Util.fetch(href)
.then((response) => {
if (response.status === 401) {
window.location.reload();
}
else if (response.ok) {
return response.text();
}
else {
throw new Error(
' '
);
}
})
.then((response) => {
permissionContentContainerNode.loadingmask.hide();
permissionContentContainerNode.unplug(A.LoadingMask);
permissionContentContainerNode.plug(AParseContent);
permissionContentContainerNode.empty();
permissionContentContainerNode.setContent(response);
var checkedNodes = permissionContentContainerNode.all(':checked');
originalSelectedValues = checkedNodes.val();
setPortletResource(href);
})
.catch((error) => {
permissionContentContainerNode.loadingmask.hide();
permissionContentContainerNode.unplug(A.LoadingMask);
Liferay.Util.openToast({
message: error.message,
type: 'warning',
});
});
};
function processNavigationLinks() {
permissionContainerNode.delegate(
'click',
(event) => {
event.preventDefault();
var href = event.currentTarget.attr('data-resource-href');
href = Liferay.Util.addParams('p_p_isolated=true', href);
loadContent(href);
},
'.permission-navigation-link'
);
}
function processTargetCheckboxes() {
var permissionContainerNode = A.one(
'# permissionContainer'
);
permissionContainerNode.delegate(
'change',
(event) => {
var unselectedTargetsNode = permissionContainerNode.one(
'# unselectedTargets'
);
var unselectedTargets = unselectedTargetsNode.val().split(',');
var form = A.one(document. fm);
form.all('input[type=checkbox]').each((item, index) => {
var checkbox = A.one(item);
var value = checkbox.val();
if (checkbox.get('checked')) {
var unselectedTargetIndex =
unselectedTargets.indexOf(value);
if (unselectedTargetIndex != -1) {
unselectedTargets.splice(unselectedTargetIndex, 1);
}
}
else if (originalSelectedValues.indexOf(value) != -1) {
unselectedTargets.push(value);
}
});
unselectedTargetsNode.val(unselectedTargets.join(','));
},
':checkbox'
);
}
function setPortletResource(href) {
const url = new URL(href);
const cmdKey = ' cmd';
const portletResourceKey = ' portletResource';
const cmd = url.searchParams.get(cmdKey);
const portletResource = url.searchParams.get(portletResourceKey);
const currentURL = new URL(window.location.href);
currentURL.searchParams.set(cmdKey, cmd);
currentURL.searchParams.set(portletResourceKey, portletResource);
const path = currentURL.toString();
window.history.replaceState({path}, document.title, path);
}
A.on('domready', (event) => {
processNavigationLinks();
processTargetCheckboxes();
});
function updateActions() {
var form = document. fm;
Liferay.Util.postForm(form, {
data: {
redirect: '<%= HtmlUtil.escapeJS(redirect) %>',
selectedTargets: Liferay.Util.getCheckedCheckboxes(
form,
' allRowIds'
),
unselectedTargets: Liferay.Util.getUncheckedCheckboxes(
form,
' allRowIds'
),
},
});
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy