/** * Most of the code in the Qalingo project is copyrighted Hoteia and licensed * under the Apache License Version 2.0 (release version 0.8.0) * http://www.apache.org/licenses/LICENSE-2.0 * * Copyright (c) Hoteia, 2012-2014 * http://www.hoteia.com - http://twitter.com/hoteia - contact@hoteia.com * */ package org.hoteia.qalingo.web.mvc.factory; import java.util.ArrayList; import java.util.List; import java.util.Locale; import javax.servlet.http.HttpServletRequest; import org.hoteia.qalingo.core.domain.Localization; import org.hoteia.qalingo.core.domain.enumtype.BoUrls; import org.hoteia.qalingo.core.i18n.enumtype.ScopeWebMessage; import org.hoteia.qalingo.core.web.mvc.factory.BackofficeViewBeanFactory; import org.hoteia.qalingo.core.web.mvc.viewbean.MenuViewBean; import org.hoteia.qalingo.core.web.resolver.RequestData; /** * */ public class BoBusinessViewBeanFactory extends BackofficeViewBeanFactory { /** * @throws Exception * */ @Override public List<MenuViewBean> buildListViewBeanHeaderMenu(final RequestData requestData) throws Exception { final HttpServletRequest request = requestData.getRequest(); final Localization localization = requestData.getMarketAreaLocalization(); final Locale locale = localization.getLocale(); final String currentUrl = requestUtil.getCurrentRequestUrl(request); final List<MenuViewBean> menuViewBeans = new ArrayList<MenuViewBean>(); MenuViewBean menu = new MenuViewBean(); menu.setActive(currentUrl.contains(BoUrls.HOME.getUrlPatternKey())); menu.setCssIcon("fa fa-home"); menu.setName(getSpecificMessage(ScopeWebMessage.HEADER_MENU, "home", locale)); menu.setUrl(backofficeUrlService.generateUrl(BoUrls.HOME, requestData)); menuViewBeans.add(menu); List<String> catalogManagementUrls = new ArrayList<String>(); catalogManagementUrls.add(BoUrls.MASTER_CATALOG.getUrlPatternKey()); catalogManagementUrls.add(BoUrls.VIRTUAL_CATALOG.getUrlPatternKey()); catalogManagementUrls.add(BoUrls.MASTER_CATEGORY_DETAILS.getUrlPatternKey()); catalogManagementUrls.add(BoUrls.MASTER_CATEGORY_ADD.getUrlPatternKey()); catalogManagementUrls.add(BoUrls.MASTER_CATEGORY_EDIT.getUrlPatternKey()); catalogManagementUrls.add(BoUrls.VIRTUAL_CATEGORY_DETAILS.getUrlPatternKey()); catalogManagementUrls.add(BoUrls.VIRTUAL_CATEGORY_ADD.getUrlPatternKey()); catalogManagementUrls.add(BoUrls.VIRTUAL_CATEGORY_EDIT.getUrlPatternKey()); catalogManagementUrls.add(BoUrls.PRODUCT_MARKETING_DETAILS.getUrlPatternKey()); catalogManagementUrls.add(BoUrls.PRODUCT_MARKETING_ADD.getUrlPatternKey()); catalogManagementUrls.add(BoUrls.PRODUCT_MARKETING_EDIT.getUrlPatternKey()); catalogManagementUrls.add(BoUrls.PRODUCT_SKU_DETAILS.getUrlPatternKey()); catalogManagementUrls.add(BoUrls.PRODUCT_SKU_ADD.getUrlPatternKey()); catalogManagementUrls.add(BoUrls.PRODUCT_SKU_EDIT.getUrlPatternKey()); menu = new MenuViewBean(); menu.setActive(menuIsActive(currentUrl, catalogManagementUrls)); menu.setCssClass("dropdown"); menu.setCssIcon("fa fa-sitemap"); menu.setName("Catalog"); menuViewBeans.add(menu); MenuViewBean subMenu = new MenuViewBean(); subMenu.setActive(currentUrl.contains(BoUrls.MASTER_CATALOG.getUrlPatternKey())); subMenu.setName("Manage Master Catalog"); subMenu.setUrl(backofficeUrlService.generateUrl(BoUrls.MASTER_CATALOG, requestData)); menu.getSubMenus().add(subMenu); subMenu = new MenuViewBean(); subMenu.setActive(currentUrl.contains(BoUrls.VIRTUAL_CATALOG.getUrlPatternKey())); subMenu.setName("Manage Virtual Catalog"); subMenu.setUrl(backofficeUrlService.generateUrl(BoUrls.VIRTUAL_CATALOG, requestData)); menu.getSubMenus().add(subMenu); List<String> wareHouseUrls = new ArrayList<String>(); wareHouseUrls.add(BoUrls.WAREHOUSE_LIST.getUrlPatternKey()); wareHouseUrls.add(BoUrls.WAREHOUSE_DETAILS.getUrlPatternKey()); wareHouseUrls.add(BoUrls.WAREHOUSE_EDIT.getUrlPatternKey()); menu = new MenuViewBean(); menu.setActive(menuIsActive(currentUrl, wareHouseUrls)); menu.setCssIcon("fa fa-building-o"); menu.setName("Warehouse"); menu.setUrl(backofficeUrlService.generateUrl(BoUrls.WAREHOUSE_LIST, requestData)); menuViewBeans.add(menu); List<String> priceUrls = new ArrayList<String>(); priceUrls.add(BoUrls.TAX_LIST.getUrlPatternKey()); priceUrls.add(BoUrls.TAX_DETAILS.getUrlPatternKey()); priceUrls.add(BoUrls.TAX_EDIT.getUrlPatternKey()); menu = new MenuViewBean(); menu.setActive(menuIsActive(currentUrl, priceUrls)); menu.setCssIcon("fa fa-usd"); menu.setName("Tax"); menu.setUrl(backofficeUrlService.generateUrl(BoUrls.TAX_LIST, requestData)); menuViewBeans.add(menu); List<String> ruleUrls = new ArrayList<String>(); ruleUrls.add(BoUrls.RULE_LIST.getUrlPatternKey()); menu = new MenuViewBean(); menu.setActive(menuIsActive(currentUrl, ruleUrls)); menu.setCssIcon("fa fa-money"); menu.setName("Promotion"); menu.setUrl(backofficeUrlService.generateUrl(BoUrls.RULE_LIST, requestData)); menuViewBeans.add(menu); List<String> deliveryMethodUrls = new ArrayList<String>(); deliveryMethodUrls.add(BoUrls.DELIVERY_METHOD_LIST.getUrlPatternKey()); deliveryMethodUrls.add(BoUrls.DELIVERY_METHOD_DETAILS.getUrlPatternKey()); deliveryMethodUrls.add(BoUrls.DELIVERY_METHOD_EDIT.getUrlPatternKey()); menu = new MenuViewBean(); menu.setActive(menuIsActive(currentUrl, deliveryMethodUrls)); menu.setCssIcon("fa fa-truck"); menu.setName("Delivery Method"); menu.setUrl(backofficeUrlService.generateUrl(BoUrls.DELIVERY_METHOD_LIST, requestData)); menuViewBeans.add(menu); List<String> orderUrls = new ArrayList<String>(); orderUrls.add(BoUrls.ORDER_LIST.getUrlPatternKey()); orderUrls.add(BoUrls.ORDER_DETAILS.getUrlPatternKey()); menu = new MenuViewBean(); menu.setActive(menuIsActive(currentUrl, orderUrls)); menu.setCssIcon("fa fa-shopping-cart"); menu.setName("Order"); menu.setUrl(backofficeUrlService.generateUrl(BoUrls.ORDER_LIST, requestData)); menuViewBeans.add(menu); List<String> customerUrls = new ArrayList<String>(); customerUrls.add(BoUrls.CUSTOMER_LIST.getUrlPatternKey()); customerUrls.add(BoUrls.CUSTOMER_DETAILS.getUrlPatternKey()); customerUrls.add(BoUrls.CUSTOMER_EDIT.getUrlPatternKey()); menu = new MenuViewBean(); menu.setActive(menuIsActive(currentUrl, customerUrls)); menu.setCssIcon("fa fa-group"); menu.setName("Customer"); menu.setUrl(backofficeUrlService.generateUrl(BoUrls.CUSTOMER_LIST, requestData)); menuViewBeans.add(menu); List<String> retailerUrls = new ArrayList<String>(); retailerUrls.add(BoUrls.RETAILER_LIST.getUrlPatternKey()); retailerUrls.add(BoUrls.RETAILER_DETAILS.getUrlPatternKey()); retailerUrls.add(BoUrls.RETAILER_EDIT.getUrlPatternKey()); retailerUrls.add(BoUrls.STORE_LIST.getUrlPatternKey()); retailerUrls.add(BoUrls.STORE_DETAILS.getUrlPatternKey()); retailerUrls.add(BoUrls.STORE_EDIT.getUrlPatternKey()); menu = new MenuViewBean(); menu.setActive(menuIsActive(currentUrl, retailerUrls)); menu.setCssIcon(" fa fa-map-marker"); menu.setName("Retailer"); menu.setUrl(backofficeUrlService.generateUrl(BoUrls.RETAILER_LIST, requestData)); menuViewBeans.add(menu); return menuViewBeans; } }