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 | * $Id$ |
18 | * | |
19 | */ | |
20 | ||
21 | /** | |
22 | * This class generates form components for scheduling reminders for Event | |
23 | * | |
24 | */ | |
25 | class CRM_Event_Form_ManageEvent_ScheduleReminders extends CRM_Event_Form_ManageEvent { | |
26 | ||
27 | /** | |
66f9e52b | 28 | * Set variables up before form is built. |
6a488035 TO |
29 | * |
30 | * @return void | |
6a488035 | 31 | */ |
00be9182 | 32 | public function preProcess() { |
6a488035 | 33 | parent::preProcess(); |
e4b857f8 | 34 | $this->setSelectedChild('reminder'); |
4d3e4dbe | 35 | $setTab = CRM_Utils_Request::retrieve('setTab', 'Int', $this, FALSE, 0); |
6a488035 | 36 | |
be2fb01f | 37 | $mapping = CRM_Utils_Array::first(CRM_Core_BAO_ActionSchedule::getMappings([ |
46f5566c | 38 | 'id' => ($this->_isTemplate ? CRM_Event_ActionMapping::EVENT_TPL_MAPPING_ID : CRM_Event_ActionMapping::EVENT_NAME_MAPPING_ID), |
be2fb01f | 39 | ])); |
77e16391 | 40 | $reminderList = CRM_Core_BAO_ActionSchedule::getList(FALSE, $mapping, $this->_id); |
4d3e4dbe | 41 | if ($reminderList && is_array($reminderList)) { |
42 | // Add action links to each of the reminders | |
43 | foreach ($reminderList as & $format) { | |
44 | $action = CRM_Core_Action::UPDATE + CRM_Core_Action::DELETE; | |
45 | if ($format['is_active']) { | |
46 | $action += CRM_Core_Action::DISABLE; | |
47 | } | |
48 | else { | |
49 | $action += CRM_Core_Action::ENABLE; | |
50 | } | |
317fceb4 | 51 | $scheduleReminder = new CRM_Admin_Page_ScheduleReminders(); |
4d3e4dbe | 52 | $links = $scheduleReminder->links(); |
53 | $links[CRM_Core_Action::DELETE]['qs'] .= "&context=event&compId={$this->_id}"; | |
54 | $links[CRM_Core_Action::UPDATE]['qs'] .= "&context=event&compId={$this->_id}"; | |
55 | $format['action'] = CRM_Core_Action::formLink( | |
56 | $links, | |
57 | $action, | |
be2fb01f | 58 | ['id' => $format['id']], |
4d3e4dbe | 59 | ts('more'), |
60 | FALSE, | |
61 | 'actionSchedule.manage.action', | |
62 | 'ActionSchedule', | |
63 | $this->_id | |
64 | ); | |
6a488035 TO |
65 | } |
66 | } | |
67 | ||
4d3e4dbe | 68 | $this->assign('rows', $reminderList); |
0479b4c8 TO |
69 | $this->assign('setTab', $setTab); |
70 | $this->assign('component', 'event'); | |
6a488035 | 71 | |
4d3e4dbe | 72 | // Update tab "disabled" css class |
73 | $this->ajaxResponse['tabValid'] = is_array($reminderList) && (count($reminderList) > 0); | |
74 | $this->setPageTitle(ts('Scheduled Reminder')); | |
6a488035 | 75 | } |
6a488035 | 76 | |
1cd3ffa9 EM |
77 | /** |
78 | * @return string | |
79 | */ | |
00be9182 | 80 | public function getTemplateFileName() { |
4d3e4dbe | 81 | return 'CRM/Admin/Page/ScheduleReminders.tpl'; |
6a488035 | 82 | } |
96025800 | 83 | |
ef10e0b5 | 84 | } |