{*
+--------------------------------------------------------------------+
- | CiviCRM version 4.5 |
+ | CiviCRM version 4.6 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
{include file="CRM/Contribute/Form/AdditionalInfo/$formType.tpl"}
{else}
- {if $contributionMode}
- <h3>{if $ppID}{ts}Credit Card Pledge Payment{/ts}{else}{ts}Credit Card Contribution{/ts}{/if}</h3>
- {elseif $context NEQ 'standalone'}
- <h3>{if $action eq 1 or $action eq 1024}{if $ppID}{ts}Pledge Payment{/ts}{else}{ts}New Contribution{/ts}{/if}{elseif $action eq 8}{ts}Delete Contribution{/ts}{else}{ts}Edit Contribution{/ts}{/if}</h3>
- {/if}
-
<div class="crm-block crm-form-block crm-contribution-form-block">
{if $contributionMode == 'test' }
{ts}WARNING: Deleting this contribution will result in the loss of the associated financial transactions (if any).{/ts} {ts}Do you want to continue?{/ts}
</div>
{else}
- <div class="crm-submit-buttons">
- {include file="CRM/common/formButtons.tpl"}
{if $newCredit AND $action EQ 1 AND $contributionMode EQ null}
+ <div class="action-link css_right crm-link-credit-card-mode">
{if $contactId}
{capture assign=ccModeLink}{crmURL p='civicrm/contact/view/contribution' q="reset=1&action=add&cid=`$contactId`&context=`$context`&mode=live"}{/capture}
{else}
{capture assign=ccModeLink}{crmURL p='civicrm/contact/view/contribution' q="reset=1&action=add&context=standalone&mode=live"}{/capture}
{/if}
- <span class="action-link crm-link-credit-card-mode"> <a class="open-inline crm-hover-button" href="{$ccModeLink}">» {ts}submit credit card contribution{/ts}</a></span>
+ <a class="open-inline-noreturn action-item crm-hover-button" href="{$ccModeLink}">» {ts}submit credit card contribution{/ts}</a>
+ </div>
{/if}
+ <div class="crm-submit-buttons">
+ {include file="CRM/common/formButtons.tpl"}
</div>
{if $isOnline}{assign var=valueStyle value=" class='view-value'"}{else}{assign var=valueStyle value=""}{/if}
<table class="form-layout-compressed">
<td class="font-size12pt label"><strong><strong>{ts}Contributor{/ts}</strong></td><td class="font-size12pt"><strong>{$displayName}</strong></td>
</tr>
{else}
- {if !$contributionMode and !$email and $outBound_option != 2}
- {assign var='profileCreateCallback' value=1 }
- {/if}
<td class="label">{$form.contact_id.label}</td>
<td>{$form.contact_id.html}</td>
{/if}
{/if}
{if $ppID}{ts}<a href='#' onclick='adjustPayment();'>adjust payment amount</a>{/ts}{help id="adjust-payment-amount"}{/if}
- <br /><span class="description">{ts}Total amount of this contribution.{/ts}{if $hasPriceSets} {ts}Alternatively, you can use a price set.{/ts}{/if}</span>
- <br /><span id="totalTaxAmount" class="label"></span>
+ <div id="totalAmountBlock">
+ {if $hasPriceSets}<span class="description">{ts}Alternatively, you can use a price set.{/ts}</span>{/if}
+ <div id="totalTaxAmount" class="label"></div>
+ </div>
</td>
</tr>
{if $hideCalendar neq true}
{include file="CRM/common/jcalendar.tpl" elementName=cancel_date}
{else}
- {$form.cancel_date.html|crmDate}
+ {$form.cancel_date.value|crmDate}
{/if}
</td>
</tr>
</tr>
<tr id="cancelReason">
<td class="label" style="vertical-align: top;">{$form.cancel_reason.label}</td>
- <td>{$form.cancel_reason.html|crmReplace:class:huge}</td>
+ <td>{$form.cancel_reason.html}</td>
</tr>
</table>
</fieldset>
<td class="label">{$form.pcp_made_through_id.label}</td>
<td>
{$form.pcp_made_through_id.html}
- <span class="description">{ts}Search for the Personal Campaign Page by the fund-raiser's last name or
- email address.{/ts}</span>
+ <span class="description">{ts}Search for the Personal Campaign Page by the fund-raiser's last name or email address.{/ts}</span>
<div class="spacer"></div>
<div class="crm-contribution-form-block-pcp_details">
<tr id="nickID" class="crm-contribution-form-block-pcp_roll_nickname">
<td class="label">{$form.pcp_roll_nickname.label}</td>
<td>{$form.pcp_roll_nickname.html|crmAddClass:big}<br/>
- <span class="description">{ts}Name or nickname contributor wants to be displayed in the Honor
- Roll. Enter "Anonymous" for anonymous contributions.{/ts}</span>
+ <span class="description">{ts}Name or nickname contributor wants to be displayed in the Honor Roll. Enter "Anonymous" for anonymous contributions.{/ts}</span>
</td>
</tr>
<tr id="personalNoteID" class="crm-contribution-form-block-pcp_personal_note">
{if $showCheckNumber || !$isOnline}
<tr id="checkNumber" class="crm-contribution-form-block-check_number">
<td class="label">{$form.check_number.label}</td>
- <td>{$form.check_number.html|crmReplace:class:six}</td>
+ <td>{$form.check_number.html}</td>
</tr>
{/if}
<tr class="crm-contribution-form-block-trxn_id">
<td class="label">{$form.trxn_id.label}</td>
- <td {$valueStyle}>{$form.trxn_id.html|crmReplace:class:twelve} {help id="id-trans_id"}</td>
+ <td {$valueStyle}>{$form.trxn_id.html} {help id="id-trans_id"}</td>
</tr>
{if $email and $outBound_option != 2}
<tr class="crm-contribution-form-block-is_email_receipt">
cj('.crm-ajax-accordion:not(.collapsed) .crm-accordion-header').each(function(index) {
loadPanes(cj(this).attr('id'));
});
- cj('#total_amount').trigger("change");
});
// load panes function calls for snippet based on id of crm-accordion-header
function loadPanes( id ) {
{if $context eq 'standalone' and $outBound_option != 2 }
{literal}
CRM.$(function($) {
- cj("#contact_1").blur( function( ) {
- checkEmail( );
- });
+
+ var $form = $("form.{/literal}{$form.formClass}{literal}");
+ $("#contact_id", $form).change(checkEmail);
checkEmail( );
+
+ function checkEmail( ) {
+ var data = $("#contact_id", $form).select2('data');
+ if (data && data.extra && data.extra.email && data.extra.email.length) {
+ $("#email-receipt", $form).show();
+ $("#email-address", $form).html(data.extra.email);
+ }
+ else {
+ $("#email-receipt", $form).hide();
+ }
+ }
+
showHideByValue( 'is_email_receipt', '', 'receiptDate', 'table-row', 'radio', true);
showHideByValue( 'is_email_receipt', '', 'fromEmail', 'table-row', 'radio', false );
});
- function checkEmail( ) {
- var contactID = cj("input[name='contact_select_id[1]']").val();
- if (contactID) {
- var postUrl = "{/literal}{crmURL p='civicrm/ajax/checkemail' h=0}{literal}";
- cj.post( postUrl, {contact_id: contactID},
- function (response) {
- if (response) {
- cj("#email-receipt").show( );
- cj("#email-address").html(response);
- }
- else {
- cj("#email-receipt").hide( );
- }
- }
- );
- }
- else {
- cj("#email-receipt").hide( );
- }
- }
-
- function profileCreateCallback( blockNo ) {
- checkEmail( );
- }
{/literal}
{/if}
</script>
showHideCancelInfo(cj('#contribution_status_id'));
cj('#contribution_status_id').change(function() {
- showHideCancelInfo(this);
+ showHideCancelInfo(cj('#contribution_status_id'));
}
);
});
function showHideCancelInfo(obj) {
- contributionStatus = cj(obj).val();
- if (contributionStatus == 3 || contributionStatus == 7) {
+ if (obj.find(":selected").text() == 'Refunded' || obj.find(":selected").text() == 'Cancelled') {
cj('#cancelInfo').show( );
+ cj('#total_amount').attr('readonly', true);
}
else {
- status();
+ status();
cj('#cancelInfo').hide( );
+ cj("#total_amount").removeAttr('readonly');
}
}
cj('#total_amount').trigger("change");
})
-cj('#total_amount').on("change",function(event) {
- if (event.handled !== true) {
- var financialType = cj('#financial_type_id').val();
- var taxRates = '{/literal}{$taxRates}{literal}';
- var taxRates = JSON.parse(taxRates);
- var currencies = '{/literal}{$currencies}{literal}';
- var currencies = JSON.parse(currencies);
- var currencySelect = cj('#currency').val();
- var currencySymbol = currencies[currencySelect];
- var re= /\((.*?)\)/g;
- for(m = re.exec(currencySymbol); m; m = re.exec(currencySymbol)){
- var currencySymbol = m[1];
+{/literal}{if $taxRates && $invoicing}{literal}
+CRM.$(function($) {
+ $('#total_amount').on("change",function(event) {
+ if (event.handled !== true) {
+ var freezeFinancialType = '{/literal}{$freezeFinancialType}{literal}';
+ if (!freezeFinancialType) {
+ var financialType = $('#financial_type_id').val();
+ var taxRates = '{/literal}{$taxRates}{literal}';
+ taxRates = JSON.parse(taxRates);
+ var currencies = '{/literal}{$currencies}{literal}';
+ currencies = JSON.parse(currencies);
+ var currencySelect = $('#currency').val();
+ var currencySymbol = currencies[currencySelect];
+ var re= /\((.*?)\)/g;
+ for(m = re.exec(currencySymbol); m; m = re.exec(currencySymbol)){
+ currencySymbol = m[1];
+ }
+ var taxRate = taxRates[financialType];
+ if (!taxRate) {
+ taxRate = 0;
+ cj("#totalTaxAmount").hide( );
+ } else {
+ cj("#totalTaxAmount").show( );
+ }
+ var totalAmount = $('#total_amount').val();
+ var thousandMarker = '{/literal}{$config->monetaryThousandSeparator}{literal}';
+ var seperator = '{/literal}{$config->monetaryDecimalPoint}{literal}';
+ // replace all thousandMarker and change the seperator to a dot
+ totalAmount = totalAmount.replace(thousandMarker,'').replace(seperator,'.');
+
+ var totalTaxAmount = '{/literal}{$totalTaxAmount}{literal}';
+ var taxAmount = (taxRate/100)*totalAmount;
+ taxAmount = isNaN (taxAmount) ? 0:taxAmount;
+ var totalTaxAmount = taxAmount + Number(totalAmount);
+ totalTaxAmount = formatMoney( totalTaxAmount, 2, seperator, thousandMarker );
+
+ $("#totalTaxAmount" ).html('Amount with tax : <span id="currencySymbolShow">' + currencySymbol + '</span> '+ totalTaxAmount);
+ }
+ event.handled = true;
+ }
+ return false;
+ });
+
+ $('#total_amount').trigger("change");
+});
+{/literal}{/if}{literal}
+
+CRM.$(function($) {
+ $('#price_set_id').click(function() {
+ if( $('#price_set_id').val() ) {
+ $('#totalAmountBlock').hide();
}
- var taxRate = taxRates[financialType];
- if (!taxRate) {
- taxRate = 0;
- }
- var totalAmount = cj('#total_amount').val();
- var totalTaxAmount = parseFloat(Number((taxRate/100)*totalAmount)+Number(totalAmount)).toFixed(2);
- cj( "#totalTaxAmount" ).html('Total Amount : <span id="currencySymbolShow">' + currencySymbol + '</span> '+ totalTaxAmount);
- event.handled = true;
- }
- return false;
+ else {
+ $('#totalAmountBlock').show();
+ }
+ });
});
+
+function formatMoney (amount, c, d, t){
+ var n = amount,
+ c = isNaN(c = Math.abs(c)) ? 2 : c,
+ d = d == undefined ? "," : d,
+ t = t == undefined ? "." : t, s = n < 0 ? "-" : "",
+ i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "",
+ j = (j = i.length) > 3 ? j % 3 : 0;
+return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
+};
</script>
{/literal}