diff --git a/modules/bibformat/lib/elements/bfe_edit_record.py b/modules/bibformat/lib/elements/bfe_edit_record.py index 1d1f137b8..8d72fdfb7 100644 --- a/modules/bibformat/lib/elements/bfe_edit_record.py +++ b/modules/bibformat/lib/elements/bfe_edit_record.py @@ -1,57 +1,60 @@ # -*- coding: utf-8 -*- ## ## $Id$ ## ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. """BibFormat element - Prints a link to BibEdit """ __revision__ = "$Id$" def format(bfo, style): """ Prints a link to BibEdit, if authorization is granted @param style the CSS style to be applied to the link. """ from invenio.config import CFG_SITE_URL from invenio.access_control_engine import acc_authorize_action + from invenio.search_engine import guess_primary_collection_of_a_record out = "" user_info = bfo.user_info - (auth_code, auth_message) = acc_authorize_action(user_info['uid'], \ - 'runbibedit') + collection = guess_primary_collection_of_a_record(bfo.recID) + (auth_code, auth_message) = acc_authorize_action(user_info, + 'runbibedit', + collection=collection) if auth_code == 0: print_style = '' if style != '': print_style = 'style="' + style + '"' out += '<a href="' + CFG_SITE_URL + \ '/admin/bibedit/bibeditadmin.py/index?recid=' + \ str(bfo.recID) + '&ln=' + bfo.lang +'" ' + \ print_style + \ '>Edit This Record</a>' return out def escape_values(bfo): """ Called by BibFormat in order to check if output of this element should be escaped. """ return 0