From 72f20fa0e3023a5d989a493ef6f91adbbb5c47f9 Mon Sep 17 00:00:00 2001 From: kate Date: Wed, 5 Sep 2018 15:47:25 +0200 Subject: [PATCH] shopping cart icon is removed from abstract role edit page Edit focus page title is change to "View" in case of readonly --- .../midpoint/gui/api/page/PageBase.java | 2 +- .../gui/api/util/WebComponentUtil.java | 19 ++++++ .../objectdetails/AbstractRoleMainPanel.html | 5 -- .../objectdetails/AbstractRoleMainPanel.java | 61 +------------------ .../page/admin/PageAdminObjectDetails.java | 3 +- .../localization/Midpoint.properties | 4 ++ 6 files changed, 28 insertions(+), 66 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/page/PageBase.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/page/PageBase.java index ee93265f1b0..22fcc05aac5 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/page/PageBase.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/page/PageBase.java @@ -2354,7 +2354,7 @@ protected String determineDataLanguage() { } } - protected void reloadShoppingCartIcon(AjaxRequestTarget target){ + public void reloadShoppingCartIcon(AjaxRequestTarget target){ target.add(get(createComponentPath(ID_MAIN_HEADER, ID_NAVIGATION, ID_CART_BUTTON))); } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java index b1a0ff38c86..c9ab5ce047e 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java @@ -59,10 +59,14 @@ import com.evolveum.midpoint.util.*; import com.evolveum.midpoint.util.exception.CommunicationException; import com.evolveum.midpoint.util.exception.ObjectNotFoundException; +import com.evolveum.midpoint.web.component.breadcrumbs.Breadcrumb; +import com.evolveum.midpoint.web.component.breadcrumbs.BreadcrumbPageClass; +import com.evolveum.midpoint.web.component.breadcrumbs.BreadcrumbPageInstance; import com.evolveum.midpoint.web.component.data.SelectableBeanObjectDataProvider; import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem; import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItemAction; import com.evolveum.midpoint.web.component.prism.*; +import com.evolveum.midpoint.web.page.admin.PageAdminObjectDetails; import com.evolveum.midpoint.web.page.admin.reports.dto.ReportDeleteDialogDto; import com.evolveum.midpoint.web.util.ObjectTypeGuiDescriptor; import com.evolveum.midpoint.xml.ns._public.common.common_3.*; @@ -2635,6 +2639,21 @@ public static LookupTableType createAppenderChoices(PageBase pageBase) { return lookupTable; } + public static Class getPreviousPageClass(PageBase parentPage){ + List breadcrumbs = parentPage.getBreadcrumbs(); + if (breadcrumbs == null || breadcrumbs.size() < 2){ + return null; + } + Breadcrumb previousBreadcrumb = breadcrumbs.get(breadcrumbs.size() - 2); + Class page = null; + if (previousBreadcrumb instanceof BreadcrumbPageClass){ + page = ((BreadcrumbPageClass) previousBreadcrumb).getPage(); + } else if (previousBreadcrumb instanceof BreadcrumbPageInstance){ + page = ((BreadcrumbPageInstance) previousBreadcrumb).getPage().getClass(); + } + return page; + } + @NotNull public static List createMenuItemsFromActions(@NotNull List actions, String operation, PageBase pageBase, @NotNull Supplier> selectedObjectsSupplier) { diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/objectdetails/AbstractRoleMainPanel.html b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/objectdetails/AbstractRoleMainPanel.html index c5c13dca853..83e319b63b9 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/objectdetails/AbstractRoleMainPanel.html +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/objectdetails/AbstractRoleMainPanel.html @@ -22,11 +22,6 @@ - - - - diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/objectdetails/AbstractRoleMainPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/objectdetails/AbstractRoleMainPanel.java index 957a49d80d8..eaeec3e2855 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/objectdetails/AbstractRoleMainPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/objectdetails/AbstractRoleMainPanel.java @@ -82,8 +82,6 @@ public abstract class AbstractRoleMainPanel extends private static final String OPERATION_LOAD_ASSIGNMENTS_LIMIT = DOT_CLASS + "loadAssignmentsLimit"; private static final String ID_SHOPPING_CART_BUTTONS_PANEL = "shoppingCartButtonsPanel"; private static final String ID_ADD_TO_CART_BUTTON = "addToCartButton"; - private static final String ID_SHOPPING_CART_BUTTON = "shoppingCartButton"; - private static final String ID_ITEMS_COUNT = "itemsCount"; public AbstractRoleMainPanel(String id, LoadableModel> objectModel, LoadableModel>> projectionModel, @@ -109,7 +107,7 @@ private void initShoppingCartPanel(PageAdminObjectDetails parentPage){ public boolean isVisible(){ //show panel only in case if user came to object details from // Role Catalog page - return PageAssignmentShoppingCart.class.equals(getPreviousPage(parentPage)); + return PageAssignmentShoppingCart.class.equals(WebComponentUtil.getPreviousPageClass(parentPage)); } }); getMainForm().add(shoppingCartButtonsPanel); @@ -127,7 +125,7 @@ protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { public void onClick(AjaxRequestTarget target) { AssignmentEditorDto dto = AssignmentEditorDto.createDtoFromObject(getObject().asObjectable(), UserDtoStatus.ADD, parentPage); storage.getAssignmentShoppingCart().add(dto); - target.add(shoppingCartButtonsPanel); + parentPage.reloadShoppingCartIcon(target); } }; addToCartButton.add(AttributeAppender.append("class", new LoadableModel() { @@ -152,61 +150,6 @@ public boolean isEnabled(){ addToCartButton.add(AttributeAppender.append("title", AssignmentsUtil.getShoppingCartAssignmentsLimitReachedTitleModel(parentPage))); shoppingCartButtonsPanel.add(addToCartButton); - - AjaxButton shoppingCartButton = new AjaxButton(ID_SHOPPING_CART_BUTTON) { - private static final long serialVersionUID = 1L; - - @Override - protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { - attributes.setChannel(new AjaxChannel("blocking", AjaxChannel.Type.ACTIVE)); - } - - @Override - public void onClick(AjaxRequestTarget ajaxRequestTarget) { - parentPage.navigateToNext(PageAssignmentsList.class); - } - }; - shoppingCartButton.setOutputMarkupId(true); - shoppingCartButtonsPanel.add(shoppingCartButton); - - Label cartItemsCount = new Label(ID_ITEMS_COUNT, new LoadableModel(true) { - private static final long serialVersionUID = 1L; - - @Override - public String load(){ - return Integer.toString(storage.getAssignmentShoppingCart().size()); - } - }); - cartItemsCount.add(new VisibleEnableBehaviour() { - private static final long serialVersionUID = 1L; - - @Override - public boolean isVisible() { - if (storage.getAssignmentShoppingCart().size() == 0) { - return false; - } else { - return true; - } - } - }); - cartItemsCount.setOutputMarkupId(true); - shoppingCartButton.add(cartItemsCount); - - } - - private Class getPreviousPage(PageAdminObjectDetails parentPage){ - List breadcrumbs = parentPage.getBreadcrumbs(); - if (breadcrumbs == null || breadcrumbs.size() < 2){ - return null; - } - Breadcrumb previousBreadcrumb = breadcrumbs.get(breadcrumbs.size() - 2); - Class page = null; - if (previousBreadcrumb instanceof BreadcrumbPageClass){ - page = ((BreadcrumbPageClass) previousBreadcrumb).getPage(); - } else if (previousBreadcrumb instanceof BreadcrumbPageInstance){ - page = ((BreadcrumbPageInstance) previousBreadcrumb).getPage().getClass(); - } - return page; } @Override diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/PageAdminObjectDetails.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/PageAdminObjectDetails.java index ac3a4cb12aa..c5022c8756a 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/PageAdminObjectDetails.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/PageAdminObjectDetails.java @@ -146,7 +146,8 @@ protected String load() { name = WebComponentUtil.getName(getObjectWrapper().getObject()); } - String key = "PageAdminObjectDetails.title.edit" + getCompileTimeClass().getSimpleName(); + String key = (getObjectWrapper().isReadonly() ? "PageAdminObjectDetails.title.view" : "PageAdminObjectDetails.title.edit") + + getCompileTimeClass().getSimpleName(); return createStringResource(key, name).getObject(); } }; diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint.properties b/gui/admin-gui/src/main/resources/localization/Midpoint.properties index 60f3fca04c2..5473838a355 100755 --- a/gui/admin-gui/src/main/resources/localization/Midpoint.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint.properties @@ -1157,12 +1157,16 @@ pageAdmin.reports.description=Exporting reports pageAdmin.reports=Reports PageAdmin.menu.top.users.requestAssign=Request Assignment PageAdminObjectDetails.title.editUserType=Edit user '{0}' +PageAdminObjectDetails.title.viewUserType=View user '{0}' PageAdminObjectDetails.title.newUserType=Create new user PageAdminObjectDetails.title.editRoleType=Edit role '{0}' +PageAdminObjectDetails.title.viewRoleType=View role '{0}' PageAdminObjectDetails.title.newServiceType=Create new service PageAdminObjectDetails.title.editServiceType=Edit service '{0}' +PageAdminObjectDetails.title.viewServiceType=View service '{0}' PageAdminObjectDetails.title.newRoleType=Create new role PageAdminObjectDetails.title.editOrgType=Edit organization '{0}' +PageAdminObjectDetails.title.viewOrgType=View organization '{0}' PageAdminObjectDetails.title.newOrgType=Create new organization PageAdminObjectDetails.title.newSystemConfigurationType=System Configuration PageAdminObjectDetails.noChangesSave=There were no changes to be saved.