2 +--------------------------------------------------------------------+
3 | CiviCRM version 4.6 |
4 +--------------------------------------------------------------------+
5 | Copyright CiviCRM LLC (c) 2004-2014 |
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 *}
28 {include file="CRM/Core/BillingBlock.tpl"}
29 <div id="paypalExpress">
30 {* Put PayPal Express button after customPost block since it's the submit button in this case. *}
31 {if $paymentProcessor.payment_processor_type EQ 'PayPal_Express'}
32 {assign var=expressButtonName value='_qf_Register_upload_express'}
33 <fieldset class="crm-group payPalExpress-group">
34 <legend>{ts}Checkout with PayPal{/ts}</legend>
35 <div class="description">{ts}Click the PayPal button to continue.{/ts}</div>
36 <div>{$form.$expressButtonName.html} <span style="font-size:11px; font-family: Arial, Verdana;">Checkout securely. Pay without sharing your financial information. </span>
43 {include file="CRM/Event/Form/Registration/PreviewHeader.tpl"}
46 {include file="CRM/common/TrackingFields.tpl"}
47 {capture assign='reqMark'}<span class="marker" title="{ts}This field is required.{/ts}">*</span>{/capture}
48 <div class="crm-event-id-{$event.id} crm-block crm-event-register-form-block">
50 {* moved to tpl since need to show only for primary participant page *}
51 {if $requireApprovalMsg || $waitlistMsg}
52 <div id="id-waitlist-approval-msg" class="messages status no-popup">
53 {if $requireApprovalMsg}
54 <div id="id-req-approval-msg">{$requireApprovalMsg}</div>
57 <div id="id-waitlist-msg">{$waitlistMsg}</div>
63 <div class="messages status no-popup" id="crm-event-register-different">
64 {ts 1=$display_name}Welcome %1{/ts}. (<a
65 href="{crmURL p='civicrm/event/register' q="cid=0&reset=1&id=`$event.id`"}"
66 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>?)
69 {if $event.intro_text}
70 <div id="intro_text" class="crm-section intro_text-section">
71 <p>{$event.intro_text}</p>
75 {include file="CRM/common/cidzero.tpl"}
76 {if $pcpSupporterText}
77 <div class="crm-section pcpSupporterText-section">
78 <div class="content">{$pcpSupporterText}</div>
82 {if $form.additional_participants.html}
83 <div class="crm-section additional_participants-section" id="noOfparticipants">
84 <div class="label">{$form.additional_participants.label}</div>
86 {$form.additional_participants.html}{if $contact_id || $contact_id == NULL} ({ts}including yourself{/ts}){/if}
89 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>
91 <div class="clear"></div>
95 {* User account registration option. Displays if enabled for one of the profiles on this page. *}
96 {include file="CRM/common/CMSUser.tpl"}
98 {* Display "Top of page" profile immediately after the introductory text *}
99 {include file="CRM/UF/Form/Block.tpl" fields=$customPre}
102 {if ! $quickConfig}<fieldset id="priceset" class="crm-group priceset-group">
103 <legend>{$event.fee_label}</legend>{/if}
104 {include file="CRM/Price/Form/PriceSet.tpl" extends="Event"}
105 {include file="CRM/Price/Form/ParticipantCount.tpl"}
106 {if ! $quickConfig}</fieldset>{/if}
108 {if $pcp && $is_honor_roll }
109 <fieldset class="crm-group pcp-group">
110 <div class="crm-section pcp-section">
111 <div class="crm-section display_in_roll-section">
112 <div class="content">
113 {$form.pcp_display_in_roll.html}
114 {$form.pcp_display_in_roll.label}
116 <div class="clear"></div>
118 <div id="nameID" class="crm-section is_anonymous-section">
119 <div class="content">
120 {$form.pcp_is_anonymous.html}
122 <div class="clear"></div>
124 <div id="nickID" class="crm-section pcp_roll_nickname-section">
125 <div class="label">{$form.pcp_roll_nickname.label}</div>
126 <div class="content">{$form.pcp_roll_nickname.html}
128 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>
130 <div class="clear"></div>
132 <div id="personalNoteID" class="crm-section pcp_personal_note-section">
133 <div class="label">{$form.pcp_personal_note.label}</div>
134 <div class="content">
135 {$form.pcp_personal_note.html}
136 <div class="description">{ts}Enter a message to accompany this contribution.{/ts}</div>
138 <div class="clear"></div>
144 {if $form.payment_processor.label}
145 <fieldset class="crm-group payment_options-group" style="display:none;">
146 <legend>{ts}Payment Options{/ts}</legend>
147 <div class="crm-section payment_processor-section">
148 <div class="label">{$form.payment_processor.label}</div>
149 <div class="content">{$form.payment_processor.html}</div>
150 <div class="clear"></div>
155 <div id="billing-payment-block">
156 {* If we have a payment processor, load it - otherwise it happens via ajax *}
157 {if $paymentProcessorID or $isBillingAddressRequiredForPayLater}
158 {include file="CRM/Event/Form/Registration/Register.tpl" snippet=4}
161 {include file="CRM/common/paymentBlock.tpl"}
163 {include file="CRM/UF/Form/Block.tpl" fields=$customPost}
166 {include file='CRM/common/ReCAPTCHA.tpl'}
169 <div id="crm-submit-buttons" class="crm-submit-buttons">
170 {include file="CRM/common/formButtons.tpl" location="bottom"}
173 {if $event.footer_text}
174 <div id="footer_text" class="crm-section event_footer_text-section">
175 <p>{$event.footer_text}</p>
179 <script type="text/javascript">
181 function toggleConfirmButton() {
182 var payPalExpressId = "{/literal}{$payPalExpressId}{literal}";
183 var elementObj = cj('input[name="payment_processor"]');
184 if (elementObj.attr('type') == 'hidden') {
185 var processorTypeId = elementObj.val();
188 var processorTypeId = elementObj.filter(':checked').val();
191 if (payPalExpressId != 0 && payPalExpressId == processorTypeId) {
192 cj("#crm-submit-buttons").hide();
195 cj("#crm-submit-buttons").show();
199 cj('input[name="payment_processor"]').change(function () {
200 toggleConfirmButton();
203 cj("#additional_participants").change(function () {
208 toggleConfirmButton();
212 // Hides billing and payment options block - but only if a price set is used.
213 // Called from display() in Calculate.tpl, depends on display() having been called.
214 function skipPaymentMethod() {
215 // If we're in quick-config price set, we do not have the pricevalue hidden element, so just return.
216 if (cj('#pricevalue').length == 0) {
219 // CRM-15433 Remove currency symbol, decimal separator so we can check for zero numeric total regardless of localization.
220 currentTotal = cj('#pricevalue').text().replace(/[^\/\d]/g,'');
221 var isMultiple = '{/literal}{$event.is_multiple_registrations}{literal}';
224 var payment_options = cj(".payment_options-group");
225 var payment_processor = cj("div.payment_processor-section");
226 var payment_information = cj("div#payment_information");
228 // Do not hide billing and payment blocks if user is registering additional participants, since we do not know total owing.
229 if (isMultiple && cj("#additional_participants").val() && currentTotal == 0) {
233 if (currentTotal == 0 && flag) {
234 payment_options.hide();
235 payment_processor.hide();
236 payment_information.hide();
237 // also unset selected payment methods
238 cj('input[name="payment_processor"]').removeProp('checked');
241 payment_options.show();
242 payment_processor.show();
243 payment_information.show();
251 <script type="text/javascript">
252 {/literal}{if $pcp && $is_honor_roll }pcpAnonymous();
255 function allowParticipant() {
256 {/literal}{if $allowGroupOnWaitlist}{literal}
257 var additionalParticipants = cj('#additional_participants').val();
258 var pricesetParticipantCount = 0;
259 {/literal}{if $priceSet}{literal}
260 pricesetParticipantCount = pPartiCount;
261 {/literal}{/if}{literal}
263 allowGroupOnWaitlist(additionalParticipants, pricesetParticipantCount);
264 {/literal}{/if}{literal}
267 {/literal}{if ($bypassPayment) and $paymentProcessor.payment_processor_type EQ 'PayPal_Express'}
269 showHidePayPalExpressOption();
270 {/literal}{/if}{literal}
272 function showHidePayPalExpressOption() {
273 if (( cj("#bypass_payment").val() == 1 )) {
274 cj("#crm-submit-buttons").show();
275 cj("#paypalExpress").hide();
278 cj("#paypalExpress").show();
279 cj("#crm-submit-buttons").hide();
283 {/literal}{if ($bypassPayment and $showHidePaymentInformation)}{literal}
284 showHidePaymentInfo();
285 {/literal} {/if}{literal}
287 function showHidePaymentInfo() {
288 if (( cj("#bypass_payment").val() == 1 )) {
289 cj('#billing-payment-block').hide();
292 cj('#billing-payment-block').show();
296 {/literal}{if $allowGroupOnWaitlist}{literal}
297 allowGroupOnWaitlist(0, 0);
298 {/literal}{/if}{literal}
300 function allowGroupOnWaitlist(additionalParticipants, pricesetParticipantCount) {
301 {/literal}{if $isAdditionalParticipants}{literal}
302 if (!additionalParticipants) {
303 additionalParticipants = cj('#additional_participants').val();
305 {/literal}{else}{literal}
306 additionalParticipants = 0;
307 {/literal}{/if}{literal}
309 additionalParticipants = parseInt(additionalParticipants);
310 if (!additionalParticipants) {
311 additionalParticipants = 0;
314 var availableRegistrations = {/literal}'{$availableRegistrations}'{literal};
315 var totalParticipants = parseInt(additionalParticipants) + 1;
317 if (pricesetParticipantCount) {
318 // add priceset count if any
319 totalParticipants += parseInt(pricesetParticipantCount) - 1;
321 var isrequireApproval = {/literal}'{$requireApprovalMsg}'{literal};
323 if (totalParticipants > availableRegistrations) {
324 cj("#id-waitlist-msg").show();
325 cj("#id-waitlist-approval-msg").show();
327 //set the value for hidden bypass payment.
328 cj("#bypass_payment").val(1);
331 if (isrequireApproval) {
332 cj("#id-waitlist-approval-msg").show();
333 cj("#id-waitlist-msg").hide();
336 cj("#id-waitlist-approval-msg").hide();
338 //reset value since user don't want or not eligible for waitlist
339 cj("#bypass_payment").val(0);
342 //now call showhide payment info.
344 {if ($bypassPayment) and $paymentProcessor.payment_processor_type EQ 'PayPal_Express'}{literal}
345 showHidePayPalExpressOption();
349 {/literal}{if ($bypassPayment) and $showHidePaymentInformation}{literal}
350 showHidePaymentInfo();
351 {/literal}{/if}{literal}
354 {/literal}{if $pcp && $is_honor_roll }{literal}
355 function pcpAnonymous() {
356 // clear nickname field if anonymous is true
357 if (document.getElementsByName("pcp_is_anonymous")[1].checked) {
358 document.getElementById('pcp_roll_nickname').value = '';
360 if (!document.getElementsByName("pcp_display_in_roll")[0].checked) {
361 cj('#nickID, #nameID, #personalNoteID').hide();
364 if (document.getElementsByName("pcp_is_anonymous")[0].checked) {
365 cj('#nameID, #nickID, #personalNoteID').show();
368 cj('#nameID').show();
369 cj('#nickID, #personalNoteID').hide();
373 {/literal}{/if}{literal}