Skip to content

Commit d6af79a

Browse files
author
Muhammad Shahrukh
committed
DTAB-113: Add participant custom fields
1 parent 152dff4 commit d6af79a

File tree

4 files changed

+283
-0
lines changed

4 files changed

+283
-0
lines changed

CRM/Thinkific/.gitkeep

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?php
2+
3+
class CRM_Thinkific_ParticipantCustomFieldsManager {
4+
const ENROLLMENT_FIELD = 'Thinkific_enrolment_ID';
5+
const SYNC_STATUS_FIELD = 'Sync_status';
6+
const SYNC_DATE_FIELD = 'Last_synced_date';
7+
const RESPONSE_FIELD = 'Last_API_response';
8+
9+
}

managed/.gitkeep

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,274 @@
1+
<?php
2+
3+
/**
4+
* @file
5+
* Exported Custom group and fields for Participant Thinkific sync data.
6+
*/
7+
8+
return [
9+
[
10+
'name' => 'CustomGroup_Participant_Thinkific_Sync',
11+
'entity' => 'CustomGroup',
12+
'cleanup' => 'unused',
13+
'update' => 'unmodified',
14+
'params' => [
15+
'version' => 4,
16+
'values' => [
17+
'name' => 'Thinkific_sync',
18+
'title' => 'Thinkific sync',
19+
'extends' => 'Participant',
20+
'extends_entity_column_value' => NULL,
21+
'style' => 'Inline',
22+
'collapse_display' => FALSE,
23+
'help_pre' => '',
24+
'help_post' => '',
25+
'weight' => 95,
26+
'is_active' => TRUE,
27+
'is_multiple' => FALSE,
28+
'min_multiple' => NULL,
29+
'max_multiple' => NULL,
30+
'collapse_adv_display' => TRUE,
31+
'created_date' => '2025-03-17 12:04:01',
32+
'is_reserved' => FALSE,
33+
'is_public' => FALSE,
34+
'icon' => '',
35+
'extends_entity_column_id' => NULL,
36+
'table_name' => 'civicrm_value_participant_lms_thinkific_sync',
37+
],
38+
],
39+
],
40+
[
41+
'name' => 'CustomGroup_Thinkific_Sync_CustomField_Thinkific_Enrollment_ID',
42+
'entity' => 'CustomField',
43+
'cleanup' => 'unused',
44+
'update' => 'unmodified',
45+
'params' => [
46+
'version' => 4,
47+
'values' => [
48+
'custom_group_id.name' => 'Thinkific_sync',
49+
'name' => CRM_Thinkific_ParticipantCustomFieldsManager::ENROLLMENT_FIELD,
50+
'label' => 'Thinkific enrolment ID',
51+
'data_type' => 'String',
52+
'html_type' => 'Text',
53+
'default_value' => NULL,
54+
'is_required' => FALSE,
55+
'is_searchable' => TRUE,
56+
'is_search_range' => FALSE,
57+
'help_pre' => NULL,
58+
'help_post' => NULL,
59+
'mask' => NULL,
60+
'attributes' => NULL,
61+
'javascript' => NULL,
62+
'is_active' => TRUE,
63+
'is_view' => FALSE,
64+
'options_per_line' => NULL,
65+
'text_length' => 255,
66+
'start_date_years' => NULL,
67+
'end_date_years' => NULL,
68+
'date_format' => NULL,
69+
'time_format' => NULL,
70+
'note_columns' => 60,
71+
'note_rows' => 4,
72+
'column_name' => 'thinkific_enrolment_id',
73+
'serialize' => 0,
74+
'filter' => NULL,
75+
'in_selector' => FALSE,
76+
],
77+
],
78+
],
79+
[
80+
'name' => 'OptionGroup_Thinkific_Sync_Status',
81+
'entity' => 'OptionGroup',
82+
'cleanup' => 'unused',
83+
'update' => 'unmodified',
84+
'params' => [
85+
'version' => 4,
86+
'values' => [
87+
'name' => 'Thinkific_Sync_Status',
88+
'title' => 'Thinkific sync :: Sync status',
89+
'description' => NULL,
90+
'data_type' => 'String',
91+
'is_reserved' => FALSE,
92+
'is_active' => TRUE,
93+
'is_locked' => FALSE,
94+
'option_value_fields' => [
95+
'name',
96+
'label',
97+
'description',
98+
],
99+
],
100+
],
101+
],
102+
[
103+
'name' => 'OptionGroup_Thinkific_Sync_Status_OptionValue_Successful',
104+
'entity' => 'OptionValue',
105+
'cleanup' => 'unused',
106+
'update' => 'unmodified',
107+
'params' => [
108+
'version' => 4,
109+
'values' => [
110+
'option_group_id.name' => 'Thinkific_Sync_Status',
111+
'label' => 'Successful',
112+
'value' => '1',
113+
'name' => 'Successful',
114+
'grouping' => NULL,
115+
'filter' => 0,
116+
'is_default' => FALSE,
117+
'description' => NULL,
118+
'is_optgroup' => FALSE,
119+
'is_reserved' => FALSE,
120+
'is_active' => TRUE,
121+
'icon' => NULL,
122+
'color' => NULL,
123+
'component_id' => NULL,
124+
'domain_id' => NULL,
125+
'visibility_id' => NULL,
126+
],
127+
],
128+
],
129+
[
130+
'name' => 'OptionGroup_Thinkific_Sync_Status_OptionValue_Failed',
131+
'entity' => 'OptionValue',
132+
'cleanup' => 'unused',
133+
'update' => 'unmodified',
134+
'params' => [
135+
'version' => 4,
136+
'values' => [
137+
'option_group_id.name' => 'Thinkific_Sync_Status',
138+
'label' => 'Failed',
139+
'value' => '0',
140+
'name' => 'Failed',
141+
'grouping' => NULL,
142+
'filter' => 0,
143+
'is_default' => FALSE,
144+
'description' => NULL,
145+
'is_optgroup' => FALSE,
146+
'is_reserved' => FALSE,
147+
'is_active' => TRUE,
148+
'icon' => NULL,
149+
'color' => NULL,
150+
'component_id' => NULL,
151+
'domain_id' => NULL,
152+
'visibility_id' => NULL,
153+
],
154+
],
155+
],
156+
[
157+
'name' => 'CustomGroup_Thinkific_sync_CustomField_Sync_Status',
158+
'entity' => 'CustomField',
159+
'cleanup' => 'unused',
160+
'update' => 'unmodified',
161+
'params' => [
162+
'version' => 4,
163+
'values' => [
164+
'custom_group_id.name' => 'Thinkific_sync',
165+
'name' => CRM_Thinkific_ParticipantCustomFieldsManager::SYNC_STATUS_FIELD,
166+
'label' => 'Sync status',
167+
'data_type' => 'String',
168+
'html_type' => 'Select',
169+
'default_value' => NULL,
170+
'is_required' => FALSE,
171+
'is_searchable' => FALSE,
172+
'is_search_range' => FALSE,
173+
'help_pre' => NULL,
174+
'help_post' => NULL,
175+
'mask' => NULL,
176+
'attributes' => NULL,
177+
'javascript' => NULL,
178+
'is_active' => TRUE,
179+
'is_view' => TRUE,
180+
'options_per_line' => NULL,
181+
'text_length' => 255,
182+
'start_date_years' => NULL,
183+
'end_date_years' => NULL,
184+
'date_format' => NULL,
185+
'time_format' => NULL,
186+
'note_columns' => 60,
187+
'note_rows' => 4,
188+
'column_name' => 'sync_status',
189+
'option_group_id.name' => 'Thinkific_Sync_Status',
190+
'serialize' => 0,
191+
'filter' => NULL,
192+
'in_selector' => FALSE,
193+
],
194+
],
195+
],
196+
[
197+
'name' => 'CustomGroup_Thinkific_Sync_CustomField_Last_Synced_date',
198+
'entity' => 'CustomField',
199+
'cleanup' => 'unused',
200+
'update' => 'unmodified',
201+
'params' => [
202+
'version' => 4,
203+
'values' => [
204+
'custom_group_id.name' => 'Thinkific_sync',
205+
'name' => CRM_Thinkific_ParticipantCustomFieldsManager::SYNC_DATE_FIELD,
206+
'label' => 'Last synced date',
207+
'data_type' => 'Date',
208+
'html_type' => 'Select Date',
209+
'default_value' => NULL,
210+
'is_required' => FALSE,
211+
'is_searchable' => FALSE,
212+
'is_search_range' => FALSE,
213+
'help_pre' => NULL,
214+
'help_post' => NULL,
215+
'mask' => NULL,
216+
'attributes' => NULL,
217+
'javascript' => NULL,
218+
'is_active' => TRUE,
219+
'is_view' => TRUE,
220+
'options_per_line' => NULL,
221+
'text_length' => 255,
222+
'start_date_years' => NULL,
223+
'end_date_years' => NULL,
224+
'date_format' => 'dd-mm-yyyy',
225+
'time_format' => 2,
226+
'note_columns' => 60,
227+
'note_rows' => 4,
228+
'column_name' => 'last_synced_date',
229+
'serialize' => 0,
230+
'filter' => NULL,
231+
'in_selector' => FALSE,
232+
],
233+
],
234+
],
235+
[
236+
'name' => 'CustomGroup_Thinkific_Sync_CustomField_Last_API_Response',
237+
'entity' => 'CustomField',
238+
'cleanup' => 'unused',
239+
'update' => 'unmodified',
240+
'params' => [
241+
'version' => 4,
242+
'values' => [
243+
'custom_group_id.name' => 'Thinkific_sync',
244+
'name' => CRM_Thinkific_ParticipantCustomFieldsManager::RESPONSE_FIELD,
245+
'label' => 'Last API response',
246+
'data_type' => 'Memo',
247+
'html_type' => 'TextArea',
248+
'default_value' => NULL,
249+
'is_required' => FALSE,
250+
'is_searchable' => FALSE,
251+
'is_search_range' => FALSE,
252+
'help_pre' => NULL,
253+
'help_post' => NULL,
254+
'mask' => NULL,
255+
'attributes' => 'rows=4, cols=60',
256+
'javascript' => NULL,
257+
'is_active' => TRUE,
258+
'is_view' => TRUE,
259+
'options_per_line' => NULL,
260+
'text_length' => NULL,
261+
'start_date_years' => NULL,
262+
'end_date_years' => NULL,
263+
'date_format' => NULL,
264+
'time_format' => NULL,
265+
'note_columns' => 60,
266+
'note_rows' => 4,
267+
'column_name' => 'last_api_response',
268+
'serialize' => 0,
269+
'filter' => NULL,
270+
'in_selector' => FALSE,
271+
],
272+
],
273+
],
274+
];

0 commit comments

Comments
 (0)