details:   https://code.openbravo.com/erp/devel/pi/rev/cb4a3042e3a5
changeset: 23039:cb4a3042e3a5
user:      Guillermo Gil <guillermo.gil <at> openbravo.com>
date:      Thu May 15 11:53:24 2014 +0200
summary:   Fixed issue 26495:External link entry in menu is not working

openlinkinbrowser field has been created to open the link in a new browser's 
tab instead open it in an Openbravo's tab.
This has been done due browser's restrictions.
Also External link icon on Quick Launch has been added.

diffstat:

 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MENU.xml 
                                                                                
          |    8 +
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/QuickLaunchDataSource.java
                                          |    6 +-
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/templates/application-menu.js.ftl
                                   |    3 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-application-menu.js
                                                            |   17 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-quick-launch.js
                                                                |   31 +-
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-navigation-bar-styles.js
 |    5 +-
 
modules/org.openbravo.client.myob/web/org.openbravo.client.myob/js/ob-myopenbravo.js
                                                                                
      |   14 +-
 
modules/org.openbravo.client.myob/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.myob/ob-myopenbravo-styles.js
                  |    5 +-
 src-db/database/model/tables/AD_MENU.xml                                       
                                                                                
           |    5 +
 src-db/database/sourcedata/AD_COLUMN.xml                                       
                                                                                
           |   36 +
 src-db/database/sourcedata/AD_ELEMENT.xml                                      
                                                                                
           |   14 +
 src-db/database/sourcedata/AD_FIELD.xml                                        
                                                                                
           |   29 +
 src-db/database/sourcedata/AD_MENU.xml                                         
                                                                                
           |  387 ++++++++++
 13 files changed, 546 insertions(+), 14 deletions(-)

diffs (truncated from 3538 to 300 lines):

diff -r 4aa336cd9e83 -r cb4a3042e3a5 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MENU.xml
--- 
a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MENU.xml
   Thu May 15 09:36:00 2014 +0200
+++ 
b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MENU.xml
   Thu May 15 11:53:24 2014 +0200
@@ -11,6 +11,7 @@
 <!--1005400002-->  <ACTION><![CDATA[OBUIAPP_OpenView]]></ACTION>
 <!--1005400002-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--1005400002-->  
<EM_OBUIAPP_VIEW_IMPL_ID><![CDATA[FF808081329B023101329B0CE2080013]]></EM_OBUIAPP_VIEW_IMPL_ID>
+<!--1005400002-->  <OPENLINKINBROWSER><![CDATA[N]]></OPENLINKINBROWSER>
 <!--1005400002--></AD_MENU>
 
 <!--6FD97ECD72B4405FA1442FD8673AE571--><AD_MENU>
@@ -24,6 +25,7 @@
 <!--6FD97ECD72B4405FA1442FD8673AE571-->  <ACTION><![CDATA[W]]></ACTION>
 <!--6FD97ECD72B4405FA1442FD8673AE571-->  
<AD_WINDOW_ID><![CDATA[54AE252A40C34DA285FC48DA94EB3847]]></AD_WINDOW_ID>
 <!--6FD97ECD72B4405FA1442FD8673AE571-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--6FD97ECD72B4405FA1442FD8673AE571-->  
<OPENLINKINBROWSER><![CDATA[N]]></OPENLINKINBROWSER>
 <!--6FD97ECD72B4405FA1442FD8673AE571--></AD_MENU>
 
 <!--7CBC6E3EE9CD4121BC336C5DF5524085--><AD_MENU>
@@ -37,6 +39,7 @@
 <!--7CBC6E3EE9CD4121BC336C5DF5524085-->  <ACTION><![CDATA[W]]></ACTION>
 <!--7CBC6E3EE9CD4121BC336C5DF5524085-->  
<AD_WINDOW_ID><![CDATA[FD487747E8A2425B8BAE570FCA569D66]]></AD_WINDOW_ID>
 <!--7CBC6E3EE9CD4121BC336C5DF5524085-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--7CBC6E3EE9CD4121BC336C5DF5524085-->  
<OPENLINKINBROWSER><![CDATA[N]]></OPENLINKINBROWSER>
 <!--7CBC6E3EE9CD4121BC336C5DF5524085--></AD_MENU>
 
 <!--B487FABEB36F45C28E22CD309914FD71--><AD_MENU>
@@ -50,6 +53,7 @@
 <!--B487FABEB36F45C28E22CD309914FD71-->  <ACTION><![CDATA[W]]></ACTION>
 <!--B487FABEB36F45C28E22CD309914FD71-->  
<AD_WINDOW_ID><![CDATA[EBA40241D46D4FA4A24E4A09C61994AA]]></AD_WINDOW_ID>
 <!--B487FABEB36F45C28E22CD309914FD71-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--B487FABEB36F45C28E22CD309914FD71-->  
<OPENLINKINBROWSER><![CDATA[N]]></OPENLINKINBROWSER>
 <!--B487FABEB36F45C28E22CD309914FD71--></AD_MENU>
 
 <!--F8841106C28A4D769320A8010FD6E8DC--><AD_MENU>
@@ -63,6 +67,7 @@
 <!--F8841106C28A4D769320A8010FD6E8DC-->  <ACTION><![CDATA[W]]></ACTION>
 <!--F8841106C28A4D769320A8010FD6E8DC-->  
<AD_WINDOW_ID><![CDATA[7E72F3A16C704449BC50FCE1512C3805]]></AD_WINDOW_ID>
 <!--F8841106C28A4D769320A8010FD6E8DC-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--F8841106C28A4D769320A8010FD6E8DC-->  
<OPENLINKINBROWSER><![CDATA[N]]></OPENLINKINBROWSER>
 <!--F8841106C28A4D769320A8010FD6E8DC--></AD_MENU>
 
 <!--FF8080812EB90459012EBA72B4E7004D--><AD_MENU>
@@ -75,6 +80,7 @@
 <!--FF8080812EB90459012EBA72B4E7004D-->  
<ACTION><![CDATA[OBUIAPP_OpenView]]></ACTION>
 <!--FF8080812EB90459012EBA72B4E7004D-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--FF8080812EB90459012EBA72B4E7004D-->  
<EM_OBUIAPP_VIEW_IMPL_ID><![CDATA[FF8080812EB90459012EBA225DDB0029]]></EM_OBUIAPP_VIEW_IMPL_ID>
+<!--FF8080812EB90459012EBA72B4E7004D-->  
<OPENLINKINBROWSER><![CDATA[N]]></OPENLINKINBROWSER>
 <!--FF8080812EB90459012EBA72B4E7004D--></AD_MENU>
 
 <!--FF8081813157AED2013157C149F40039--><AD_MENU>
@@ -88,6 +94,7 @@
 <!--FF8081813157AED2013157C149F40039-->  <ACTION><![CDATA[W]]></ACTION>
 <!--FF8081813157AED2013157C149F40039-->  
<AD_WINDOW_ID><![CDATA[FF8081813157AED2013157BE93460020]]></AD_WINDOW_ID>
 <!--FF8081813157AED2013157C149F40039-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813157AED2013157C149F40039-->  
<OPENLINKINBROWSER><![CDATA[N]]></OPENLINKINBROWSER>
 <!--FF8081813157AED2013157C149F40039--></AD_MENU>
 
 <!--FF80818132D822FF0132D8291C960011--><AD_MENU>
@@ -100,6 +107,7 @@
 <!--FF80818132D822FF0132D8291C960011-->  <ACTION><![CDATA[W]]></ACTION>
 <!--FF80818132D822FF0132D8291C960011-->  
<AD_WINDOW_ID><![CDATA[FF80818132D7FB620132D8193C0C0043]]></AD_WINDOW_ID>
 <!--FF80818132D822FF0132D8291C960011-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF80818132D822FF0132D8291C960011-->  
<OPENLINKINBROWSER><![CDATA[N]]></OPENLINKINBROWSER>
 <!--FF80818132D822FF0132D8291C960011--></AD_MENU>
 
 </data>
diff -r 4aa336cd9e83 -r cb4a3042e3a5 
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/QuickLaunchDataSource.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/QuickLaunchDataSource.java
  Thu May 15 09:36:00 2014 +0200
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/QuickLaunchDataSource.java
  Thu May 15 11:53:24 2014 +0200
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2010-2012 Openbravo SLU
+ * All portions are Copyright (C) 2010-2014 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -52,6 +52,7 @@
   public static final String PROCESS_ID = "processId";
   public static final String WINDOW_ID = "windowId";
   public static final String FORM_ID = "formId";
+  public static final String OPEN_LINK_IN_BROWSER = "openLinkInBrowser";
 
   @Inject
   private MenuManager menuManager;
@@ -116,6 +117,7 @@
           data.put(PROCESS_ID, menuOption.getMenu().getProcess().getId());
         } else if (menuOption.isExternal()) {
           data.put(OPTION_TYPE, OPTION_TYPE_EXTERNAL);
+          data.put(OPEN_LINK_IN_BROWSER, 
menuOption.getMenu().isOpenlinkinbrowser());
         } else if (menuOption.isForm()) {
           data.put(OPTION_TYPE, OPTION_TYPE_URL);
           data.put(FORM_ID, menuOption.getFormId());
@@ -137,6 +139,8 @@
         } else if (menuOption.isProcess() || menuOption.isProcessManual()
             || menuOption.isProcessDefinition()) {
           icon = "Process";
+        } else if (menuOption.isExternal()) {
+          icon = "ExternalLink";
         } else {
           icon = "Window";
         }
diff -r 4aa336cd9e83 -r cb4a3042e3a5 
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/templates/application-menu.js.ftl
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/templates/application-menu.js.ftl
   Thu May 15 09:36:00 2014 +0200
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/templates/application-menu.js.ftl
   Thu May 15 11:53:24 2014 +0200
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2010-2012 Openbravo SLU
+ * All portions are Copyright (C) 2010-2014 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -56,6 +56,7 @@
     <#elseif menuOption.external>
         , type: 'external'
         , externalUrl: '${menuOption.id?js_string}'
+        , openLinkInBrowser: ${menuOption.menu.openlinkinbrowser?string}
     <#elseif menuOption.view>
         , type: 'view'
         , viewId: '${menuOption.id?js_string}'
diff -r 4aa336cd9e83 -r cb4a3042e3a5 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-application-menu.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-application-menu.js
    Thu May 15 09:36:00 2014 +0200
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-application-menu.js
    Thu May 15 11:53:24 2014 +0200
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2011-2013 Openbravo SLU
+ * All portions are Copyright (C) 2011-2014 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -179,7 +179,8 @@
         contentsURL: item.externalUrl,
         id: item.externalUrl,
         command: 'DEFAULT',
-        tabTitle: item.title
+        tabTitle: item.title,
+        openLinkInBrowser: item.openLinkInBrowser
       };
     } else if (!item.processDefinitionId) {
       // do nothing for param windows
@@ -195,7 +196,17 @@
     selectedView = isc.addProperties({}, item, selectedView);
 
     OB.RecentUtilities.addRecent('UINAVBA_MenuRecentList', selectedView);
-    OB.Layout.ViewManager.openView(selectedView.viewId, selectedView);
+    if (selectedView.openLinkInBrowser && selectedView.viewId === 
'OBExternalPage') {
+      if (selectedView.contentsURL.indexOf('://') === -1) {
+        selectedView.contentsURL = 'http://' + selectedView.contentsURL;
+      }
+      OB.ViewManager.recentManager.addRecent('OBUIAPP_RecentViewList', 
isc.addProperties({
+        icon: OB.Styles.OBApplicationMenu.Icons.externalLink
+      }, selectedView));
+      window.open(selectedView.contentsURL);
+    } else {
+      OB.Layout.ViewManager.openView(selectedView.viewId, selectedView);
+    }
   }
 });
 
diff -r 4aa336cd9e83 -r cb4a3042e3a5 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-quick-launch.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-quick-launch.js
        Thu May 15 09:36:00 2014 +0200
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-quick-launch.js
        Thu May 15 11:53:24 2014 +0200
@@ -24,7 +24,17 @@
   prefixLabel: null,
   action: function () {
     if (this.recentObject.viewId) {
-      OB.Layout.ViewManager.openView(this.recentObject.viewId, 
this.recentObject);
+      if (this.recentObject.openLinkInBrowser && this.recentObject.viewId === 
'OBExternalPage') {
+        if (this.recentObject.contentsURL.indexOf('://') === -1) {
+          this.recentObject.contentsURL = 'http://' + 
this.recentObject.contentsURL;
+        }
+        OB.ViewManager.recentManager.addRecent('OBUIAPP_RecentViewList', 
isc.addProperties({
+          icon: OB.Styles.OBApplicationMenu.Icons.externalLink
+        }, this.recentObject));
+        window.open(this.recentObject.contentsURL);
+      } else {
+        OB.Layout.ViewManager.openView(this.recentObject.viewId, 
this.recentObject);
+      }
     } else {
       OB.Layout.ViewManager.openView('OBClassicWindow', this.recentObject);
     }
@@ -47,6 +57,8 @@
         this.setIcon(this.nodeIcons.Report);
       } else if (this.recentObject.icon === 'Form') {
         this.setIcon(this.nodeIcons.Form);
+      } else if (this.recentObject.icon === 'ExternalLink') {
+        this.setIcon(this.nodeIcons.ExternalLink);
       } else {
         this.setIcon(this.nodeIcons.Window);
       }
@@ -220,7 +232,8 @@
             Process: this.nodeIcons.Process,
             Report: this.nodeIcons.Report,
             Form: this.nodeIcons.Form,
-            Window: this.nodeIcons.Window
+            Window: this.nodeIcons.Window,
+            ExternalLink: this.nodeIcons.ExternalLink
           }
         }, {
           name: OB.Constants.IDENTIFIER,
@@ -262,7 +275,7 @@
               openObject = {
                 viewId: 'OBExternalPage',
                 id: viewValue,
-                contentsUrl: viewValue,
+                contentsURL: viewValue,
                 tabTitle: record[OB.Constants.IDENTIFIER]
               };
             } else if (record.optionType && record.optionType === 'process') {
@@ -317,7 +330,17 @@
 
             openObject = isc.addProperties({}, record, openObject);
 
-            OB.Layout.ViewManager.openView(openObject.viewId, openObject);
+            if (openObject.openLinkInBrowser && openObject.viewId === 
'OBExternalPage') {
+              if (openObject.contentsURL.indexOf('://') === -1) {
+                openObject.contentsURL = 'http://' + openObject.contentsURL;
+              }
+              OB.ViewManager.recentManager.addRecent('OBUIAPP_RecentViewList', 
isc.addProperties({
+                icon: OB.Styles.OBApplicationMenu.Icons.externalLink
+              }, openObject));
+              window.open(openObject.contentsURL);
+            } else {
+              OB.Layout.ViewManager.openView(openObject.viewId, openObject);
+            }
 
             OB.RecentUtilities.addRecent(this.recentPropertyName, openObject);
 
diff -r 4aa336cd9e83 -r cb4a3042e3a5 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-navigation-bar-styles.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-navigation-bar-styles.js
 Thu May 15 09:36:00 2014 +0200
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-navigation-bar-styles.js
 Thu May 15 11:53:24 2014 +0200
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2011-2013 Openbravo SLU
+ * All portions are Copyright (C) 2011-2014 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -71,7 +71,8 @@
     Window: OB.Styles.OBApplicationMenu.Icons.window,
     Process: OB.Styles.OBApplicationMenu.Icons.process,
     Report: OB.Styles.OBApplicationMenu.Icons.report,
-    Form: OB.Styles.OBApplicationMenu.Icons.form
+    Form: OB.Styles.OBApplicationMenu.Icons.form,
+    ExternalLink: OB.Styles.OBApplicationMenu.Icons.externalLink
   },
 
   createNew_src: OB.Styles.skinsPath + 
'Default/org.openbravo.client.application/images/navbar/iconCreateNew.png',
diff -r 4aa336cd9e83 -r cb4a3042e3a5 
modules/org.openbravo.client.myob/web/org.openbravo.client.myob/js/ob-myopenbravo.js
--- 
a/modules/org.openbravo.client.myob/web/org.openbravo.client.myob/js/ob-myopenbravo.js
      Thu May 15 09:36:00 2014 +0200
+++ 
b/modules/org.openbravo.client.myob/web/org.openbravo.client.myob/js/ob-myopenbravo.js
      Thu May 15 11:53:24 2014 +0200
@@ -447,7 +447,17 @@
 
       handleClickFunction = function () {
         if (this.recent.viewId) {
-          OB.Layout.ViewManager.openView(this.recent.viewId, this.recent);
+          if (this.recent.openLinkInBrowser && this.recent.viewId === 
'OBExternalPage') {
+            if (this.recent.contentsURL.indexOf('://') === -1) {
+              this.recent.contentsURL = 'http://' + this.recent.contentsURL;
+            }
+            OB.ViewManager.recentManager.addRecent('OBUIAPP_RecentViewList', 
isc.addProperties({
+              icon: OB.Styles.OBApplicationMenu.Icons.externalLink
+            }, this.recent));
+            window.open(this.recent.contentsURL);
+          } else {
+            OB.Layout.ViewManager.openView(this.recent.viewId, this.recent);
+          }
         } else {
           OB.Layout.ViewManager.openView('OBClassicWindow', this.recent);
         }
@@ -471,6 +481,8 @@
               icon = OB.Styles.OBMyOpenbravo.recentViewsLayout.nodeIcons.Form;
             } else if (recent.icon === 'Window') {
               icon = 
OB.Styles.OBMyOpenbravo.recentViewsLayout.nodeIcons.Window;
+            } else if (recent.icon === 'ExternalLink') {
+              icon = 
OB.Styles.OBMyOpenbravo.recentViewsLayout.nodeIcons.ExternalLink;
             } else {
               icon = recent.icon; // icon is already a path
             }
diff -r 4aa336cd9e83 -r cb4a3042e3a5 
modules/org.openbravo.client.myob/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.myob/ob-myopenbravo-styles.js
--- 
a/modules/org.openbravo.client.myob/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.myob/ob-myopenbravo-styles.js
  Thu May 15 09:36:00 2014 +0200
+++ 
b/modules/org.openbravo.client.myob/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.myob/ob-myopenbravo-styles.js
  Thu May 15 11:53:24 2014 +0200
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2011-2012 Openbravo SLU
+ * All portions are Copyright (C) 2011-2014 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -28,7 +28,8 @@

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to