From 596083cc14a049cde48f371bd60d504c3dc2b4e7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9dric=20Le=20Ninivin?= <cedric.leninivin@tiolive.com>
Date: Wed, 25 Jan 2017 10:52:49 +0000
Subject: [PATCH] erp5_travel_expense: Have Left leaves days displayed in the
 application

---
 .../web_page_module/gadget_hr_jio_js.js       |   1 +
 .../web_page_module/gadget_hr_jio_js.xml      |   6 +-
 .../gadget_hr_leave_request_list_js.js        |  25 +-
 .../gadget_hr_leave_request_list_js.xml       |   4 +-
 .../LeaveReportRecord_viewAsJio.xml           |   1 +
 .../your_confirmed_leaves_days_left.xml       | 287 ++++++++++++++++++
 6 files changed, 316 insertions(+), 8 deletions(-)
 create mode 100644 bt5/erp5_travel_expense/SkinTemplateItem/portal_skins/erp5_hr_record/LeaveReportRecord_viewAsJio/your_confirmed_leaves_days_left.xml

diff --git a/bt5/erp5_travel_expense/PathTemplateItem/web_page_module/gadget_hr_jio_js.js b/bt5/erp5_travel_expense/PathTemplateItem/web_page_module/gadget_hr_jio_js.js
index 2d77bfde9e..069f6a04da 100644
--- a/bt5/erp5_travel_expense/PathTemplateItem/web_page_module/gadget_hr_jio_js.js
+++ b/bt5/erp5_travel_expense/PathTemplateItem/web_page_module/gadget_hr_jio_js.js
@@ -291,6 +291,7 @@
             query: {
               query: '(portal_type: "Expense Record" AND simulation_state:("draft","sent","stopped")) ' +
                 'OR (portal_type: "Travel Request Record" AND simulation_state:("draft","sent","stopped")) ' +
+                'OR (portal_type: "Leave Report Record" AND simulation_state:"stopped") ' +
                 'OR (portal_type: "Leave Request Record" AND simulation_state:("draft","sent","stopped")) ' +
                 'OR (portal_type: "Localisation Record" AND simulation_state:("draft","stopped")) ' +
                 'OR (portal_type: "Currency" AND validation_state:"validated") ' +
diff --git a/bt5/erp5_travel_expense/PathTemplateItem/web_page_module/gadget_hr_jio_js.xml b/bt5/erp5_travel_expense/PathTemplateItem/web_page_module/gadget_hr_jio_js.xml
index 3607a9aada..d9f78da962 100644
--- a/bt5/erp5_travel_expense/PathTemplateItem/web_page_module/gadget_hr_jio_js.xml
+++ b/bt5/erp5_travel_expense/PathTemplateItem/web_page_module/gadget_hr_jio_js.xml
@@ -224,7 +224,7 @@
             </item>
             <item>
                 <key> <string>actor</string> </key>
-                <value> <string>zope</string> </value>
+                <value> <string>supercedriclen</string> </value>
             </item>
             <item>
                 <key> <string>comment</string> </key>
@@ -238,7 +238,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>956.48987.17944.33809</string> </value>
+                <value> <string>956.55783.61341.2013</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -256,7 +256,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1485178892.56</float>
+                        <float>1485339651.94</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_travel_expense/PathTemplateItem/web_page_module/gadget_hr_leave_request_list_js.js b/bt5/erp5_travel_expense/PathTemplateItem/web_page_module/gadget_hr_leave_request_list_js.js
index 32bb2e7f3b..d758fe5741 100644
--- a/bt5/erp5_travel_expense/PathTemplateItem/web_page_module/gadget_hr_leave_request_list_js.js
+++ b/bt5/erp5_travel_expense/PathTemplateItem/web_page_module/gadget_hr_leave_request_list_js.js
@@ -1,6 +1,6 @@
-/*globals window, RSVP, rJS*/
+/*globals window, RSVP, rJS, document*/
 /*jslint indent: 2, nomen: true, maxlen: 80*/
-(function (window, RSVP, rJS) {
+(function (window, RSVP, rJS, document) {
   "use strict";
 
   rJS(window)
@@ -96,7 +96,26 @@
               sort_on: [["start_date", "descending"]]
             }
           });
+        })
+        .push(function () {
+          return gadget.jio_allDocs({
+            query: 'portal_type: "Leave Report Record"',
+            select_list: ["confirmed_leaves_days_left"],
+            });
+        })
+        .push(function (result) {
+          var p;
+          if (result.data.total_rows != 1) {
+            return;
+          }
+          p = document.createElement("p");
+          p.textContent = "Leaves days left: " 
+            + result.data.rows[0].value.confirmed_leaves_days_left;
+          gadget.props.element.insertBefore(
+            p,
+            gadget.props.element.querySelector("div")
+          );
         });
     });
 
-}(window, RSVP, rJS));
\ No newline at end of file
+}(window, RSVP, rJS, document));
\ No newline at end of file
diff --git a/bt5/erp5_travel_expense/PathTemplateItem/web_page_module/gadget_hr_leave_request_list_js.xml b/bt5/erp5_travel_expense/PathTemplateItem/web_page_module/gadget_hr_leave_request_list_js.xml
index b1c1958ba7..2c55f9ce02 100644
--- a/bt5/erp5_travel_expense/PathTemplateItem/web_page_module/gadget_hr_leave_request_list_js.xml
+++ b/bt5/erp5_travel_expense/PathTemplateItem/web_page_module/gadget_hr_leave_request_list_js.xml
@@ -270,7 +270,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>956.4266.40527.32802</string> </value>
+                <value> <string>956.57347.13686.32631</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -288,7 +288,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1482923348.1</float>
+                        <float>1485341013.1</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_travel_expense/SkinTemplateItem/portal_skins/erp5_hr_record/LeaveReportRecord_viewAsJio.xml b/bt5/erp5_travel_expense/SkinTemplateItem/portal_skins/erp5_hr_record/LeaveReportRecord_viewAsJio.xml
index 6c8cc08f66..9b543acf75 100644
--- a/bt5/erp5_travel_expense/SkinTemplateItem/portal_skins/erp5_hr_record/LeaveReportRecord_viewAsJio.xml
+++ b/bt5/erp5_travel_expense/SkinTemplateItem/portal_skins/erp5_hr_record/LeaveReportRecord_viewAsJio.xml
@@ -80,6 +80,7 @@
                         <string>your_simulation_state</string>
                         <string>your_total_leaves_days_confirmed</string>
                         <string>your_total_leaves_days_planned</string>
+                        <string>your_confirmed_leaves_days_left</string>
                       </list>
                     </value>
                 </item>
diff --git a/bt5/erp5_travel_expense/SkinTemplateItem/portal_skins/erp5_hr_record/LeaveReportRecord_viewAsJio/your_confirmed_leaves_days_left.xml b/bt5/erp5_travel_expense/SkinTemplateItem/portal_skins/erp5_hr_record/LeaveReportRecord_viewAsJio/your_confirmed_leaves_days_left.xml
new file mode 100644
index 0000000000..69b07c28a8
--- /dev/null
+++ b/bt5/erp5_travel_expense/SkinTemplateItem/portal_skins/erp5_hr_record/LeaveReportRecord_viewAsJio/your_confirmed_leaves_days_left.xml
@@ -0,0 +1,287 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_confirmed_leaves_days_left</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>input_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>input_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>input_type</string> </key>
+                    <value> <string>text</string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Confirmed Leaves Days Left</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: 25.0 + here.getPortalObject().portal_simulation.getAvailableInventory(portal_type="Leave Request Period",node_uid=here.getDestinationUid(),)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
-- 
2.30.9