<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.5 |
+ | CiviCRM version 4.6 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
*
*/
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;
+ 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
static $_tasks = NULL;
/**
- * the optional task array
+ * The optional task array
*
* @var array
* @static
*
* @return array the set of tasks for a group of contacts
* @static
- * @access public
*/
- static function &tasks() {
+ public static function &tasks() {
if (!(self::$_tasks)) {
self::$_tasks = array(
1 => array(
'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);
}
*
* @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) {
}
/**
- * 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')
*
* @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
);
}
}
-