details: /erp/devel/main/rev/224a37b46fd9
changeset: 8371:224a37b46fd9
user: Asier Lostalé <asier.lostale <at> openbravo.com>
date: Fri Sep 10 09:16:41 2010 +0200
summary: fixed bug 14501: licenseRestrictions is loaded from <source.path>
directory
Now license restrictions is in the same package directory as ActivationKey
class is.
details: /erp/devel/main/rev/fd51a5f4448f
changeset: 8372:fd51a5f4448f
user: Adrián Romero <adrianromero <at> openbravo.com>
date: Fri Sep 10 12:23:24 2010 +0200
summary: Fixes issue 0014348: Line Net Amount is rounded when there is no
PriceList in Requisition's header
It has been modified the Requisition Lines callout to not to round when there
is no price list defined in the header.
details: /erp/devel/main/rev/f6779ed6c074
changeset: 8373:f6779ed6c074
user: RM packaging bot <staff.rm <at> openbravo.com>
date: Fri Sep 10 16:59:48 2010 +0000
summary: CI: promote changesets from pi to main
diffstat:
config/licenseRestrictions | 1 -
src-db/database/sourcedata/AD_MODULE.xml | 2 +-
src/build.xml | 1 +
src/org/openbravo/erpCommon/ad_callouts/SL_RequisitionLine_Amt.java | 63
+++++----
src/org/openbravo/erpCommon/obps/ActivationKey.java | 10 +-
src/org/openbravo/erpCommon/obps/licenseRestrictions | 1 +
6 files changed, 46 insertions(+), 32 deletions(-)
diffs (191 lines):
diff -r 4ed5b7e9b0df -r f6779ed6c074 config/licenseRestrictions
--- a/config/licenseRestrictions Thu Sep 09 19:18:58 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-IeqpfXkoobemyDLAJHNBi3JrTdjgnU0BnGiX9k78CBHK1Eqdek/Lsi/HpeBev9c8sNQPOf9nwq8jWE4j7X4e6TUzdPX5xukYcTshjeB3wKh9Y6LE5rgEw+OqUm8bcaKH6Nm5Efg2yQnwsHqqTyjFQPXa9IdijkazSRrAEVg/X0WPMPEYYQRikHlz1CDJPiqEeQIhMejebxNmHa/VTLN5Hmhc+lyBfRVseGdJeJaf2Nh1YMwunKFAGMNKwPFFhqLyAXoGsNFs2BK5yPTgOEWaFRS+5Dei4fewUm7GI5k+a4xZ1qDrjYl+C/p6vod1oYf+KFsfH1P07v2k7J4VQ71XBANYXXDM81bgEWZJzz5F9mhUtabroQdejQdcTqGQPpX2ZOhmEfgelzN7WINpIF8rQHiMeVty8m3TG+zSTkc/Tj53UJaV8mjZ+cWSUAI7PFwIDbxeUcktfwV85yzpxAxu6Fln6h6fpxlmzy3DYhjBNTpMKYmjJX0ilomTCAivh31pfCMDOkoLwMmDQoov/bCPJfLej9RlhmC0Y1EswNL/IAbuINX3DNk2+G8i7yXUOE6FsUtDJ6WdVhSKw0BvCH/28oJ38rfx3aCcuLHjAJI23L5RjlQlqnVsGOZsDeJ5UWQGeBotYJWdfz1mSRAiPB4RE6dv9Ap0X90Y0MDYrJP2jW2FmIrY1R5UTh2XcvAomsToZdwLrolZIWe26RIn1yYRpGEf2wqg5sGQaOxQ39BB11Xhj2bzz96mnnqSP6GZiv52/cibVcp8VtErmClvF4OByPuKsswTUD8Fs9FYMNv+myfJ928PxuHmpjT99igMw7NNtbSD+lPckVSM9kKvUIuWxUgnSaly9FG2oP1DM2alkI9Vdc77EHW8Vjz5eID0EjM04rDKNvsbJygMCPF3XWaA2rpnUgcRB5Or0lCDe/z/zOoWK3p9N19TguH8y74cl0xd+jpkdfqfVEyUxqtTIG4/+0DZ8+VzPmOPArrFM51piby1Ym2L/J3Uuugiw1r8+RpRVdiTMLHKbe15KpuECf8W9KMpaYc7hzXo94aJXKvWuui1Y1vcrJhAXdN0ib8Wjz8473ecV/STAt5njB4dJiSjBfek+JYeXZz/Ft/fkPlvzW1DVbHx9RCmu068DWefuNvWMqJLr69pKCrea8PZXBJpit9tx/JSj454C1FOwigR+qsi24FOaaQ5Zy6m3VReW0cZ+9sQXLDwkjOfjvzJPFQ9A7kDTYOYzorjHPbCwy0JyXAxkHQ+wlV5+52WeM9uiTxAWtoyqcr+OhBb1btFqiaDhetH6LqxcGXm+0iLckp+cu4FY2t4eYY81PRKBUUCrdh8N0+N68P8XMht4rWIzeRzLVlY1PnFz0BDZa6IecwK2egOPmlH+xG8uhOYgIbbUE7nhcz8b1MDllGTOpTSG1e9UDJj8wBTWzeVIrVpJRztWjldY45skuAohNh7PxxDubeUv7701GVBqlg1mO2rb19evzDAMLUHF4i5exoWEy9uQqrF/qMT+W4I0zwJbgFHTs1HIpgQelm/gSysdnbnbQs14YceXv+BYMYurafh7N2lkUMnmkVkHpPk/08R0hCeOtKjkbSUCuOy9XPg153iJmxE3NCBeZl/gY2mmsMNtaswMEN05HKSkRqlu/CKedv/HrYYhXtdbaqkL8Ay0mcRtXimQCvr3aNQ9fcQLuLpmqJh5Uo=
\ No newline at end of file
diff -r 4ed5b7e9b0df -r f6779ed6c074 src-db/database/sourcedata/AD_MODULE.xml
--- a/src-db/database/sourcedata/AD_MODULE.xml Thu Sep 09 19:18:58 2010 +0200
+++ b/src-db/database/sourcedata/AD_MODULE.xml Fri Sep 10 16:59:48 2010 +0000
@@ -6,7 +6,7 @@
<!--0--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
<!--0--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
<!--0--> <NAME><![CDATA[core]]></NAME>
-<!--0--> <VERSION><![CDATA[2.50.18350]]></VERSION>
+<!--0--> <VERSION><![CDATA[2.50.18372]]></VERSION>
<!--0--> <DESCRIPTION><![CDATA[Core module is the base one]]></DESCRIPTION>
<!--0--> <HELP><![CDATA[Core module is the base one, all developments in core
are included as part of the standard Openbravo ERP.]]></HELP>
<!--0--> <URL><![CDATA[www.openbravo.com]]></URL>
diff -r 4ed5b7e9b0df -r f6779ed6c074 src/build.xml
--- a/src/build.xml Thu Sep 09 19:18:58 2010 +0200
+++ b/src/build.xml Fri Sep 10 16:59:48 2010 +0000
@@ -502,6 +502,7 @@
<copy todir="${build}">
<fileset file="${base.config}/quartz.properties" />
</copy>
+ <copy todir="${build}/org/openbravo/erpCommon/obps"
file="${basedir}/org/openbravo/erpCommon/obps/licenseRestrictions"/>
<antcall target="build.local.context" inheritAll="true" inheritrefs="true"
/>
</target>
diff -r 4ed5b7e9b0df -r f6779ed6c074
src/org/openbravo/erpCommon/ad_callouts/SL_RequisitionLine_Amt.java
--- a/src/org/openbravo/erpCommon/ad_callouts/SL_RequisitionLine_Amt.java
Thu Sep 09 19:18:58 2010 +0200
+++ b/src/org/openbravo/erpCommon/ad_callouts/SL_RequisitionLine_Amt.java
Fri Sep 10 16:59:48 2010 +0000
@@ -57,45 +57,50 @@
} catch (ServletException ex) {
pageErrorCallOut(response);
}
- } else
+ } else {
pageError(response);
+ }
}
private void printPage(HttpServletResponse response, VariablesSecureApp
vars, String strQty,
String strPriceActual, String strDiscount, String strPriceList, String
strChanged)
throws IOException, ServletException {
+
if (log4j.isDebugEnabled())
log4j.debug("Output: dataSheet");
+
XmlDocument xmlDocument = xmlEngine.readXmlTemplate(
"org/openbravo/erpCommon/ad_callouts/CallOut").createXmlDocument();
String strLineNetAmt = "";
StringBuffer resultado = new StringBuffer();
resultado.append("var calloutName='SL_RequisitionLine_Amt';\n\n");
resultado.append("var respuesta = new Array(");
+
if (!strPriceActual.equals("")) {
+
BigDecimal qty, LineNetAmt, priceActual, discount, priceList;
String strRequisition = vars.getStringParameter("inpmRequisitionId");
SLRequisitionLineAmtData[] data = SLRequisitionLineAmtData.select(this,
strRequisition);
- String strPrecision = "0", strPricePrecision = "0";
+
+ Integer stdPrecision = null;
+ Integer pricePrecision = null;
+
if (data != null && data.length > 0) {
- strPrecision = data[0].stdprecision;
- strPricePrecision = data[0].priceprecision;
+ stdPrecision = Integer.valueOf(data[0].stdprecision);
+ pricePrecision = Integer.valueOf(data[0].priceprecision);
}
- int stdPrecision = Integer.valueOf(strPrecision).intValue();
- int PricePrecision = Integer.valueOf(strPricePrecision).intValue();
-
- priceActual = (strPriceActual.equals("") ? ZERO : (new
BigDecimal(strPriceActual))).setScale(
- PricePrecision, BigDecimal.ROUND_HALF_UP);
+ priceActual = strPriceActual.equals("") ? ZERO : internalRound(
+ new BigDecimal(strPriceActual), pricePrecision);
discount = (strDiscount.equals("") ? ZERO : new BigDecimal(strDiscount));
priceList = (strPriceList.equals("") ? ZERO : new
BigDecimal(strPriceList));
qty = (strQty.equals("") ? ZERO : new BigDecimal(strQty));
// calculating discount
if (strChanged.equals("inppricelist") ||
strChanged.equals("inppriceactual")) {
- if (priceList.compareTo(ZERO) == 0)
+ if (priceList.compareTo(ZERO) == 0) {
discount = ZERO;
- else {
+ } else {
if (log4j.isDebugEnabled())
log4j.debug("pricelist:" +
Double.toString(priceList.doubleValue()));
if (log4j.isDebugEnabled())
@@ -103,38 +108,37 @@
discount = ((priceList.subtract(priceActual)).divide(priceList, 12,
BigDecimal.ROUND_HALF_EVEN)).multiply(new BigDecimal("100"));
}
+
if (log4j.isDebugEnabled())
log4j.debug("Discount: " + discount.toString());
- if (discount.scale() > stdPrecision)
- discount = discount.setScale(stdPrecision, BigDecimal.ROUND_HALF_UP);
+ discount = internalRound(discount, stdPrecision);
if (log4j.isDebugEnabled())
log4j.debug("Discount rounded: " + discount.toString());
- if (!strDiscount.equals(discount.toString()))
+
+ if (!strDiscount.equals(discount.toString())) {
resultado.append("new Array(\"inpdiscount\", " + discount.toString()
+ "),");
+ }
} else if (strChanged.equals("inpdiscount")) { // calculate std and
// actual
BigDecimal discount1 = null;
- if (priceList.compareTo(ZERO) != 0)
- discount1 = (((priceList.subtract(priceActual)).divide(priceList, 12,
- BigDecimal.ROUND_HALF_EVEN)).multiply(new
BigDecimal("100"))).setScale(stdPrecision,
- BigDecimal.ROUND_HALF_UP);
- else
+ if (priceList.compareTo(ZERO) != 0) {
+ discount1 =
internalRound(((priceList.subtract(priceActual)).divide(priceList, 12,
+ BigDecimal.ROUND_HALF_EVEN)).multiply(new BigDecimal("100")),
stdPrecision);
+ } else {
discount1 = new BigDecimal(0);
- BigDecimal discount2 = discount.setScale(stdPrecision,
BigDecimal.ROUND_HALF_UP);
- if (discount1.compareTo(discount2) != 0) // checks if rounded
- // discount has changed
- {
+ }
+ BigDecimal discount2 = internalRound(discount, stdPrecision);
+ if (discount1.compareTo(discount2) != 0) { // checks if rounded
+ // discount has changed
priceActual = priceList.subtract(priceList.multiply(discount).divide(
new BigDecimal("100"), 12, BigDecimal.ROUND_HALF_EVEN));
- if (priceActual.scale() > PricePrecision)
- priceActual = priceActual.setScale(PricePrecision,
BigDecimal.ROUND_HALF_UP);
+ priceActual = internalRound(priceActual, pricePrecision);
resultado.append("new Array(\"inppriceactual\", " +
priceActual.toString() + "),");
}
}
LineNetAmt = qty.multiply(priceActual);
- if (LineNetAmt.scale() > stdPrecision)
- LineNetAmt = LineNetAmt.setScale(stdPrecision,
BigDecimal.ROUND_HALF_UP);
+ LineNetAmt = internalRound(LineNetAmt, stdPrecision);
strLineNetAmt = LineNetAmt.toString();
}
@@ -148,4 +152,9 @@
out.close();
}
+
+ private BigDecimal internalRound(BigDecimal value, Integer precision) {
+ return (precision == null || value.scale() <= precision) ? value :
value.setScale(precision,
+ BigDecimal.ROUND_HALF_UP);
+ }
}
diff -r 4ed5b7e9b0df -r f6779ed6c074
src/org/openbravo/erpCommon/obps/ActivationKey.java
--- a/src/org/openbravo/erpCommon/obps/ActivationKey.java Thu Sep 09
19:18:58 2010 +0200
+++ b/src/org/openbravo/erpCommon/obps/ActivationKey.java Fri Sep 10
16:59:48 2010 +0000
@@ -26,6 +26,7 @@
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.math.BigInteger;
+import java.net.URL;
import java.security.KeyFactory;
import java.security.PublicKey;
import java.security.Signature;
@@ -368,9 +369,12 @@
}
try {
- File restrictionsFile = new
File(OBPropertiesProvider.getInstance().getOpenbravoProperties()
- .get("source.path")
- + "/config/licenseRestrictions");
+ // read restriction file from this package's directory
+ URL url = this.getClass().getResource(getClass().getSimpleName() +
".class");
+ File classDir = new File(url.getPath());
+ File restrictionsFile = new File(classDir.getParent(),
"licenseRestrictions");
+ log4j.debug("Restrictions file: " + restrictionsFile.getAbsolutePath());
+
FileInputStream fis = new FileInputStream(restrictionsFile);
byte fileContent[] = new byte[(int) restrictionsFile.length()];
fis.read(fileContent);
diff -r 4ed5b7e9b0df -r f6779ed6c074
src/org/openbravo/erpCommon/obps/licenseRestrictions
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/openbravo/erpCommon/obps/licenseRestrictions Fri Sep 10
16:59:48 2010 +0000
@@ -0,0 +1,1 @@
+IeqpfXkoobemyDLAJHNBi3JrTdjgnU0BnGiX9k78CBHK1Eqdek/Lsi/HpeBev9c8sNQPOf9nwq8jWE4j7X4e6TUzdPX5xukYcTshjeB3wKh9Y6LE5rgEw+OqUm8bcaKH6Nm5Efg2yQnwsHqqTyjFQPXa9IdijkazSRrAEVg/X0WPMPEYYQRikHlz1CDJPiqEeQIhMejebxNmHa/VTLN5Hmhc+lyBfRVseGdJeJaf2Nh1YMwunKFAGMNKwPFFhqLyAXoGsNFs2BK5yPTgOEWaFRS+5Dei4fewUm7GI5k+a4xZ1qDrjYl+C/p6vod1oYf+KFsfH1P07v2k7J4VQ71XBANYXXDM81bgEWZJzz5F9mhUtabroQdejQdcTqGQPpX2ZOhmEfgelzN7WINpIF8rQHiMeVty8m3TG+zSTkc/Tj53UJaV8mjZ+cWSUAI7PFwIDbxeUcktfwV85yzpxAxu6Fln6h6fpxlmzy3DYhjBNTpMKYmjJX0ilomTCAivh31pfCMDOkoLwMmDQoov/bCPJfLej9RlhmC0Y1EswNL/IAbuINX3DNk2+G8i7yXUOE6FsUtDJ6WdVhSKw0BvCH/28oJ38rfx3aCcuLHjAJI23L5RjlQlqnVsGOZsDeJ5UWQGeBotYJWdfz1mSRAiPB4RE6dv9Ap0X90Y0MDYrJP2jW2FmIrY1R5UTh2XcvAomsToZdwLrolZIWe26RIn1yYRpGEf2wqg5sGQaOxQ39BB11Xhj2bzz96mnnqSP6GZiv52/cibVcp8VtErmClvF4OByPuKsswTUD8Fs9FYMNv+myfJ928PxuHmpjT99igMw7NNtbSD+lPckVSM9kKvUIuWxUgnSaly9FG2oP1DM2alkI9Vdc77EHW8Vjz5eID0EjM04rDKNvsbJygMCPF3XWaA2rpnUgcRB5Or0lCDe/z/zOoWK3p9N19TguH8y74cl0xd+jpkdfqfVEyUxqtTIG4/+0DZ8+VzPmOPArrFM51piby1Ym2L/J3Uuugiw1r8+RpRVdiTMLHKbe15KpuECf8W9KMpaYc7hzXo94aJXKvWuui1Y1vcrJhAXdN0ib8Wjz8473ecV/STAt5njB4dJiSjBfek+JYeXZz/Ft/fkPlvzW1DVbHx9RCmu068DWefuNvWMqJLr69pKCrea8PZXBJpit9tx/JSj454C1FOwigR+qsi24FOaaQ5Zy6m3VReW0cZ+9sQXLDwkjOfjvzJPFQ9A7kDTYOYzorjHPbCwy0JyXAxkHQ+wlV5+52WeM9uiTxAWtoyqcr+OhBb1btFqiaDhetH6LqxcGXm+0iLckp+cu4FY2t4eYY81PRKBUUCrdh8N0+N68P8XMht4rWIzeRzLVlY1PnFz0BDZa6IecwK2egOPmlH+xG8uhOYgIbbUE7nhcz8b1MDllGTOpTSG1e9UDJj8wBTWzeVIrVpJRztWjldY45skuAohNh7PxxDubeUv7701GVBqlg1mO2rb19evzDAMLUHF4i5exoWEy9uQqrF/qMT+W4I0zwJbgFHTs1HIpgQelm/gSysdnbnbQs14YceXv+BYMYurafh7N2lkUMnmkVkHpPk/08R0hCeOtKjkbSUCuOy9XPg153iJmxE3NCBeZl/gY2mmsMNtaswMEN05HKSkRqlu/CKedv/HrYYhXtdbaqkL8Ay0mcRtXimQCvr3aNQ9fcQLuLpmqJh5Uo=
\ No newline at end of file
------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits