[ 'title' => ts('Record Respondents Interview'), 'class' => [ 'CRM_Campaign_Form_Task_Interview', 'CRM_Campaign_Form_Task_Release', ], 'result' => FALSE, ], self::RESERVE => [ 'title' => ts('Reserve Respondents'), 'class' => [ 'CRM_Campaign_Form_Task_Reserve', 'CRM_Campaign_Form_Task_Interview', 'CRM_Campaign_Form_Task_Release', ], 'result' => FALSE, ], self::RELEASE => [ 'title' => ts('Release Respondents'), 'class' => 'CRM_Campaign_Form_Task_Release', 'result' => FALSE, ], self::TASK_PRINT => [ 'title' => ts('Print Respondents'), 'class' => 'CRM_Campaign_Form_Task_Print', 'result' => FALSE, ], ]; parent::tasks(); } return self::$_tasks; } /** * Show tasks selectively based on the permission level * of the user * * @param int $permission * @param array $params * * @return array * set of tasks that are valid for the user */ public static function permissionedTaskTitles($permission, $params = []) { $tasks = self::taskTitles(); $tasks = parent::corePermissionedTaskTitles($tasks, $permission, $params); return $tasks; } /** * These tasks are the core set of tasks that the user can perform * on voters. * * @param int $value * * @return array * the set of tasks for a group of voters. */ public static function getTask($value) { self::tasks(); if (!$value || empty(self::$_tasks[$value])) { // Set the interview task as default $value = self::INTERVIEW; } return [ self::$_tasks[$value]['class'], self::$_tasks[$value]['result'], ]; } }