X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FContribute%2FTask.php;h=146daba42dabcb1a31ac3bbee986aa099eaa69cc;hb=874c9be71a0eaece92406de8089dc7de42298084;hp=72c85291e0508a3f87d644fe726c2684416c2653;hpb=7dee6a13d167a1dd2b4bf1075252bcb7e324c7e5;p=civicrm-core.git diff --git a/CRM/Contribute/Task.php b/CRM/Contribute/Task.php index 72c85291e0..6f997a815e 100644 --- a/CRM/Contribute/Task.php +++ b/CRM/Contribute/Task.php @@ -1,7 +1,7 @@ array( @@ -114,13 +113,28 @@ class CRM_Contribute_Task { 'class' => 'CRM_Contribute_Form_Task_PDFLetter', 'result' => FALSE, ), + 9 => array( + 'title' => ts('Print or Email Contribution Invoices'), + 'class' => 'CRM_Contribute_Form_Task_Invoice', + 'result' => FALSE, + ), ); //CRM-4418, check for delete if (!CRM_Core_Permission::check('delete in CiviContribute')) { unset(self::$_tasks[1]); } + //CRM-12920 - check for edit permission + if( !CRM_Core_Permission::check('edit contributions') ){ + unset(self::$_tasks[4], self::$_tasks[6]); + } + // remove action "Print or Email Contribution Invoices" + $invoiceSettings = CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::CONTRIBUTE_PREFERENCES_NAME, 'contribution_invoice_settings'); + $invoicing = CRM_Utils_Array::value('invoicing', $invoiceSettings); + if (!$invoicing) { + unset(self::$_tasks[9]); + } CRM_Utils_Hook::searchTasks('contribution', self::$_tasks); asort(self::$_tasks); } @@ -134,9 +148,8 @@ class CRM_Contribute_Task { * * @return array the set of task titles * @static - * @access public */ - static function &taskTitles() { + public static function &taskTitles() { self::tasks(); $titles = array(); foreach (self::$_tasks as $id => $value) { @@ -146,15 +159,16 @@ class CRM_Contribute_Task { } /** - * show tasks selectively based on the permission level + * Show tasks selectively based on the permission level * of the user * * @param int $permission * + * @param bool $softCreditFiltering + * * @return array set of tasks that are valid for the user - * @access public */ - static function &permissionedTaskTitles($permission, $softCreditFiltering = FALSE) { + public static function &permissionedTaskTitles($permission, $softCreditFiltering = FALSE) { $tasks = array(); if (($permission == CRM_Core_Permission::EDIT) || CRM_Core_Permission::check('edit contributions') @@ -187,9 +201,8 @@ class CRM_Contribute_Task { * * @return array the set of tasks for a group of contributors * @static - * @access public */ - static function getTask($value) { + public static function getTask($value) { self::tasks(); if (!$value || !CRM_Utils_Array::value($value, self::$_tasks)) { // make the print task by default @@ -206,4 +219,3 @@ class CRM_Contribute_Task { ); } } -