From 888adb8918ac596ee8e368270409335f9bdd3bc2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 9 Dec 2020 12:04:30 +0100
Subject: [PATCH] officejs_support_request_ui: always update list of services
 on "New Support Request"

If we only refresh this list when user selects another project, we don't
support the case where there's only one project available for user, because
the list of services is the default one, not the one filtered for the
select project.
---
 ...dget_supportrequest_fast_view_dialog_js.js | 42 +++++++++++--------
 ...get_supportrequest_fast_view_dialog_js.xml |  4 +-
 2 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/bt5/erp5_officejs_support_request_ui/PathTemplateItem/web_page_module/gadget_supportrequest_fast_view_dialog_js.js b/bt5/erp5_officejs_support_request_ui/PathTemplateItem/web_page_module/gadget_supportrequest_fast_view_dialog_js.js
index 03435b9091..e697fd7905 100644
--- a/bt5/erp5_officejs_support_request_ui/PathTemplateItem/web_page_module/gadget_supportrequest_fast_view_dialog_js.js
+++ b/bt5/erp5_officejs_support_request_ui/PathTemplateItem/web_page_module/gadget_supportrequest_fast_view_dialog_js.js
@@ -41,31 +41,37 @@
         })
         .push(function (hateoas_url) {
           gadget.hateoas_url = hateoas_url;
+        }).push(function () {
+          gadget.updateResourceListField();
         });
     })
     .declareMethod('triggerSubmit', function () {
       return this.form.triggerSubmit();
     })
+    .declareJob('updateResourceListField', function () {
+      var gadget = this,
+        selectedProject = document.getElementById('field_your_project').value;
+      return gadget.jio_getAttachment(
+        'support_request_module',
+        gadget.hateoas_url + 'support_request_module'
+          + "/SupportRequest_getSupportTypeList"
+          + "?project_id=" + selectedProject + "&json_flag=True"
+      ).push(function (sp_list) {
+        var i, j,
+          sp_select = document.getElementById('field_your_resource');
+        for (i = sp_select.options.length - 1; i >= 0; i -= 1) {
+          sp_select.remove(i);
+        }
+
+        for (j = 0; j < sp_list.length; j += 1) {
+          sp_select.options[j] = new Option(sp_list[j][0], sp_list[j][1]);
+        }
+      });
+    })
     .onEvent('change', function (evt) {
+      var gadget = this;
       if (evt.target.id === "field_your_project") {
-        var gadget = this;
-
-        return gadget.jio_getAttachment(
-          'support_request_module',
-          gadget.hateoas_url + 'support_request_module'
-            + "/SupportRequest_getSupportTypeList"
-            + "?project_id=" + evt.target.value + "&json_flag=True"
-        ).push(function (sp_list) {
-          var i, j,
-            sp_select = document.getElementById('field_your_resource');
-          for (i = sp_select.options.length - 1; i >= 0; i -= 1) {
-            sp_select.remove(i);
-          }
-
-          for (j = 0; j < sp_list.length; j += 1) {
-            sp_select.options[j] = new Option(sp_list[j][0], sp_list[j][1]);
-          }
-        });
+        gadget.updateResourceListField();
       }
     }, false, false);
 }(window, rJS));
\ No newline at end of file
diff --git a/bt5/erp5_officejs_support_request_ui/PathTemplateItem/web_page_module/gadget_supportrequest_fast_view_dialog_js.xml b/bt5/erp5_officejs_support_request_ui/PathTemplateItem/web_page_module/gadget_supportrequest_fast_view_dialog_js.xml
index c4adb3b61a..a6c52d9500 100644
--- a/bt5/erp5_officejs_support_request_ui/PathTemplateItem/web_page_module/gadget_supportrequest_fast_view_dialog_js.xml
+++ b/bt5/erp5_officejs_support_request_ui/PathTemplateItem/web_page_module/gadget_supportrequest_fast_view_dialog_js.xml
@@ -260,8 +260,8 @@
                           </tuple>
                           <state>
                             <tuple>
-                              <float>1540524000.73</float>
-                              <string>GMT+9</string>
+                              <float>1607511772.31</float>
+                              <string>GMT+1</string>
                             </tuple>
                           </state>
                         </object>
-- 
2.30.9