*
* Used by the search forms
*/
-class CRM_Case_Task {
- const DELETE_CASES = 1, PRINT_CASES = 2, EXPORT_CASES = 3, RESTORE_CASES = 4;
+class CRM_Case_Task extends CRM_Core_Task {
- /**
- * The task array
- *
- * @var array
- */
- static $_tasks = NULL;
+ const
+ // Case tasks
+ RESTORE_CASES = 501;
- /**
- * The optional task array
- *
- * @var array
- */
- static $_optionalTasks = NULL;
+ static $objectType = 'case';
/**
* These tasks are the core set of tasks that the user can perform
* @return array
* the set of tasks for a group of contacts
*/
- public static function &tasks() {
+ public static function tasks() {
if (!self::$_tasks) {
self::$_tasks = array(
- 1 => array(
+ self::TASK_DELETE => array(
'title' => ts('Delete cases'),
'class' => 'CRM_Case_Form_Task_Delete',
'result' => FALSE,
),
- 2 => array(
+ self::TASK_PRINT => array(
'title' => ts('Print selected rows'),
'class' => 'CRM_Case_Form_Task_Print',
'result' => FALSE,
),
- 3 => array(
+ self::TASK_EXPORT => array(
'title' => ts('Export cases'),
'class' => array(
'CRM_Export_Form_Select',
),
'result' => FALSE,
),
- 4 => array(
+ self::RESTORE_CASES => array(
'title' => ts('Restore cases'),
'class' => 'CRM_Case_Form_Task_Restore',
'result' => FALSE,
),
- 5 => array(
+ self::PDF_LETTER => array(
'title' => ts('Print/merge Document'),
'class' => 'CRM_Case_Form_Task_PDF',
'result' => FALSE,
),
- 6 => array(
+ self::BATCH_UPDATE => array(
'title' => ts('Update multiple cases'),
'class' => array(
'CRM_Case_Form_Task_PickProfile',
//CRM-4418, check for delete
if (!CRM_Core_Permission::check('delete in CiviCase')) {
- unset(self::$_tasks[1]);
+ unset(self::$_tasks[self::TASK_DELETE]);
}
- CRM_Utils_Hook::searchTasks('case', self::$_tasks);
- asort(self::$_tasks);
+ parent::tasks();
}
return self::$_tasks;
}
- /**
- * These tasks are the core set of task titles.
- *
- * @return array
- * the set of task titles
- */
- public static function &taskTitles() {
- self::tasks();
- $titles = array();
- foreach (self::$_tasks as $id => $value) {
- $titles[$id] = $value['title'];
- }
- return $titles;
- }
-
- /**
- * These tasks get added based on the context the user is in.
- *
- * @return array
- * the set of optional tasks for a group of contacts
- */
- public static function &optionalTaskTitle() {
- $tasks = array();
- return $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) {
- $tasks = array();
+ public static function permissionedTaskTitles($permission, $params = array()) {
if (($permission == CRM_Core_Permission::EDIT)
|| CRM_Core_Permission::check('access all cases and activities')
|| CRM_Core_Permission::check('access my cases and activities')
}
else {
$tasks = array(
- 3 => self::$_tasks[3]['title'],
+ self::TASK_EXPORT => self::$_tasks[self::TASK_EXPORT]['title'],
);
//CRM-4418,
if (CRM_Core_Permission::check('delete in CiviCase')) {
- $tasks[1] = self::$_tasks[1]['title'];
+ $tasks[self::TASK_DELETE] = self::$_tasks[self::TASK_DELETE]['title'];
}
}
+
+ $tasks = parent::corePermissionedTaskTitles($tasks, $permission, $params);
return $tasks;
}
self::tasks();
if (!$value || !CRM_Utils_Array::value($value, self::$_tasks)) {
// make the print task by default
- $value = 2;
+ $value = self::TASK_PRINT;
}
return array(