From d98b99d2dbb77592db72706aa97372280c9f7283 Mon Sep 17 00:00:00 2001
From: Bechu <vincent.bechu@nexedi.com>
Date: Fri, 16 Dec 2016 16:06:53 +0000
Subject: [PATCH] erp5_officejs: replace reload by renderApplication

---
 ..._officejs_page_jio_erp5_configurator_js.js | 88 ++++++++++---------
 ...officejs_page_jio_erp5_configurator_js.xml | 12 +--
 2 files changed, 52 insertions(+), 48 deletions(-)

diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_jio_erp5_configurator_js.js b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_jio_erp5_configurator_js.js
index e35a74e3f6..bc85456922 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_jio_erp5_configurator_js.js
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_jio_erp5_configurator_js.js
@@ -8,48 +8,53 @@
     var erp5_url = gadget.props.element.querySelector("input[name='erp5_url']").value;
     return gadget.getSetting("portal_type")
       .push(function (portal_type) {
-        var old_date = new Date(),
-          configuration = {};
-        // We are looking for documents modified in the past 3 month
-        old_date = new Date(old_date.getFullYear(), old_date.getMonth(), old_date.getDate() - 15);
-        configuration = {
-          type: "replicate",
-          // XXX This drop the signature lists...
-          query: {
-            query: 'portal_type:"' + portal_type
-            // XX Synchonizing the whole module is too much, here is a way to start quietly
-            // Supsended until modification_date is handled for synchronization
-              + '" AND modification_date:>="'
-              + old_date.toISOString() + '" ',
-            limit: [0, 1234567890]
-          },
-          use_remote_post: true,
-          conflict_handling: 1,
-          check_local_modification: true,
-          check_local_creation: true,
-          check_local_deletion: false,
-          check_remote_modification: true,
-          check_remote_creation: true,
-          check_remote_deletion: true,
-          local_sub_storage: {
-            type: "query",
-            sub_storage: {
-              type: "uuid",
+        return gadget.setSetting(
+          'jio_storage_description',
+          {
+            type: "replicate",
+            use_remote_post: true,
+            conflict_handling: 1,
+            check_local_modification: true,
+            check_local_creation: true,
+            check_local_deletion: false,
+            check_remote_modification: true,
+            check_remote_creation: true,
+            check_remote_deletion: true,
+            query: {
+              query: 'portal_type:"' + portal_type + '" '
+            },
+            attachment_list: ["data"],
+            local_sub_storage: {
+              type: "query",
               sub_storage: {
-                type: "indexeddb",
-                database: "officejs-erp5"
+                type: "uuid",
+                sub_storage: {
+                  type: "indexeddb",
+                  database: "officejs-erp5"
+                }
+              }
+            },
+            remote_sub_storage: {
+              type: "mapping",
+              attachment_mapping_dict: {
+                "data": {
+                  "get": {
+                    "uri_template": (new URI("hateoas"))
+                                   .absoluteTo(erp5_url)
+                                   .toString() + "/{+id}?format="
+                  }
+                }
+              },
+              sub_storage: {
+                type: "erp5",
+                url: (new URI("hateoas"))
+                      .absoluteTo(erp5_url)
+                      .toString(),
+                default_view_reference: "jio_view"
               }
             }
-          },
-          remote_sub_storage: {
-            type: "erp5",
-            url: (new URI("hateoas"))
-                  .absoluteTo(erp5_url)
-                  .toString(),
-            default_view_reference: "jio_view"
           }
-        };
-        return gadget.setSetting('jio_storage_description', configuration);
+        );
       })
       .push(function () {
         return gadget.setSetting('jio_storage_name', "ERP5");
@@ -58,10 +63,7 @@
         return gadget.setGlobalSetting('erp5_url', erp5_url);
       })
       .push(function () {
-        return gadget.reload();
-      })
-      .push(function () {
-        return gadget.redirect({page: 'sync', auto_repair: 'true'});
+        return gadget.renderApplication({args:{page: 'sync', auto_repair: 'true'}});
       });
   }
 
@@ -78,9 +80,9 @@
     })
     .declareAcquiredMethod("updateHeader", "updateHeader")
     .declareAcquiredMethod("redirect", "redirect")
-    .declareAcquiredMethod("reload", "reload")
     .declareAcquiredMethod("getSetting", "getSetting")
     .declareAcquiredMethod("setSetting", "setSetting")
+    .declareAcquiredMethod("renderApplication","renderApplication")
     .declareMethod("getGlobalSetting", function (key) {
       var gadget = this;
       return gadget.getDeclaredGadget("global_setting_gadget")
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_jio_erp5_configurator_js.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_jio_erp5_configurator_js.xml
index 51c46475d6..ffdfc48b67 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_jio_erp5_configurator_js.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_jio_erp5_configurator_js.xml
@@ -138,11 +138,13 @@
             <key> <string>title</string> </key>
             <value> <string>OfficeJS jIO ERP5 Configurator Page JS</string> </value>
         </item>
+        <item>
+            <key> <string>url_string</string> </key>
+            <value> <string>gadget_officejs_page_jio_erp5_configurator.js</string> </value>
+        </item>
         <item>
             <key> <string>version</string> </key>
-            <value>
-              <none/>
-            </value>
+            <value> <string>001</string> </value>
         </item>
         <item>
             <key> <string>workflow_history</string> </key>
@@ -269,7 +271,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>954.38591.30253.42973</string> </value>
+                <value> <string>956.60.28713.5102</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -287,7 +289,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1476438691.35</float>
+                        <float>1481903967.67</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
-- 
2.30.9