2 +--------------------------------------------------------------------+
3 | CiviCRM version 4.7 |
4 +--------------------------------------------------------------------+
5 | Copyright CiviCRM LLC (c) 2004-2015 |
6 +--------------------------------------------------------------------+
7 | This file is a part of CiviCRM. |
9 | CiviCRM is free software; you can copy, modify, and distribute it |
10 | under the terms of the GNU Affero General Public License |
11 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
13 | CiviCRM is distributed in the hope that it will be useful, but |
14 | WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
16 | See the GNU Affero General Public License for more details. |
18 | You should have received a copy of the GNU Affero General Public |
19 | License and the CiviCRM Licensing Exception along |
20 | with this program; if not, contact CiviCRM LLC |
21 | at info[AT]civicrm[DOT]org. If you have questions about the |
22 | GNU Affero General Public License or the licensing of CiviCRM, |
23 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
24 +--------------------------------------------------------------------+
26 {* Callback snippet: Load payment processor *}
29 {include file="CRM/Event/Form/Registration/PreviewHeader.tpl"}
32 {include file="CRM/common/TrackingFields.tpl"}
34 <div class="crm-event-id-{$event.id} crm-block crm-event-register-form-block">
36 {* moved to tpl since need to show only for primary participant page *}
37 {if $requireApprovalMsg || $waitlistMsg}
38 <div id="id-waitlist-approval-msg" class="messages status no-popup">
39 {if $requireApprovalMsg}
40 <div id="id-req-approval-msg">{$requireApprovalMsg}</div>
43 <div id="id-waitlist-msg">{$waitlistMsg}</div>
49 <div class="messages status no-popup crm-not-you-message" id="crm-event-register-different">
50 {ts 1=$display_name}Welcome %1{/ts}. (<a
51 href="{crmURL p='civicrm/event/register' q="cid=0&reset=1&id=`$event.id`"}"
52 title="{ts}Click here to register a different person for this event.{/ts}">{ts 1=$display_name}Not %1, or want to register a different person{/ts}</a>?)
55 {if $event.intro_text}
56 <div id="intro_text" class="crm-section intro_text-section">
57 <p>{$event.intro_text}</p>
61 {include file="CRM/common/cidzero.tpl"}
62 {if $pcpSupporterText}
63 <div class="crm-section pcpSupporterText-section">
64 <div class="content">{$pcpSupporterText}</div>
68 {if $form.additional_participants.html}
69 <div class="crm-section additional_participants-section" id="noOfparticipants">
70 <div class="label">{$form.additional_participants.label} <span class="crm-marker" title="{ts}This field is required.{/ts}">*</span></div>
72 {$form.additional_participants.html}{if $contact_id || $contact_id == NULL} ({ts}including yourself{/ts}){/if}
75 class="description">{ts}Fill in your registration information on this page. If you are registering additional people, you will be able to enter their registration information after you complete this page and click "Continue".{/ts}</span>
77 <div class="clear"></div>
81 {* User account registration option. Displays if enabled for one of the profiles on this page. *}
82 {include file="CRM/common/CMSUser.tpl"}
84 {* Display "Top of page" profile immediately after the introductory text *}
85 {include file="CRM/UF/Form/Block.tpl" fields=$customPre}
88 {if ! $quickConfig}<fieldset id="priceset" class="crm-group priceset-group">
89 <legend>{$event.fee_label}</legend>{/if}
90 {include file="CRM/Price/Form/PriceSet.tpl" extends="Event"}
91 {include file="CRM/Price/Form/ParticipantCount.tpl"}
92 {if ! $quickConfig}</fieldset>{/if}
94 {if $pcp && $is_honor_roll }
95 <fieldset class="crm-group pcp-group">
96 <div class="crm-section pcp-section">
97 <div class="crm-section display_in_roll-section">
99 {$form.pcp_display_in_roll.html}
100 {$form.pcp_display_in_roll.label}
102 <div class="clear"></div>
104 <div id="nameID" class="crm-section is_anonymous-section">
105 <div class="content">
106 {$form.pcp_is_anonymous.html}
108 <div class="clear"></div>
110 <div id="nickID" class="crm-section pcp_roll_nickname-section">
111 <div class="label">{$form.pcp_roll_nickname.label}</div>
112 <div class="content">{$form.pcp_roll_nickname.html}
114 class="description">{ts}Enter the name you want listed with this contribution. You can use a nick name like 'The Jones Family' or 'Sarah and Sam'.{/ts}</div>
116 <div class="clear"></div>
118 <div id="personalNoteID" class="crm-section pcp_personal_note-section">
119 <div class="label">{$form.pcp_personal_note.label}</div>
120 <div class="content">
121 {$form.pcp_personal_note.html}
122 <div class="description">{ts}Enter a message to accompany this contribution.{/ts}</div>
124 <div class="clear"></div>
130 {if $form.payment_processor_id.label}
131 <fieldset class="crm-group payment_options-group" style="display:none;">
132 <legend>{ts}Payment Options{/ts}</legend>
133 <div class="crm-section payment_processor-section">
134 <div class="label">{$form.payment_processor_id.label}</div>
135 <div class="content">{$form.payment_processor_id.html}</div>
136 <div class="clear"></div>
141 <div id="billing-payment-block">
142 {* If we have a payment processor, load it - otherwise it happens via ajax *}
143 {if $paymentProcessorID or $isBillingAddressRequiredForPayLater}
144 {include file="CRM/Financial/Form/Payment.tpl" snippet=4}
147 {include file="CRM/common/paymentBlock.tpl"}
149 {include file="CRM/UF/Form/Block.tpl" fields=$customPost}
152 {include file='CRM/common/ReCAPTCHA.tpl'}
155 <div id="crm-submit-buttons" class="crm-submit-buttons">
156 {include file="CRM/common/formButtons.tpl" location="bottom"}
159 {if $event.footer_text}
160 <div id="footer_text" class="crm-section event_footer_text-section">
161 <p>{$event.footer_text}</p>
165 <script type="text/javascript">
168 cj("#additional_participants").change(function () {
176 // Hides billing and payment options block - but only if a price set is used.
177 // Called from display() in Calculate.tpl, depends on display() having been called.
178 function skipPaymentMethod() {
179 // If we're in quick-config price set, we do not have the pricevalue hidden element, so just return.
180 if (cj('#pricevalue').length == 0) {
183 // CRM-15433 Remove currency symbol, decimal separator so we can check for zero numeric total regardless of localization.
184 currentTotal = cj('#pricevalue').text().replace(/[^\/\d]/g,'');
185 var isMultiple = '{/literal}{$event.is_multiple_registrations}{literal}';
188 var payment_options = cj(".payment_options-group");
189 var payment_processor = cj("div.payment_processor-section");
190 var payment_information = cj("div#payment_information");
192 // Do not hide billing and payment blocks if user is registering additional participants, since we do not know total owing.
193 if (isMultiple && cj("#additional_participants").val() && currentTotal == 0) {
197 if (currentTotal == 0 && flag) {
198 payment_options.hide();
199 payment_processor.hide();
200 payment_information.hide();
201 // also unset selected payment methods
202 cj('input[name="payment_processor_id"]').removeProp('checked');
205 payment_options.show();
206 payment_processor.show();
207 payment_information.show();
215 <script type="text/javascript">
216 {/literal}{if $pcp && $is_honor_roll }pcpAnonymous();
219 function allowParticipant() {
220 {/literal}{if $allowGroupOnWaitlist}{literal}
221 var additionalParticipants = cj('#additional_participants').val();
222 var pricesetParticipantCount = 0;
223 {/literal}{if $priceSet}{literal}
224 pricesetParticipantCount = pPartiCount;
225 {/literal}{/if}{literal}
227 allowGroupOnWaitlist(additionalParticipants, pricesetParticipantCount);
228 {/literal}{/if}{literal}
231 {/literal}{if ($bypassPayment) and $paymentProcessor.payment_processor_type EQ 'PayPal_Express'}
233 showHidePayPalExpressOption();
234 {/literal}{/if}{literal}
236 function showHidePayPalExpressOption() {
237 if (( cj("#bypass_payment").val() == 1 )) {
238 cj("#crm-submit-buttons").show();
239 cj("#paypalExpress").hide();
242 cj("#paypalExpress").show();
243 cj("#crm-submit-buttons").hide();
247 {/literal}{if ($bypassPayment and $showHidePaymentInformation)}{literal}
248 showHidePaymentInfo();
249 {/literal} {/if}{literal}
251 function showHidePaymentInfo() {
252 if (( cj("#bypass_payment").val() == 1 )) {
253 cj('#billing-payment-block').hide();
256 cj('#billing-payment-block').show();
260 {/literal}{if $allowGroupOnWaitlist}{literal}
261 allowGroupOnWaitlist(0, 0);
262 {/literal}{/if}{literal}
264 function allowGroupOnWaitlist(additionalParticipants, pricesetParticipantCount) {
265 {/literal}{if $isAdditionalParticipants}{literal}
266 if (!additionalParticipants) {
267 additionalParticipants = cj('#additional_participants').val();
269 {/literal}{else}{literal}
270 additionalParticipants = 0;
271 {/literal}{/if}{literal}
273 additionalParticipants = parseInt(additionalParticipants);
274 if (!additionalParticipants) {
275 additionalParticipants = 0;
278 var availableRegistrations = {/literal}'{$availableRegistrations}'{literal};
279 var totalParticipants = parseInt(additionalParticipants) + 1;
281 if (pricesetParticipantCount) {
282 // add priceset count if any
283 totalParticipants += parseInt(pricesetParticipantCount) - 1;
285 var isrequireApproval = {/literal}'{$requireApprovalMsg}'{literal};
287 if (totalParticipants > availableRegistrations) {
288 cj("#id-waitlist-msg").show();
289 cj("#id-waitlist-approval-msg").show();
291 //set the value for hidden bypass payment.
292 cj("#bypass_payment").val(1);
295 if (isrequireApproval) {
296 cj("#id-waitlist-approval-msg").show();
297 cj("#id-waitlist-msg").hide();
300 cj("#id-waitlist-approval-msg").hide();
302 //reset value since user don't want or not eligible for waitlist
303 cj("#bypass_payment").val(0);
306 //now call showhide payment info.
308 {if ($bypassPayment) and $paymentProcessor.payment_processor_type EQ 'PayPal_Express'}{literal}
309 showHidePayPalExpressOption();
313 {/literal}{if ($bypassPayment) and $showHidePaymentInformation}{literal}
314 showHidePaymentInfo();
315 {/literal}{/if}{literal}
319 {if $pcp && $is_honor_roll }{literal}
320 function pcpAnonymous() {
321 // clear nickname field if anonymous is true
322 if (document.getElementsByName("pcp_is_anonymous")[1].checked) {
323 document.getElementById('pcp_roll_nickname').value = '';
325 if (!document.getElementsByName("pcp_display_in_roll")[0].checked) {
326 cj('#nickID, #nameID, #personalNoteID').hide();
329 if (document.getElementsByName("pcp_is_anonymous")[0].checked) {
330 cj('#nameID, #nickID, #personalNoteID').show();
333 cj('#nameID').show();
334 cj('#nickID, #personalNoteID').hide();