Force membership auto-renew on by default
[civicrm-core.git] / templates / CRM / Contribute / Form / Contribution / MembershipBlock.tpl
CommitLineData
6a488035
TO
1{*
2 +--------------------------------------------------------------------+
1188c7a8 3 | Copyright CiviCRM LLC. All rights reserved. |
6a488035 4 | |
1188c7a8
TO
5 | This work is published under the GNU AGPLv3 license with some |
6 | permitted exceptions and without any warranty. For full license |
7 | and copyright information, see https://civicrm.org/licensing |
6a488035
TO
8 +--------------------------------------------------------------------+
9*}
10{if !empty($useForMember) AND !$is_quick_config}
a7aa881c
MWMC
11 <div id="membership" class="crm-group membership-group">
12 {if $context EQ "makeContribution"}
13 <div id="priceset">
6a488035 14 <fieldset>
a7aa881c 15 {if $renewal_mode}
6a488035 16 {if $membershipBlock.renewal_title}
a7aa881c 17 <legend>{$membershipBlock.renewal_title}</legend>
6a488035
TO
18 {/if}
19 {if $membershipBlock.renewal_text}
a7aa881c
MWMC
20 <div id="membership-intro" class="crm-section membership_renewal_intro-section">
21 {$membershipBlock.renewal_text}
22 </div>
6a488035 23 {/if}
a7aa881c
MWMC
24 {else}
25 {if $membershipBlock.new_title}
6a488035 26 <legend>{$membershipBlock.new_title}</legend>
a7aa881c
MWMC
27 {/if}
28 {if $membershipBlock.new_text}
6a488035 29 <div id="membership-intro" class="crm-section membership_new_intro-section">
a7aa881c 30 {$membershipBlock.new_text}
6a488035 31 </div>
a7aa881c 32 {/if}
6a488035 33 {/if}
a7aa881c 34 {if !empty($membershipTypes)}
6a488035 35 {foreach from=$membershipTypes item=row}
a7aa881c
MWMC
36 {if array_key_exists( 'current_membership', $row )}
37 <div id='help'>
38 {* Lifetime memberships have no end-date so current_membership array key exists but is NULL *}
39 {if $row.current_membership}
fc6f60f4 40 {if $row.current_membership|crmDate:"%Y%m%d" LT $smarty.now|crmDate:"%Y%m%d"}
a7aa881c 41 {ts 1=$row.current_membership|crmDate 2=$row.name}Your <strong>%2</strong> membership expired on %1.{/ts}<br />
6a488035 42 {else}
a7aa881c 43 {ts 1=$row.current_membership|crmDate 2=$row.name}Your <strong>%2</strong> membership expires on %1.{/ts}<br />
6a488035 44 {/if}
a7aa881c
MWMC
45 {else}
46 {ts 1=$row.name}Your <strong>%1</strong> membership does not expire (you do not need to renew that membership).{/ts}<br />
47 {/if}
48 </div>
49 {/if}
6a488035 50 {/foreach}
a7aa881c 51 {/if}
6a488035 52
a7aa881c 53 {include file="CRM/Price/Form/PriceSet.tpl" extends="Membership"}
6a488035 54 </fieldset>
a7aa881c
MWMC
55 </div>
56 {elseif $lineItem and $priceSetID AND !$is_quick_config}
57 {assign var="totalAmount" value=$amount}
58 <div class="header-dark">
59 {ts}Membership Fee{/ts}
60 </div>
61 <div class="display-block">
62 {include file="CRM/Price/Page/LineItem.tpl" context="Membership"}
63 </div>
64 {/if}
6a488035 65 </div>
6a488035 66{literal}
a7aa881c
MWMC
67 <script type="text/javascript">
68 CRM.$(function($) {
69 //if price set is set we use below below code to show for showing auto renew
70 var autoRenewOption = {/literal}'{$autoRenewOption}'{literal};
71 var autoRenew = $("#auto_renew_section");
72 var autoRenewCheckbox = $("#auto_renew");
73 var forceRenew = $("#force_renew");
74 autoRenew.hide();
75 forceRenew.hide();
76 if ( autoRenewOption == 1 ) {
c843169c 77 autoRenew.show();
a7aa881c 78 } else if ( autoRenewOption == 2 ) {
81308445
JP
79 autoRenewCheckbox.prop('checked', true );
80 autoRenewCheckbox.attr( 'readonly', true );
c843169c
MW
81 autoRenew.hide();
82 forceRenew.show();
a7aa881c
MWMC
83 }
84 });
85 </script>
6a488035
TO
86{/literal}
87{elseif $membershipBlock AND !$is_quick_config}
a7aa881c
MWMC
88 <div id="membership" class="crm-group membership-group">
89 {if $context EQ "makeContribution"}
90 <fieldset>
6a488035
TO
91 {if $renewal_mode }
92 {if $membershipBlock.renewal_title}
a7aa881c 93 <legend>{$membershipBlock.renewal_title}</legend>
6a488035
TO
94 {/if}
95 {if $membershipBlock.renewal_text}
a7aa881c
MWMC
96 <div id="membership-intro" class="crm-section membership_renewal_intro-section">
97 <p>{$membershipBlock.renewal_text}</p>
98 </div>
6a488035
TO
99 {/if}
100
101 {else}
102 {if $membershipBlock.new_title}
a7aa881c 103 <legend>{$membershipBlock.new_title}</legend>
6a488035
TO
104 {/if}
105 {if $membershipBlock.new_text}
a7aa881c
MWMC
106 <div id="membership-intro" class="crm-section membership_new_intro-section">
107 <p>{$membershipBlock.new_text}</p>
108 </div>
6a488035
TO
109 {/if}
110 {/if}
a7aa881c
MWMC
111 {/if}
112 {if $context neq "makeContribution" }
6a488035 113 <div class="header-dark">
a7aa881c
MWMC
114 {if $renewal_mode }
115 {if $membershipBlock.renewal_title}
116 {$membershipBlock.renewal_title}
117 {else}
118 {ts}Select a Membership Renewal Level{/ts}
119 {/if}
6a488035 120
a7aa881c
MWMC
121 {else}
122 {if $membershipBlock.new_title}
123 {$membershipBlock.new_title}
6a488035 124 {else}
a7aa881c 125 {ts}Select a Membership Level{/ts}
6a488035 126 {/if}
a7aa881c 127 {/if}
6a488035 128 </div>
a7aa881c 129 {/if}
6a488035 130
a7aa881c
MWMC
131 {if $context EQ "makeContribution"}
132 </fieldset>
6a488035 133 {/if}
a7aa881c 134 </div>
6a488035
TO
135
136{/if}{* membership block end here *}
137
138{if $membershipBlock AND $is_quick_config}
a7aa881c
MWMC
139 {if $context neq "makeContribution" }
140 <div class="header-dark">
141 {if $renewal_mode }
142 {if $membershipBlock.renewal_title}
143 {$membershipBlock.renewal_title}
144 {else}
145 {ts}Select a Membership Renewal Level{/ts}
146 {/if}
147 {else}
148 {if $membershipBlock.new_title}
149 {$membershipBlock.new_title}
150 {else}
151 {ts}Select a Membership Level{/ts}
6a488035 152 {/if}
a7aa881c 153 {/if}
6a488035 154 </div>
a7aa881c
MWMC
155 {/if}
156 {strip}
157 <table id="membership-listings">
158 {foreach from=$membershipTypes item=row}
6a488035 159 <tr {if $context EQ "makeContribution"}class="odd-row" {/if}valign="top">
a7aa881c
MWMC
160 {if $showRadio }
161 {assign var="pid" value=$row.id}
162 <td style="width: 1em;">{$form.selectMembership.$pid.html}</td>
163 {else}
164 <td>&nbsp;</td>
165 {/if}
166 <td style="width: auto;">
6a488035
TO
167 <span class="bold">{$row.name} &nbsp;
168 {if ($membershipBlock.display_min_fee AND $context EQ "makeContribution") AND $row.minimum_fee GT 0 }
a7aa881c
MWMC
169 {if $is_separate_payment OR ! $form.amount.label}
170 &ndash; {$row.minimum_fee|crmMoney}
171 {else}
172 {ts 1=$row.minimum_fee|crmMoney}(contribute at least %1 to be eligible for this membership){/ts}
173 {/if}
6a488035
TO
174 {/if}
175 </span><br />
a7aa881c
MWMC
176 {$row.description} &nbsp;
177 </td>
6a488035 178
a7aa881c
MWMC
179 <td style="width: auto;">
180 {* Check if there is an existing membership of this type (current_membership NOT empty) and if the end-date is prior to today. *}
181 {if array_key_exists( 'current_membership', $row ) AND $context EQ "makeContribution" }
182 {if $row.current_membership}
fc6f60f4 183 {if $row.current_membership|crmDate:"%Y%m%d" LT $smarty.now|crmDate:"%Y%m%d"}
a7aa881c
MWMC
184 <br /><em>{ts 1=$row.current_membership|crmDate 2=$row.name}Your <strong>%2</strong> membership expired on %1.{/ts}</em>
185 {else}
186 <br /><em>{ts 1=$row.current_membership|crmDate 2=$row.name}Your <strong>%2</strong> membership expires on %1.{/ts}</em>
187 {/if}
6a488035 188 {else}
a7aa881c 189 {ts 1=$row.name}Your <strong>%1</strong> membership does not expire (you do not need to renew that membership).{/ts}<br />
6a488035 190 {/if}
a7aa881c
MWMC
191 {else}
192 &nbsp;
193 {/if}
194 </td>
6a488035
TO
195 </tr>
196
a7aa881c 197 {/foreach}
b62f69b2 198 {if $form.auto_renew}
a7aa881c 199 <tr id="allow_auto_renew">
6a488035
TO
200 <td style="width: auto;">{$form.auto_renew.html}</td>
201 <td style="width: auto;">
a7aa881c 202 {$form.auto_renew.label}
6a488035 203 </td>
a7aa881c
MWMC
204 </tr>
205 {/if}
206 {if $showRadio}
207 {if $showRadioNoThanks } {* Provide no-thanks option when Membership signup is not required - per membership block configuration. *}
208 <tr class="odd-row">
209 <td>{$form.selectMembership.no_thanks.html}</td>
210 <td colspan="2"><strong>{ts}No thank you{/ts}</strong></td>
6a488035
TO
211 </tr>
212 {/if}
a7aa881c
MWMC
213 {/if}
214 </table>
215 {/strip}
6a488035
TO
216{/if}
217{* Include JS for auto renew membership if priceset is Quick Config*}
dfa81da9 218{if $membershipBlock}
6a488035 219{literal}
a7aa881c
MWMC
220 <script type="text/javascript">
221 CRM.$(function($) {
222 showHideAutoRenew( null );
223 });
224 function showHideAutoRenew( memTypeId )
225 {
226 var priceSetName = "price_"+{/literal}'{$membershipFieldID}'{literal};
227 var considerUserInput = {/literal}'{$takeUserSubmittedAutoRenew}'{literal};
228 if ( memTypeId ) considerUserInput = false;
229 if ( !memTypeId ) memTypeId = cj('input:radio[name='+priceSetName+']:checked').attr('membership-type');
6a488035 230
a7aa881c
MWMC
231 //does this page has only one membership type.
232 var singleMembership = {/literal}'{$singleMembership}'{literal};
233 if ( !memTypeId && singleMembership ) memTypeId = cj("input:radio[name="+priceSetName+"]").attr('membership-type');
234 var renewOptions = {/literal}{$autoRenewMembershipTypeOptions}{literal};
235 var currentOption = eval( "renewOptions." + 'autoRenewMembershipType_' + memTypeId );
236 var autoRenew = cj('#auto_renew_section');
237 var autoRenewC = cj('input[name="auto_renew"]');
238 var forceRenew = cj("#force_renew");
6a488035 239
a7aa881c
MWMC
240 var readOnly = false;
241 var isChecked = false;
242 if ( currentOption == 0 ) {
243 isChecked = false;
244 forceRenew.hide();
245 autoRenew.hide();
246 }
247 if ( currentOption == 1 ) {
248 forceRenew.hide();
249 autoRenew.show();
6a488035 250
a7aa881c
MWMC
251 //uncomment me, if we'd like
252 //to load auto_renew checked.
253 //isChecked = true;
254 } else if ( currentOption == 2 || currentOption == 4) {
255 autoRenew.hide();
256 forceRenew.show();
257 isChecked = readOnly = true;
258 }
6a488035 259
d4780bd8
RR
260 // quidam Wed Feb 12 17:48:40 EST 2020
261 isChecked = true;
262
a7aa881c 263 if ( considerUserInput ) isChecked = autoRenew.prop('checked' );
6a488035 264
a7aa881c
MWMC
265 //its a normal recur contribution.
266 if ( cj( "is_recur" ) &&
267 ( cj( 'input:radio[name="is_recur"]:checked').val() == 1 ) ) {
268 isChecked = false;
269 autoRenew.hide();
270 forceRenew.hide();
271 }
6a488035 272
a7aa881c
MWMC
273 autoRenewC.attr( 'readonly', readOnly );
274 autoRenewC.prop('checked', isChecked );
275 }
6a488035 276
a7aa881c
MWMC
277 {/literal}{if $allowAutoRenewMembership}{literal}
278 CRM.$(function($) {
279 //keep read only always checked.
280 cj( "#auto_renew" ).click(function( ) {
6a488035 281 if ( cj(this).attr( 'readonly' ) ) {
a7aa881c 282 cj(this).prop('checked', true );
6a488035 283 }
a7aa881c
MWMC
284 });
285 });
286 {/literal}{/if}{literal}
287 </script>
6a488035
TO
288{/literal}
289{/if}