Skip to content

Commit

Permalink
shopping cart icon is removed from abstract role edit page
Browse files Browse the repository at this point in the history
Edit focus page title is change to "View" in case of readonly
  • Loading branch information
KaterynaHonchar committed Sep 5, 2018
1 parent 0509133 commit 72f20fa
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 66 deletions.
Expand Up @@ -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)));
}

Expand Down
Expand Up @@ -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.*;
Expand Down Expand Up @@ -2635,6 +2639,21 @@ public static LookupTableType createAppenderChoices(PageBase pageBase) {
return lookupTable;
}

public static Class getPreviousPageClass(PageBase parentPage){
List<Breadcrumb> 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<InlineMenuItem> createMenuItemsFromActions(@NotNull List<GuiActionType> actions, String operation,
PageBase pageBase, @NotNull Supplier<Collection<? extends ObjectType>> selectedObjectsSupplier) {
Expand Down
Expand Up @@ -22,11 +22,6 @@
<a wicket:id="addToCartButton">
<i class="fa fa-plus-circle" style="margin-left: 10px;"/>
</a>
<a wicket:id="shoppingCartButton" >
<i class="fa fa-shopping-cart fa-2x" style="vertical-align: middle;"></i>
<span wicket:id="itemsCount" class="badge bg-red"
style="position: relative; top: -15px; left: -10px;"></span>
</a>
</span>
</wicket:extend>
</wicket:panel>
Expand Down
Expand Up @@ -82,8 +82,6 @@ public abstract class AbstractRoleMainPanel<R extends AbstractRoleType> 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<ObjectWrapper<R>> objectModel,
LoadableModel<List<FocusSubwrapperDto<ShadowType>>> projectionModel,
Expand All @@ -109,7 +107,7 @@ private void initShoppingCartPanel(PageAdminObjectDetails<R> 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);
Expand All @@ -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<String>() {
Expand All @@ -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<String>(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<R> parentPage){
List<Breadcrumb> 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
Expand Down
Expand Up @@ -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();
}
};
Expand Down
Expand Up @@ -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.
Expand Down

0 comments on commit 72f20fa

Please sign in to comment.