<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.5 |
+ | CiviCRM version 4.6 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
| GNU Affero General Public License or the licensing of CiviCRM, |
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
-*/
+ */
/**
*
*
*/
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
*/
static $_optionalTasks = NULL;
* These tasks are the core set of tasks that the user can perform
* on a contact / group of contacts
*
- * @return array the set of tasks for a group of contacts
- * @static
- * @access public
+ * @return array
+ * the set of tasks for a group of contacts
*/
- static function &tasks() {
+ public static function &tasks() {
if (!(self::$_tasks)) {
self::$_tasks = array(
1 => array(
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');
* These tasks are the core set of task titles
* on contributors
*
- * @return array the set of task titles
- * @static
- * @access public
+ * @return array
+ * the set of task titles
*/
- 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
+ * @return array
+ * set of tasks that are valid for the user
*/
- 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')
*
* @param int $value
*
- * @return array the set of tasks for a group of contributors
- * @static
- * @access public
+ * @return array
+ * the set of tasks for a group of contributors
*/
- 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
self::$_tasks[$value]['result'],
);
}
-}
+}