diff --git a/filefield.module b/filefield.module index d565e21f3ed8ba0fb2bba760406a3561bbc8dcac..976544b145d3676aa3ccdf38da6b8b06fd3a878a 100644 --- a/filefield.module +++ b/filefield.module @@ -539,13 +539,13 @@ function filefield_filefield_icon_sets() { } /** - * Access callback for the JavaScript upload and deletion AHAH callbacks. + * Access callback for AHAH upload/delete callbacks 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 eda6d76961843d0cd2622fe5b0c50536bc1e6cc4..b640c0788e0911ffd7a345e174d9299c6a9a208b 100644 --- a/filefield_widget.inc +++ b/filefield_widget.inc @@ -559,7 +559,7 @@ function filefield_node_form_validate($form, &$form_state) { } } - 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']);