2 +--------------------------------------------------------------------+
3 | Copyright CiviCRM LLC. All rights reserved. |
5 | This work is published under the GNU AGPLv3 license with some |
6 | permitted exceptions and without any warranty. For full license |
7 | and copyright information, see https://civicrm.org/licensing |
8 +--------------------------------------------------------------------+
10 {* this template is used for adding/editing/deleting membership type *}
12 {include file="CRM/Core/Form/EntityForm.tpl"}
14 <div class="crm-block crm-form-block crm-membership-type-form-block">
16 <div class="form-item" id="membership_type_form">
17 <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
18 <table class="form-layout-compressed">
19 {foreach from=$tpl_standardised_fields item=fieldName}
20 {assign var=fieldSpec value=$entityFields.$fieldName}
21 <tr class="crm-{$entityInClassFormat}-form-block-{$fieldName}">
22 {include file="CRM/Core/Form/Field.tpl"}
25 <tr class="crm-membership-type-form-block-financial_type_id">
26 <td class="label">{$form.financial_type_id.label}</td>
27 <td>{$form.financial_type_id.html}<br />
28 <span class="description">{ts}Select the financial type assigned to fees for this membership type (for example 'Membership Fees'). This is required for all membership types - including free or complimentary memberships.{/ts}</span>
31 <tr class="crm-membership-type-form-block-auto_renew">
32 <td class="label">{$form.auto_renew.label}</td>
34 <td>{$form.auto_renew.html}</td>
36 <td>{ts}You will need to select and configure a supported payment processor (currently Authorize.Net, PayPal Pro, or PayPal Website Standard) in order to offer automatically renewing memberships.{/ts} {docURL page="user/contributions/payment-processors"}</td>
39 <tr class="crm-membership-type-form-block-duration_unit_interval">
40 <td class="label">{$form.duration_unit.label}</td>
41 <td>{$form.duration_interval.html} {$form.duration_unit.html}<br />
42 <span class="description">{ts}Duration of this membership (e.g. 30 days, 2 months, 5 years, 1 lifetime){/ts}</span>
45 <tr class="crm-membership-type-form-block-period_type">
46 <td class="label">{$form.period_type.label}</td>
47 <td>{$form.period_type.html}<br />
48 <span class="description">{ts}Select 'rolling' if membership periods begin at date of signup. Select 'fixed' if membership periods begin on a set calendar date.{/ts} {help id="period-type" file="CRM/Member/Page/MembershipType.hlp"}</span>
51 <tr id="fixed_start_day_row" class="crm-membership-type-form-block-fixed_period_start_day">
52 <td class="label">{$form.fixed_period_start_day.label}</td>
53 <td>{$form.fixed_period_start_day.html}<br />
54 <span class="description">{ts}Month and day on which a <strong>fixed</strong> period membership or subscription begins. Example: A fixed period membership with Start Day set to Jan 01 means that membership periods would be 1/1/06 - 12/31/06 for anyone signing up during 2006.{/ts}</span>
57 <tr id="fixed_rollover_day_row" class="crm-membership-type-form-block-fixed_period_rollover_day">
58 <td class="label">{$form.fixed_period_rollover_day.label}</td>
59 <td>{$form.fixed_period_rollover_day.html}<br />
60 <span class="description">{ts}Membership signups on or after this date cover the following calendar year as well. Example: If the rollover day is November 30, membership period for signups during December will cover the following year.{/ts}</span>
63 <tr id="month_fixed_rollover_day_row" class="crm-membership-type-form-block-fixed_period_rollover_day">
64 <td class="label">{$form.month_fixed_period_rollover_day.label}</td>
65 <td>{$form.month_fixed_period_rollover_day.html}<br />
66 <span class="description">{ts}Membership signups on or after this day of the month cover the rest of the month plus the specified number of months.{/ts}</span>
69 <tr class="crm-membership-type-form-block-relationship_type_id">
70 <td class="label">{$form.relationship_type_id.label}</td>
72 {if !$membershipRecordsExists}
73 {$form.relationship_type_id.html}
76 {$form.relationship_type_id.html}<div class="status message">{ts}You cannot modify relationship type because there are membership records associated with this membership type.{/ts}</div>
78 <span class="description">{ts}Memberships can be automatically granted to related contacts by selecting a Relationship Type.{/ts} {help id="rel-type" file="CRM/Member/Page/MembershipType.hlp"}</span>
81 <tr id="maxRelated" class="crm-membership-type-form-block-max_related">
82 <td class="label">{$form.max_related.label}</td>
83 <td>{$form.max_related.html}<br />
84 <span class="description">{ts}Maximum number of related memberships (leave blank for unlimited).{/ts}</span>
87 <tr class="crm-membership-type-form-block-visibility">
88 <td class="label">{$form.visibility.label}</td>
89 <td>{$form.visibility.html}<br />
90 <span class="description">{ts}Can this membership type be used for self-service signups ('Public'), or is it only for CiviCRM users with 'Edit Contributions' permission ('Admin').{/ts}</span>
93 <tr class="crm-membership-type-form-block-weight">
94 <td class="label">{$form.weight.label}</td>
95 <td>{$form.weight.html}</td>
97 <tr class="crm-membership-type-form-block-is_active">
98 <td class="label">{$form.is_active.label}</td>
99 <td>{$form.is_active.html}</td>
102 <div class="spacer"></div>
104 <fieldset><legend>{ts}Renewal Reminders{/ts}</legend>
106 {capture assign=reminderLink}{crmURL p='civicrm/admin/scheduleReminders' q='reset=1'}{/capture}
107 {icon icon="fa-info-circle"}{/icon}
108 {ts 1=$reminderLink}Configure membership renewal reminders using <a href="%1">Schedule Reminders</a>. If you have previously configured renewal reminder templates, you can re-use them with your new scheduled reminders.{/ts} {docURL page="user/email/scheduled-reminders"}
112 {include file="CRM/common/customDataBlock.tpl"}
114 <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
116 <div class="spacer"></div>
120 {include file="CRM/common/deferredFinancialType.tpl" context='MembershipType'}
122 <script type="text/javascript">
124 showHidePeriodSettings();
125 $('#duration_unit').change(function(){
126 showHidePeriodSettings();
129 $('#period_type').change(function(){
130 showHidePeriodSettings();
136 showHideMaxRelated($('#relationship_type_id').val());
137 $('#relationship_type_id').change(function(){
138 showHideMaxRelated($('#relationship_type_id').val());
140 {/literal}{else}{literal}
141 showHideMaxRelated($('#relationship_type_id :selected').val());
142 $('#relationship_type_id').change(function(){
143 showHideMaxRelated($('#relationship_type_id :selected').val());
145 {/literal}{/if}{literal}
148 function showHidePeriodSettings() {
149 if ((cj("#period_type :selected").val() == "fixed") &&
150 (cj("#duration_unit :selected").val() == "year")) {
151 cj('#fixed_start_day_row, #fixed_rollover_day_row').show();
152 cj('#month_fixed_rollover_day_row').hide();
153 if (!cj("#fixed_period_start_day_M, #fixed_period_start_day_d").val()) {
154 cj("#fixed_period_start_day_M, #fixed_period_start_day_d").val("1");
156 if (!cj("#fixed_period_rollover_day_M").val()) {
157 cj("#fixed_period_rollover_day_M").val("12");
159 if (!cj("#fixed_period_rollover_day_d").val()) {
160 cj("#fixed_period_rollover_day_d").val("31");
162 cj("#month_fixed_rollover_day_row").val("");
164 else if ((cj("#period_type :selected").val() == "fixed" ) &&
165 (cj("#duration_unit :selected").val() == "month" )) {
166 cj('#month_fixed_rollover_day_row').show();
167 cj('#fixed_start_day_row, #fixed_rollover_day_row').hide();
168 cj("#fixed_period_start_day_M, #fixed_period_start_day_d").val("");
169 cj("#fixed_period_rollover_day_M, #fixed_period_rollover_day_d").val("");
172 cj('#fixed_start_day_row, #fixed_rollover_day_row, #month_fixed_rollover_day_row').hide();
173 cj("#fixed_period_start_day_M, #fixed_period_start_day_d").val("");
174 cj("#fixed_period_rollover_day_M, #fixed_period_rollover_day_d").val("");
175 cj("#month_fixed_rollover_day_row").val("");
179 //load the auto renew msg if recur allow.
180 {/literal}{if $authorize and $allowAutoRenewMsg}{literal}
184 {/literal}{/if}{literal}
186 function setReminder( autoRenewOpt ) {
188 var allowToProcess = {/literal}'{$allowAutoRenewMsg}'{literal};
189 if ( !allowToProcess ) {
192 if ( !autoRenewOpt ) {
193 autoRenewOpt = cj( 'input:radio[name="auto_renew"]:checked').val();
196 if ( autoRenewOpt == 1 || autoRenewOpt == 2 ) funName = 'show();';
197 eval( "cj('#autoRenewalMsgId')." + funName );
200 function showHideMaxRelated(relTypeId) {
202 cj('#maxRelated').show();
205 cj('#maxRelated').hide();