diff --git a/file_entity.pages.inc b/file_entity.pages.inc index 1ad4dca..53e3edd 100644 --- a/file_entity.pages.inc +++ b/file_entity.pages.inc @@ -79,17 +79,24 @@ function file_entity_add_upload_submit($form, &$form_state) { return; } + // Figure out destination. + if (isset($_GET['destination'])) { + $destination = drupal_get_destination(); + unset($_GET['destination']); + } + elseif (user_access('administer files')) { + $destination = array('destination' => 'admin/content/file'); + } + else { + $destination = array('destination' => 'file/' . $file->fid); + } + // Redirect to the file edit page after submission. if (file_access('update', $file)) { - $destination = array('destination' => 'admin/content/file'); - if (isset($_GET['destination'])) { - $destination = drupal_get_destination(); - unset($_GET['destination']); - } $form_state['redirect'] = array('file/' . $file->fid . '/edit', array('query' => $destination)); } else { - $form_state['redirect'] = 'admin/content/file'; + $form_state['redirect'] = $destination['destination']; } }