From 6bcbd1edf945cfae1ca015c6246786d218c848c7 Mon Sep 17 00:00:00 2001
From: Romain Courteaud <romain@nexedi.com>
Date: Fri, 25 Nov 2016 14:28:33 +0000
Subject: [PATCH] [erp5_web_renderjs_ui] Format read only datetime

Localization should be done by fetching the locales and provide it as parameter to toLocaleDateString.
---
 .../rjs_gadget_erp5_datetimefield_js.js       | 21 ++++++++++++++++---
 .../rjs_gadget_erp5_datetimefield_js.xml      |  4 ++--
 2 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_datetimefield_js.js b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_datetimefield_js.js
index 78e540fd4b..3650cfd9c1 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_datetimefield_js.js
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_datetimefield_js.js
@@ -224,8 +224,14 @@
       } else {
         queue
           .push(function (gadget_list) {
-            p_state.text_content = gadget.state.value;
-            return gadget_list[0].render(p_state);
+            return RSVP.all([
+              gadget_list[0],
+              gadget.getTextContent()
+            ]);
+          })
+          .push(function (result_list) {
+            p_state.text_content = result_list[1];
+            return result_list[0].render(p_state);
           });
       }
       return queue;
@@ -341,7 +347,16 @@
     })
 
     .declareMethod('getTextContent', function () {
-      return this.state.value || "";
+      var result = "",
+        date;
+      if (this.state.value) {
+        date = new Date(this.state.value);
+        result = date.toLocaleDateString();
+        if (!this.state.date_only) {
+          result += " " + date.toLocaleTimeString();
+        }
+      }
+      return result;
     })
 
     .declareMethod('checkValidity', function () {
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_datetimefield_js.xml b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_datetimefield_js.xml
index 2e2f881ca5..880e50a11a 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_datetimefield_js.xml
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_datetimefield_js.xml
@@ -224,7 +224,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>954.45772.6944.63351</string> </value>
+                <value> <string>955.33816.11447.60450</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -242,7 +242,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1479375786.87</float>
+                        <float>1480083572.88</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
-- 
2.30.9