commiting uncommited changes on live site
[weblabels.fsf.org.git] / crm.fsf.org / 20131203 / files / sites / all / modules-new / civicrm / drupal / modules / views / components / civicrm.member.inc
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | CiviCRM version 4.6 |
5 +--------------------------------------------------------------------+
6 | This file is a part of CiviCRM. |
7 | |
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. |
11 | |
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. |
16 | |
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 +--------------------------------------------------------------------+
24 */
25
26 /**
27 * Build the $data array for CiviMember related tables
28 * Includes the following tables
29 * civicrm_membership
30 */
31 function _civicrm_member_data(&$data, $enabled) {
32 //----------------------------------------------------------------
33 // CIVICRM Memberships are here with all the connections.
34 //----------------------------------------------------------------
35
36
37 $data['civicrm_membership']['table']['group'] = t('CiviCRM Member');
38
39 $data['civicrm_membership']['table']['base'] = array(
40 // Governs the whole mozilla
41 'field' => 'id',
42 'title' => t('CiviCRM Memberships'),
43 'help' => t("View displays CiviCRM Memberships, with connection to contacts."),
44 );
45 $data['civicrm_membership']['table']['join'] = array(
46 // Directly links to contact table - link A
47 'civicrm_contact' => array(
48 'left_field' => 'id',
49 'field' => 'contact_id',
50 ),
51 );
52
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',
58 );
59
60
61
62 //CiviCRM Memberships - FIELDS
63
64 //Numeric Membership ID
65 $data['civicrm_membership']['id'] = array(
66 'title' => t('Membership ID'),
67 'help' => t('The numeric ID of the Membership'),
68 'field' => array(
69 'handler' => 'views_handler_field_numeric',
70 'click sortable' => TRUE,
71 ),
72 'argument' => array(
73 'handler' => 'views_handler_argument_numeric',
74 'numeric' => TRUE,
75 ),
76 'filter' => array(
77 'handler' => 'views_handler_filter_numeric',
78 'allow empty' => TRUE,
79 ),
80 'sort' => array(
81 'handler' => 'views_handler_sort',
82 ),
83 );
84
85 //Membership Type
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'),
90 'field' => array(
91 'handler' => 'civicrm_handler_field_pseudo_constant',
92 'click sortable' => TRUE,
93 'pseudo class' => 'CRM_Member_PseudoConstant',
94 'pseudo method' => 'membershipType',
95 ),
96 'argument' => array(
97 'handler' => 'views_handler_argument',
98 ),
99 'filter' => array(
100 'handler' => 'civicrm_handler_filter_pseudo_constant',
101 'allow empty' => TRUE,
102 'pseudo class' => 'CRM_Member_PseudoConstant',
103 'pseudo method' => 'membershipType',
104 ),
105 'sort' => array(
106 'handler' => 'views_handler_sort',
107 ),
108 );
109
110 //Membership Join date
111 $data['civicrm_membership']['join_date'] = array(
112 'title' => t('Join Date'),
113 'help' => t('The Membership\'s Start Date'),
114 'field' => array(
115 'handler' => 'civicrm_handler_field_datetime',
116 'click sortable' => TRUE,
117 ),
118 'filter' => array(
119 'handler' => 'civicrm_handler_filter_datetime',
120 'is date' => TRUE,
121 ),
122 'sort' => array(
123 'handler' => 'civicrm_handler_sort_date',
124 ),
125 );
126
127 civicrm_views_add_date_arguments($data['civicrm_membership'], array(
128 'title' => 'Join Date',
129 'name' => 'join_date',
130 ));
131
132 //Membership start date
133 $data['civicrm_membership']['start_date'] = array(
134 'title' => t('Start Date'),
135 'help' => t('The Membership\'s Start Date'),
136 'field' => array(
137 'handler' => 'civicrm_handler_field_datetime',
138 'click sortable' => TRUE,
139 ),
140 'filter' => array(
141 'handler' => 'civicrm_handler_filter_datetime',
142 'is date' => TRUE,
143 ),
144 'sort' => array(
145 'handler' => 'civicrm_handler_sort_date',
146 ),
147 );
148
149 civicrm_views_add_date_arguments($data['civicrm_membership'], array(
150 'title' => 'Start Date',
151 'name' => 'start_date',
152 ));
153
154
155 //Membership end date
156 $data['civicrm_membership']['end_date'] = array(
157 'title' => t('End Date'),
158 'help' => t('The Membership\'s End Date'),
159 'field' => array(
160 'handler' => 'civicrm_handler_field_datetime',
161 'click sortable' => TRUE,
162 ),
163 'filter' => array(
164 'handler' => 'civicrm_handler_filter_datetime',
165 'is date' => TRUE,
166 ),
167 'sort' => array(
168 'handler' => 'civicrm_handler_sort_date',
169 ),
170 );
171
172 civicrm_views_add_date_arguments($data['civicrm_membership'], array(
173 'title' => 'End Date',
174 'name' => 'end_date',
175 ));
176
177
178 //membership Source
179 $data['civicrm_membership']['source'] = array(
180 'title' => t('Source'),
181 'help' => t('Source of the relationship'),
182 'field' => array(
183 'handler' => 'views_handler_field',
184 'click sortable' => TRUE,
185 ),
186 'argument' => array(
187 'handler' => 'views_handler_argument_string',
188 ),
189 'filter' => array(
190 'handler' => 'views_handler_filter_string',
191 'allow empty' => TRUE,
192 ),
193 'sort' => array(
194 'handler' => 'views_handler_sort',
195 ),
196 );
197 //Membership Status
198 $data['civicrm_membership']['status'] = array(
199 'title' => t('Status'),
200 'real field' => 'status_id',
201 'help' => t('The Status of the Membership'),
202 'field' => array(
203 'handler' => 'civicrm_handler_field_pseudo_constant',
204 'click sortable' => TRUE,
205 'pseudo class' => 'CRM_Member_PseudoConstant',
206 'pseudo method' => 'membershipStatus',
207 ),
208 'argument' => array(
209 'handler' => 'views_handler_argument',
210 ),
211 'filter' => array(
212 'handler' => 'civicrm_handler_filter_pseudo_constant',
213 'allow empty' => TRUE,
214 'pseudo class' => 'CRM_Member_PseudoConstant',
215 'pseudo method' => 'membershipStatus',
216 ),
217 'sort' => array(
218 'handler' => 'views_handler_sort',
219 ),
220 );
221
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?'),
226 'field' => array(
227 'handler' => 'views_handler_field_boolean',
228 'click sortable' => TRUE,
229 ),
230 'argument' => array(
231 'handler' => 'views_handler_argument',
232 ),
233 'filter' => array(
234 'handler' => 'views_handler_filter_boolean_operator',
235 ),
236 'sort' => array(
237 'handler' => 'views_handler_sort',
238 ),
239 );
240 //Membership end date
241 $data['civicrm_membership']['reminder_date'] = array(
242 'title' => t('Reminder Date'),
243 'help' => t('The Membership\'s Reminder Date'),
244 'field' => array(
245 'handler' => 'civicrm_handler_field_datetime',
246 'click sortable' => TRUE,
247 ),
248 'filter' => array(
249 'handler' => 'civicrm_handler_filter_datetime',
250 'is date' => TRUE,
251 ),
252 'sort' => array(
253 'handler' => 'civicrm_handler_sort_date',
254 ),
255 );
256
257 civicrm_views_add_date_arguments($data['civicrm_membership'], array(
258 'title' => 'Reminder Date',
259 'name' => 'reminder_date',
260 ));
261
262
263
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'),
268 'field' => array(
269 'handler' => 'views_handler_field_numeric',
270 'click sortable' => TRUE,
271 ),
272 'argument' => array(
273 'handler' => 'views_handler_argument_numeric',
274 'numeric' => TRUE,
275 ),
276 'filter' => array(
277 'handler' => 'views_handler_filter_numeric',
278 'allow empty' => TRUE,
279 ),
280 'sort' => array(
281 'handler' => 'views_handler_sort',
282 ),
283 );
284
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?'),
289 'field' => array(
290 'handler' => 'views_handler_field_boolean',
291 'click sortable' => TRUE,
292 ),
293 'argument' => array(
294 'handler' => 'views_handler_argument',
295 ),
296 'filter' => array(
297 'handler' => 'views_handler_filter_boolean_operator',
298 ),
299 'sort' => array(
300 'handler' => 'views_handler_sort',
301 ),
302 );
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?'),
307 'field' => array(
308 'handler' => 'views_handler_field_boolean',
309 'click sortable' => TRUE,
310 ),
311 'argument' => array(
312 'handler' => 'views_handler_argument',
313 ),
314 'filter' => array(
315 'handler' => 'views_handler_filter_boolean_operator',
316 ),
317 'sort' => array(
318 'handler' => 'views_handler_sort',
319 ),
320 );
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'),
331 ),
332 );
333 }
334 }
335