details:   https://code.openbravo.com/erp/devel/pi/rev/bd84b9b0b7a3
changeset: 17635:bd84b9b0b7a3
user:      Javier Etxarri <javier.echarri <at> openbravo.com>
date:      Thu Aug 09 10:28:06 2012 +0200
summary:   Fixes issue 21331: The default tax category is not selected when 
creating a product or a tax rate

diffstat:

 src-db/database/sourcedata/AD_CALLOUT.xml                       |   9 +
 src-db/database/sourcedata/AD_COLUMN.xml                        |   2 +
 src-db/database/sourcedata/AD_MODEL_OBJECT.xml                  |  12 +
 src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml          |  10 +
 src/org/openbravo/erpCommon/ad_callouts/SL_TaxCategory_Org.java |  71 
++++++++++
 5 files changed, 104 insertions(+), 0 deletions(-)

diffs (155 lines):

diff -r 55b1b3b28000 -r bd84b9b0b7a3 src-db/database/sourcedata/AD_CALLOUT.xml
--- a/src-db/database/sourcedata/AD_CALLOUT.xml Wed Aug 08 12:12:27 2012 +0200
+++ b/src-db/database/sourcedata/AD_CALLOUT.xml Thu Aug 09 10:28:06 2012 +0200
@@ -741,6 +741,15 @@
 <!--20FE1F365075451E95AE901650183CC7-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--20FE1F365075451E95AE901650183CC7--></AD_CALLOUT>
 
+<!--2262292E3D6248DBBEA57EC5FD78A09C--><AD_CALLOUT>
+<!--2262292E3D6248DBBEA57EC5FD78A09C-->  
<AD_CALLOUT_ID><![CDATA[2262292E3D6248DBBEA57EC5FD78A09C]]></AD_CALLOUT_ID>
+<!--2262292E3D6248DBBEA57EC5FD78A09C-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--2262292E3D6248DBBEA57EC5FD78A09C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--2262292E3D6248DBBEA57EC5FD78A09C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--2262292E3D6248DBBEA57EC5FD78A09C-->  
<NAME><![CDATA[SL_TaxCategory_Org]]></NAME>
+<!--2262292E3D6248DBBEA57EC5FD78A09C-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--2262292E3D6248DBBEA57EC5FD78A09C--></AD_CALLOUT>
+
 <!--2AAFD970BDF2404CA9D645796A998CA2--><AD_CALLOUT>
 <!--2AAFD970BDF2404CA9D645796A998CA2-->  
<AD_CALLOUT_ID><![CDATA[2AAFD970BDF2404CA9D645796A998CA2]]></AD_CALLOUT_ID>
 <!--2AAFD970BDF2404CA9D645796A998CA2-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 55b1b3b28000 -r bd84b9b0b7a3 src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml  Wed Aug 08 12:12:27 2012 +0200
+++ b/src-db/database/sourcedata/AD_COLUMN.xml  Thu Aug 09 10:28:06 2012 +0200
@@ -20469,6 +20469,7 @@
 <!--1404-->  <ISSESSIONATTR><![CDATA[Y]]></ISSESSIONATTR>
 <!--1404-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
 <!--1404-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--1404-->  
<AD_CALLOUT_ID><![CDATA[2262292E3D6248DBBEA57EC5FD78A09C]]></AD_CALLOUT_ID>
 <!--1404-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
 <!--1404-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--1404-->  <POSITION><![CDATA[3]]></POSITION>
@@ -31552,6 +31553,7 @@
 <!--2242-->  <ISSESSIONATTR><![CDATA[Y]]></ISSESSIONATTR>
 <!--2242-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
 <!--2242-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--2242-->  
<AD_CALLOUT_ID><![CDATA[2262292E3D6248DBBEA57EC5FD78A09C]]></AD_CALLOUT_ID>
 <!--2242-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
 <!--2242-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--2242-->  <POSITION><![CDATA[3]]></POSITION>
diff -r 55b1b3b28000 -r bd84b9b0b7a3 
src-db/database/sourcedata/AD_MODEL_OBJECT.xml
--- a/src-db/database/sourcedata/AD_MODEL_OBJECT.xml    Wed Aug 08 12:12:27 
2012 +0200
+++ b/src-db/database/sourcedata/AD_MODEL_OBJECT.xml    Thu Aug 09 10:28:06 
2012 +0200
@@ -4136,6 +4136,18 @@
 <!--C474EE2324390169E040007F010021B2-->  
<OBJECT_TYPE><![CDATA[S]]></OBJECT_TYPE>
 <!--C474EE2324390169E040007F010021B2--></AD_MODEL_OBJECT>
 
+<!--C5319374C7F04199A0140FCB2C89FB98--><AD_MODEL_OBJECT>
+<!--C5319374C7F04199A0140FCB2C89FB98-->  
<AD_MODEL_OBJECT_ID><![CDATA[C5319374C7F04199A0140FCB2C89FB98]]></AD_MODEL_OBJECT_ID>
+<!--C5319374C7F04199A0140FCB2C89FB98-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--C5319374C7F04199A0140FCB2C89FB98-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--C5319374C7F04199A0140FCB2C89FB98-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--C5319374C7F04199A0140FCB2C89FB98-->  <ACTION><![CDATA[C]]></ACTION>
+<!--C5319374C7F04199A0140FCB2C89FB98-->  
<CLASSNAME><![CDATA[org.openbravo.erpCommon.ad_callouts.SL_TaxCategory_Org]]></CLASSNAME>
+<!--C5319374C7F04199A0140FCB2C89FB98-->  <ISDEFAULT><![CDATA[Y]]></ISDEFAULT>
+<!--C5319374C7F04199A0140FCB2C89FB98-->  
<AD_CALLOUT_ID><![CDATA[2262292E3D6248DBBEA57EC5FD78A09C]]></AD_CALLOUT_ID>
+<!--C5319374C7F04199A0140FCB2C89FB98-->  
<OBJECT_TYPE><![CDATA[S]]></OBJECT_TYPE>
+<!--C5319374C7F04199A0140FCB2C89FB98--></AD_MODEL_OBJECT>
+
 <!--C6459330D866458FABB0A62877F8C948--><AD_MODEL_OBJECT>
 <!--C6459330D866458FABB0A62877F8C948-->  
<AD_MODEL_OBJECT_ID><![CDATA[C6459330D866458FABB0A62877F8C948]]></AD_MODEL_OBJECT_ID>
 <!--C6459330D866458FABB0A62877F8C948-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 55b1b3b28000 -r bd84b9b0b7a3 
src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml
--- a/src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml    Wed Aug 08 
12:12:27 2012 +0200
+++ b/src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml    Thu Aug 09 
10:28:06 2012 +0200
@@ -4040,6 +4040,16 @@
 <!--7E8D14B5264C3E6CE040007F01010D94-->  <ISDEFAULT><![CDATA[Y]]></ISDEFAULT>
 <!--7E8D14B5264C3E6CE040007F01010D94--></AD_MODEL_OBJECT_MAPPING>
 
+<!--811F1451DE6C44CE9D09A2F217C4BCD2--><AD_MODEL_OBJECT_MAPPING>
+<!--811F1451DE6C44CE9D09A2F217C4BCD2-->  
<AD_MODEL_OBJECT_MAPPING_ID><![CDATA[811F1451DE6C44CE9D09A2F217C4BCD2]]></AD_MODEL_OBJECT_MAPPING_ID>
+<!--811F1451DE6C44CE9D09A2F217C4BCD2-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--811F1451DE6C44CE9D09A2F217C4BCD2-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--811F1451DE6C44CE9D09A2F217C4BCD2-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--811F1451DE6C44CE9D09A2F217C4BCD2-->  
<AD_MODEL_OBJECT_ID><![CDATA[C5319374C7F04199A0140FCB2C89FB98]]></AD_MODEL_OBJECT_ID>
+<!--811F1451DE6C44CE9D09A2F217C4BCD2-->  
<MAPPINGNAME><![CDATA[/ad_callouts/SL_TaxCategory_Org.html]]></MAPPINGNAME>
+<!--811F1451DE6C44CE9D09A2F217C4BCD2-->  <ISDEFAULT><![CDATA[Y]]></ISDEFAULT>
+<!--811F1451DE6C44CE9D09A2F217C4BCD2--></AD_MODEL_OBJECT_MAPPING>
+
 <!--81311EAEE5834B99B7DDD85CCA4EB6C9--><AD_MODEL_OBJECT_MAPPING>
 <!--81311EAEE5834B99B7DDD85CCA4EB6C9-->  
<AD_MODEL_OBJECT_MAPPING_ID><![CDATA[81311EAEE5834B99B7DDD85CCA4EB6C9]]></AD_MODEL_OBJECT_MAPPING_ID>
 <!--81311EAEE5834B99B7DDD85CCA4EB6C9-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 55b1b3b28000 -r bd84b9b0b7a3 
src/org/openbravo/erpCommon/ad_callouts/SL_TaxCategory_Org.java
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/openbravo/erpCommon/ad_callouts/SL_TaxCategory_Org.java   Thu Aug 
09 10:28:06 2012 +0200
@@ -0,0 +1,71 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo SLU
+ * All portions are Copyright (C) 2012 Openbravo SLU
+ * All Rights Reserved.
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+ */
+package org.openbravo.erpCommon.ad_callouts;
+
+import java.util.List;
+
+import javax.servlet.ServletException;
+
+import org.hibernate.criterion.Restrictions;
+import org.openbravo.dal.service.OBCriteria;
+import org.openbravo.dal.service.OBDal;
+import org.openbravo.dal.service.OBQuery;
+import org.openbravo.model.ad.utility.TreeNode;
+import org.openbravo.model.common.enterprise.Organization;
+import org.openbravo.model.financialmgmt.tax.TaxCategory;
+
+public class SL_TaxCategory_Org extends SimpleCallout {
+
+  private static final long serialVersionUID = 1L;
+
+  @Override
+  protected void execute(CalloutInfo info) throws ServletException {
+
+    final String strOrgId = info.getStringParameter("inpadOrgId", null);
+
+    Organization organization = OBDal.getInstance().get(Organization.class, 
strOrgId);
+    String taxCategoryId = "";
+    String parentOrgId = "";
+    String whereClause = "as tn where tn.node = '" + organization.getId()
+        + "' and tn.client.id = '" + organization.getClient().getId() + "'";
+
+    while ("".equals(taxCategoryId)) {
+      whereClause = "as tn where tn.node = '" + organization.getId() + "' and 
tn.client.id = '"
+          + organization.getClient().getId() + "'";
+      OBCriteria<TaxCategory> taxCategory = 
OBDal.getInstance().createCriteria(TaxCategory.class);
+      taxCategory.add(Restrictions.eq(TaxCategory.PROPERTY_ORGANIZATION, 
organization));
+      taxCategory.add(Restrictions.eq(TaxCategory.PROPERTY_DEFAULT, true));
+      taxCategory.setMaxResults(1);
+      List<TaxCategory> listTaxCategory = taxCategory.list();
+      TaxCategory taxCategoryObject = (!listTaxCategory.isEmpty() ? 
listTaxCategory.get(0) : null);
+      if (taxCategoryObject == null && !"0".equals(organization.getId())) {
+        OBQuery<TreeNode> query = 
OBDal.getInstance().createQuery(TreeNode.class, whereClause);
+        query.setMaxResult(1);
+        List<TreeNode> listTreeNode = query.list();
+        TreeNode treeNode = listTreeNode.get(0);
+        parentOrgId = treeNode.getReportSet();
+        organization = OBDal.getInstance().get(Organization.class, 
parentOrgId);
+      } else {
+        taxCategoryId = taxCategoryObject != null ? taxCategoryObject.getId() 
: "";
+        break;
+      }
+    }
+    info.addResult("inpcTaxcategoryId", taxCategoryId);
+  }
+}

------------------------------------------------------------------------------
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

Reply via email to