details: https://code.openbravo.com/erp/devel/main/rev/5b5750644c85 changeset: 17599:5b5750644c85 user: Augusto Mauch <augusto.mauch <at> openbravo.com> date: Mon Aug 13 14:02:14 2012 +0200 summary: Fixes issue 21353: Fixed wrong widget filtering
Widgets with mandatory parameters that did not have a default value were being filtered out always, when they should only be filtered out when using the Admin others functionality. details: https://code.openbravo.com/erp/devel/main/rev/b0f893c8c05f changeset: 17600:b0f893c8c05f user: Javier Etxarri <javier.echarri <at> openbravo.com> date: Fri Aug 10 13:41:42 2012 +0200 summary: issue 20926: Generate Average Cost process should not consider elements in closed periods to be unposted diffstat: modules/org.openbravo.client.myob/src/org/openbravo/client/myob/MyOpenbravoActionHandler.java | 8 +- modules/org.openbravo.client.myob/src/org/openbravo/client/myob/MyOpenbravoComponent.java | 28 +++++++-- src-db/database/model/functions/M_GENERATE_AVERAGE_COSTS.xml | 4 +- 3 files changed, 26 insertions(+), 14 deletions(-) diffs (96 lines): diff -r 8220b513c218 -r b0f893c8c05f modules/org.openbravo.client.myob/src/org/openbravo/client/myob/MyOpenbravoActionHandler.java --- a/modules/org.openbravo.client.myob/src/org/openbravo/client/myob/MyOpenbravoActionHandler.java Thu Aug 02 14:54:37 2012 +0200 +++ b/modules/org.openbravo.client.myob/src/org/openbravo/client/myob/MyOpenbravoActionHandler.java Fri Aug 10 13:41:42 2012 +0200 @@ -105,7 +105,7 @@ if (isAdminMode && availableAtLevel.equals("ROLE")) { roleId = availableAtLevelValue[0]; } - addAvailableWidgetClasses(o, roleId); + addAvailableWidgetClasses(o, roleId, isAdminMode); // Add widget instances widgets = new JSONArray(); @@ -116,7 +116,7 @@ if (isAdminMode && availableAtLevel.equals("ROLE")) { roleId = availableAtLevelValue[0]; } - addAvailableWidgetClasses(o, roleId); + addAvailableWidgetClasses(o, roleId, isAdminMode); } else if (strEventType.equals(GET_COMMUNITY_BRANDING_URL)) { o.put("url", Utility.getCommunityBrandingUrl("MyOB")); } else { @@ -178,10 +178,10 @@ } - private void addAvailableWidgetClasses(JSONObject o, String roleId) { + private void addAvailableWidgetClasses(JSONObject o, String roleId, boolean isAdminMode) { MyOpenbravoComponent component = weldUtils.getInstance(MyOpenbravoComponent.class); try { - List<String> availableClasses = component.getAvailableWidgetClasses(roleId); + List<String> availableClasses = component.getAvailableWidgetClasses(roleId, isAdminMode); o.put("availableWidgetClasses", availableClasses); } catch (Exception e) { log.error("Error retreiving widget classes", e); diff -r 8220b513c218 -r b0f893c8c05f modules/org.openbravo.client.myob/src/org/openbravo/client/myob/MyOpenbravoComponent.java --- a/modules/org.openbravo.client.myob/src/org/openbravo/client/myob/MyOpenbravoComponent.java Thu Aug 02 14:54:37 2012 +0200 +++ b/modules/org.openbravo.client.myob/src/org/openbravo/client/myob/MyOpenbravoComponent.java Fri Aug 10 13:41:42 2012 +0200 @@ -91,6 +91,12 @@ } public List<String> getAvailableWidgetClasses(String roleId) throws Exception { + boolean isAdminMode = false; + return getAvailableWidgetClasses(roleId, isAdminMode); + } + + public List<String> getAvailableWidgetClasses(String roleId, boolean isAdminMode) + throws Exception { OBContext.setAdminMode(); try { if (widgetClassDefinitions != null) { @@ -109,16 +115,22 @@ if (!widgetProvider.validate()) { continue; } - for (Parameter p : widgetClass.getOBUIAPPParameterEMObkmoWidgetClassIDList()) { - if (p.isMandatory() && p.getDefaultValue() == null) { - hasNullMandatory = true; - break; - } - } - if (!hasNullMandatory) { + // If fetching the widgets of the own workspace, there is no need + // to filter out the widgets with null mandatory parameters + if (!isAdminMode) { definitions.add(widgetProvider.getWidgetClassDefinition()); } else { - hasNullMandatory = false; + for (Parameter p : widgetClass.getOBUIAPPParameterEMObkmoWidgetClassIDList()) { + if (p.isMandatory() && p.getDefaultValue() == null) { + hasNullMandatory = true; + break; + } + } + if (!hasNullMandatory) { + definitions.add(widgetProvider.getWidgetClassDefinition()); + } else { + hasNullMandatory = false; + } } try { diff -r 8220b513c218 -r b0f893c8c05f src-db/database/model/functions/M_GENERATE_AVERAGE_COSTS.xml --- a/src-db/database/model/functions/M_GENERATE_AVERAGE_COSTS.xml Thu Aug 02 14:54:37 2012 +0200 +++ b/src-db/database/model/functions/M_GENERATE_AVERAGE_COSTS.xml Fri Aug 10 13:41:42 2012 +0200 @@ -150,9 +150,9 @@ END IF; END IF; - SELECT GREATEST(MAX(enddate),v_MinDateCosting) ENDDATE + SELECT GREATEST(MAX(enddate),v_MinDateCosting) as ENDDATE INTO v_MinDateCosting - FROM (SELECT enddate + 1 ENDDATE + FROM (SELECT enddate + 1 as ENDDATE FROM c_periodcontrol cpc JOIN c_period cp ON cpc.c_period_id = cp.c_period_id WHERE (periodstatus='C' OR periodstatus='P') AND cp.ad_client_id = v_Client GROUP BY enddate,cp.c_period_id ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Openbravo-commits mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openbravo-commits
