Commit | Line | Data |
---|---|---|
6a488035 TO |
1 | <?php |
2 | /* | |
3 | +--------------------------------------------------------------------+ | |
bc77d7c0 | 4 | | Copyright CiviCRM LLC. All rights reserved. | |
6a488035 | 5 | | | |
bc77d7c0 TO |
6 | | This work is published under the GNU AGPLv3 license with some | |
7 | | permitted exceptions and without any warranty. For full license | | |
8 | | and copyright information, see https://civicrm.org/licensing | | |
6a488035 | 9 | +--------------------------------------------------------------------+ |
d25dd0ee | 10 | */ |
6a488035 TO |
11 | |
12 | /** | |
13 | * | |
14 | * | |
15 | * @package CRM | |
ca5cec67 | 16 | * @copyright CiviCRM LLC https://civicrm.org/licensing |
6a488035 TO |
17 | */ |
18 | ||
19 | /** | |
20 | * This class generates form components for scheduling reminders for Event | |
21 | * | |
22 | */ | |
23 | class CRM_Event_Form_ManageEvent_ScheduleReminders extends CRM_Event_Form_ManageEvent { | |
24 | ||
25 | /** | |
66f9e52b | 26 | * Set variables up before form is built. |
6a488035 TO |
27 | * |
28 | * @return void | |
6a488035 | 29 | */ |
00be9182 | 30 | public function preProcess() { |
6a488035 | 31 | parent::preProcess(); |
e4b857f8 | 32 | $this->setSelectedChild('reminder'); |
4d3e4dbe | 33 | $setTab = CRM_Utils_Request::retrieve('setTab', 'Int', $this, FALSE, 0); |
6a488035 | 34 | |
be2fb01f | 35 | $mapping = CRM_Utils_Array::first(CRM_Core_BAO_ActionSchedule::getMappings([ |
46f5566c | 36 | 'id' => ($this->_isTemplate ? CRM_Event_ActionMapping::EVENT_TPL_MAPPING_ID : CRM_Event_ActionMapping::EVENT_NAME_MAPPING_ID), |
be2fb01f | 37 | ])); |
77e16391 | 38 | $reminderList = CRM_Core_BAO_ActionSchedule::getList(FALSE, $mapping, $this->_id); |
4d3e4dbe | 39 | if ($reminderList && is_array($reminderList)) { |
40 | // Add action links to each of the reminders | |
41 | foreach ($reminderList as & $format) { | |
42 | $action = CRM_Core_Action::UPDATE + CRM_Core_Action::DELETE; | |
43 | if ($format['is_active']) { | |
44 | $action += CRM_Core_Action::DISABLE; | |
45 | } | |
46 | else { | |
47 | $action += CRM_Core_Action::ENABLE; | |
48 | } | |
317fceb4 | 49 | $scheduleReminder = new CRM_Admin_Page_ScheduleReminders(); |
4d3e4dbe | 50 | $links = $scheduleReminder->links(); |
51 | $links[CRM_Core_Action::DELETE]['qs'] .= "&context=event&compId={$this->_id}"; | |
52 | $links[CRM_Core_Action::UPDATE]['qs'] .= "&context=event&compId={$this->_id}"; | |
53 | $format['action'] = CRM_Core_Action::formLink( | |
54 | $links, | |
55 | $action, | |
be2fb01f | 56 | ['id' => $format['id']], |
4d3e4dbe | 57 | ts('more'), |
58 | FALSE, | |
59 | 'actionSchedule.manage.action', | |
60 | 'ActionSchedule', | |
61 | $this->_id | |
62 | ); | |
6a488035 TO |
63 | } |
64 | } | |
65 | ||
4d3e4dbe | 66 | $this->assign('rows', $reminderList); |
0479b4c8 TO |
67 | $this->assign('setTab', $setTab); |
68 | $this->assign('component', 'event'); | |
6a488035 | 69 | |
4d3e4dbe | 70 | // Update tab "disabled" css class |
71 | $this->ajaxResponse['tabValid'] = is_array($reminderList) && (count($reminderList) > 0); | |
72 | $this->setPageTitle(ts('Scheduled Reminder')); | |
6a488035 | 73 | } |
6a488035 | 74 | |
1cd3ffa9 EM |
75 | /** |
76 | * @return string | |
77 | */ | |
00be9182 | 78 | public function getTemplateFileName() { |
4d3e4dbe | 79 | return 'CRM/Admin/Page/ScheduleReminders.tpl'; |
6a488035 | 80 | } |
96025800 | 81 | |
ef10e0b5 | 82 | } |