def add_view(self, request, form_url='', extra_context=None):
language = request.GET.get('language')
draft_pk = request.GET.get('draft')
page = get_object_or_404(Page, pk=draft_pk)
# check if the current user may view the revision
# -> if the user may see the page
user = get_current_user()
if not user_can_change_page(user, page):
messages.error(request, _('Missing permission to edit this page which is necessary in order to create a '
'page version.'))
prev = request.META.get('HTTP_REFERER')
if prev:
return redirect(prev)
else:
raise Http404
if page.page_versions.filter(active=True, dirty=False, language=language).count() > 0:
messages.info(request, _('This page is already revised.'))
return self.render_close_frame()
return super(PageVersionAdmin, self).add_view(request, form_url=form_url, extra_context=extra_context)
评论列表
文章目录