From 59fe4477007188955a8cea000a821a6f31b50317 Mon Sep 17 00:00:00 2001 From: erik Date: Mon, 30 Mar 2015 16:07:26 +0200 Subject: [PATCH 1/3] MID-2257 implementation - roleType search in assignable modal window - based on lookupTable values. --- .../admin/configuration/PageDebugView.java | 8 + .../web/page/admin/users/PageUser.java | 13 +- .../component/AssignableRolePopupContent.html | 4 + .../component/AssignableRolePopupContent.java | 295 +++++++++++------- 4 files changed, 196 insertions(+), 124 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/PageDebugView.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/PageDebugView.java index 98ec5bccdfa..d22069ca29f 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/PageDebugView.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/PageDebugView.java @@ -41,6 +41,7 @@ import com.evolveum.midpoint.web.page.admin.dto.ObjectViewDto; import com.evolveum.midpoint.web.security.MidPointApplication; import com.evolveum.midpoint.web.util.WebMiscUtil; +import com.evolveum.midpoint.xml.ns._public.common.common_3.LookupTableType; import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType; import com.evolveum.midpoint.xml.ns._public.common.common_3.ReportType; import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType; @@ -129,10 +130,17 @@ private ObjectViewDto loadObject() { if (objectType != null && StringUtils.isNotBlank(objectType.toString())){ type = getPrismContext().getSchemaRegistry().determineCompileTimeClass(new QName(SchemaConstantsGenerated.NS_COMMON, objectType.toString())); } + if (UserType.class.isAssignableFrom(type)) { options.add(SelectorOptions.create(UserType.F_JPEG_PHOTO, GetOperationOptions.createRetrieve(RetrieveOption.INCLUDE))); } + + if(objectType != null && LookupTableType.COMPLEX_TYPE.getLocalPart().equals(objectType.toString())){ + options.add(SelectorOptions.create(LookupTableType.F_ROW, + GetOperationOptions.createRetrieve(RetrieveOption.INCLUDE))); + } + PrismObject object = getModelService().getObject(type, objectOid.toString(), options, task, result); PrismContext context = application.getPrismContext(); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageUser.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageUser.java index 7e429764338..f1f5807decd 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageUser.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageUser.java @@ -427,10 +427,10 @@ public PrismObject getObject() { } }; - summaryContainer.add(new Label(ID_SUMMARY_NAME, new PrismPropertyModel(summaryUser, UserType.F_NAME))); - summaryContainer.add(new Label(ID_SUMMARY_FULL_NAME, new PrismPropertyModel(summaryUser, UserType.F_FULL_NAME))); - summaryContainer.add(new Label(ID_SUMMARY_GIVEN_NAME, new PrismPropertyModel(summaryUser, UserType.F_GIVEN_NAME))); - summaryContainer.add(new Label(ID_SUMMARY_FAMILY_NAME, new PrismPropertyModel(summaryUser, UserType.F_FAMILY_NAME))); + summaryContainer.add(new Label(ID_SUMMARY_NAME, new PrismPropertyModel<>(summaryUser, UserType.F_NAME))); + summaryContainer.add(new Label(ID_SUMMARY_FULL_NAME, new PrismPropertyModel<>(summaryUser, UserType.F_FULL_NAME))); + summaryContainer.add(new Label(ID_SUMMARY_GIVEN_NAME, new PrismPropertyModel<>(summaryUser, UserType.F_GIVEN_NAME))); + summaryContainer.add(new Label(ID_SUMMARY_FAMILY_NAME, new PrismPropertyModel<>(summaryUser, UserType.F_FAMILY_NAME))); Image img = new Image(ID_SUMMARY_PHOTO, new AbstractReadOnlyModel() { @@ -1026,6 +1026,11 @@ protected void handlePartialError(OperationResult result) { protected void addPerformed(AjaxRequestTarget target, List selected) { addSelectedAssignablePerformed(target, selected, MODAL_ID_ASSIGNABLE); } + + @Override + protected PrismObject getUserDefinition() { + return userModel.getObject().getObject(); + } }); add(window); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/AssignableRolePopupContent.html b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/AssignableRolePopupContent.html index 3d5f1bdf2db..4106f81674d 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/AssignableRolePopupContent.html +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/AssignableRolePopupContent.html @@ -23,6 +23,10 @@
+
+