Skip to content

Commit

Permalink
BibDocFile: addition of files redirect
Browse files Browse the repository at this point in the history
* Adds redirection on files that their record has been merged.

Signed-off-by: Harris Tzovanakis <[email protected]>
  • Loading branch information
drjova committed May 12, 2016
1 parent bd691cd commit 209372f
Showing 1 changed file with 26 additions and 5 deletions.
31 changes: 26 additions & 5 deletions modules/bibdocfile/lib/bibdocfile_webinterface.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# This file is part of Invenio.
# Copyright (C) 2012, 2013 CERN.
# Copyright (C) 2012, 2013, 2015, 2016 CERN.
#
# Invenio is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
Expand Down Expand Up @@ -46,10 +46,16 @@
from invenio.webinterface_handler import wash_urlargd, WebInterfaceDirectory
from invenio.urlutils import make_canonical_urlargd, redirect_to_url
from invenio.messages import gettext_set_language
from invenio.search_engine import \
guess_primary_collection_of_a_record, get_colID, record_exists, \
create_navtrail_links, check_user_can_view_record, record_empty, \
is_user_owner_of_record
from invenio.search_engine import (
check_user_can_view_record,
create_navtrail_links,
get_colID,
get_merged_recid,
guess_primary_collection_of_a_record,
is_user_owner_of_record,
record_empty,
record_exists
)
from invenio.bibdocfile import BibRecDocs, normalize_format, file_strip_ext, \
stream_restricted_icon, BibDoc, InvenioBibDocFileError, \
get_subformat_from_format
Expand Down Expand Up @@ -105,6 +111,21 @@ def getfile(req, form):
navmenuid='submit')

if record_exists(self.recid) < 1:
# Check if the record of the file has been merged
# if the /record/1 has been merged to /record/2 then
# /record/1/files/foo.pdf will redirect to /record/2/files/foo.pdf
merged_recid = get_merged_recid(self.recid)
if merged_recid:
# Build the url for the file in merged record
url = "{0}/{1}/{2}/files/{3}".format(
CFG_SITE_URL,
CFG_SITE_RECORD,
merged_recid,
filename
)
return redirect_to_url(
req, url, redirection_type=apache.HTTP_MOVED_PERMANENTLY
)
msg = "<p>%s</p>" % _("Requested record does not seem to exist.")
return warning_page(msg, req, ln)

Expand Down

0 comments on commit 209372f

Please sign in to comment.