exposeMethod('getReminders'); $this->exposeMethod('postpone'); } public function checkPermission(Vtiger_Request $request) { $moduleName = $request->getModule(); $moduleModel = Vtiger_Module_Model::getInstance($moduleName); $userPrivilegesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel(); $permission = $userPrivilegesModel->hasModulePermission($moduleModel->getId()); if(!$permission) { throw new AppException('LBL_PERMISSION_DENIED'); } } public function process(Vtiger_Request $request) { $mode = $request->getMode(); if(!empty($mode) && $this->isMethodExposed($mode)) { $this->invokeExposedMethod($mode, $request); return; } } function getReminders(Vtiger_Request $request) { $recordModels = Calendar_Module_Model::getCalendarReminder(); foreach($recordModels as $record) { $records[] = $record->getDisplayableValues(); $record->updateReminderStatus(); } $response = new Vtiger_Response(); $response->setResult($records); $response->emit(); } function postpone(Vtiger_Request $request) { $recordId = $request->get('record'); $module = $request->getModule(); $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $module); $recordModel->updateReminderStatus(0); } }