From fd299b3dde696a8ddb1f2de0108e2b051bd4314c Mon Sep 17 00:00:00 2001
From: Romain Courteaud <romain@nexedi.com>
Date: Mon, 19 Feb 2018 13:46:30 +0000
Subject: [PATCH] [erp5_web_renderjs_ui] Display more links in desktop mode

---
 ...js_gadget_erp5_pt_form_view_editable_js.js | 28 +++++++++++--------
 ...s_gadget_erp5_pt_form_view_editable_js.xml |  4 +--
 .../rjs_gadget_erp5_pt_form_view_js.js        | 23 +++++++++++----
 .../rjs_gadget_erp5_pt_form_view_js.xml       |  4 +--
 4 files changed, 39 insertions(+), 20 deletions(-)

diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_view_editable_js.js b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_view_editable_js.js
index 1a84dbdb83..87f79b21e5 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_view_editable_js.js
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_view_editable_js.js
@@ -15,6 +15,7 @@
     .declareAcquiredMethod("notifyChange", "notifyChange")
     .declareAcquiredMethod("displayFormulatorValidationError",
                            "displayFormulatorValidationError")
+    .declareAcquiredMethod('isDesktopMedia', 'isDesktopMedia')
     .allowPublicAcquisition("notifyChange", function () {
       return this.notifyChange({modified: true});
     })
@@ -80,22 +81,23 @@
 
         // render the header
         .push(function () {
-          var new_content_action = form_gadget.state.erp5_document._links.action_object_new_content_action;
-
-          if (new_content_action !== undefined) {
-            new_content_action = form_gadget.getUrlFor({command: 'change', options: {view: new_content_action.href, editable: true}});
-          } else {
-            new_content_action = "";
-          }
-
           return RSVP.all([
             form_gadget.getUrlFor({command: 'change', options: {page: "tab"}}),
             form_gadget.getUrlFor({command: 'change', options: {page: "action"}}),
-            new_content_action,
+            form_gadget.state.erp5_document._links.action_object_new_content_action ?
+                form_gadget.getUrlFor({command: 'change', options: {
+                  view: form_gadget.state.erp5_document._links.action_object_new_content_action.href,
+                  editable: true
+                }}) :
+                "",
             form_gadget.getUrlFor({command: 'history_previous'}),
             form_gadget.getUrlFor({command: 'selection_previous'}),
             form_gadget.getUrlFor({command: 'selection_next'}),
-            calculatePageTitle(form_gadget, form_gadget.state.erp5_document)
+            calculatePageTitle(form_gadget, form_gadget.state.erp5_document),
+            form_gadget.isDesktopMedia(),
+            form_gadget.state.erp5_document._links.action_object_jio_report ?
+                form_gadget.getUrlFor({command: 'change', options: {page: "export"}}) :
+                ""
           ]);
         })
         .push(function (all_result) {
@@ -107,10 +109,14 @@
             previous_url: all_result[4],
             next_url: all_result[5],
             page_title: all_result[6]
-          };
+          },
+            is_desktop = all_result[7];
           if (form_gadget.state.save_action === true) {
             header_dict.save_action = true;
           }
+          if (is_desktop) {
+            header_dict.export_url = all_result[8];
+          }
           return form_gadget.updateHeader(header_dict);
         });
     })
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_view_editable_js.xml b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_view_editable_js.xml
index bfe3b92f95..a4da760f71 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_view_editable_js.xml
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_view_editable_js.xml
@@ -230,7 +230,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>965.14609.38920.44509</string> </value>
+                <value> <string>965.39385.16585.60774</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -248,7 +248,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1517561386.33</float>
+                        <float>1519047926.74</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_view_js.js b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_view_js.js
index 41995cb399..0e366c00db 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_view_js.js
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_view_js.js
@@ -26,6 +26,7 @@
     /////////////////////////////////////////////////////////////////
     .declareAcquiredMethod("updateHeader", "updateHeader")
     .declareAcquiredMethod("getUrlFor", "getUrlFor")
+    .declareAcquiredMethod('isDesktopMedia', 'isDesktopMedia')
 
     /////////////////////////////////////////////////////////////////
     // Proxy methods to the child gadget
@@ -100,13 +101,20 @@
             gadget.getUrlFor({command: 'selection_next'}),
             gadget.getUrlFor({command: 'change', options: {page: "tab"}}),
             gadget.state.erp5_document._links.action_object_jio_report ?
-              gadget.getUrlFor({command: 'change', options: {page: "export"}}) :
-              "",
-            calculatePageTitle(gadget, gadget.state.erp5_document)
+                gadget.getUrlFor({command: 'change', options: {page: "export"}}) :
+                "",
+            calculatePageTitle(gadget, gadget.state.erp5_document),
+            gadget.isDesktopMedia(),
+            gadget.state.erp5_document._links.action_object_new_content_action ?
+                gadget.getUrlFor({command: 'change', options: {
+                  view: gadget.state.erp5_document._links.action_object_new_content_action.href,
+                  editable: true
+                }}) :
+                ""
           ]);
         })
         .push(function (all_result) {
-          return gadget.updateHeader({
+          var options = {
             edit_url: all_result[0],
             actions_url: all_result[1],
             selection_url: all_result[2],
@@ -115,7 +123,12 @@
             tab_url: all_result[5],
             export_url: all_result[6],
             page_title: all_result[7]
-          });
+          },
+            is_desktop = all_result[8];
+          if (is_desktop) {
+            options.add_url = all_result[9];
+          }
+          return gadget.updateHeader(options);
         });
     });
 
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_view_js.xml b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_view_js.xml
index 0c68eedb6f..2c68928e59 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_view_js.xml
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_view_js.xml
@@ -230,7 +230,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>965.14600.20468.49988</string> </value>
+                <value> <string>965.39384.38396.19200</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -248,7 +248,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1517561447.52</float>
+                        <float>1519047884.69</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
-- 
2.30.9