(there is an issue in Field Permissions queue dealing with the same problem - [5988022]).
If you have Field Permissions module installed and Create permission turned on for some CCK field, you cannot use VBO Modify Node Field action unless you have Create permission for that field.
This is due to the fact Field Permissions relies on $node->nid do decide if the node already exists or it is being created. VBO does not pass the nid value to the access function, so Field Permissions decides the node is new and do not allow field edit operation.
At the moment (as I need it urgently), I had to hack me way through both VBO and Field Permissions. As for VBO, all I changed was:
file fields.action.inc:
function views_bulk_operations_fields_action_form($context) {
module_load_include('inc', 'content', 'includes/content.node_form');
// This action form uses static-time settings. If they were not set, pull the defaults now.
if (!isset($context['settings'])) $context['settings'] = views_bulk_operations_fields_action_views_bulk_operations_form_options();
$form['#settings'] = $context['settings'];
$form['#theme'] = 'views_bulk_operations_fields_action_form';
$form['#node'] = (object)array('type' => NULL, 'is_new' => FALSE);adding the 'is_new' => FALSE so I can check $node->is_new later on.
I do not know if this issue belongs only to VBO or Field Permissions, but the problem is somewhere in between.
Comments
Comment #1
azol commentedSorry, the link to Field Permissions issue is: #876550: The "create" permission does not work for fields that are attached to any entity other than nodes #21