X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FContribute%2FTask.php;h=7b7b708f71f1d9c09ff78e496d3b9ea74e746d99;hb=06b24f030643747e4223fd83be521dbb75b10c28;hp=72c85291e0508a3f87d644fe726c2684416c2653;hpb=00ca8648aca9637f2678082ce09f98772533a8cc;p=civicrm-core.git diff --git a/CRM/Contribute/Task.php b/CRM/Contribute/Task.php index 72c85291e0..7b7b708f71 100644 --- a/CRM/Contribute/Task.php +++ b/CRM/Contribute/Task.php @@ -42,7 +42,7 @@ class CRM_Contribute_Task { CONST DELETE_CONTRIBUTIONS = 1, PRINT_CONTRIBUTIONS = 2, EXPORT_CONTRIBUTIONS = 3, BATCH_CONTRIBUTIONS = 4, EMAIL_CONTACTS = 5, UPDATE_STATUS = 6, PDF_RECEIPT = 7; /** - * the task array + * The task array * * @var array * @static @@ -50,7 +50,7 @@ class CRM_Contribute_Task { static $_tasks = NULL; /** - * the optional task array + * The optional task array * * @var array * @static @@ -114,13 +114,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); } @@ -146,11 +161,13 @@ 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 */