details:   /erp/devel/pi/rev/87a71c03db21
changeset: 10014:87a71c03db21
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Fri Jan 21 09:20:07 2011 +0100
summary:   [print] Generalized print button for all documents

details:   /erp/devel/pi/rev/0a1d57b2bfbb
changeset: 10015:0a1d57b2bfbb
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Fri Jan 21 09:38:45 2011 +0100
summary:   [print] Added label

details:   /erp/devel/pi/rev/29828d1dc88a
changeset: 10016:29828d1dc88a
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Fri Jan 21 09:47:42 2011 +0100
summary:   [print] Cleanup OB.ToolbarUtils.print

details:   /erp/devel/pi/rev/93b2b18ef412
changeset: 10017:93b2b18ef412
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Fri Jan 21 10:13:03 2011 +0100
summary:   [print] Show warning if trying to print empty record selection

diffstat:

 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
                  |  11 ++
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewTab.java
 |  27 ++++++-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-toolbar.js
      |  39 ++++-----
 3 files changed, 54 insertions(+), 23 deletions(-)

diffs (132 lines):

diff -r edc079a42ed8 -r 93b2b18ef412 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
--- 
a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
        Fri Jan 21 09:40:23 2011 +0100
+++ 
b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
        Fri Jan 21 10:13:03 2011 +0100
@@ -882,4 +882,15 @@
 <!--FF8081812DA54F20012DA70C468C0075-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--FF8081812DA54F20012DA70C468C0075--></AD_MESSAGE>
 
+<!--FF8081812DA79D5E012DA7CD45DB0048--><AD_MESSAGE>
+<!--FF8081812DA79D5E012DA7CD45DB0048-->  
<AD_MESSAGE_ID><![CDATA[FF8081812DA79D5E012DA7CD45DB0048]]></AD_MESSAGE_ID>
+<!--FF8081812DA79D5E012DA7CD45DB0048-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081812DA79D5E012DA7CD45DB0048-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081812DA79D5E012DA7CD45DB0048-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081812DA79D5E012DA7CD45DB0048-->  
<VALUE><![CDATA[OBUIAPP_PrintNoRecordSelected]]></VALUE>
+<!--FF8081812DA79D5E012DA7CD45DB0048-->  <MSGTEXT><![CDATA[No record selected 
to print. Select at least one and try again.]]></MSGTEXT>
+<!--FF8081812DA79D5E012DA7CD45DB0048-->  <MSGTYPE><![CDATA[W]]></MSGTYPE>
+<!--FF8081812DA79D5E012DA7CD45DB0048-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081812DA79D5E012DA7CD45DB0048--></AD_MESSAGE>
+
 </data>
diff -r edc079a42ed8 -r 93b2b18ef412 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewTab.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewTab.java
       Fri Jan 21 09:40:23 2011 +0100
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewTab.java
       Fri Jan 21 10:13:03 2011 +0100
@@ -43,6 +43,7 @@
 import org.openbravo.model.ad.ui.Process;
 import org.openbravo.model.ad.ui.Tab;
 import org.openbravo.model.ad.ui.TabTrl;
+import org.openbravo.service.db.DalConnectionProvider;
 import org.openbravo.utils.FormatUtilities;
 
 /**
@@ -508,9 +509,31 @@
 
   public class PrintButton extends IconButton {
     public PrintButton() {
+      Process process = tab.getProcess();
+      String processUrl = "";
+      for (ModelImplementation mo : process.getADModelImplementationList()) {
+        if (mo.isDefault() && ("P".equals(mo.getAction()) || 
"R".equals(mo.getAction()))) {
+          for (ModelImplementationMapping mom : 
mo.getADModelImplementationMappingList()) {
+            if (mom.isDefault()) {
+              processUrl = ".." + mom.getMappingName();
+              break;
+            }
+          }
+          break;
+        }
+      }
+      if (processUrl.isEmpty()) {
+        processUrl = process.getSearchKey() + ".pdf";
+      }
+      if (processUrl.indexOf("/") == -1) {
+        processUrl = "/" + FormatUtilities.replace(processUrl);
+      }
+
       type = "print";
-      action = "OB.ToolbarUtils.print(this.view);";
-      label = "testing...";
+      action = "OB.ToolbarUtils.print(this.view, '" + processUrl + "', " + 
process.isDirectPrint()
+          + ");";
+      label = Utility.messageBD(new DalConnectionProvider(), "Print", 
OBContext.getOBContext()
+          .getLanguage().getLanguage());
     }
 
   }
diff -r edc079a42ed8 -r 93b2b18ef412 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-toolbar.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-toolbar.js
    Fri Jan 21 09:40:23 2011 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-toolbar.js
    Fri Jan 21 10:13:03 2011 +0100
@@ -683,20 +683,19 @@
 
 OB.ToolbarUtils = {};
 
-OB.ToolbarUtils.print = function(view){
-  var popupParams = {
-      viewId : 'print',
-      obManualURL : '/businessUtility/PrinterReports.html', 
-      processId : '1',
-      id : '1',
-      tabTitle : 'a',
-      command: 'DEFAULT'
-    };
+OB.ToolbarUtils.print = function(view, url, directPrint){
+  var selectedRecords = view.viewGrid.getSelectedRecords();
   
-  var allProperties = view.getContextInfo(false, true);
-  var sessionProperties = view.getContextInfo(true, true);
+  if (selectedRecords.length === 0) {
+    view.messageBar.setMessage(OBMessageBar.TYPE_WARNING, '', 
OB.I18N.getLabel('OBUIAPP_PrintNoRecordSelected'));
+    return;
+  }
+  
+  var popupParams = "Command=DEFAULT", 
+      allProperties = view.getContextInfo(false, true),
+      sessionProperties = view.getContextInfo(true, true);
 
-  for ( var param in allProperties) {
+  for (var param in allProperties) {
     if (allProperties.hasOwnProperty(param)) {
       var value = allProperties[param];
       
@@ -704,24 +703,22 @@
         value = value?'Y':'N';
       }
       
-      popupParams.command += '&' + param + '=' + value;
+      popupParams += '&' + param + '=' + value;
     }
   }
   
-  popupParams.command += '&inppdfpath=../invoices/print.html';
-  popupParams.command += '&inphiddenkey=inpcInvoiceId';
+  popupParams += '&inppdfpath='+url;
+  popupParams += '&inphiddenkey='+view.standardProperties.inpKeyName;
   
   var selectedIds = '';
-  for (var i=0; i<view.viewGrid.getSelectedRecords().length; i++){
-    selectedIds += (i>0?',':'')+view.viewGrid.getSelectedRecords()[i].id;
+  for (var i = 0; i < selectedRecords.length; i++){
+    selectedIds += (i > 0?',':'') + selectedRecords[i].id;
   }
   
-  popupParams.command += '&inphiddenvalue='+selectedIds;
+  popupParams += '&inphiddenvalue='+selectedIds;
   
   view.setContextInfo(sessionProperties, function() {
-   // OB.Layout.ViewManager.openView('OBPopupClassicWindow', popupParams);
-    
-    OB.Layout.ClassicOBCompatibility.Popup.open('print', 0, 0, 
OB.Application.contextUrl + 
'/businessUtility/PrinterReports.html?Command='+popupParams.command, '', 
window, false, false, true);
+    OB.Layout.ClassicOBCompatibility.Popup.open('print', 0, 0, 
OB.Application.contextUrl + 
'/businessUtility/PrinterReports.html?'+popupParams, '', window, false, false, 
true);
   });
   
 };
\ No newline at end of file

------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to