diff --git a/filefield.module b/filefield.module index 4334c4b..5f2d6a7 100644 --- a/filefield.module +++ b/filefield.module @@ -548,13 +548,13 @@ function filefield_filefield_icon_sets() { } /** - * Access callback for the JavaScript upload and deletion AHAH callbacks. + * Access callback for AHAH upload/delete and node form validation. * * The content_permissions module provides nice fine-grained permissions for * us to check, so we can make sure that the user may actually edit the file. */ -function filefield_edit_access($type_name, $field_name) { - if (!content_access('edit', content_fields($field_name, $type_name))) { +function filefield_edit_access($type_name, $field_name, $node = NULL) { + if (!content_access('edit', content_fields($field_name, $type_name), NULL, $node)) { return FALSE; } // No content permissions to check, so let's fall back to a more general permission. diff --git a/filefield_widget.inc b/filefield_widget.inc index 4b3536f..03fc7fb 100644 --- a/filefield_widget.inc +++ b/filefield_widget.inc @@ -558,8 +558,7 @@ function filefield_node_form_validate($form, &$form_state) { $total_filesize += (int)$item['filesize']; } } - - if (!$valid && $field['required'] && filefield_edit_access($field['type_name'], $field_name)) { + if (!$valid && $field['required'] && filefield_edit_access($field['type_name'], $field_name, $form['#node'])) { form_set_error($field_name, t('%title field is required.', array('%title' => $field['widget']['label']))); } $max_filesize = parse_size($field['widget']['max_filesize_per_node']);