Merge pull request #2495 from civicrm/4.4
[civicrm-core.git] / templates / CRM / Contribute / Form / SoftCredit.tpl
1 {*
2 +--------------------------------------------------------------------+
3 | CiviCRM version 4.4 |
4 +--------------------------------------------------------------------+
5 | Copyright CiviCRM LLC (c) 2004-2013 |
6 +--------------------------------------------------------------------+
7 | This file is a part of CiviCRM. |
8 | |
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. |
12 | |
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. |
17 | |
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 +--------------------------------------------------------------------+
25 *}
26 {* template for adding form elements for soft credit form*}
27 {if $honor_block_is_active}
28 {crmRegion name="contribution-soft-credit-block"}
29 <legend>{$honor_block_title}</legend>
30 <div class="crm-section honor_block_text-section">
31 {$honor_block_text}
32 </div>
33 {if $form.soft_credit_type_id.html}
34 <div class="crm-section {$form.soft_credit_type_id.name}-section">
35 <div class="content" >
36 {$form.soft_credit_type_id.html}
37 <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('soft_credit_type_id', '{$form.formName}');enableHonorType(); return false;">{ts}clear{/ts}</a>)</span>
38 <div class="description">{ts}Select an option to reveal honoree information fields.{/ts}</div>
39 </div>
40 </div>
41 {/if}
42 {/crmRegion}
43 {else}
44 <table class="form-layout-compressed crm-soft-credit-block">
45 {section name='i' start=1 loop=$rowCount}
46 {assign var='rowNumber' value=$smarty.section.i.index}
47 <tr id="soft-credit-row-{$rowNumber}"
48 class="crm-contribution-form-block-soft_credit_to {if $rowNumber gte $showSoftCreditRow}hiddenElement{/if}">
49 <td class="label">{ts}Select Contact{/ts}</td>
50 <td>
51 {assign var='createNewStatus' value=true}
52 {if !$showCreateNew and $rowNumber lt $showSoftCreditRow}
53 {assign var='createNewStatus' value=false}
54 {/if}
55 {include file="CRM/Contact/Form/NewContact.tpl" noLabel=true skipBreak=true blockNo=$rowNumber
56 prefix="soft_credit_" showNewSelect=$createNewStatus focus=false}
57 </td>
58 <td>
59 {$form.soft_credit_amount.$rowNumber.label}&nbsp;{$form.soft_credit_amount.$rowNumber.html|crmAddClass:eight}
60 </td>
61 <td>
62 {$form.soft_credit_type.$rowNumber.label}&nbsp;{$form.soft_credit_type.$rowNumber.html|crmAddClass:eight}
63 &nbsp;<a class="delete-link" row-no={$rowNumber} href="#">{ts}delete{/ts}</a>
64 </td>
65 </tr>
66 {/section}
67 <tr>
68 <td></td>
69 <td>
70 <a href="#" id="addMoreSoftCredit">{ts}add another soft credit{/ts}</a>
71 </td>
72 </tr>
73 </table>
74 {/if}
75 {literal}
76 <script type="text/javascript">
77 cj(function($) {
78 $('#showPCP, #showSoftCredit').click(function(){
79 return showHideSoftCreditAndPCP();
80 });
81
82 function showHideSoftCreditAndPCP() {
83 $('.crm-contribution-pcp-block').toggle();
84 $('.crm-contribution-pcp-block-link').toggle();
85 $('.crm-contribution-form-block-soft_credit_to').toggle();
86 return false;
87 }
88
89 $('#addMoreSoftCredit').on('click', function () {
90 $('.crm-contribution-form-block-soft_credit_to tr.hiddenElement').filter(':first').show().removeClass('hiddenElement');
91 if ($('.crm-soft-credit-block tr.hiddenElement').length < 1) {
92 $('#addMoreSoftCredit').hide();
93 }
94 return false;
95 });
96
97 var pcpURL = CRM.url('civicrm/ajax/rest',
98 'className=CRM_Contact_Page_AJAX&fnName=getPCPList&json=1&context=contact&reset=1');
99 $('#pcp_made_through').autocomplete(pcpURL,
100 { width : 360, selectFirst : false, matchContains: true
101 }).result( function(event, data, formatted) {
102 $("#pcp_made_through_id" ).val( data[1]);
103 });
104
105 var rowCnt = 1;
106 $('input[name^="soft_credit_contact_select_id["]').each(function(){
107 if ($(this).val()){
108 var dataUrl = CRM.url('civicrm/ajax/rest',
109 'className=CRM_Contact_Page_AJAX&fnName=getContactList&json=1&context=contact&id=' + $(this).val());
110 $.ajax({
111 url : dataUrl,
112 async : false,
113 success : function(html){
114 htmlText = html.split( '|' , 2);
115 $('#soft_credit_contact_' + rowCnt).val(htmlText[0]);
116 rowCnt++;
117 }
118 });
119 }
120 });
121
122 $('.crm-soft-credit-block tr span').each(function () {
123 if ($(this).hasClass('crm-error')) {
124 $(this).parents('tr').show();
125 }
126 });
127
128 $('.delete-link').click(function(){
129 var row = $(this).attr('row-no');
130 $('#soft-credit-row-' + row).hide().find('input').val('');
131 $('input[name="soft_credit_contact_select_id['+row+']"]').val('');
132 return false;
133 });
134
135 $('input[name^="soft_credit_contact["]').change(function(){
136 var rowNum = $(this).prop('id').replace('soft_credit_contact_','');
137 var totalAmount = $('#total_amount').val();
138 //assign total amount as default soft credit amount
139 $('#soft_credit_amount_'+ rowNum).val(totalAmount);
140 var thousandMarker = {/literal}{$config->monetaryThousandSeparator|json_encode}{literal};
141 $('#soft_credit_type_'+ rowNum).val($('#sct_default_id').val());
142 totalAmount = Number(totalAmount.replace(thousandMarker,''));
143 if (rowNum > 1) {
144 var scAmount = Number($('#soft_credit_amount_'+ (rowNum - 1)).val().replace(thousandMarker,''));
145 if (scAmount < totalAmount) {
146 //if user enters less than the total amount and adds another soft credit row,
147 //the soft credit amount default will be left empty
148 $('#soft_credit_amount_'+ rowNum).val('');
149 }
150 }
151 });
152
153 });
154 </script>
155 {/literal}