Merge pull request #17526 from mattwire/frontendrequiredpaymentfrequency
authorEileen McNaughton <emcnaughton@wikimedia.org>
Fri, 17 Jul 2020 06:49:34 +0000 (18:49 +1200)
committerGitHub <noreply@github.com>
Fri, 17 Jul 2020 06:49:34 +0000 (18:49 +1200)
Disable frequency/interval fields if not required. Mark required if they are so they are validated before submit

templates/CRM/Contribute/Form/Contribution/Main.tpl

index 0b6a9443bb633358a9cd5aa5907cb1eaafbb0bb5..c56308b119893fa2025c2afe7e1f52130196d6aa 100644 (file)
       var isRecur = cj('input[id="is_recur"]:checked');
       var allowAutoRenew = {/literal}'{$allowAutoRenewMembership}'{literal};
       var quickConfig = {/literal}{$quickConfig}{literal};
-      if ( allowAutoRenew && cj("#auto_renew") && quickConfig) {
+      if (allowAutoRenew && cj("#auto_renew") && quickConfig) {
         showHideAutoRenew(null);
       }
+
+      var frequencyUnit = cj('#frequency_unit');
+      var frequencyInerval = cj('#frequency_interval');
+      var installments = cj('#installments');
+      isDisabled = false;
+
       if (isRecur.val() > 0) {
         cj('#recurHelp').show();
+        frequencyUnit.prop('disabled', false).addClass('required');
+        frequencyInerval.prop('disabled', false).addClass('required');
+        installments.prop('disabled', false);
         cj('#amount_sum_label').text('{/literal}{ts escape='js'}Regular amount{/ts}{literal}');
       }
       else {
         cj('#recurHelp').hide();
+        frequencyUnit.prop('disabled', true).removeClass('required');
+        frequencyInerval.prop('disabled', true).removeClass('required');
+        installments.prop('disabled', true);
         cj('#amount_sum_label').text('{/literal}{ts escape='js'}Total Amount{/ts}{literal}');
       }
     }