PageRenderTime 32ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/sites/all/modules/contrib/civicrm/templates/CRM/Contribute/Form/Contribution/MembershipBlock.tpl

https://gitlab.com/virtualrealms/d7civicrm
Smarty Template | 302 lines | 259 code | 15 blank | 28 comment | 25 complexity | 8f5734c99c223a4b85a217b66f1f6c9b MD5 | raw file
  1. {*
  2. +--------------------------------------------------------------------+
  3. | CiviCRM version 5 |
  4. +--------------------------------------------------------------------+
  5. | Copyright CiviCRM LLC (c) 2004-2019 |
  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. {if !empty($useForMember) AND !$is_quick_config}
  27. <div id="membership" class="crm-group membership-group">
  28. {if $context EQ "makeContribution"}
  29. <div id="priceset">
  30. <fieldset>
  31. {if $renewal_mode}
  32. {if $membershipBlock.renewal_title}
  33. <legend>{$membershipBlock.renewal_title}</legend>
  34. {/if}
  35. {if $membershipBlock.renewal_text}
  36. <div id="membership-intro" class="crm-section membership_renewal_intro-section">
  37. {$membershipBlock.renewal_text}
  38. </div>
  39. {/if}
  40. {else}
  41. {if $membershipBlock.new_title}
  42. <legend>{$membershipBlock.new_title}</legend>
  43. {/if}
  44. {if $membershipBlock.new_text}
  45. <div id="membership-intro" class="crm-section membership_new_intro-section">
  46. {$membershipBlock.new_text}
  47. </div>
  48. {/if}
  49. {/if}
  50. {if !empty($membershipTypes)}
  51. {foreach from=$membershipTypes item=row}
  52. {if array_key_exists( 'current_membership', $row )}
  53. <div id='help'>
  54. {* Lifetime memberships have no end-date so current_membership array key exists but is NULL *}
  55. {if $row.current_membership}
  56. {if $row.current_membership|date_format:"%Y%m%d" LT $smarty.now|date_format:"%Y%m%d"}
  57. {ts 1=$row.current_membership|crmDate 2=$row.name}Your <strong>%2</strong> membership expired on %1.{/ts}<br />
  58. {else}
  59. {ts 1=$row.current_membership|crmDate 2=$row.name}Your <strong>%2</strong> membership expires on %1.{/ts}<br />
  60. {/if}
  61. {else}
  62. {ts 1=$row.name}Your <strong>%1</strong> membership does not expire (you do not need to renew that membership).{/ts}<br />
  63. {/if}
  64. </div>
  65. {/if}
  66. {/foreach}
  67. {/if}
  68. {include file="CRM/Price/Form/PriceSet.tpl" extends="Membership"}
  69. </fieldset>
  70. </div>
  71. {elseif $lineItem and $priceSetID AND !$is_quick_config}
  72. {assign var="totalAmount" value=$amount}
  73. <div class="header-dark">
  74. {ts}Membership Fee{/ts}
  75. </div>
  76. <div class="display-block">
  77. {include file="CRM/Price/Page/LineItem.tpl" context="Membership"}
  78. </div>
  79. {/if}
  80. </div>
  81. {literal}
  82. <script type="text/javascript">
  83. CRM.$(function($) {
  84. //if price set is set we use below below code to show for showing auto renew
  85. var autoRenewOption = {/literal}'{$autoRenewOption}'{literal};
  86. var autoRenew = $("#auto_renew_section");
  87. var autoRenewCheckbox = $("#auto_renew");
  88. var forceRenew = $("#force_renew");
  89. autoRenew.hide();
  90. forceRenew.hide();
  91. if ( autoRenewOption == 1 ) {
  92. autoRenew.show();
  93. } else if ( autoRenewOption == 2 ) {
  94. autoRenewCheckbox.prop('checked', true );
  95. autoRenewCheckbox.attr( 'readonly', true );
  96. autoRenew.hide();
  97. forceRenew.show();
  98. }
  99. });
  100. </script>
  101. {/literal}
  102. {elseif $membershipBlock AND !$is_quick_config}
  103. <div id="membership" class="crm-group membership-group">
  104. {if $context EQ "makeContribution"}
  105. <fieldset>
  106. {if $renewal_mode }
  107. {if $membershipBlock.renewal_title}
  108. <legend>{$membershipBlock.renewal_title}</legend>
  109. {/if}
  110. {if $membershipBlock.renewal_text}
  111. <div id="membership-intro" class="crm-section membership_renewal_intro-section">
  112. <p>{$membershipBlock.renewal_text}</p>
  113. </div>
  114. {/if}
  115. {else}
  116. {if $membershipBlock.new_title}
  117. <legend>{$membershipBlock.new_title}</legend>
  118. {/if}
  119. {if $membershipBlock.new_text}
  120. <div id="membership-intro" class="crm-section membership_new_intro-section">
  121. <p>{$membershipBlock.new_text}</p>
  122. </div>
  123. {/if}
  124. {/if}
  125. {/if}
  126. {if $context neq "makeContribution" }
  127. <div class="header-dark">
  128. {if $renewal_mode }
  129. {if $membershipBlock.renewal_title}
  130. {$membershipBlock.renewal_title}
  131. {else}
  132. {ts}Select a Membership Renewal Level{/ts}
  133. {/if}
  134. {else}
  135. {if $membershipBlock.new_title}
  136. {$membershipBlock.new_title}
  137. {else}
  138. {ts}Select a Membership Level{/ts}
  139. {/if}
  140. {/if}
  141. </div>
  142. {/if}
  143. {if $context EQ "makeContribution"}
  144. </fieldset>
  145. {/if}
  146. </div>
  147. {/if}{* membership block end here *}
  148. {if $membershipBlock AND $is_quick_config}
  149. {if $context neq "makeContribution" }
  150. <div class="header-dark">
  151. {if $renewal_mode }
  152. {if $membershipBlock.renewal_title}
  153. {$membershipBlock.renewal_title}
  154. {else}
  155. {ts}Select a Membership Renewal Level{/ts}
  156. {/if}
  157. {else}
  158. {if $membershipBlock.new_title}
  159. {$membershipBlock.new_title}
  160. {else}
  161. {ts}Select a Membership Level{/ts}
  162. {/if}
  163. {/if}
  164. </div>
  165. {/if}
  166. {strip}
  167. <table id="membership-listings">
  168. {foreach from=$membershipTypes item=row}
  169. <tr {if $context EQ "makeContribution"}class="odd-row" {/if}valign="top">
  170. {if $showRadio }
  171. {assign var="pid" value=$row.id}
  172. <td style="width: 1em;">{$form.selectMembership.$pid.html}</td>
  173. {else}
  174. <td>&nbsp;</td>
  175. {/if}
  176. <td style="width: auto;">
  177. <span class="bold">{$row.name} &nbsp;
  178. {if ($membershipBlock.display_min_fee AND $context EQ "makeContribution") AND $row.minimum_fee GT 0 }
  179. {if $is_separate_payment OR ! $form.amount.label}
  180. &ndash; {$row.minimum_fee|crmMoney}
  181. {else}
  182. {ts 1=$row.minimum_fee|crmMoney}(contribute at least %1 to be eligible for this membership){/ts}
  183. {/if}
  184. {/if}
  185. </span><br />
  186. {$row.description} &nbsp;
  187. </td>
  188. <td style="width: auto;">
  189. {* Check if there is an existing membership of this type (current_membership NOT empty) and if the end-date is prior to today. *}
  190. {if array_key_exists( 'current_membership', $row ) AND $context EQ "makeContribution" }
  191. {if $row.current_membership}
  192. {if $row.current_membership|date_format:"%Y%m%d" LT $smarty.now|date_format:"%Y%m%d"}
  193. <br /><em>{ts 1=$row.current_membership|crmDate 2=$row.name}Your <strong>%2</strong> membership expired on %1.{/ts}</em>
  194. {else}
  195. <br /><em>{ts 1=$row.current_membership|crmDate 2=$row.name}Your <strong>%2</strong> membership expires on %1.{/ts}</em>
  196. {/if}
  197. {else}
  198. {ts 1=$row.name}Your <strong>%1</strong> membership does not expire (you do not need to renew that membership).{/ts}<br />
  199. {/if}
  200. {else}
  201. &nbsp;
  202. {/if}
  203. </td>
  204. </tr>
  205. {/foreach}
  206. {if isset($form.auto_renew) }
  207. <tr id="allow_auto_renew">
  208. <td style="width: auto;">{$form.auto_renew.html}</td>
  209. <td style="width: auto;">
  210. {$form.auto_renew.label}
  211. </td>
  212. </tr>
  213. {/if}
  214. {if $showRadio}
  215. {if $showRadioNoThanks } {* Provide no-thanks option when Membership signup is not required - per membership block configuration. *}
  216. <tr class="odd-row">
  217. <td>{$form.selectMembership.no_thanks.html}</td>
  218. <td colspan="2"><strong>{ts}No thank you{/ts}</strong></td>
  219. </tr>
  220. {/if}
  221. {/if}
  222. </table>
  223. {/strip}
  224. {/if}
  225. {* Include JS for auto renew membership if priceset is Quick Config*}
  226. {if $membershipBlock}
  227. {literal}
  228. <script type="text/javascript">
  229. CRM.$(function($) {
  230. showHideAutoRenew( null );
  231. });
  232. function showHideAutoRenew( memTypeId )
  233. {
  234. var priceSetName = "price_"+{/literal}'{$membershipFieldID}'{literal};
  235. var considerUserInput = {/literal}'{$takeUserSubmittedAutoRenew}'{literal};
  236. if ( memTypeId ) considerUserInput = false;
  237. if ( !memTypeId ) memTypeId = cj('input:radio[name='+priceSetName+']:checked').attr('membership-type');
  238. //does this page has only one membership type.
  239. var singleMembership = {/literal}'{$singleMembership}'{literal};
  240. if ( !memTypeId && singleMembership ) memTypeId = cj("input:radio[name="+priceSetName+"]").attr('membership-type');
  241. var renewOptions = {/literal}{$autoRenewMembershipTypeOptions}{literal};
  242. var currentOption = eval( "renewOptions." + 'autoRenewMembershipType_' + memTypeId );
  243. var autoRenew = cj('#auto_renew_section');
  244. var autoRenewC = cj('input[name="auto_renew"]');
  245. var forceRenew = cj("#force_renew");
  246. var readOnly = false;
  247. var isChecked = false;
  248. if ( currentOption == 0 ) {
  249. isChecked = false;
  250. forceRenew.hide();
  251. autoRenew.hide();
  252. }
  253. if ( currentOption == 1 ) {
  254. forceRenew.hide();
  255. autoRenew.show();
  256. //uncomment me, if we'd like
  257. //to load auto_renew checked.
  258. //isChecked = true;
  259. } else if ( currentOption == 2 || currentOption == 4) {
  260. autoRenew.hide();
  261. forceRenew.show();
  262. isChecked = readOnly = true;
  263. }
  264. if ( considerUserInput ) isChecked = autoRenew.prop('checked' );
  265. //its a normal recur contribution.
  266. if ( cj( "is_recur" ) &&
  267. ( cj( 'input:radio[name="is_recur"]:checked').val() == 1 ) ) {
  268. isChecked = false;
  269. autoRenew.hide();
  270. forceRenew.hide();
  271. }
  272. autoRenewC.attr( 'readonly', readOnly );
  273. autoRenewC.prop('checked', isChecked );
  274. }
  275. {/literal}{if $allowAutoRenewMembership}{literal}
  276. CRM.$(function($) {
  277. //keep read only always checked.
  278. cj( "#auto_renew" ).click(function( ) {
  279. if ( cj(this).attr( 'readonly' ) ) {
  280. cj(this).prop('checked', true );
  281. }
  282. });
  283. });
  284. {/literal}{/if}{literal}
  285. </script>
  286. {/literal}
  287. {/if}