From c0984ee08a117d038a231f8f005335f097088922 Mon Sep 17 00:00:00 2001
From: Seamus Lee <seamus.lee@jmaconsulting.biz>
Date: Sat, 21 Mar 2020 11:20:39 +1100
Subject: [PATCH 1/4] Hide regulated services fields on initial load, if it is
 an individual listing hide the option to add additional staff and disable the
 pre-filling for the moment

---
 .../Form/ProviderApplicationForm.tpl          | 43 ++++++++++++-------
 1 file changed, 27 insertions(+), 16 deletions(-)

diff --git a/templates/CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl b/templates/CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl
index 6969040..26c6d43 100644
--- a/templates/CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl
+++ b/templates/CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl
@@ -153,14 +153,16 @@
       if (serviceProvider == "1") {
         $('.edit-row-organization_name').hide();
         $('.edit-row-organization_email').hide();
-          $('*[data-crm-custom="service_provider_details:Display_First_Name_and_Last_Name_in_public_listing"][value="1"]').prop({'checked': true});
-          $('*[data-crm-custom="service_provider_details:Display_First_Name_and_Last_Name_in_public_listing"]').parent('div.content').css('pointer-events', 'none');
+        $('*[data-crm-custom="service_provider_details:Display_First_Name_and_Last_Name_in_public_listing"][value="1"]').prop({'checked': true});
+        $('*[data-crm-custom="service_provider_details:Display_First_Name_and_Last_Name_in_public_listing"]').parent('div.content').css('pointer-events', 'none');
+        $('#add-another-staff').hide();
       }
       else {
         $('.edit-row-organization_name').show();
         $('.edit-row-organization_email').show();
         $('*[data-crm-custom="service_provider_details:Display_First_Name_and_Last_Name_in_public_listing"][value="1"]').prop({'checked': true});
         $('*[data-crm-custom="service_provider_details:Display_First_Name_and_Last_Name_in_public_listing"]').parent('div.content').css('pointer-events', 'all');
+        $('#add-another-staff').show();
       }
       $('[name=listing_type]').on('change', function() {
         if ($(this).val() == "1") {
@@ -168,12 +170,14 @@
           $('.edit-row-organization_email').hide();
           $('*[data-crm-custom="service_provider_details:Display_First_Name_and_Last_Name_in_public_listing"][value="1"]').prop({'checked': true});
           $('*[data-crm-custom="service_provider_details:Display_First_Name_and_Last_Name_in_public_listing"]').parent('div.content').css('pointer-events', 'none');
+          $('#add-another-staff').hide();
         }
         else {
           $('.edit-row-organization_name').show();
           $('.edit-row-organization_email').show();
           $('*[data-crm-custom="service_provider_details:Display_First_Name_and_Last_Name_in_public_listing"][value="1"]').prop({'checked': true});
           $('*[data-crm-custom="service_provider_details:Display_First_Name_and_Last_Name_in_public_listing"]').parent('div.content').css('pointer-events', 'all');
+          $('#add-another-staff').show();
         }
       });
 
@@ -278,20 +282,20 @@
           for (var i=1; i<=countcheck; i++) {
             $('#staff_member-' + i).removeClass('hiddenElement');
           }
-          var count = 1;
-          service.each(function(i, v) {
-            var id = v.getAttribute('id');
-            var label = $('label[for="' + id + '"]').html();
-            var field = parseInt(id.split('_').pop());
-            var regulatorMapping = {/literal}'{$regulator_services}'{literal};
-            regulatorMapping = JSON.parse(regulatorMapping);
-            if (field && regulatorMapping.hasOwnProperty(field)) {
-              $('#staff_record_regulator_' + count).val('https://www.' + regulatorMapping[field].split(',').pop());
-              $('.crm-label-' + count).remove();
-              $('#staff_member-' + count).find('div.crm-section:nth-child(3)').append('<div class="content crm-label-' + count + '">' + label + '</div>');
-              count++;
-            }
-          });
+          //var count = 1;
+          //service.each(function(i, v) {
+            //var id = v.getAttribute('id');
+            //var label = $('label[for="' + id + '"]').html();
+            //var field = parseInt(id.split('_').pop());
+            //var regulatorMapping = {/literal}'{$regulator_services}'{literal};
+            //regulatorMapping = JSON.parse(regulatorMapping);
+            //if (field && regulatorMapping.hasOwnProperty(field)) {
+              //$('#staff_record_regulator_' + count).val('https://www.' + regulatorMapping[field].split(',').pop());
+              //$('.crm-label-' + count).remove();
+              //$('#staff_member-' + count).find('div.crm-section:nth-child(3)').append('<div class="content crm-label-' + count + '">' + label + '</div>');
+              //count++;
+            //}
+          //});
         }
       }
 
@@ -321,6 +325,13 @@
         $('#staff_last_name_1').val($(this).val()).trigger('change');
       });
       var selector = {/literal}'{$IS_REGULATED_SERVICE}'{literal};
+      selectorVal = $('[name=' + selector + ']:checked').val();
+      if (selectorVal == "1") {
+        servies.show();
+      }
+      else {
+        services.hide();
+      }
       $('[name=' + selector + ']').change(function() {
         var rsSelector = {/literal}'{$REGULATED_SERVICE_CF}'{literal};
         if ($(this).val() == "1") {
-- 
GitLab


From 20fcf6b8e552193d6c27404b051baf8e5661dfa0 Mon Sep 17 00:00:00 2001
From: Seamus Lee <seamus.lee@jmaconsulting.biz>
Date: Sat, 21 Mar 2020 11:28:18 +1100
Subject: [PATCH 2/4] Fixes follwoing testing

---
 .../CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl  | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/templates/CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl b/templates/CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl
index 26c6d43..e1c1288 100644
--- a/templates/CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl
+++ b/templates/CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl
@@ -325,12 +325,13 @@
         $('#staff_last_name_1').val($(this).val()).trigger('change');
       });
       var selector = {/literal}'{$IS_REGULATED_SERVICE}'{literal};
-      selectorVal = $('[name=' + selector + ']:checked').val();
+      var selectorVal = $('[name=' + selector + ']:checked').val();
+      var regulatedServices =  $('#editrow-' + {/literal}'{$REGULATED_SERVICE_CF}'{literal});
       if (selectorVal == "1") {
-        servies.show();
+        regulatedServices.show();
       }
       else {
-        services.hide();
+        regulatedServices.hide();
       }
       $('[name=' + selector + ']').change(function() {
         var rsSelector = {/literal}'{$REGULATED_SERVICE_CF}'{literal};
-- 
GitLab


From 84c3c9b9927d0bae5ebd2eb60ba5357ce9765b9d Mon Sep 17 00:00:00 2001
From: Seamus Lee <seamus.lee@jmaconsulting.biz>
Date: Sat, 21 Mar 2020 11:43:52 +1100
Subject: [PATCH 3/4] Hide new other langauge field on initial load and only
 show if other lanague is selected

---
 .../Form/ProviderApplicationForm.php            |  2 ++
 aoservicelisting.constants.inc                  |  2 ++
 .../Form/ProviderApplicationForm.tpl            | 17 +++++++++++++++++
 3 files changed, 21 insertions(+)

diff --git a/CRM/Aoservicelisting/Form/ProviderApplicationForm.php b/CRM/Aoservicelisting/Form/ProviderApplicationForm.php
index c2445cd..b451af2 100644
--- a/CRM/Aoservicelisting/Form/ProviderApplicationForm.php
+++ b/CRM/Aoservicelisting/Form/ProviderApplicationForm.php
@@ -131,6 +131,8 @@ class CRM_Aoservicelisting_Form_ProviderApplicationForm extends CRM_Aoservicelis
     $this->buildCustom(SERVICELISTING_PROFILE2, 'profile2');
     $this->assign('REGULATED_SERVICE_CF', REGULATED_SERVICE_CF);
     $this->assign('IS_REGULATED_SERVICE', IS_REGULATED_SERVICE);
+    $this->assign('OTHER_LANGUAGE', OTHER_LANGUAGE);
+    $this->assign('LANGUAGES', LANGUAGES);
     $this->assign('regulator_services', json_encode(CRM_Core_OptionGroup::values('regulator_url_mapping')));
 
     // this part is to render camp fields
diff --git a/aoservicelisting.constants.inc b/aoservicelisting.constants.inc
index 6129f26..1f41fc8 100644
--- a/aoservicelisting.constants.inc
+++ b/aoservicelisting.constants.inc
@@ -13,3 +13,5 @@
   define('STATUS', 'custom_904');
   define('RECEIVED_MESSAGE', 90);
   define('APPROVED_MESSAGE', 91);
+  define('OTHER_LANGUAGE', 'custom_905');
+  define('LANGUAGES', 'custom_899');
diff --git a/templates/CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl b/templates/CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl
index e1c1288..6e23dba 100644
--- a/templates/CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl
+++ b/templates/CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl
@@ -360,6 +360,23 @@
           $('#regulated-staff-message').hide();
         }
       });
+      var otherLanguageField = $('#editrow-' + {/literal}'{$OTHER_LANGUAGE}'{literal});
+      var languageField = $({/literal}'{$LANGUAGES}'{literal});
+      var languageValues = languageField.val();
+      if ($.inArray('Other Language', languageValues) !== -1) {
+        otherLanguageField.show();
+      }
+      else {
+        otherLanguageField.hide();
+      }
+      languageField.change(function() {
+        if (.inArray('Other Language', $(this).val()) !== -1) {
+          otherLanguageField.show();
+        }
+        else {
+          otherLanguageField.hide();
+        }
+      });
     });
   </script>
 {/literal}
-- 
GitLab


From 701471d71d428cad9a40305c92dbd49723388347 Mon Sep 17 00:00:00 2001
From: Seamus Lee <seamus.lee@jmaconsulting.biz>
Date: Sat, 21 Mar 2020 11:49:24 +1100
Subject: [PATCH 4/4] Make changs following testing on the form

---
 .../CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl     | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/templates/CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl b/templates/CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl
index 6e23dba..9b244d3 100644
--- a/templates/CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl
+++ b/templates/CRM/Aoservicelisting/Form/ProviderApplicationForm.tpl
@@ -361,7 +361,7 @@
         }
       });
       var otherLanguageField = $('#editrow-' + {/literal}'{$OTHER_LANGUAGE}'{literal});
-      var languageField = $({/literal}'{$LANGUAGES}'{literal});
+      var languageField = $('#' + {/literal}'{$LANGUAGES}'{literal});
       var languageValues = languageField.val();
       if ($.inArray('Other Language', languageValues) !== -1) {
         otherLanguageField.show();
@@ -370,7 +370,7 @@
         otherLanguageField.hide();
       }
       languageField.change(function() {
-        if (.inArray('Other Language', $(this).val()) !== -1) {
+        if ($.inArray('Other Language', $(this).val()) !== -1) {
           otherLanguageField.show();
         }
         else {
-- 
GitLab