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

Reply via email to