Commit bf0d9cd8 by benjaoming

Merge branch 'master' of github.com:benjaoming/django-wiki

parents b03a317c 9865b5c6
......@@ -21,6 +21,13 @@
<h1 class="page-header">{{ title }}</h1>
{% wiki_render article content %}
{% if revision and revision.deleted %}
<div class="warning">
<strong>This revision has been deleted.</strong>
<p>Restoring to this revision will mark the article as deleted.</p>
</div>
{% else %}
{% wiki_render article content %}
{% endif %}
{% endblock %}
......@@ -146,7 +146,7 @@ class Delete(FormView, ArticleMixin):
def get_form(self, form_class):
form = super(Delete, self).get_form(form_class)
if self.article.can_delete(self.request.user):
if self.article.can_moderate(self.request.user):
form.fields['purge'].widget = forms.forms.CheckboxInput()
return form
......@@ -332,20 +332,22 @@ class Deleted(Delete):
return redirect('wiki:get', article_id=article.id)
# Restore
if (request.GET.get('restore', False) and
(not article.current_revision.locked and article.can_delete(request.user)) or
article.can_moderate(request.user)):
revision = models.ArticleRevision()
revision.inherit_predecessor(self.article)
revision.set_from_request(request)
revision.deleted = False
revision.automatic_log = _('Restoring article')
self.article.add_revision(revision)
messages.success(request, _(u'The article "%s" and its children are now restored.') % revision.title)
if self.urlpath:
return redirect('wiki:get', path=self.urlpath.path)
else:
return redirect('wiki:get', article_id=article.id)
if request.GET.get('restore', False):
can_restore = not article.current_revision.locked and article.can_delete(request.user)
can_restore = can_restore or article.can_moderate(request.user)
if can_restore:
revision = models.ArticleRevision()
revision.inherit_predecessor(self.article)
revision.set_from_request(request)
revision.deleted = False
revision.automatic_log = _('Restoring article')
self.article.add_revision(revision)
messages.success(request, _(u'The article "%s" and its children are now restored.') % revision.title)
if self.urlpath:
return redirect('wiki:get', path=self.urlpath.path)
else:
return redirect('wiki:get', article_id=article.id)
return super(Deleted, self).dispatch1(request, article, *args, **kwargs)
......@@ -518,7 +520,7 @@ class Preview(ArticleMixin, TemplateView):
template_name="wiki/preview_inline.html"
@method_decorator(get_article(can_read=True))
@method_decorator(get_article(can_read=True, deleted_contents=True))
def dispatch(self, request, article, *args, **kwargs):
revision_id = request.GET.get('r', None)
self.title = None
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment