|
Propchange: ofbiz/branches/jquery/specialpurpose/crowd/src/org/ofbiz/crowd/security/SecurityServerHttpBindingStub.java
------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/jquery/specialpurpose/crowd/src/org/ofbiz/crowd/security/SecurityServerLocator.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/jquery/specialpurpose/crowd/src/org/ofbiz/crowd/security/SecurityServerPortType.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/jquery/specialpurpose/crowd/src/org/ofbiz/crowd/user/UserAttributeMapper.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/jquery/specialpurpose/crowd/src/org/ofbiz/crowd/user/UserGroupMapper.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/jquery/specialpurpose/crowd/src/org/ofbiz/crowd/user/UserWrapper.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: ofbiz/branches/jquery/specialpurpose/ebay/webapp/ebay/find/EbayAdvancedSearch.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/specialpurpose/ebay/webapp/ebay/find/EbayAdvancedSearch.ftl?rev=1044245&r1=1044244&r2=1044245&view=diff ============================================================================== --- ofbiz/branches/jquery/specialpurpose/ebay/webapp/ebay/find/EbayAdvancedSearch.ftl (original) +++ ofbiz/branches/jquery/specialpurpose/ebay/webapp/ebay/find/EbayAdvancedSearch.ftl Fri Dec 10 09:14:36 2010 @@ -384,4 +384,4 @@ under the License. </fieldset> </form> </div> -</div> \ No newline at end of file +</div> Propchange: ofbiz/branches/jquery/specialpurpose/ebaystore/lib/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Dec 10 09:14:36 2010 @@ -1,3 +1,3 @@ /ofbiz/branches/addbirt/specialpurpose/ebay/lib:831210-885099,885686-886087 /ofbiz/branches/multitenant20100310/specialpurpose/ebaystore/lib:921280-927264 -/ofbiz/trunk/specialpurpose/ebaystore/lib:951708-1044013 +/ofbiz/trunk/specialpurpose/ebaystore/lib:951708-1044240 Propchange: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayAccount.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayBestOfferAutoPref.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayFeedback.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStore.java URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStore.java?rev=1044245&r1=1044244&r2=1044245&view=diff ============================================================================== --- ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStore.java (original) +++ ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStore.java Fri Dec 10 09:14:36 2010 @@ -229,7 +229,7 @@ public class EbayStore { return outputBuilder.toString(); } - /* add/update/delete categories and child into your ebay store category */ + /* add/update/delete categories and child into your ebay store category */ public static Map<String,Object> exportCategoriesSelectedToEbayStore(DispatchContext dctx, Map<String,? extends Object> context) { Locale locale = (Locale) context.get("locale"); Delegator delegator = dctx.getDelegator(); @@ -304,7 +304,7 @@ public class EbayStore { childCategoryType.setName(productCategory.getString("categoryName")); listEdit.add(childCategoryType); } - } + } } if (listAdd.size() > 0) { req = new SetStoreCategoriesRequestType(); @@ -391,7 +391,7 @@ public class EbayStore { } catch (Exception e) { Debug.logError(e.getMessage(), module); } - return storeCustomCategoryTypeArry; + return storeCustomCategoryTypeArry; } public static Map<String, Object> excuteExportCategoryToEbayStore(SetStoreCategoriesCall call, SetStoreCategoriesRequestType req, StoreCategoryUpdateActionCodeType actionCode,Delegator delegator, String partyId,List<GenericValue> catalogCategories) { @@ -634,7 +634,7 @@ public class EbayStore { String productStoreId = (String) context.get("productStoreId"); List itemsResult = FastList.newInstance(); try { - List productStores = delegator.findByAnd("ProductStoreRole", UtilMisc.toMap("productStoreId", productStoreId, "roleTypeId", "EBAY_ACCOUNT")); + List productStores = delegator.findByAnd("ProductStoreRole", UtilMisc.toMap("productStoreId", productStoreId, "roleTypeId", "EBAY_ACCOUNT")); if (productStores.size() != 0) { String partyId = ((GenericValue) productStores.get(0)).getString("partyId"); List userLoginStore = delegator.findByAnd("UserLogin", UtilMisc.toMap("partyId", partyId)); @@ -644,7 +644,7 @@ public class EbayStore { } } } catch (Exception e) { - + } return result; } @@ -673,7 +673,7 @@ public class EbayStore { userLoginId = (String)userLogins.get(0).get("userLoginId"); password = (String)userLogins.get(0).get("currentPassword"); } - + } } catch (GenericEntityException e1) { e1.printStackTrace(); @@ -943,7 +943,7 @@ public class EbayStore { StoreColorSchemeType colorSchemeType = storeThemeType.getColorScheme(); if (colorSchemeType != null) { if (colorSchemeId.equals(colorSchemeType.getColorSchemeID().toString())) { - // get font,size and color + // get font,size and color storeColorSchemeMap = FastMap.newInstance(); StoreFontType storeFontType = colorSchemeType.getFont(); storeColorSchemeMap.put("storeFontTypeFontFaceValue", storeFontType.getNameFace().value()); @@ -1491,7 +1491,7 @@ public class EbayStore { sellingManagerSoldListings.getSellingManagerSoldListings(); SellingManagerSoldOrderType[] sellingManagerSoldOrders = sellingManagerSoldListings.getReturnedSaleRecord(); - if (UtilValidate.isNotEmpty(sellingManagerSoldOrders)) { + if (UtilValidate.isNotEmpty(sellingManagerSoldOrders)) { int soldOrderLength = sellingManagerSoldOrders.length; for (int i = 0; i < soldOrderLength; i++) { SellingManagerSoldOrderType sellingManagerSoldOrder = sellingManagerSoldOrders[i]; @@ -1527,12 +1527,12 @@ public class EbayStore { api.setDetailLevel(detailLevels); ItemType itemType = api.getItem(); String itemUrl = null; - + entry.put("SKU", itemType.getSKU()); if (UtilValidate.isNotEmpty(itemType.getReservePrice())) reservPrice = itemType.getReservePrice().getValue(); entry.put("reservePrice", reservPrice); entry.put("hitCount", itemType.getHitCount() != null ? itemType.getHitCount() : 0); - + if (itemType.getListingDetails() != null) { itemUrl = itemType.getListingDetails().getViewItemURL(); } @@ -1798,7 +1798,7 @@ public class EbayStore { Delegator delegator = dctx.getDelegator(); Locale locale = (Locale) context.get("locale"); String productStoreId = (String) context.get("productStoreId"); - String itemID = (String) context.get("itemId"); + String itemID = (String) context.get("itemId"); ApiContext apiContext = EbayStoreHelper.getApiContext(productStoreId, locale, delegator); try { DetailLevelCodeType[] detailLevels = new DetailLevelCodeType[] { @@ -1840,7 +1840,7 @@ public class EbayStore { Delegator delegator = dctx.getDelegator(); Locale locale = (Locale) context.get("locale"); String productStoreId = (String) context.get("productStoreId"); - String itemID = (String) context.get("itemId"); + String itemID = (String) context.get("itemId"); ApiContext apiContext = EbayStoreHelper.getApiContext(productStoreId, locale, delegator); try { DetailLevelCodeType[] detailLevels = new DetailLevelCodeType[] { @@ -2032,7 +2032,7 @@ public class EbayStore { int i = 0; cols.put("itemId", item.getItemID() != null ? item.getItemID() : ""); cols.put("title", item.getTitle() != null ? item.getTitle() : ""); - + SellingStatusType sst = item.getSellingStatus(); double currentPrice = 0; int bidCount = 0; @@ -2148,7 +2148,7 @@ public class EbayStore { public static Map<String, Object> getTransaction(TransactionType transaction){ Map<String, Object> cols = FastMap.newInstance(); ItemType item = transaction.getItem(); - String itemId = null; + String itemId = null; String title = null; String SKU = null; if (UtilValidate.isNotEmpty(item)) { @@ -2241,9 +2241,9 @@ public class EbayStore { cols.put("totalPrice", totalPrice); cols.put("createdDate", createdDate); cols.put("sellerPaidStatus", sellerPaidStatus); - return cols; + return cols; } - + public Map<String, Object> getEbayStoreProductItem(DispatchContext dctx, Map<String, ? extends Object> context) { Map<String, Object>result = FastMap.newInstance(); LocalDispatcher dispatcher = dctx.getDispatcher(); @@ -2252,7 +2252,7 @@ public class EbayStore { Locale locale = (Locale) context.get("locale"); String productStoreId = (String) context.get("productStoreId"); String itemID = (String) context.get("itemId"); - + try { Map<String, Object> inMap = FastMap.newInstance(); inMap.put("productStoreId", productStoreId); @@ -2261,7 +2261,7 @@ public class EbayStore { String userID = (String) resultUser.get("userLoginId"); ApiContext apiContext = EbayStoreHelper.getApiContext(productStoreId, locale, delegator); GetItemCall api = new GetItemCall(apiContext); - + DetailLevelCodeType[] detailLevels = new DetailLevelCodeType[] { DetailLevelCodeType.RETURN_ALL, DetailLevelCodeType.ITEM_RETURN_ATTRIBUTES, @@ -2269,13 +2269,13 @@ public class EbayStore { }; api.setDetailLevel(detailLevels); api.getItem(itemID); - + // Set item type. ItemType item = api.getReturnedItem(); String title = item.getTitle(); String description = item.getDescription(); String listingType = item.getListingType().value(); - + if (item.getPictureDetails() != null) { String url[] = item.getPictureDetails().getPictureURL(); if (url.length != 0) { @@ -2286,7 +2286,7 @@ public class EbayStore { } else { result.put("pictureURL", null); } - + result.put("title", title); result.put("description", description); AmountType amt = item.getStartPrice(); @@ -2298,7 +2298,7 @@ public class EbayStore { } return result; } - + public Map<String, Object> reviseEbayStoreProductItem(DispatchContext dctx, Map<String, ? extends Object> context) { Map<String, Object>result = FastMap.newInstance(); LocalDispatcher dispatcher = dctx.getDispatcher(); @@ -2313,7 +2313,7 @@ public class EbayStore { String price = (String) context.get("price"); String imageFileName = (String) context.get("_imageData_fileName"); String currencyId = (String) context.get("currencyId"); - + try { Map<String, Object> inMap = FastMap.newInstance(); inMap.put("productStoreId", productStoreId); @@ -2324,19 +2324,19 @@ public class EbayStore { String sandboxEPSURL = "https://api.sandbox.ebay.com/ws/api.dll"; apiContext.setEpsServerUrl(sandboxEPSURL); ReviseItemCall api = new ReviseItemCall(apiContext); - + // Set item type. ItemType itemToBeRevised = new ItemType(); itemToBeRevised.setItemID(itemID); - + if (UtilValidate.isNotEmpty(title)) { itemToBeRevised.setTitle(title); } - + if (UtilValidate.isNotEmpty(description)) { itemToBeRevised.setDescription(description); } - + // Set startPrice value. AmountType startPrice = new AmountType(); if (UtilValidate.isNotEmpty(price)) { @@ -2344,17 +2344,17 @@ public class EbayStore { startPrice.setCurrencyID(CurrencyCodeType.valueOf(currencyId)); itemToBeRevised.setStartPrice(startPrice); } - + // Check upload image file. - if (UtilValidate.isNotEmpty(imageFileName)) { - + if (UtilValidate.isNotEmpty(imageFileName)) { + // Upload image to ofbiz path /runtime/tmp . ByteBuffer byteWrap = (ByteBuffer) context.get("imageData"); File file = new File(System.getProperty("ofbiz.home"), "runtime" + File.separator + "tmp" + File.separator + imageFileName); FileChannel wChannel = new FileOutputStream(file, false).getChannel(); wChannel.write(byteWrap); wChannel.close(); - + // Set path file picture to api and set picture details. String [] pictureFiles = {System.getProperty("ofbiz.home") + File.separator + "runtime" + File.separator + "tmp" + File.separator + imageFileName}; PictureDetailsType pictureDetails = new PictureDetailsType(); @@ -2362,7 +2362,7 @@ public class EbayStore { pictureDetails.setPhotoDisplay(PhotoDisplayCodeType.NONE); pictureDetails.setPictureSource(PictureSourceCodeType.EPS); itemToBeRevised.setPictureDetails(pictureDetails); - + api.setItemToBeRevised(itemToBeRevised); api.uploadPictures(pictureFiles, pictureDetails); FeesType fees = api.reviseItem(); @@ -2393,11 +2393,11 @@ public class EbayStore { ItemListCustomizationType itemListType = new ItemListCustomizationType(); itemListType.setInclude(Boolean.TRUE); itemListType.setSort(ItemSortTypeCodeType.ITEM_ID_DESCENDING); - + String entriesPerPage = (String) context.get("entriesPerPage"); String pageNumber = (String) context.get("pageNumber"); String listingType = (String) context.get("listingType"); - + PaginationType page = new PaginationType(); if (UtilValidate.isNotEmpty(entriesPerPage)) { page.setEntriesPerPage(Integer.valueOf(entriesPerPage)); @@ -2423,7 +2423,7 @@ public class EbayStore { getMyeBaySelling.getMyeBaySelling(); ItemType[] tempUnSoldItems = null; if (UtilValidate.isNotEmpty(getMyeBaySelling.getReturnedUnsoldList())) tempUnSoldItems = (getMyeBaySelling.getReturnedUnsoldList().getItemArray()).getItem(); - + if (UtilValidate.isNotEmpty(tempUnSoldItems)) { for (int i = 0; i < tempUnSoldItems.length; i++) { Map <String, Object> unsoldItemMap = getClosedItem(tempUnSoldItems[i]); @@ -2433,7 +2433,7 @@ public class EbayStore { } OrderTransactionType[] tempSoldItems = null; if (UtilValidate.isNotEmpty(getMyeBaySelling.getReturnedSoldList())) tempSoldItems = (getMyeBaySelling.getReturnedSoldList().getOrderTransactionArray()).getOrderTransaction(); - + if (UtilValidate.isNotEmpty(tempSoldItems)) { for(int i = 0; i < tempSoldItems.length; i++) { ItemType soldItem = tempSoldItems[i].getTransaction().getItem(); @@ -2487,7 +2487,7 @@ public class EbayStore { if(UtilValidate.isNotEmpty(tempItems.getListingType().values())) { listingType = tempItems.getListingType().value(); } - + result.put("buyItNowPrice", buyItNowPrice); result.put("hitCount", hitCount); result.put("quantity", quantity); @@ -2608,7 +2608,7 @@ public class EbayStore { SKU = item.getSKU(); buyItNowPrice = item.getBuyItNowPrice().getValue(); currency = item.getCurrency().value(); - + if(UtilValidate.isNotEmpty(item.getListingDetails())) { viewItemURL = item.getListingDetails().getViewItemURL(); } @@ -2679,7 +2679,7 @@ public class EbayStore { if (UtilValidate.isNotEmpty(transaction.getShippingDetails().getSalesTax().getSalesTaxPercent())) { salesTaxPercent = transaction.getShippingDetails().getSalesTax().getSalesTaxPercent(); } - + orderMap.put("externalId", externalId); orderMap.put("itemId", itemId); orderMap.put("title", title); @@ -2739,7 +2739,7 @@ public class EbayStore { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); dateFormat.parse(context.get("fromDate").toString()); fromDate.setTime(dateFormat.parse(context.get("fromDate").toString())); - + SimpleDateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); dateFormat2.parse(context.get("thruDate").toString()); toDate.setTime(dateFormat.parse(context.get("thruDate").toString())); @@ -2802,7 +2802,7 @@ public class EbayStore { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); dateFormat.parse(context.get("fromDate").toString()); fromDate.setTime(dateFormat.parse(context.get("fromDate").toString())); - + SimpleDateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); dateFormat2.parse(context.get("thruDate").toString()); toDate.setTime(dateFormat.parse(context.get("thruDate").toString())); @@ -2810,7 +2810,7 @@ public class EbayStore { toDate.setTime(UtilDateTime.nowDate()); fromDate = null; } - + GetOrdersCall getOrder = new GetOrdersCall(apiContext); DetailLevelCodeType[] detailLevels = new DetailLevelCodeType[] { DetailLevelCodeType.RETURN_ALL, @@ -2822,14 +2822,14 @@ public class EbayStore { getOrder.setCreateTimeTo(toDate); getOrder.setOrderRole(TradingRoleCodeType.SELLER); getOrder.setOrderStatus(OrderStatusCodeType.COMPLETED); - + OrderType[] orders = getOrder.getOrders(); for (int orderCount = 0; orderCount < orders.length; orderCount++) { OrderType order = orders[orderCount]; Map<String, Object> orderMap = EbayStore.getOrderHelper(order, locale); orderList.add(orderMap); } - + } catch (Exception e) { result = ServiceUtil.returnFailure(e.getMessage()); } Propchange: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStore.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreAutoPrefEvents.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreAutoPreferences.java URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreAutoPreferences.java?rev=1044245&r1=1044244&r2=1044245&view=diff ============================================================================== --- ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreAutoPreferences.java (original) +++ ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreAutoPreferences.java Fri Dec 10 09:14:36 2010 @@ -1269,7 +1269,6 @@ public class EbayStoreAutoPreferences { } else if (priceType.equals("RETAIL_PRICE")) { //ignore } else if (priceType.equals("SELLER_COST")) { - // FIXME List<GenericValue> supplierProduct = delegator.findByAnd("SupplierProduct", UtilMisc.toMap("productId", SKUItem), UtilMisc.toList("availableFromDate DESC")); String lastPrice = supplierProduct.get(0).getString("lastPrice"); doBasePrice = Double.parseDouble(lastPrice); Propchange: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreAutoPreferences.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreCategoryFacade.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreCustomerService.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreInventoryServices.java URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreInventoryServices.java?rev=1044245&r1=1044244&r2=1044245&view=diff ============================================================================== --- ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreInventoryServices.java (original) +++ ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreInventoryServices.java Fri Dec 10 09:14:36 2010 @@ -84,7 +84,7 @@ public class EbayStoreInventoryServices String productId = (String)context.get("productId"); String folderId = (String)context.get("folderId"); - // start upload/update products which selected to an ebay inventory + // start upload/update products which selected to an ebay inventory if (folderId != null) { GetSellingManagerInventoryCall invenCall = new GetSellingManagerInventoryCall(EbayStoreHelper.getApiContext((String)context.get("productStoreId"), locale, delegator)); invenReq = new GetSellingManagerInventoryRequestType(); @@ -125,7 +125,7 @@ public class EbayStoreInventoryServices result = ServiceUtil.returnFailure(e.getMessage()); } catch (GenericEntityException e) { result = ServiceUtil.returnFailure(e.getMessage()); - } + } result.put("productStoreId", context.get("productStoreId")); result.put("facilityId", context.get("facilityId")); result.put("folderId", context.get("folderId")); @@ -155,7 +155,7 @@ public class EbayStoreInventoryServices //Must keep productId in SKU NUMBER because ebay allow productId field only long value. sellingManagerProductDetailsType.setCustomLabel(productId); if (ebayProductStoreInventory!=null) sellingManagerProductDetailsType.setQuantityAvailable(ebayProductStoreInventory.getBigDecimal("availableToPromiseListing").intValue()); - + productReq.setSellingManagerProductDetails(sellingManagerProductDetailsType); productResp = (AddSellingManagerProductResponseType) productCall.execute(productReq); if (productResp != null && "SUCCESS".equals(productResp.getAck().toString())) { @@ -208,7 +208,7 @@ public class EbayStoreInventoryServices sellingManagerProductDetailsType.setProductID(ebayProductId); sellingManagerProductDetailsType.setProductName((delegator.findByPrimaryKey("Product", UtilMisc.toMap("productId", productId))).getString("internalName")); - //Must keep productId in SKU NUMBER because ebay allow productId field only long value. + //Must keep productId in SKU NUMBER because ebay allow productId field only long value. sellingManagerProductDetailsType.setCustomLabel(productId); if (ebayProductStoreInventory!=null) sellingManagerProductDetailsType.setQuantityAvailable(ebayProductStoreInventory.getBigDecimal("availableToPromiseListing").intValue()); @@ -243,7 +243,7 @@ public class EbayStoreInventoryServices Delegator delegator = dctx.getDelegator(); GetSellingManagerInventoryFolderRequestType req = null; GetSellingManagerInventoryFolderResponseType resp = null; - boolean flag = false; + boolean flag = false; try { if (context.get("productStoreId") != null) { Propchange: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreInventoryServices.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreOptions.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreOrder.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/jquery/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreSiteFacade.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: ofbiz/branches/jquery/specialpurpose/ecommerce/webapp/ecommerce/catalog/minilastviewedcategories.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/specialpurpose/ecommerce/webapp/ecommerce/catalog/minilastviewedcategories.ftl?rev=1044245&r1=1044244&r2=1044245&view=diff ============================================================================== --- ofbiz/branches/jquery/specialpurpose/ecommerce/webapp/ecommerce/catalog/minilastviewedcategories.ftl (original) +++ ofbiz/branches/jquery/specialpurpose/ecommerce/webapp/ecommerce/catalog/minilastviewedcategories.ftl Fri Dec 10 09:14:36 2010 @@ -48,4 +48,4 @@ under the License. </ul> </div> </div> -</#if> \ No newline at end of file +</#if> Modified: ofbiz/branches/jquery/specialpurpose/ecommerce/webapp/ecommerce/customer/miniSignUpForContactList.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/specialpurpose/ecommerce/webapp/ecommerce/customer/miniSignUpForContactList.ftl?rev=1044245&r1=1044244&r2=1044245&view=diff ============================================================================== --- ofbiz/branches/jquery/specialpurpose/ecommerce/webapp/ecommerce/customer/miniSignUpForContactList.ftl (original) +++ ofbiz/branches/jquery/specialpurpose/ecommerce/webapp/ecommerce/customer/miniSignUpForContactList.ftl Fri Dec 10 09:14:36 2010 @@ -83,4 +83,4 @@ under the License. </form> </#if> </div> -</div> \ No newline at end of file +</div> Modified: ofbiz/branches/jquery/specialpurpose/googlebase/webapp/googlebase/find/GoogleBaseAdvancedSearch.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/specialpurpose/googlebase/webapp/googlebase/find/GoogleBaseAdvancedSearch.ftl?rev=1044245&r1=1044244&r2=1044245&view=diff ============================================================================== --- ofbiz/branches/jquery/specialpurpose/googlebase/webapp/googlebase/find/GoogleBaseAdvancedSearch.ftl (original) +++ ofbiz/branches/jquery/specialpurpose/googlebase/webapp/googlebase/find/GoogleBaseAdvancedSearch.ftl Fri Dec 10 09:14:36 2010 @@ -384,4 +384,4 @@ under the License. </fieldset> </form> </div> -</div> \ No newline at end of file +</div> Propchange: ofbiz/branches/jquery/specialpurpose/hhfacility/webapp/hhfacility/WEB-INF/actions/Facilities.groovy ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Dec 10 09:14:36 2010 @@ -1,3 +1,3 @@ /incubator/ofbiz/trunk/specialpurpose/hhfacility/webapp/hhfacility/WEB-INF/actions/Facilities.groovy:418499-490456 /ofbiz/branches/multitenant20100310/specialpurpose/hhfacility/webapp/hhfacility/WEB-INF/actions/Facilities.groovy:921280-927264 -/ofbiz/trunk/specialpurpose/hhfacility/webapp/hhfacility/WEB-INF/actions/Facilities.groovy:951708-1044013 +/ofbiz/trunk/specialpurpose/hhfacility/webapp/hhfacility/WEB-INF/actions/Facilities.groovy:951708-1044240 Propchange: ofbiz/branches/jquery/specialpurpose/hhfacility/webapp/hhfacility/WEB-INF/actions/ProductList.groovy ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Dec 10 09:14:36 2010 @@ -1,3 +1,3 @@ /incubator/ofbiz/trunk/specialpurpose/hhfacility/webapp/hhfacility/WEB-INF/actions/ProductList.groovy:418499-490456 /ofbiz/branches/multitenant20100310/specialpurpose/hhfacility/webapp/hhfacility/WEB-INF/actions/ProductList.groovy:921280-927264 -/ofbiz/trunk/specialpurpose/hhfacility/webapp/hhfacility/WEB-INF/actions/ProductList.groovy:951708-1044013 +/ofbiz/trunk/specialpurpose/hhfacility/webapp/hhfacility/WEB-INF/actions/ProductList.groovy:951708-1044240 Propchange: ofbiz/branches/jquery/specialpurpose/hhfacility/webapp/hhfacility/WEB-INF/actions/ProductStockTake.groovy ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Dec 10 09:14:36 2010 @@ -1,3 +1,3 @@ /incubator/ofbiz/trunk/specialpurpose/hhfacility/webapp/hhfacility/WEB-INF/actions/ProductStockTake.groovy:418499-490456 /ofbiz/branches/multitenant20100310/specialpurpose/hhfacility/webapp/hhfacility/WEB-INF/actions/ProductStockTake.groovy:921280-927264 -/ofbiz/trunk/specialpurpose/hhfacility/webapp/hhfacility/WEB-INF/actions/ProductStockTake.groovy:951708-1044013 +/ofbiz/trunk/specialpurpose/hhfacility/webapp/hhfacility/WEB-INF/actions/ProductStockTake.groovy:951708-1044240 Modified: ofbiz/branches/jquery/specialpurpose/pos/src/org/ofbiz/pos/component/PromoStatusBar.java URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/specialpurpose/pos/src/org/ofbiz/pos/component/PromoStatusBar.java?rev=1044245&r1=1044244&r2=1044245&view=diff ============================================================================== --- ofbiz/branches/jquery/specialpurpose/pos/src/org/ofbiz/pos/component/PromoStatusBar.java (original) +++ ofbiz/branches/jquery/specialpurpose/pos/src/org/ofbiz/pos/component/PromoStatusBar.java Fri Dec 10 09:14:36 2010 @@ -1,81 +1,81 @@ -/******************************************************************************* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - *******************************************************************************/ -package org.ofbiz.pos.component; - -import java.util.Locale; - -import net.xoetrope.swing.XEdit; - -import org.ofbiz.base.util.UtilProperties; -import org.ofbiz.base.util.UtilValidate; -import org.ofbiz.pos.PosTransaction; -import org.ofbiz.pos.screen.PosScreen; - -public class PromoStatusBar { - protected static PosScreen m_pos = null; - protected XEdit statusbarPromoCode = null; - protected XEdit statusbarClient = null; - private String customer = (UtilProperties.getMessage(PosTransaction.resource, "PosCustomer", Locale.getDefault())); - private String promoCode = (UtilProperties.getMessage(PosTransaction.resource, "PosPromoCode", Locale.getDefault())); - - - public PromoStatusBar(PosScreen page) { - m_pos = page; - statusbarClient = (XEdit) page.findComponent("statusbarClient"); - statusbarClient.setFocusable(false); - statusbarPromoCode = (XEdit) page.findComponent("statusbarPromoCode"); - statusbarPromoCode.setFocusable(false); - } - - public void addPromoCode(String message) { - String promoCodes = statusbarPromoCode.getText(); - if (UtilValidate.isNotEmpty(promoCodes)) { - statusbarPromoCode.setText(promoCodes + ", " + message); - } else { - statusbarPromoCode.setText(promoCode + " " + message); - } - } - - public void displayClient(String message) { - statusbarClient.setText(customer + " " + message); - } - - public void clear() { - if (UtilValidate.isEmpty(statusbarPromoCode.getText())) { // to handle when on another screen - PosScreen newPos = m_pos.showPage("promopanel"); - PromoStatusBar promoStatusBar = newPos.getPromoStatusBar(); - XEdit statusbarPromoCode = promoStatusBar.getStatusbarPromoCode(); - statusbarPromoCode.setText(""); - XEdit statusbarClient = promoStatusBar.getStatusbarClient(); - statusbarClient.setText(""); - m_pos.showPage("paypanel"); - } else { - statusbarPromoCode.setText(""); - statusbarClient.setText(""); - } - } - - private XEdit getStatusbarPromoCode() { - return statusbarPromoCode; - } - - private XEdit getStatusbarClient() { - return statusbarClient; - } -} +/******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + *******************************************************************************/ +package org.ofbiz.pos.component; + +import java.util.Locale; + +import net.xoetrope.swing.XEdit; + +import org.ofbiz.base.util.UtilProperties; +import org.ofbiz.base.util.UtilValidate; +import org.ofbiz.pos.PosTransaction; +import org.ofbiz.pos.screen.PosScreen; + +public class PromoStatusBar { + protected static PosScreen m_pos = null; + protected XEdit statusbarPromoCode = null; + protected XEdit statusbarClient = null; + private String customer = (UtilProperties.getMessage(PosTransaction.resource, "PosCustomer", Locale.getDefault())); + private String promoCode = (UtilProperties.getMessage(PosTransaction.resource, "PosPromoCode", Locale.getDefault())); + + + public PromoStatusBar(PosScreen page) { + m_pos = page; + statusbarClient = (XEdit) page.findComponent("statusbarClient"); + statusbarClient.setFocusable(false); + statusbarPromoCode = (XEdit) page.findComponent("statusbarPromoCode"); + statusbarPromoCode.setFocusable(false); + } + + public void addPromoCode(String message) { + String promoCodes = statusbarPromoCode.getText(); + if (UtilValidate.isNotEmpty(promoCodes)) { + statusbarPromoCode.setText(promoCodes + ", " + message); + } else { + statusbarPromoCode.setText(promoCode + " " + message); + } + } + + public void displayClient(String message) { + statusbarClient.setText(customer + " " + message); + } + + public void clear() { + if (UtilValidate.isEmpty(statusbarPromoCode.getText())) { // to handle when on another screen + PosScreen newPos = m_pos.showPage("promopanel"); + PromoStatusBar promoStatusBar = newPos.getPromoStatusBar(); + XEdit statusbarPromoCode = promoStatusBar.getStatusbarPromoCode(); + statusbarPromoCode.setText(""); + XEdit statusbarClient = promoStatusBar.getStatusbarClient(); + statusbarClient.setText(""); + m_pos.showPage("paypanel"); + } else { + statusbarPromoCode.setText(""); + statusbarClient.setText(""); + } + } + + private XEdit getStatusbarPromoCode() { + return statusbarPromoCode; + } + + private XEdit getStatusbarClient() { + return statusbarClient; + } +} Propchange: ofbiz/branches/jquery/specialpurpose/pos/src/org/ofbiz/pos/component/PromoStatusBar.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: ofbiz/branches/jquery/specialpurpose/pos/src/org/ofbiz/pos/screen/ClientProfile.java URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/specialpurpose/pos/src/org/ofbiz/pos/screen/ClientProfile.java?rev=1044245&r1=1044244&r2=1044245&view=diff ============================================================================== --- ofbiz/branches/jquery/specialpurpose/pos/src/org/ofbiz/pos/screen/ClientProfile.java (original) +++ ofbiz/branches/jquery/specialpurpose/pos/src/org/ofbiz/pos/screen/ClientProfile.java Fri Dec 10 09:14:36 2010 @@ -1,357 +1,357 @@ -/******************************************************************************* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - *******************************************************************************/ -package org.ofbiz.pos.screen; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.List; -import java.util.Locale; -import java.util.Map; - -import javax.swing.DefaultComboBoxModel; - -import javolution.util.FastList; -import net.xoetrope.swing.XButton; -import net.xoetrope.swing.XComboBox; -import net.xoetrope.swing.XDialog; -import net.xoetrope.swing.XEdit; -import net.xoetrope.swing.XLabel; -import net.xoetrope.swing.XRadioButton; -import net.xoetrope.xui.XPage; -import net.xoetrope.xui.events.XEventHelper; - -import org.ofbiz.base.util.Debug; -import org.ofbiz.base.util.UtilMisc; -import org.ofbiz.base.util.UtilProperties; -import org.ofbiz.base.util.UtilValidate; -import org.ofbiz.entity.GenericEntityException; -import org.ofbiz.entity.GenericValue; -import org.ofbiz.pos.PosTransaction; - - -@SuppressWarnings("serial") -public class ClientProfile extends XPage implements ActionListener { - - /** - * To allow searching, creating or editing a client profile (ie for now : Name, Email Address, Phone Number, Membership Card Number) - */ - - public static final String module = ClientProfile.class.getName(); - protected static PosScreen m_pos = null; - protected XDialog m_dialog = null; - protected XLabel m_nameLabel = null; - protected XEdit m_nameEdit = null; - protected XRadioButton m_nameRadioEquals = null; - protected XRadioButton m_nameRadioContains = null; - protected XLabel m_emailLabel = null; - protected XEdit m_emailEdit = null; - protected XLabel m_phoneLabel = null; - protected XEdit m_phoneEdit = null; - protected XLabel m_cardLabel = null; - protected XEdit m_cardEdit = null; - protected XLabel m_clientListLabel = null; - protected XComboBox m_clientListCombo = null; - protected List<String> m_clientListBidingCombo = FastList.newInstance(); - protected XLabel m_tipLoginPwdLabel = null; - protected XButton m_search = null; - protected XButton m_create = null; - protected XButton m_edit = null; - protected XButton m_select = null; - protected XButton m_cancel = null; - protected DefaultComboBoxModel m_comboModel = null; - protected static PosTransaction m_trans = null; - protected String m_type = null; - protected boolean cancelled = false; - private static final Boolean SWIP_WITH_CARD = UtilProperties.propertyValueEqualsIgnoreCase("parameters", "SwipWithCard", "Y"); - private static final String START_SENTINEL = UtilProperties.getPropertyValue("parameters", "StartSentinel", ";"); - private static final String END_SENTINEL = UtilProperties.getPropertyValue("parameters", "EndSentinel", "?"); - private static Locale locale = Locale.getDefault(); - private String m_partyId = null; - - //TODO : make getter and setter for members (ie m_*) if needed (extern calls). For that in Eclipse use Source/Generate Getters and setters - - public ClientProfile(PosTransaction trans, PosScreen page) { - m_trans = trans; - m_pos = page; - } - - public void openDlg() { - m_dialog = (XDialog) pageMgr.loadPage(m_pos.getScreenLocation() + "/dialog/ClientProfile"); - - m_nameEdit = (XEdit) m_dialog.findComponent("nameEdit"); // 1st for focus (still does not work) - m_nameLabel = (XLabel) m_dialog.findComponent("nameLabel"); - m_nameRadioEquals = (XRadioButton) m_dialog.findComponent("NameRadioEquals"); - m_nameRadioEquals.setToolTipText(UtilProperties.getMessage(PosTransaction.resource, "PosTipNameRadioEquals", locale)); - m_nameRadioContains = (XRadioButton) m_dialog.findComponent("NameRadioContain"); - m_nameRadioContains.setToolTipText(UtilProperties.getMessage(PosTransaction.resource, "PosTipNameRadioContains", locale)); - - m_emailLabel = (XLabel) m_dialog.findComponent("emailLabel"); - m_emailEdit = (XEdit) m_dialog.findComponent("emailEdit"); - m_phoneLabel = (XLabel) m_dialog.findComponent("phoneLabel"); - m_phoneEdit = (XEdit) m_dialog.findComponent("phoneEdit"); - m_cardLabel = (XLabel) m_dialog.findComponent("cardLabel"); - m_cardEdit = (XEdit) m_dialog.findComponent("cardEdit"); - - m_clientListLabel = (XLabel) m_dialog.findComponent("clientListLabel"); - m_clientListCombo = (XComboBox) m_dialog.findComponent("clientListCombo"); - - m_tipLoginPwdLabel = (XLabel) m_dialog.findComponent("tipLoginPwdLabel"); - - m_search = (XButton) m_dialog.findComponent("BtnSearch"); - m_create = (XButton) m_dialog.findComponent("BtnCreate"); - m_edit = (XButton) m_dialog.findComponent("BtnEdit"); - m_select = (XButton) m_dialog.findComponent("BtnSelect"); - m_cancel = (XButton) m_dialog.findComponent("BtnCancel"); - - XEventHelper.addMouseHandler(this, m_search, "search"); - XEventHelper.addMouseHandler(this, m_create, "edit(create)"); - XEventHelper.addMouseHandler(this, m_edit, "edit(update)"); - XEventHelper.addMouseHandler(this, m_select, "select"); - XEventHelper.addMouseHandler(this, m_cancel, "cancel"); - XEventHelper.addMouseHandler(this, m_nameEdit, "editName"); - XEventHelper.addMouseHandler(this, m_emailEdit, "editEmail"); - XEventHelper.addMouseHandler(this, m_phoneEdit, "editPhone"); - XEventHelper.addMouseHandler(this, m_cardEdit, "editCard"); - - m_comboModel = new DefaultComboBoxModel(); - m_dialog.setCaption(UtilProperties.getMessage(PosTransaction.resource, "PosClientProfile", locale)); - m_clientListCombo.setModel(m_comboModel); - m_clientListCombo.setToolTipText(UtilProperties.getMessage(PosTransaction.resource, "PosSelectClientToEdit", locale)); - m_clientListCombo.addActionListener(this); - - m_dialog.pack(); - m_nameEdit.requestFocusInWindow(); - m_dialog.showDialog(this); - if (!cancelled) { - GenericValue person = null; - try { - person = m_trans.getSession().getDelegator().findByPrimaryKey("Person", UtilMisc.toMap("partyId", m_partyId)); - } catch (GenericEntityException e) { - Debug.logError(e, module); - } - if (UtilValidate.isNotEmpty(person)) { - String cardId = person.getString("cardId"); - if (UtilValidate.isNotEmpty(cardId)) { - String partyId = m_trans.getPartyId(); - m_trans.setPartyId(m_partyId); - String result = m_trans.addProductPromoCode(cardId); - if (UtilValidate.isEmpty(result)) { - m_pos.getPromoStatusBar().displayClient(person.getString("lastName")); - m_pos.getPromoStatusBar().addPromoCode(cardId); - } else { - m_trans.setPartyId(partyId); - m_pos.showDialog("dialog/error/exception", result); - } - } - } - } - } - - public synchronized void cancel() { - if (wasMouseClicked()) { - cancelled = true; - m_dialog.closeDlg(); - } - } - - public synchronized void editName() { - if (wasMouseClicked() && UtilProperties.propertyValueEqualsIgnoreCase("parameters", "ShowKeyboardInSaveSale", "Y")) { - try { - Keyboard keyboard = new Keyboard(m_pos); - keyboard.setText(m_nameEdit.getText()); - m_nameEdit.setText(keyboard.openDlg()); - } catch (Exception e) { - Debug.logError(e, module); - } - m_dialog.repaint(); - } - return; - } - - public synchronized void editEmail() { - if (wasMouseClicked() && UtilProperties.propertyValueEqualsIgnoreCase("parameters", "ShowKeyboardInSaveSale", "Y")) { - try { - Keyboard keyboard = new Keyboard(m_pos); - keyboard.setText(m_emailEdit.getText()); - m_emailEdit.setText(keyboard.openDlg()); - } catch (Exception e) { - Debug.logError(e, module); - } - m_dialog.repaint(); - } - return; - } - - public synchronized void editPhone() { - if (wasMouseClicked() && UtilProperties.propertyValueEqualsIgnoreCase("parameters", "ShowKeyboardInSaveSale", "Y")) { - try { - NumericKeypad numericKeypad = new NumericKeypad(m_pos); - numericKeypad.setMinus(false); // this order must be respected - numericKeypad.setPercent(false); - numericKeypad.setText(m_phoneEdit.getText()); - m_phoneEdit.setText(numericKeypad.openDlg()); - } catch (Exception e) { - Debug.logError(e, module); - } - m_dialog.repaint(); - } - return; - } - - - - public synchronized void editCard() { - if (wasMouseClicked() && UtilProperties.propertyValueEqualsIgnoreCase("parameters", "ShowKeyboardInSaveSale", "Y") && !SWIP_WITH_CARD) { - try { - NumericKeypad numericKeypad = new NumericKeypad(m_pos); - numericKeypad.setMinus(false); // this order must be respected - numericKeypad.setPercent(false); - numericKeypad.setText(m_cardEdit.getText()); - m_cardEdit.setText(numericKeypad.openDlg()); - } catch (Exception e) { - Debug.logError(e, module); - } - m_dialog.repaint(); - } else { - String card = m_cardEdit.getText(); - if (SWIP_WITH_CARD && UtilValidate.isNotEmpty(m_cardEdit.getText()) - && (card.startsWith(START_SENTINEL) && card.endsWith(END_SENTINEL))) { - m_cardEdit.setText(card.substring(1, card.length() - 1)); - } - } - - return; - } - - public synchronized void search() { - if (wasMouseClicked()) { - String name = m_nameEdit.getText().trim(); - String email = m_emailEdit.getText().trim(); - String phone = m_phoneEdit.getText().trim(); - String card = m_cardEdit.getText().trim(); - searchClientProfile(name, email, phone, card); - } - } - - public synchronized void edit(String editType) { - if (wasMouseClicked()) { - String name = m_nameEdit.getText().trim(); - String email = m_emailEdit.getText().trim(); - String phone = m_phoneEdit.getText().trim(); - String card = m_cardEdit.getText().trim(); - if (UtilValidate.isNotEmpty(name)) { - if (UtilValidate.isNotEmpty(card) && SWIP_WITH_CARD && card.startsWith(START_SENTINEL) && card.endsWith(END_SENTINEL)) { - card = card.substring(1, card.length() - 1); - } - editClientProfile(name, email, phone, card, editType, m_partyId); - } else { - m_pos.showDialog("dialog/error/exception", UtilProperties.getMessage(PosTransaction.resource, "PosFieldsRequired", locale)); - } - } - } - - private void searchClientProfile(String name, String email, String phone, String card) { - final ClassLoader cl = this.getClassLoader(m_pos); - Thread.currentThread().setContextClassLoader(cl); - Boolean equalsName = m_nameRadioEquals.isSelected(); - List<Map<String, String>> partyList = m_trans.searchClientProfile(name, email, phone, card, m_pos, equalsName); - boolean first = true; - m_clientListCombo.removeAll(); - m_clientListBidingCombo.clear(); - if (UtilValidate.isNotEmpty(partyList)) { - for (Map<String, String> party : partyList) { - name = (String) party.get("lastName"); - email = (String) party.get("infoString"); - phone = (String) party.get("contactNumber"); - String partyId = (String) party.get("partyId"); - m_clientListBidingCombo.add(partyId); - card = (String) party.get("cardId"); - name = name == null ? "" : name; - email = email == null ? "" : email; - phone = phone == null ? "" : phone; - card = card == null ? "" : card; - if (first) { // Most of the time the 1st is enough... - m_nameEdit.setText(name); - m_emailEdit.setText(email); - m_phoneEdit.setText(phone); - m_cardEdit.setText(card); - m_partyId = partyId; - } - m_clientListCombo.addItem(name + " | " + email + " | " + phone + " | " + card); - - first = false; - } - } - } - - public void actionPerformed(ActionEvent e) { - XComboBox clientListCombo = (XComboBox) e.getSource(); - String client = (String) clientListCombo.getSelectedItem(); - if (UtilValidate.isNotEmpty(client)) { - String[] clientInfos = client.split(" \\| "); - String name = clientInfos.length > 0 ? clientInfos[0] : ""; - String email = clientInfos.length > 1 ? clientInfos[1] : ""; - String phone = clientInfos.length > 2 ? clientInfos[2] : ""; - String card = clientInfos.length > 3 ? clientInfos[3] : ""; - if (UtilValidate.isNotEmpty(card) && SWIP_WITH_CARD && card.startsWith(START_SENTINEL) && card.endsWith(END_SENTINEL)) { - card = card.substring(1, card.length() - 1); - } - m_nameEdit.setText(name); - m_emailEdit.setText(email); - m_phoneEdit.setText(phone); - m_cardEdit.setText(card); - m_partyId = m_clientListBidingCombo.get(clientListCombo.getSelectedIndex()); - } - } - - private void editClientProfile(String name, String email,String phone, String card, String editType, String partyId) { - final ClassLoader cl = this.getClassLoader(m_pos); - Thread.currentThread().setContextClassLoader(cl); - String result = m_trans.editClientProfile(name, email, phone, card, m_pos, editType, partyId); - if (UtilValidate.isNotEmpty(result)) { // new party ? - m_partyId = result; - } - searchClientProfile(name, email, phone, card); // Only to update the combo - } - - public synchronized void select() { - if (wasMouseClicked() && UtilValidate.isNotEmpty(m_partyId)) { - m_dialog.closeDlg(); - } - } - - private ClassLoader getClassLoader(PosScreen pos) { - ClassLoader cl = pos.getClassLoader(); - if (cl == null) { - try { - cl = Thread.currentThread().getContextClassLoader(); - } catch (Throwable t) { - } - if (cl == null) { - Debug.log("No context classloader available; using class classloader", module); - try { - cl = this.getClass().getClassLoader(); - } catch (Throwable t) { - Debug.logError(t, module); - } - } - } - return cl; - } -} +/******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + *******************************************************************************/ +package org.ofbiz.pos.screen; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +import javax.swing.DefaultComboBoxModel; + +import javolution.util.FastList; +import net.xoetrope.swing.XButton; +import net.xoetrope.swing.XComboBox; +import net.xoetrope.swing.XDialog; +import net.xoetrope.swing.XEdit; +import net.xoetrope.swing.XLabel; +import net.xoetrope.swing.XRadioButton; +import net.xoetrope.xui.XPage; +import net.xoetrope.xui.events.XEventHelper; + +import org.ofbiz.base.util.Debug; +import org.ofbiz.base.util.UtilMisc; +import org.ofbiz.base.util.UtilProperties; +import org.ofbiz.base.util.UtilValidate; +import org.ofbiz.entity.GenericEntityException; +import org.ofbiz.entity.GenericValue; +import org.ofbiz.pos.PosTransaction; + + +@SuppressWarnings("serial") +public class ClientProfile extends XPage implements ActionListener { + + /** + * To allow searching, creating or editing a client profile (ie for now : Name, Email Address, Phone Number, Membership Card Number) + */ + + public static final String module = ClientProfile.class.getName(); + protected static PosScreen m_pos = null; + protected XDialog m_dialog = null; + protected XLabel m_nameLabel = null; + protected XEdit m_nameEdit = null; + protected XRadioButton m_nameRadioEquals = null; + protected XRadioButton m_nameRadioContains = null; + protected XLabel m_emailLabel = null; + protected XEdit m_emailEdit = null; + protected XLabel m_phoneLabel = null; + protected XEdit m_phoneEdit = null; + protected XLabel m_cardLabel = null; + protected XEdit m_cardEdit = null; + protected XLabel m_clientListLabel = null; + protected XComboBox m_clientListCombo = null; + protected List<String> m_clientListBidingCombo = FastList.newInstance(); + protected XLabel m_tipLoginPwdLabel = null; + protected XButton m_search = null; + protected XButton m_create = null; + protected XButton m_edit = null; + protected XButton m_select = null; + protected XButton m_cancel = null; + protected DefaultComboBoxModel m_comboModel = null; + protected static PosTransaction m_trans = null; + protected String m_type = null; + protected boolean cancelled = false; + private static final Boolean SWIP_WITH_CARD = UtilProperties.propertyValueEqualsIgnoreCase("parameters", "SwipWithCard", "Y"); + private static final String START_SENTINEL = UtilProperties.getPropertyValue("parameters", "StartSentinel", ";"); + private static final String END_SENTINEL = UtilProperties.getPropertyValue("parameters", "EndSentinel", "?"); + private static Locale locale = Locale.getDefault(); + private String m_partyId = null; + + //TODO : make getter and setter for members (ie m_*) if needed (extern calls). For that in Eclipse use Source/Generate Getters and setters + + public ClientProfile(PosTransaction trans, PosScreen page) { + m_trans = trans; + m_pos = page; + } + + public void openDlg() { + m_dialog = (XDialog) pageMgr.loadPage(m_pos.getScreenLocation() + "/dialog/ClientProfile"); + + m_nameEdit = (XEdit) m_dialog.findComponent("nameEdit"); // 1st for focus (still does not work) + m_nameLabel = (XLabel) m_dialog.findComponent("nameLabel"); + m_nameRadioEquals = (XRadioButton) m_dialog.findComponent("NameRadioEquals"); + m_nameRadioEquals.setToolTipText(UtilProperties.getMessage(PosTransaction.resource, "PosTipNameRadioEquals", locale)); + m_nameRadioContains = (XRadioButton) m_dialog.findComponent("NameRadioContain"); + m_nameRadioContains.setToolTipText(UtilProperties.getMessage(PosTransaction.resource, "PosTipNameRadioContains", locale)); + + m_emailLabel = (XLabel) m_dialog.findComponent("emailLabel"); + m_emailEdit = (XEdit) m_dialog.findComponent("emailEdit"); + m_phoneLabel = (XLabel) m_dialog.findComponent("phoneLabel"); + m_phoneEdit = (XEdit) m_dialog.findComponent("phoneEdit"); + m_cardLabel = (XLabel) m_dialog.findComponent("cardLabel"); + m_cardEdit = (XEdit) m_dialog.findComponent("cardEdit"); + + m_clientListLabel = (XLabel) m_dialog.findComponent("clientListLabel"); + m_clientListCombo = (XComboBox) m_dialog.findComponent("clientListCombo"); + + m_tipLoginPwdLabel = (XLabel) m_dialog.findComponent("tipLoginPwdLabel"); + + m_search = (XButton) m_dialog.findComponent("BtnSearch"); + m_create = (XButton) m_dialog.findComponent("BtnCreate"); + m_edit = (XButton) m_dialog.findComponent("BtnEdit"); + m_select = (XButton) m_dialog.findComponent("BtnSelect"); + m_cancel = (XButton) m_dialog.findComponent("BtnCancel"); + + XEventHelper.addMouseHandler(this, m_search, "search"); + XEventHelper.addMouseHandler(this, m_create, "edit(create)"); + XEventHelper.addMouseHandler(this, m_edit, "edit(update)"); + XEventHelper.addMouseHandler(this, m_select, "select"); + XEventHelper.addMouseHandler(this, m_cancel, "cancel"); + XEventHelper.addMouseHandler(this, m_nameEdit, "editName"); + XEventHelper.addMouseHandler(this, m_emailEdit, "editEmail"); + XEventHelper.addMouseHandler(this, m_phoneEdit, "editPhone"); + XEventHelper.addMouseHandler(this, m_cardEdit, "editCard"); + + m_comboModel = new DefaultComboBoxModel(); + m_dialog.setCaption(UtilProperties.getMessage(PosTransaction.resource, "PosClientProfile", locale)); + m_clientListCombo.setModel(m_comboModel); + m_clientListCombo.setToolTipText(UtilProperties.getMessage(PosTransaction.resource, "PosSelectClientToEdit", locale)); + m_clientListCombo.addActionListener(this); + + m_dialog.pack(); + m_nameEdit.requestFocusInWindow(); + m_dialog.showDialog(this); + if (!cancelled) { + GenericValue person = null; + try { + person = m_trans.getSession().getDelegator().findByPrimaryKey("Person", UtilMisc.toMap("partyId", m_partyId)); + } catch (GenericEntityException e) { + Debug.logError(e, module); + } + if (UtilValidate.isNotEmpty(person)) { + String cardId = person.getString("cardId"); + if (UtilValidate.isNotEmpty(cardId)) { + String partyId = m_trans.getPartyId(); + m_trans.setPartyId(m_partyId); + String result = m_trans.addProductPromoCode(cardId); + if (UtilValidate.isEmpty(result)) { + m_pos.getPromoStatusBar().displayClient(person.getString("lastName")); + m_pos.getPromoStatusBar().addPromoCode(cardId); + } else { + m_trans.setPartyId(partyId); + m_pos.showDialog("dialog/error/exception", result); + } + } + } + } + } + + public synchronized void cancel() { + if (wasMouseClicked()) { + cancelled = true; + m_dialog.closeDlg(); + } + } + + public synchronized void editName() { + if (wasMouseClicked() && UtilProperties.propertyValueEqualsIgnoreCase("parameters", "ShowKeyboardInSaveSale", "Y")) { + try { + Keyboard keyboard = new Keyboard(m_pos); + keyboard.setText(m_nameEdit.getText()); + m_nameEdit.setText(keyboard.openDlg()); + } catch (Exception e) { + Debug.logError(e, module); + } + m_dialog.repaint(); + } + return; + } + + public synchronized void editEmail() { + if (wasMouseClicked() && UtilProperties.propertyValueEqualsIgnoreCase("parameters", "ShowKeyboardInSaveSale", "Y")) { + try { + Keyboard keyboard = new Keyboard(m_pos); + keyboard.setText(m_emailEdit.getText()); + m_emailEdit.setText(keyboard.openDlg()); + } catch (Exception e) { + Debug.logError(e, module); + } + m_dialog.repaint(); + } + return; + } + + public synchronized void editPhone() { + if (wasMouseClicked() && UtilProperties.propertyValueEqualsIgnoreCase("parameters", "ShowKeyboardInSaveSale", "Y")) { + try { + NumericKeypad numericKeypad = new NumericKeypad(m_pos); + numericKeypad.setMinus(false); // this order must be respected + numericKeypad.setPercent(false); + numericKeypad.setText(m_phoneEdit.getText()); + m_phoneEdit.setText(numericKeypad.openDlg()); + } catch (Exception e) { + Debug.logError(e, module); + } + m_dialog.repaint(); + } + return; + } + + + + public synchronized void editCard() { + if (wasMouseClicked() && UtilProperties.propertyValueEqualsIgnoreCase("parameters", "ShowKeyboardInSaveSale", "Y") && !SWIP_WITH_CARD) { + try { + NumericKeypad numericKeypad = new NumericKeypad(m_pos); + numericKeypad.setMinus(false); // this order must be respected + numericKeypad.setPercent(false); + numericKeypad.setText(m_cardEdit.getText()); + m_cardEdit.setText(numericKeypad.openDlg()); + } catch (Exception e) { + Debug.logError(e, module); + } + m_dialog.repaint(); + } else { + String card = m_cardEdit.getText(); + if (SWIP_WITH_CARD && UtilValidate.isNotEmpty(m_cardEdit.getText()) + && (card.startsWith(START_SENTINEL) && card.endsWith(END_SENTINEL))) { + m_cardEdit.setText(card.substring(1, card.length() - 1)); + } + } + + return; + } + + public synchronized void search() { + if (wasMouseClicked()) { + String name = m_nameEdit.getText().trim(); + String email = m_emailEdit.getText().trim(); + String phone = m_phoneEdit.getText().trim(); + String card = m_cardEdit.getText().trim(); + searchClientProfile(name, email, phone, card); + } + } + + public synchronized void edit(String editType) { + if (wasMouseClicked()) { + String name = m_nameEdit.getText().trim(); + String email = m_emailEdit.getText().trim(); + String phone = m_phoneEdit.getText().trim(); + String card = m_cardEdit.getText().trim(); + if (UtilValidate.isNotEmpty(name)) { + if (UtilValidate.isNotEmpty(card) && SWIP_WITH_CARD && card.startsWith(START_SENTINEL) && card.endsWith(END_SENTINEL)) { + card = card.substring(1, card.length() - 1); + } + editClientProfile(name, email, phone, card, editType, m_partyId); + } else { + m_pos.showDialog("dialog/error/exception", UtilProperties.getMessage(PosTransaction.resource, "PosFieldsRequired", locale)); + } + } + } + + private void searchClientProfile(String name, String email, String phone, String card) { + final ClassLoader cl = this.getClassLoader(m_pos); + Thread.currentThread().setContextClassLoader(cl); + Boolean equalsName = m_nameRadioEquals.isSelected(); + List<Map<String, String>> partyList = m_trans.searchClientProfile(name, email, phone, card, m_pos, equalsName); + boolean first = true; + m_clientListCombo.removeAll(); + m_clientListBidingCombo.clear(); + if (UtilValidate.isNotEmpty(partyList)) { + for (Map<String, String> party : partyList) { + name = (String) party.get("lastName"); + email = (String) party.get("infoString"); + phone = (String) party.get("contactNumber"); + String partyId = (String) party.get("partyId"); + m_clientListBidingCombo.add(partyId); + card = (String) party.get("cardId"); + name = name == null ? "" : name; + email = email == null ? "" : email; + phone = phone == null ? "" : phone; + card = card == null ? "" : card; + if (first) { // Most of the time the 1st is enough... + m_nameEdit.setText(name); + m_emailEdit.setText(email); + m_phoneEdit.setText(phone); + m_cardEdit.setText(card); + m_partyId = partyId; + } + m_clientListCombo.addItem(name + " | " + email + " | " + phone + " | " + card); + + first = false; + } + } + } + + public void actionPerformed(ActionEvent e) { + XComboBox clientListCombo = (XComboBox) e.getSource(); + String client = (String) clientListCombo.getSelectedItem(); + if (UtilValidate.isNotEmpty(client)) { + String[] clientInfos = client.split(" \\| "); + String name = clientInfos.length > 0 ? clientInfos[0] : ""; + String email = clientInfos.length > 1 ? clientInfos[1] : ""; + String phone = clientInfos.length > 2 ? clientInfos[2] : ""; + String card = clientInfos.length > 3 ? clientInfos[3] : ""; + if (UtilValidate.isNotEmpty(card) && SWIP_WITH_CARD && card.startsWith(START_SENTINEL) && card.endsWith(END_SENTINEL)) { + card = card.substring(1, card.length() - 1); + } + m_nameEdit.setText(name); + m_emailEdit.setText(email); + m_phoneEdit.setText(phone); + m_cardEdit.setText(card); + m_partyId = m_clientListBidingCombo.get(clientListCombo.getSelectedIndex()); + } + } + + private void editClientProfile(String name, String email,String phone, String card, String editType, String partyId) { + final ClassLoader cl = this.getClassLoader(m_pos); + Thread.currentThread().setContextClassLoader(cl); + String result = m_trans.editClientProfile(name, email, phone, card, m_pos, editType, partyId); + if (UtilValidate.isNotEmpty(result)) { // new party ? + m_partyId = result; + } + searchClientProfile(name, email, phone, card); // Only to update the combo + } + + public synchronized void select() { + if (wasMouseClicked() && UtilValidate.isNotEmpty(m_partyId)) { + m_dialog.closeDlg(); + } + } + + private ClassLoader getClassLoader(PosScreen pos) { + ClassLoader cl = pos.getClassLoader(); + if (cl == null) { + try { + cl = Thread.currentThread().getContextClassLoader(); + } catch (Throwable t) { + } + if (cl == null) { + Debug.log("No context classloader available; using class classloader", module); + try { + cl = this.getClass().getClassLoader(); + } catch (Throwable t) { + Debug.logError(t, module); + } + } + } + return cl; + } +} Propchange: ofbiz/branches/jquery/specialpurpose/pos/src/org/ofbiz/pos/screen/ClientProfile.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: ofbiz/branches/jquery/themes/bizznesstime/includes/header.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/themes/bizznesstime/includes/header.ftl?rev=1044245&r1=1044244&r2=1044245&view=diff ============================================================================== --- ofbiz/branches/jquery/themes/bizznesstime/includes/header.ftl (original) +++ ofbiz/branches/jquery/themes/bizznesstime/includes/header.ftl Fri Dec 10 09:14:36 2010 @@ -129,7 +129,7 @@ under the License. <span><a href="<@ofbizUrl>logout</@ofbizUrl>">${uiLabelMap.CommonLogout}</a></span> <#if webSiteId?exists && requestAttributes._CURRENT_VIEW_?exists> <#include "component://common/webcommon/includes/helplink.ftl" /> - <span><a href="javascript:lookup_popup2('showHelp?helpTopic=${helpTopic}&portalPageId=${parameters.portalPageId?if_exists}','help' ,500,500);">${uiLabelMap.CommonHelp}</a></span> + <!--span><a href="javascript:lookup_popup2('showHelp?helpTopic=${helpTopic}&portalPageId=${parameters.portalPageId?if_exists}','help' ,500,500);">${uiLabelMap.CommonHelp}</a></span--> </#if> <#if layoutSettings.middleTopMessage1?has_content && layoutSettings.middleTopMessage1 != " "> <span id="last-system-msg"> Modified: ofbiz/branches/jquery/themes/bluelight/includes/header.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/themes/bluelight/includes/header.ftl?rev=1044245&r1=1044244&r2=1044245&view=diff ============================================================================== --- ofbiz/branches/jquery/themes/bluelight/includes/header.ftl (original) +++ ofbiz/branches/jquery/themes/bluelight/includes/header.ftl Fri Dec 10 09:14:36 2010 @@ -164,7 +164,7 @@ under the License. </#if> <#if webSiteId?exists && requestAttributes._CURRENT_VIEW_?exists> <#include "component://common/webcommon/includes/helplink.ftl" /> - <li><a class="help-link <#if pageAvail?has_content> alert</#if>" href="javascript:lookup_popup2('showHelp?helpTopic=${helpTopic}&portalPageId=${parameters.portalPageId?if_exists}','help' ,500,500);" title="${uiLabelMap.CommonHelp}"></a></li> + <!--li><a class="help-link <#if pageAvail?has_content> alert</#if>" href="javascript:lookup_popup2('showHelp?helpTopic=${helpTopic}&portalPageId=${parameters.portalPageId?if_exists}','help' ,500,500);" title="${uiLabelMap.CommonHelp}"></a></li--> </#if> <#if userLogin?exists> <#if (userPreferences.COMPACT_HEADER)?default("N") == "Y"> Modified: ofbiz/branches/jquery/themes/droppingcrumbs/includes/header.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/themes/droppingcrumbs/includes/header.ftl?rev=1044245&r1=1044244&r2=1044245&view=diff ============================================================================== --- ofbiz/branches/jquery/themes/droppingcrumbs/includes/header.ftl (original) +++ ofbiz/branches/jquery/themes/droppingcrumbs/includes/header.ftl Fri Dec 10 09:14:36 2010 @@ -154,7 +154,7 @@ under the License. </#if> <#if webSiteId?exists && requestAttributes._CURRENT_VIEW_?exists> <#include "component://common/webcommon/includes/helplink.ftl" /> - <li><a class="help-link <#if pageAvail?has_content> alert</#if>" href="javascript:lookup_popup2('showHelp?helpTopic=${helpTopic}&portalPageId=${parameters.portalPageId?if_exists}','help' ,500,500);" title="${uiLabelMap.CommonHelp}"></a></li> + <!--li><a class="help-link <#if pageAvail?has_content> alert</#if>" href="javascript:lookup_popup2('showHelp?helpTopic=${helpTopic}&portalPageId=${parameters.portalPageId?if_exists}','help' ,500,500);" title="${uiLabelMap.CommonHelp}"></a></li--> </#if> <#if userLogin?exists> <#if (userPreferences.COMPACT_HEADER)?default("N") == "Y"> Modified: ofbiz/branches/jquery/themes/flatgrey/includes/header.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/themes/flatgrey/includes/header.ftl?rev=1044245&r1=1044244&r2=1044245&view=diff ============================================================================== --- ofbiz/branches/jquery/themes/flatgrey/includes/header.ftl (original) +++ ofbiz/branches/jquery/themes/flatgrey/includes/header.ftl Fri Dec 10 09:14:36 2010 @@ -185,7 +185,7 @@ under the License. </#if> <#if webSiteId?exists && requestAttributes._CURRENT_VIEW_?exists> <#include "component://common/webcommon/includes/helplink.ftl" /> - <li><a <#if pageAvail?has_content>class="alert"</#if> href="javascript:lookup_popup2('showHelp?helpTopic=${helpTopic}&portalPageId=${parameters.portalPageId?if_exists}','help' ,500,500);">${uiLabelMap.CommonHelp}</a></li> + <!--li><a <#if pageAvail?has_content>class="alert"</#if> href="javascript:lookup_popup2('showHelp?helpTopic=${helpTopic}&portalPageId=${parameters.portalPageId?if_exists}','help' ,500,500);">${uiLabelMap.CommonHelp}</a></li--> </#if> <li class="control-area"> </li> Modified: ofbiz/branches/jquery/themes/tomahawk/includes/appbarClose.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/themes/tomahawk/includes/appbarClose.ftl?rev=1044245&r1=1044244&r2=1044245&view=diff ============================================================================== --- ofbiz/branches/jquery/themes/tomahawk/includes/appbarClose.ftl (original) +++ ofbiz/branches/jquery/themes/tomahawk/includes/appbarClose.ftl Fri Dec 10 09:14:36 2010 @@ -74,7 +74,7 @@ under the License. <#if userLogin?exists> <#if webSiteId?exists && requestAttributes._CURRENT_VIEW_?exists> <#include "component://common/webcommon/includes/helplink.ftl" /> - <li><a class="help-link <#if pageAvail?has_content> alert</#if>" href="javascript:lookup_popup2('showHelp?helpTopic=${helpTopic}&portalPageId=${parameters.portalPageId?if_exists}','help' ,500,500);" title="${uiLabelMap.CommonHelp}"></a></li> + <!--li><a class="help-link <#if pageAvail?has_content> alert</#if>" href="javascript:lookup_popup2('showHelp?helpTopic=${helpTopic}&portalPageId=${parameters.portalPageId?if_exists}','help' ,500,500);" title="${uiLabelMap.CommonHelp}"></a></li--> </#if> <li><a href="<@ofbizUrl>logout</@ofbizUrl>">${uiLabelMap.CommonLogout}</a></li> <li><a href="<@ofbizUrl>ListVisualThemes</@ofbizUrl>">${uiLabelMap.CommonVisualThemes}</a></li> |
| Free forum by Nabble | Edit this page |
