3 +--------------------------------------------------------------------+
4 | CiviCRM version 4.6 |
5 +--------------------------------------------------------------------+
6 | This file is a part of CiviCRM. |
8 | CiviCRM is free software; you can copy, modify, and distribute it |
9 | under the terms of the GNU Affero General Public License |
10 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
12 | CiviCRM is distributed in the hope that it will be useful, but |
13 | WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
15 | See the GNU Affero General Public License for more details. |
17 | You should have received a copy of the GNU Affero General Public |
18 | License and the CiviCRM Licensing Exception along |
19 | with this program; if not, contact CiviCRM LLC |
20 | at info[AT]civicrm[DOT]org. If you have questions about the |
21 | GNU Affero General Public License or the licensing of CiviCRM, |
22 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
23 +--------------------------------------------------------------------+
27 * Build the $data array for CiviMember related tables
28 * Includes the following tables
31 function _civicrm_member_data(&$data, $enabled) {
32 //----------------------------------------------------------------
33 // CIVICRM Memberships are here with all the connections.
34 //----------------------------------------------------------------
37 $data['civicrm_membership']['table']['group'] = t('CiviCRM Member');
39 $data['civicrm_membership']['table']['base'] = array(
40 // Governs the whole mozilla
42 'title' => t('CiviCRM Memberships'),
43 'help' => t("View displays CiviCRM Memberships, with connection to contacts."),
45 $data['civicrm_membership']['table']['join'] = array(
46 // Directly links to contact table - link A
47 'civicrm_contact' => array(
49 'field' => 'contact_id',
53 //Display Memberships in User Views
54 $data['civicrm_membership']['table']['join']['users'] = array(
55 'left_table' => 'civicrm_uf_match',
56 'left_field' => 'contact_id',
57 'field' => 'contact_id',
62 //CiviCRM Memberships - FIELDS
64 //Numeric Membership ID
65 $data['civicrm_membership']['id'] = array(
66 'title' => t('Membership ID'),
67 'help' => t('The numeric ID of the Membership'),
69 'handler' => 'views_handler_field_numeric',
70 'click sortable' => TRUE,
73 'handler' => 'views_handler_argument_numeric',
77 'handler' => 'views_handler_filter_numeric',
78 'allow empty' => TRUE,
81 'handler' => 'views_handler_sort',
86 $data['civicrm_membership']['membership_type'] = array(
87 'title' => t('Membership Type'),
88 'real field' => 'membership_type_id',
89 'help' => t('The Type of Membership'),
91 'handler' => 'civicrm_handler_field_pseudo_constant',
92 'click sortable' => TRUE,
93 'pseudo class' => 'CRM_Member_PseudoConstant',
94 'pseudo method' => 'membershipType',
97 'handler' => 'views_handler_argument',
100 'handler' => 'civicrm_handler_filter_pseudo_constant',
101 'allow empty' => TRUE,
102 'pseudo class' => 'CRM_Member_PseudoConstant',
103 'pseudo method' => 'membershipType',
106 'handler' => 'views_handler_sort',
110 //Membership Join date
111 $data['civicrm_membership']['join_date'] = array(
112 'title' => t('Join Date'),
113 'help' => t('The Membership\'s Start Date'),
115 'handler' => 'civicrm_handler_field_datetime',
116 'click sortable' => TRUE,
119 'handler' => 'civicrm_handler_filter_datetime',
123 'handler' => 'civicrm_handler_sort_date',
127 civicrm_views_add_date_arguments($data['civicrm_membership'], array(
128 'title' => 'Join Date',
129 'name' => 'join_date',
132 //Membership start date
133 $data['civicrm_membership']['start_date'] = array(
134 'title' => t('Start Date'),
135 'help' => t('The Membership\'s Start Date'),
137 'handler' => 'civicrm_handler_field_datetime',
138 'click sortable' => TRUE,
141 'handler' => 'civicrm_handler_filter_datetime',
145 'handler' => 'civicrm_handler_sort_date',
149 civicrm_views_add_date_arguments($data['civicrm_membership'], array(
150 'title' => 'Start Date',
151 'name' => 'start_date',
155 //Membership end date
156 $data['civicrm_membership']['end_date'] = array(
157 'title' => t('End Date'),
158 'help' => t('The Membership\'s End Date'),
160 'handler' => 'civicrm_handler_field_datetime',
161 'click sortable' => TRUE,
164 'handler' => 'civicrm_handler_filter_datetime',
168 'handler' => 'civicrm_handler_sort_date',
172 civicrm_views_add_date_arguments($data['civicrm_membership'], array(
173 'title' => 'End Date',
174 'name' => 'end_date',
179 $data['civicrm_membership']['source'] = array(
180 'title' => t('Source'),
181 'help' => t('Source of the relationship'),
183 'handler' => 'views_handler_field',
184 'click sortable' => TRUE,
187 'handler' => 'views_handler_argument_string',
190 'handler' => 'views_handler_filter_string',
191 'allow empty' => TRUE,
194 'handler' => 'views_handler_sort',
198 $data['civicrm_membership']['status'] = array(
199 'title' => t('Status'),
200 'real field' => 'status_id',
201 'help' => t('The Status of the Membership'),
203 'handler' => 'civicrm_handler_field_pseudo_constant',
204 'click sortable' => TRUE,
205 'pseudo class' => 'CRM_Member_PseudoConstant',
206 'pseudo method' => 'membershipStatus',
209 'handler' => 'views_handler_argument',
212 'handler' => 'civicrm_handler_filter_pseudo_constant',
213 'allow empty' => TRUE,
214 'pseudo class' => 'CRM_Member_PseudoConstant',
215 'pseudo method' => 'membershipStatus',
218 'handler' => 'views_handler_sort',
222 //BOOLEAN : IS Status Overridden
223 $data['civicrm_membership']['is_override'] = array(
224 'title' => t('Status overridden?'),
225 'help' => t('Is the membership status overridden?'),
227 'handler' => 'views_handler_field_boolean',
228 'click sortable' => TRUE,
231 'handler' => 'views_handler_argument',
234 'handler' => 'views_handler_filter_boolean_operator',
237 'handler' => 'views_handler_sort',
240 //Membership end date
241 $data['civicrm_membership']['reminder_date'] = array(
242 'title' => t('Reminder Date'),
243 'help' => t('The Membership\'s Reminder Date'),
245 'handler' => 'civicrm_handler_field_datetime',
246 'click sortable' => TRUE,
249 'handler' => 'civicrm_handler_filter_datetime',
253 'handler' => 'civicrm_handler_sort_date',
257 civicrm_views_add_date_arguments($data['civicrm_membership'], array(
258 'title' => 'Reminder Date',
259 'name' => 'reminder_date',
264 //Numeric Membership Owner ID
265 $data['civicrm_membership']['owner_membership_id'] = array(
266 'title' => t('Membership Owner ID'),
267 'help' => t('The numeric ID Contact that owns the membership'),
269 'handler' => 'views_handler_field_numeric',
270 'click sortable' => TRUE,
273 'handler' => 'views_handler_argument_numeric',
277 'handler' => 'views_handler_filter_numeric',
278 'allow empty' => TRUE,
281 'handler' => 'views_handler_sort',
285 //BOOLEAN : IS test membership
286 $data['civicrm_membership']['is_test'] = array(
287 'title' => t('Test Membership?'),
288 'help' => t('Is this a test membership?'),
290 'handler' => 'views_handler_field_boolean',
291 'click sortable' => TRUE,
294 'handler' => 'views_handler_argument',
297 'handler' => 'views_handler_filter_boolean_operator',
300 'handler' => 'views_handler_sort',
303 //BOOLEAN : IS Pay later
304 $data['civicrm_membership']['is_pay_later'] = array(
305 'title' => t('Is Pay Later'),
306 'help' => t('Is the Membership pay later?'),
308 'handler' => 'views_handler_field_boolean',
309 'click sortable' => TRUE,
312 'handler' => 'views_handler_argument',
315 'handler' => 'views_handler_filter_boolean_operator',
318 'handler' => 'views_handler_sort',
321 // Link to Campaign Table
322 if (isset($enabled['CiviCampaign'])) {
323 $data['civicrm_membership']['campaign_id'] = array(
324 'title' => t('Campaign'),
325 'help' => t('Membership -> Campaign'),
326 'relationship' => array(
327 'base' => 'civicrm_campaign',
328 'base field' => 'id',
329 'handler' => 'views_handler_relationship',
330 'label' => t('Membership -> Campaign'),