diff -ruP filefield.old/filefield_field.inc filefield/filefield_field.inc --- filefield.old/filefield_field.inc 2009-10-20 12:18:10.000000000 -0700 +++ filefield/filefield_field.inc 2010-03-07 21:18:48.000000000 -0800 @@ -76,6 +76,7 @@ 'handler' => 'content_handler_relationship', 'label' => t($field['widget']['label']), 'content_field_name' => $field['field_name'], + 'skip base' => array('files'), ); // Use the Views boolean handler for filtering the list value. @@ -98,6 +99,25 @@ unset($data[$table_alias][$field['field_name'] .'_data']['argument']); unset($data[$table_alias][$field['field_name'] .'_list']['argument']); + // Set up relationship with file views. + $data[$table_alias]['table']['join']['files'] = array( + 'table' => $db_info['table'], + 'left_field' => 'fid', + 'field' => $db_info['columns']['fid']['column'], + ); + $data[$table_alias]['vid'] = array( + 'title' => t('Node'), + 'help' => t('The node the uploaded file is attached to'), + 'relationship' => array( + 'label' => t($field['widget']['label']), + 'base' => 'node', + 'base field' => 'vid', + // This allows us to not show this relationship if the base is already + // node so users won't create circular relationships. + 'skip base' => array('node', 'node_revisions'), + ), + ); + return $data; }