CRM-13929 Refactor contribution forms
[civicrm-core.git] / templates / CRM / Contribute / Form / SoftCredit.tpl
index f75c5883f894aa182608e80d1b8180591099a18c..2e0e9bbb10e6a6ea15de150c1d2f6b75c3d6e17d 100644 (file)
@@ -34,7 +34,6 @@
       <div class="crm-section {$form.soft_credit_type_id.name}-section">
         <div class="content" >
           {$form.soft_credit_type_id.html}
-          <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>
           <div class="description">{ts}Select an option to reveal honoree information fields.{/ts}</div>
         </div>
       </div>
     {assign var='rowNumber' value=$smarty.section.i.index}
     <tr id="soft-credit-row-{$rowNumber}"
         class="crm-contribution-form-block-soft_credit_to {if $rowNumber gte $showSoftCreditRow}hiddenElement{/if}">
-      <td class="label">{ts}Select Contact{/ts}</td>
       <td>
-        {assign var='createNewStatus' value=true}
-        {if !$showCreateNew and $rowNumber lt $showSoftCreditRow}
-          {assign var='createNewStatus' value=false}
-        {/if}
-        {include file="CRM/Contact/Form/NewContact.tpl" noLabel=true skipBreak=true blockNo=$rowNumber
-        prefix="soft_credit_" showNewSelect=$createNewStatus}
+        {$form.soft_credit_contact_id.$rowNumber.label}&nbsp;{$form.soft_credit_contact_id.$rowNumber.html|crmAddClass:twenty}
       </td>
       <td>
         {$form.soft_credit_amount.$rowNumber.label}&nbsp;{$form.soft_credit_amount.$rowNumber.html|crmAddClass:eight}
       </td>
       <td>
-        {$form.soft_credit_type.$rowNumber.label}&nbsp;{$form.soft_credit_type.$rowNumber.html|crmAddClass:eight}
-        &nbsp;<a class="delete-link" row-no={$rowNumber} href="#">{ts}delete{/ts}</a>
+        {$form.soft_credit_type.$rowNumber.label}&nbsp;{$form.soft_credit_type.$rowNumber.html}
+        &nbsp;<a class="crm-hover-button soft-credit-delete-link" href="#"><span class="icon delete-icon"></span></a>
       </td>
     </tr>
   {/section}
   <tr>
-    <td></td>
     <td>
-      <a href="#" id="addMoreSoftCredit">{ts}add another soft credit{/ts}</a>
+      <a href="#" class="crm-hover-button" id="addMoreSoftCredit"><span class="icon add-icon"></span> {ts}another soft credit{/ts}</a>
     </td>
   </tr>
 </table>
 {/if}
+{literal}
+<script type="text/javascript">
+  cj(function($) {
+    $('#showPCP, #showSoftCredit').click(function(){
+      return showHideSoftCreditAndPCP();
+    });
+
+    function showHideSoftCreditAndPCP() {
+      $('.crm-contribution-pcp-block').toggle();
+      $('.crm-contribution-pcp-block-link').toggle();
+      $('.crm-contribution-form-block-soft_credit_to').toggle();
+      return false;
+    }
+
+    $('#addMoreSoftCredit').on('click', function () {
+      $('.crm-contribution-form-block-soft_credit_to tr.hiddenElement').filter(':first').show().removeClass('hiddenElement');
+      if ($('.crm-soft-credit-block tr.hiddenElement').length < 1) {
+        $('#addMoreSoftCredit').hide();
+      }
+      return false;
+    });
+
+    var pcpURL = CRM.url('civicrm/ajax/rest',
+      'className=CRM_Contact_Page_AJAX&fnName=getPCPList&json=1&context=contact&reset=1');
+    $('#pcp_made_through').autocomplete(pcpURL,
+      { width : 360, selectFirst : false, matchContains: true
+      }).result( function(event, data, formatted) {
+        $("#pcp_made_through_id" ).val( data[1]);
+      });
+
+    $('.crm-soft-credit-block tr span').each(function () {
+      if ($(this).hasClass('crm-error')) {
+        $(this).parents('tr').show();
+      }
+    });
+
+    $('.soft-credit-delete-link').click(function(){
+      $(this).closest('tr').hide().find('input').val('').change();
+      return false;
+    });
+
+    $('input[name^="soft_credit_contact["]').change(function(){
+      var rowNum = $(this).prop('id').replace('soft_credit_contact_','');
+      var totalAmount = $('#total_amount').val();
+      //assign total amount as default soft credit amount
+      $('#soft_credit_amount_'+ rowNum).val(totalAmount);
+      var thousandMarker = {/literal}{$config->monetaryThousandSeparator|json_encode}{literal};
+      $('#soft_credit_type_'+ rowNum).val($('#sct_default_id').val());
+      totalAmount = Number(totalAmount.replace(thousandMarker,''));
+      if (rowNum > 1) {
+        var scAmount = Number($('#soft_credit_amount_'+ (rowNum - 1)).val().replace(thousandMarker,''));
+        if (scAmount < totalAmount) {
+          //if user enters less than the total amount and adds another soft credit row,
+          //the soft credit amount default will be left empty
+          $('#soft_credit_amount_'+ rowNum).val('');
+        }
+      }
+    });
+
+  });
+</script>
+{/literal}