Skip to content

Commit

Permalink
support for org details and serivce details pages. soem fixes for old…
Browse files Browse the repository at this point in the history
… resource detials page
  • Loading branch information
katkav committed Aug 26, 2021
1 parent f9e31e9 commit 574df60
Show file tree
Hide file tree
Showing 13 changed files with 153 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ public class DefaultGuiConfigurationCompiler implements GuiProfileCompilable {
"com.evolveum.midpoint.gui.impl.component.assignment",
"com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.component.assignmentType.assignment",
"com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.component.assignmentType.inducement",
"com.evolveum.midpoint.gui.impl.page.admin.org.component"
};

private Map<String, Class<? extends Panel>> panelsMap = new HashMap<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -784,8 +784,7 @@ private static ObjectReferenceType getArchetypeReference(AssignmentHolderType as
return archetypeRef;
}
for (AssignmentType assignment : assignmentHolder.getAssignment()) {
if (StringUtils.isNotEmpty(assignment.getTargetRef().getOid())
&& assignment.getTargetRef() != null && QNameUtil.match(assignment.getTargetRef().getType(), ArchetypeType.COMPLEX_TYPE)) {
if (isArchetypeAssignment(assignment)) {
archetypeRef = assignment.getTargetRef();
}
}
Expand All @@ -800,13 +799,6 @@ private static String getArchetypeOid(AssignmentHolderType assignmentHolder) {
return null;
}

public static void iterativeExecuteBulkAction(PageBase pageBase, ExecuteScriptType script, Task task, OperationResult result)
throws SchemaException, SecurityViolationException, ObjectNotFoundException, ExpressionEvaluationException,
CommunicationException, ConfigurationException {

pageBase.getScriptingService().evaluateIterativeExpressionInBackground(script, task, result);
}

public static boolean isAuthorized(String... action) {
if (action == null || action.length == 0) {
return true;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!--
~ Copyright (c) 2021 Evolveum
~
~ This work is dual-licensed under the Apache License 2.0
~ and European Union Public License. See LICENSE file for details.
-->
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
<body>
<wicket:extend>
<wicket:child />
</wicket:extend>
</body>
</html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/*
* Copyright (c) 2021 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/
package com.evolveum.midpoint.gui.impl.page.admin.org;

import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.impl.page.admin.focus.PageFocusDetails;
import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.web.application.AuthorizationAction;
import com.evolveum.midpoint.web.application.PageDescriptor;
import com.evolveum.midpoint.web.application.Url;
import com.evolveum.midpoint.web.page.admin.users.component.OrgSummaryPanel;
import com.evolveum.midpoint.web.util.OnePageParameterEncoder;
import com.evolveum.midpoint.xml.ns._public.common.common_3.OrgType;

import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.request.mapper.parameter.PageParameters;

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/org")
},
encoder = OnePageParameterEncoder.class, action = {
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_ORG_ALL_URL,
label = "PageAdminUsers.auth.orgAll.label",
description = "PageAdminUsers.auth.orgAll.description"),
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_ORG_UNIT_URL,
label = "PageOrgUnit.auth.orgUnit.label",
description = "PageOrgUnit.auth.orgUnit.description") })
public class PageOrg extends PageFocusDetails<OrgType> {

public PageOrg(PageParameters pageParameters) {
super(pageParameters);
}

@Override
protected Class<OrgType> getType() {
return OrgType.class;
}

@Override
protected Panel getSummaryPanel(String id, LoadableModel<OrgType> summaryModel) {
return new OrgSummaryPanel(id, summaryModel, this);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!--
~ Copyright (c) 2021 Evolveum
~
~ This work is dual-licensed under the Apache License 2.0
~ and European Union Public License. See LICENSE file for details.
-->
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
<body>
<wicket:extend>
<wicket:child />
</wicket:extend>
</body>
</html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/*
* Copyright (c) 2021 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/
package com.evolveum.midpoint.gui.impl.page.admin.service;

import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.impl.page.admin.focus.PageFocusDetails;
import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.web.application.AuthorizationAction;
import com.evolveum.midpoint.web.application.PageDescriptor;
import com.evolveum.midpoint.web.application.Url;
import com.evolveum.midpoint.web.page.admin.roles.component.RoleSummaryPanel;
import com.evolveum.midpoint.web.page.admin.users.component.ServiceSummaryPanel;
import com.evolveum.midpoint.web.util.OnePageParameterEncoder;
import com.evolveum.midpoint.xml.ns._public.common.common_3.RoleType;

import com.evolveum.midpoint.xml.ns._public.common.common_3.ServiceType;

import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.request.mapper.parameter.PageParameters;

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/serviceNew")
},
encoder = OnePageParameterEncoder.class, action = {
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_SERVICES_ALL_URL,
label = "PageAdminServices.auth.servicesAll.label",
description = "PageAdminServices.auth.servicesAll.description"),
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_SERVICE_URL,
label = "PageService.auth.role.label",
description = "PageService.auth.role.description") })
public class PageService extends PageFocusDetails<ServiceType> {

public PageService(PageParameters pageParameters) {
super(pageParameters);
}

@Override
protected Class<ServiceType> getType() {
return ServiceType.class;
}

@Override
protected Panel getSummaryPanel(String id, LoadableModel<ServiceType> summaryModel) {
return new ServiceSummaryPanel(id, summaryModel, PageService.this);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,12 @@ public final class DescriptorLoader implements DebugDumpable {
"com.evolveum.midpoint.web.page.self",
"com.evolveum.midpoint.web.component.prism.show",
"com.evolveum.midpoint.gui.impl.page.admin",
"com.evolveum.midpoint.gui.impl.page.admin.user",
"com.evolveum.midpoint.gui.impl.page.admin.role",
"com.evolveum.midpoint.gui.impl.page.admin.org",
"com.evolveum.midpoint.gui.impl.page.admin.resource",
"com.evolveum.midpoint.gui.impl.page.admin.task"
"com.evolveum.midpoint.gui.impl.page.admin.role",
"com.evolveum.midpoint.gui.impl.page.admin.service",
"com.evolveum.midpoint.gui.impl.page.admin.task",
"com.evolveum.midpoint.gui.impl.page.admin.user"
};

// All could be final, but then Checkstyle complains about lower-case, although these are not constants.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

import com.evolveum.midpoint.gui.api.component.MainObjectListPanel;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.page.admin.org.PageOrg;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
Expand Down Expand Up @@ -137,7 +138,7 @@ private Collection<SelectorOptions<GetOperationOptions>> getQueryOptions() {
private void orgDetailsPerformed(AjaxRequestTarget target, String oid) {
PageParameters parameters = new PageParameters();
parameters.add(OnePageParameterEncoder.PARAMETER, oid);
navigateToNext(PageOrgUnit.class, parameters);
navigateToNext(PageOrg.class, parameters);
}

private IModel<String> getConfirmationMessageModel(ColumnMenuAction action, String actionName){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,12 @@ protected CapabilitiesDto load() {
};
}

@Override
protected void onInitialize() {
super.onInitialize();
initLayout();
}

protected void initLayout() {

PrismObject<ResourceType> resourceObject = getModelObject();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,12 @@ public ResourceTasksPanel(String id, LoadableModel<PrismObject<ResourceType>> re
//
// }

@Override
protected void onInitialize() {
super.onInitialize();
initLayout();
}

protected void initLayout() {
final MainObjectListPanel<TaskType> tasksPanel =
new MainObjectListPanel<>(ID_TASKS_TABLE, TaskType.class, null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

import com.evolveum.midpoint.gui.api.component.MainObjectListPanel;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.page.admin.service.PageService;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.util.logging.Trace;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import java.util.List;

import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.impl.page.admin.org.PageOrg;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;

Expand Down Expand Up @@ -698,6 +699,6 @@ private void editRootPerformed(SelectableBeanImpl<OrgType> root) {
}
PageParameters parameters = new PageParameters();
parameters.add(OnePageParameterEncoder.PARAMETER, root.getValue().getOid());
getPageBase().navigateToNext(PageOrgUnit.class, parameters);
getPageBase().navigateToNext(PageOrg.class, parameters);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -316,14 +316,14 @@ protected void clickOnTab(int order, Class<? extends Page> expectedPage) {
protected void clickOnDetailsAssignmentMenu(int order, Class<? extends Page> expectedPage) {
tester.assertRenderedPage(expectedPage);
tester.debugComponentTrees("navigation");
String tabPath = "navigation:menu:2:navLinkStyle:subNavigation:menu:" + order + ":navLinkStyle:navItem";
String tabPath = "details:navigation:menu:2:navLinkStyle:subNavigation:menu:" + order + ":navLinkStyle:navItem";
tester.clickLink(tabPath);
}

protected void clickOnDetailsMenu(int order, Class<? extends Page> expectedPage) {
tester.assertRenderedPage(expectedPage);
tester.debugComponentTrees("navigation");
String tabPath = "navigation:menu:" + order + ":navLinkStyle:navItem";
String tabPath = "detailsnavigation:menu:" + order + ":navLinkStyle:navItem";
tester.clickLink(tabPath);
}
}

0 comments on commit 574df60

Please sign in to comment.