diff -u b/plugins/operation_types/action.inc b/plugins/operation_types/action.inc --- b/plugins/operation_types/action.inc +++ b/plugins/operation_types/action.inc @@ -63,6 +63,7 @@ 'behavior' => isset($action['behavior']) ? $action['behavior'] : array(), 'permissions' => isset($action['permissions']) ? $action['permissions'] : NULL, 'pass rows' => !empty($action['pass rows']), + 'entity operations' => isset($action['entity operations']) ? $action['entity operations'] : array(), 'access callback' => isset($action['access callback']) ? $action['access callback'] : NULL, 'access arguments' => !empty($action['access arguments']) ? $action['access arguments'] : array(), ); only in patch2: unchanged: --- a/plugins/operation_types/action.class.php +++ b/plugins/operation_types/action.class.php @@ -19,16 +19,12 @@ class ViewsBulkOperationsAction extends ViewsBulkOperationsBaseOperation { * Returns the access bitmask for the operation, used for entity access checks. */ public function getAccessMask() { - // Assume edit by default. - if (empty($this->operationInfo['behavior'])) { - $this->operationInfo['behavior'] = array('changes_property'); - } - $mask = 0; if (in_array('views_property', $this->operationInfo['behavior'])) { $mask |= VBO_ACCESS_OP_VIEW; } - if (in_array('changes_property', $this->operationInfo['behavior'])) { + // Assume edit by default. + if (in_array('changes_property', $this->operationInfo['behavior']) || empty($this->operationInfo['behavior'])) { $mask |= VBO_ACCESS_OP_UPDATE; } if (in_array('creates_property', $this->operationInfo['behavior'])) {