details: /erp/devel/pi/rev/079e136502c9
changeset: 8486:079e136502c9
user: Adrián Romero <adrianromero <at> openbravo.com>
date: Wed Sep 29 10:39:06 2010 +0200
summary: Fixes issue 0014625: It is not possible to see an image in a report
using {BASE_WEB}+/../utility/ShowImage?id=IMAGEID
Fixes issue 0014705: Unable to print documents when accessing the system
through localhost
It has been changed the way to include images in Jasper Reports adding an
utility that includes directly an image without accessing to an URL
details: /erp/devel/pi/rev/f526d232f792
changeset: 8487:f526d232f792
user: Adrián Romero <adrianromero <at> openbravo.com>
date: Wed Sep 29 10:40:35 2010 +0200
summary: Fixes issue 0014625: It is not possible to see an image in a report
using {BASE_WEB}+/../utility/ShowImage?id=IMAGEID
Fixes issue 0014705: Unable to print documents when accessing the system
through localhost
It has been modified the required Jasper Reports to include images using the
new way to include images without using an URL
details: /erp/devel/pi/rev/9e30454d56c4
changeset: 8488:9e30454d56c4
user: Adrián Romero <adrianromero <at> openbravo.com>
date: Wed Sep 29 12:08:23 2010 +0200
summary: Fixes issue 0014625: It is not possible to see an image in a report
using {BASE_WEB}+/../utility/ShowImage?id=IMAGEID
Fixes issue 0014705: Unable to print documents when accessing the system
through localhost
Shipments report had an small issue that has been fixed in the reference to the
Organization id parameter
details: /erp/devel/pi/rev/0c704b7054fb
changeset: 8489:0c704b7054fb
user: Adrián Romero <adrianromero <at> openbravo.com>
date: Thu Sep 30 11:24:48 2010 +0200
summary: merge
diffstat:
.hgsigs | 1 +
.hgtags | 1 +
src-db/database/model/functions/AD_UPDATE_ACCESS.xml | 4 +
src-db/database/model/triggers/AD_MODULE_DBPREFIX_TRG.xml | 14 +-
src-db/database/model/triggers/AD_ROLE_TRG.xml | 36 ++-
src-db/database/sourcedata/AD_MODULE.xml | 4 +-
src/org/openbravo/erpCommon/ad_forms/AcctServer.java | 2 +-
src/org/openbravo/erpCommon/utility/ShowImage.java | 50 +---
src/org/openbravo/erpCommon/utility/ShowImageLogo.java | 87 +-----
src/org/openbravo/erpCommon/utility/Utility.java | 167 +++++++++++++-
src/org/openbravo/erpReports/C_OrderJR.jrxml | 2 +-
src/org/openbravo/erpReports/RptC_Invoice.jrxml | 2 +-
src/org/openbravo/erpReports/RptC_OrderPO.jrxml | 2 +-
src/org/openbravo/erpReports/RptM_InOut.jrxml | 2 +-
14 files changed, 240 insertions(+), 134 deletions(-)
diffs (truncated from 684 to 300 lines):
diff -r f6316be65fe7 -r 0c704b7054fb .hgsigs
--- a/.hgsigs Tue Sep 28 11:09:22 2010 +0200
+++ b/.hgsigs Thu Sep 30 11:24:48 2010 +0200
@@ -22,3 +22,4 @@
7fe932c5c015da84a972d6945dd0451366bbf325 0
iEYEABECAAYFAkwodmcACgkQCX/oGf+2qkM4jQCgq2n4X0Tzi8EcGqNLhtzjOJ/1YcgAn3Fh9aZRpXmM2zYmMwuecn4UR5tt
618363224a381737439e0bd4461e2d36c4fd986e 0
iEYEABECAAYFAkxFkHoACgkQCX/oGf+2qkP7DQCeK9qCv3jETpO5iM89PV2bJYmpErMAoO/H2QyeKKZjublcgFmH7g1tEomB
6563372bc2fbf0bc2e15f70c2a8da81fad8cbc2e 0
iEYEABECAAYFAkyDw4sACgkQCX/oGf+2qkMZ1ACePoFeipRkNAN6bW7yIUeiRYgEMBMAni+gFwpEp8kfGKryvixvdudRgGoQ
+b033dcbeeabc1db396798b8e5cbe196522f43a53 0
iEYEABECAAYFAkydFwMACgkQCX/oGf+2qkM1NwCbBJjgs9qM221q415Ygu/EVvhE31sAn2+O6DOYQNbM3xFuCnhhtuDQWDa/
diff -r f6316be65fe7 -r 0c704b7054fb .hgtags
--- a/.hgtags Tue Sep 28 11:09:22 2010 +0200
+++ b/.hgtags Thu Sep 30 11:24:48 2010 +0200
@@ -32,3 +32,4 @@
34eed7b386965b19e191fbfe03195588cdc75254 2.50MP19
99ff33f6588973f7e738b6afd47ad44f3ac08d20 2.50MP20
a3c1cffa8af7b60cab6949251fce1faaa13ca5bb 2.50MP21
+8ede6ac265f1dd70536888ce3e20ffd54e3a3bc6 2.50MP22
diff -r f6316be65fe7 -r 0c704b7054fb
src-db/database/model/functions/AD_UPDATE_ACCESS.xml
--- a/src-db/database/model/functions/AD_UPDATE_ACCESS.xml Tue Sep 28
11:09:22 2010 +0200
+++ b/src-db/database/model/functions/AD_UPDATE_ACCESS.xml Thu Sep 30
11:24:48 2010 +0200
@@ -30,6 +30,7 @@
'0', now(), '0', 'Y'
FROM AD_FORM, AD_ROLE
WHERE AD_ROLE.ISMANUAL = 'N'
+ AND AD_FORM.IsActive='Y'
AND (
(AD_ROLE.USERLEVEL = 'S' AND AD_FORM.ACCESSLEVEL IN ('4','7','6'))
OR
@@ -52,6 +53,7 @@
'0', now(), '0', 'Y'
FROM AD_PROCESS, AD_ROLE
WHERE AD_ROLE.ISMANUAL = 'N'
+ AND AD_PROCESS.IsActive='Y'
AND (
(AD_ROLE.USERLEVEL = 'S' AND AD_PROCESS.ACCESSLEVEL IN ('4','7','6'))
OR
@@ -116,6 +118,7 @@
'0', now(), '0', 'Y'
FROM AD_WINDOW, AD_ROLE, AD_TAB, AD_TABLE
WHERE AD_ROLE.ISMANUAL = 'N'
+ AND AD_WINDOW.IsActive='Y'
AND AD_WINDOW.AD_WINDOW_ID = AD_TAB.AD_WINDOW_ID
AND AD_TAB.AD_TABLE_ID = AD_TABLE.AD_TABLE_ID
AND (
@@ -144,6 +147,7 @@
'0', now(), '0', 'Y'
FROM AD_WORKFLOW, AD_ROLE
WHERE AD_ROLE.ISMANUAL = 'N'
+ AND AD_WORKFLOW.IsActive='Y'
AND (
(AD_ROLE.USERLEVEL = 'S' AND AD_WORKFLOW.ACCESSLEVEL IN ('4','7','6'))
OR
diff -r f6316be65fe7 -r 0c704b7054fb
src-db/database/model/triggers/AD_MODULE_DBPREFIX_TRG.xml
--- a/src-db/database/model/triggers/AD_MODULE_DBPREFIX_TRG.xml Tue Sep 28
11:09:22 2010 +0200
+++ b/src-db/database/model/triggers/AD_MODULE_DBPREFIX_TRG.xml Thu Sep 30
11:24:48 2010 +0200
@@ -52,17 +52,15 @@
startsWithLetter := false;
FOR I IN 1..LENGTH(:new.name) LOOP
v_char := substr(:new.name,i,1);
- IF NOT ((v_char between 'A' and 'Z')
- or (v_char between '0' and '9')) THEN
+ IF NOT ((ascii(v_char) between ascii('A') and ascii('Z'))
+ or (ascii(v_char) between ascii('0') and ascii('9'))) THEN
RAISE_APPLICATION_ERROR(-20531, '@20531@') ;
END IF;
- IF v_char between 'A' and 'Z' THEN
- startsWithLetter := true;
- END IF;
- IF NOT startsWithLetter THEN
+ END LOOP;
+ -- DB_Prefix should start with a letter
+ IF NOT (ascii(substr(:new.name,1,1)) between ascii('A') and ascii('Z'))
THEN
RAISE_APPLICATION_ERROR(-20531, '@20531@') ;
- END IF;
- END LOOP;
+ END IF;
END IF;
END AD_MODULE_DBPREFIX_TRG
]]></body>
diff -r f6316be65fe7 -r 0c704b7054fb
src-db/database/model/triggers/AD_ROLE_TRG.xml
--- a/src-db/database/model/triggers/AD_ROLE_TRG.xml Tue Sep 28 11:09:22
2010 +0200
+++ b/src-db/database/model/triggers/AD_ROLE_TRG.xml Thu Sep 30 11:24:48
2010 +0200
@@ -87,7 +87,8 @@
from AD_Window w, AD_Tab t, AD_Table tt
WHERE w.AD_Window_ID=t.AD_Window_ID
AND t.AD_Table_ID=tt.AD_Table_ID
- AND tt.AccessLevel IN ('4','7','6')) w;
+ AND tt.AccessLevel IN ('4','7','6')
+ AND w.IsActive = 'Y') w;
-- Process
INSERT INTO AD_Process_Access
( AD_Process_Access_ID, AD_Process_ID, AD_Role_ID,
@@ -95,7 +96,8 @@
SELECT get_uuid(), p.AD_Process_ID, :new.AD_Role_ID,
:new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(),
:new.UpdatedBy, 'Y'
FROM AD_Process p
- WHERE AccessLevel IN ('4','7','6');
+ WHERE AccessLevel IN ('4','7','6')
+ AND p.IsActive='Y';
-- Form
INSERT INTO AD_Form_Access
(AD_Form_Access_ID, AD_Form_ID, AD_Role_ID,
@@ -103,7 +105,8 @@
SELECT get_uuid(), f.AD_Form_ID, :new.AD_Role_ID,
:new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(),
:new.UpdatedBy, 'Y'
FROM AD_Form f
- WHERE AccessLevel IN ('4','7','6');
+ WHERE AccessLevel IN ('4','7','6')
+ AND f.IsActive='Y';
-- Workflow
INSERT INTO AD_WorkFlow_Access
(AD_WorkFlow_Access_ID, AD_WorkFlow_ID, AD_Role_ID,
@@ -111,7 +114,8 @@
SELECT get_uuid(), w.AD_WorkFlow_ID, :new.AD_Role_ID,
:new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(),
:new.UpdatedBy, 'Y'
FROM AD_WorkFlow w
- WHERE AccessLevel IN ('4','7','6');
+ WHERE AccessLevel IN ('4','7','6')
+ AND w.IsActive='Y';
-- Client/Org
ELSIF (:new.UserLevel=' CO' OR :new.UserLevel=' C') AND (:new.IsManual <>
'Y') THEN
@@ -126,7 +130,8 @@
WHERE w.AD_Window_ID=t.AD_Window_ID
AND t.AD_Table_ID=tt.AD_Table_ID
AND tt.AccessLevel IN ('7','6','3','1')
- AND w.AD_Window_ID NOT IN ('100','102','165','187')) w;
+ AND w.AD_Window_ID NOT IN ('100','102','165','187')
+ AND w.IsActive='Y') w;
-- Process
INSERT INTO AD_Process_Access
(AD_Process_Access_ID, AD_Process_ID, AD_Role_ID,
@@ -134,7 +139,8 @@
SELECT DISTINCT get_uuid(), p.AD_Process_ID, :new.AD_Role_ID,
:new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(),
:new.UpdatedBy, 'Y'
FROM AD_Process p
- WHERE AccessLevel IN ('7','6','3','1');
+ WHERE AccessLevel IN ('7','6','3','1')
+ AND p.IsActive='Y';
-- Form
INSERT INTO AD_Form_Access
(AD_Form_Access_ID, AD_Form_ID, AD_Role_ID,
@@ -142,7 +148,8 @@
SELECT get_uuid(), f.AD_Form_ID, :new.AD_Role_ID,
:new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(),
:new.UpdatedBy, 'Y'
FROM AD_Form f
- WHERE AccessLevel IN ('7','6','3','1');
+ WHERE AccessLevel IN ('7','6','3','1')
+ AND f.IsActive='Y';
-- Workflow
INSERT INTO AD_WorkFlow_Access
(AD_WorkFlow_Access_ID, AD_WorkFlow_ID, AD_Role_ID,
@@ -150,7 +157,8 @@
SELECT get_uuid(), w.AD_WorkFlow_ID, :new.AD_Role_ID,
:new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(),
:new.UpdatedBy, 'Y'
FROM AD_WorkFlow w
- WHERE AccessLevel IN ('7','6','3','1');
+ WHERE AccessLevel IN ('7','6','3','1')
+ AND w.IsActive='Y';
-- Organization
ELSIF (:new.UserLevel=' O') AND (:new.IsManual <> 'Y') THEN
@@ -164,7 +172,8 @@
from AD_Window w, AD_Tab t, AD_Table tt
WHERE w.AD_Window_ID=t.AD_Window_ID
AND t.AD_Table_ID=tt.AD_Table_ID
- AND tt.AccessLevel IN ('3','1','7')) w;
+ AND tt.AccessLevel IN ('3','1','7')
+ AND w.IsActive='Y') w;
-- Process
INSERT INTO AD_Process_Access
(AD_Process_Access_ID, AD_Process_ID, AD_Role_ID,
@@ -172,7 +181,8 @@
SELECT get_uuid(), p.AD_Process_ID, :new.AD_Role_ID,
:new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(),
:new.UpdatedBy, 'Y'
FROM AD_Process p
- WHERE AccessLevel IN ('3','1','7');
+ WHERE AccessLevel IN ('3','1','7')
+ AND p.IsActive='Y';
-- Form
INSERT INTO AD_Form_Access
(AD_Form_Access_ID, AD_Form_ID, AD_Role_ID,
@@ -180,7 +190,8 @@
SELECT get_uuid(), f.AD_Form_ID, :new.AD_Role_ID,
:new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(),
:new.UpdatedBy, 'Y'
FROM AD_Form f
- WHERE AccessLevel IN ('3','1','7');
+ WHERE AccessLevel IN ('3','1','7')
+ AND f.IsActive='Y';
-- Workflow
INSERT INTO AD_WorkFlow_Access
(AD_WorkFlow_Access_ID, AD_WorkFlow_ID, AD_Role_ID,
@@ -188,7 +199,8 @@
SELECT get_uuid(), w.AD_WorkFlow_ID, :new.AD_Role_ID,
:new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(),
:new.UpdatedBy, 'Y'
FROM AD_WorkFlow w
- WHERE AccessLevel IN ('3','1','7');
+ WHERE AccessLevel IN ('3','1','7')
+ AND w.IsActive='Y';
END IF;
diff -r f6316be65fe7 -r 0c704b7054fb src-db/database/sourcedata/AD_MODULE.xml
--- a/src-db/database/sourcedata/AD_MODULE.xml Tue Sep 28 11:09:22 2010 +0200
+++ b/src-db/database/sourcedata/AD_MODULE.xml Thu Sep 30 11:24:48 2010 +0200
@@ -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.18452]]></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>
@@ -22,7 +22,7 @@
<!--0--> <ISTRANSLATIONMODULE><![CDATA[N]]></ISTRANSLATIONMODULE>
<!--0--> <HASREFERENCEDATA><![CDATA[Y]]></HASREFERENCEDATA>
<!--0--> <REFERENCEDATAINFO><![CDATA[Standard document types for orders,
invoices, etc. and settings]]></REFERENCEDATAINFO>
-<!--0--> <VERSION_LABEL><![CDATA[CI]]></VERSION_LABEL>
+<!--0--> <VERSION_LABEL><![CDATA[dev]]></VERSION_LABEL>
<!--0--> <ISCOMMERCIAL><![CDATA[N]]></ISCOMMERCIAL>
<!--0--></AD_MODULE>
diff -r f6316be65fe7 -r 0c704b7054fb
src/org/openbravo/erpCommon/ad_forms/AcctServer.java
--- a/src/org/openbravo/erpCommon/ad_forms/AcctServer.java Tue Sep 28
11:09:22 2010 +0200
+++ b/src/org/openbravo/erpCommon/ad_forms/AcctServer.java Thu Sep 30
11:24:48 2010 +0200
@@ -991,7 +991,7 @@
}
if (m_fact[index] == null)
return STATUS_Error;
- if (Status.equals(STATUS_InvalidCost))
+ if (!Status.equals(STATUS_Error))
return Status;
Status = STATUS_PostPrepared;
diff -r f6316be65fe7 -r 0c704b7054fb
src/org/openbravo/erpCommon/utility/ShowImage.java
--- a/src/org/openbravo/erpCommon/utility/ShowImage.java Tue Sep 28
11:09:22 2010 +0200
+++ b/src/org/openbravo/erpCommon/utility/ShowImage.java Thu Sep 30
11:24:48 2010 +0200
@@ -28,10 +28,6 @@
import org.openbravo.base.secureApp.HttpSecureAppServlet;
import org.openbravo.base.secureApp.VariablesSecureApp;
-import org.openbravo.dal.core.OBContext;
-import org.openbravo.dal.service.OBDal;
-import org.openbravo.model.ad.utility.Image;
-import org.openbravo.utils.FileUtility;
/**
*
@@ -47,41 +43,23 @@
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException,
ServletException {
- OBContext.setAdminMode();
- try {
- VariablesSecureApp vars = new VariablesSecureApp(request);
- String id = vars.getStringParameter("id");
- Image img = null;
- try {
- img = OBDal.getInstance().get(Image.class, id);
- } catch (Exception e) {
- log4j.error("Could not load image from database", e);
- }
- if (img != null) {
- byte[] imageBytes = img.getBindaryData();
- if (imageBytes != null) {
+ VariablesSecureApp vars = new VariablesSecureApp(request);
+ String id = vars.getStringParameter("id");
- final String mimeType =
MimeTypeUtil.getInstance().getMimeTypeName(imageBytes);
+ // read the image data
+ byte[] img = Utility.getImage(id);
- if (!mimeType.equals("")) {
- response.setContentType(mimeType);
- }
- OutputStream out = response.getOutputStream();
- response.setContentLength(imageBytes.length);
+ // write the mimetype
+ final String mimeType = MimeTypeUtil.getInstance().getMimeTypeName(img);
+ if (!mimeType.equals("")) {
+ response.setContentType(mimeType);
+ }
- out.write(imageBytes);
- out.close();
- }
- } else { // If there is not image to show return blank.gif
- FileUtility f = new FileUtility(this.globalParameters.prefix,
"web/images/blank.gif",
- false, true);
- f.dumpFile(response.getOutputStream());
- response.getOutputStream().flush();
- response.getOutputStream().close();
- }
- } finally {
- OBContext.restorePreviousMode();
- }
+ // write the image
+ OutputStream out = response.getOutputStream();
+ response.setContentLength(img.length);
------------------------------------------------------------------------------
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