def wrapper(request, *args, **kwargs): file_object = get_object_or_404(core_models.File, pk=kwargs['file_id']) try: article = models.Article.get_article(request.journal, 'id', kwargs['article_id']) except KeyError: article = models.Article.get_article(request.journal, kwargs['identifier_type'], kwargs['identifier']) if can_view_file_history(request, request.user, file_object, article): return func(request, *args, **kwargs) messages.add_message(request, messages.ERROR, 'File editing not accessible to this user.') deny_access(request)
def can_view_file_history(context, file_object, article_object): return logic.can_view_file_history(context['request'], context['request'].user, file_object, article_object)