Commit | Line | Data |
---|---|---|
7f254ad8 AE |
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 |