コード例 #1
0
ファイル: views.py プロジェクト: avtobiff/django-wiki
 def form_valid(self, form):
     
     if (self.request.user.is_anonymous() and not settings.ANONYMOUS or 
         not self.article.can_write(self.request.user)):
         return response_forbidden(self.request, self.article, self.urlpath)
     
     # WARNING! The below decorator silences other exceptions that may occur!
     @transaction.commit_manually
     def _form_valid(form):
         try:
             attachment_revision = form.save(commit=False)
             attachment = models.Attachment()
             attachment.article = self.article
             attachment.original_filename = attachment_revision.get_filename()
             attachment.save()
             attachment.articles.add(self.article)
             attachment_revision.attachment = attachment
             attachment_revision.set_from_request(self.request)
             attachment_revision.save()
             messages.success(self.request, _(u'%s was successfully added.') % attachment_revision.get_filename())
         except models.IllegalFileExtension, e:
             transaction.rollback()
             messages.error(self.request, _(u'Your file could not be saved: %s') % e)
         except Exception:
             transaction.rollback()
             messages.error(self.request, _(u'Your file could not be saved, probably because of a permission error on the web server.'))
コード例 #2
0
ファイル: views.py プロジェクト: SafPlusPlus/django-wiki
 def dispatch(self, request, article, attachment_id, *args, **kwargs):
     if request.user.is_anonymous() and not settings.ANONYMOUS:
         return response_forbidden(
             request,
             article,
             kwargs.get(
                 'urlpath',
                 None))
     if article.can_moderate(request.user):
         self.attachment = get_object_or_404(
             models.Attachment,
             id=attachment_id,
             articles=article)
         self.can_moderate = True
     else:
         self.attachment = get_object_or_404(
             models.Attachment.objects.active(),
             id=attachment_id,
             articles=article)
         self.can_moderate = False
     return super(
         AttachmentReplaceView,
         self).dispatch(
         request,
         article,
         *args,
         **kwargs)
コード例 #3
0
    def form_valid(self, form):

        if (self.request.user.is_anonymous and not settings.ANONYMOUS
                or not self.article.can_write(self.request.user)
                or self.article.current_revision.locked):
            return response_forbidden(self.request, self.article, self.urlpath)

        attachment_revision = form.save()
        if isinstance(attachment_revision, list):
            messages.success(
                self.request,
                _("Successfully added: %s") %
                (", ".join([ar.get_filename() for ar in attachment_revision])),
            )
        else:
            messages.success(
                self.request,
                _("%s was successfully added.") %
                attachment_revision.get_filename(),
            )
        self.article.clear_cache()

        return redirect("wiki:attachments_index",
                        path=self.urlpath.path,
                        article_id=self.article.id)
コード例 #4
0
 def form_valid(self, form):
     
     if (self.request.user.is_anonymous() and not settings.ANONYMOUS or 
         not self.article.can_write(self.request.user)):
         return response_forbidden(self.request, self.article, self.urlpath)
     
     # WARNING! The below decorator silences other exceptions that may occur!
     @transaction.commit_manually
     def _form_valid(form):
         try:
             attachment_revision = form.save(commit=False)
             attachment = models.Attachment()
             attachment.article = self.article
             attachment.original_filename = attachment_revision.get_filename()
             attachment.save()
             attachment.articles.add(self.article)
             attachment_revision.attachment = attachment
             attachment_revision.set_from_request(self.request)
             attachment_revision.save()
             messages.success(self.request, _(u'%s was successfully added.') % attachment_revision.get_filename())
         except models.IllegalFileExtension, e:
             transaction.rollback()
             messages.error(self.request, _(u'Your file could not be saved: %s') % e)
         except Exception:
             transaction.rollback()
             messages.error(self.request, _(u'Your file could not be saved, probably because of a permission error on the web server.'))
コード例 #5
0
 def dispatch(self, request, article, attachment_id, *args, **kwargs):
     self.attachment = get_object_or_404(models.Attachment,
                                         id=attachment_id,
                                         articles=article)
     if not self.attachment.can_delete(request.user):
         return response_forbidden(request, article,
                                   kwargs.get("urlpath", None))
     return super().dispatch(request, article, *args, **kwargs)
コード例 #6
0
ファイル: views.py プロジェクト: tkliuxing/django-wiki
 def dispatch(self, request, article, template_id, *args, **kwargs):
     self.template = get_object_or_404(
         models.Template,
         id=template_id,
         articles=article
     )
     self.article = article
     if not self.template.can_delete(request.user):
         return response_forbidden(request, article, kwargs.get('urlpath', None))
     return super(TemplateDeleteView, self).dispatch(request, article, *args, **kwargs)
コード例 #7
0
ファイル: views.py プロジェクト: Attorney-Fee/django-wiki
 def form_valid(self, form):
     
     if (self.request.user.is_anonymous() and not settings.ANONYMOUS or 
         not self.article.can_write(self.request.user) or
         self.article.current_revision.locked):
         return response_forbidden(self.request, self.article, self.urlpath)
     
     attachment_revision = form.save()
     if isinstance(attachment_revision, list):
         messages.success(self.request, _(u'Successfully added: %s') % (", ".join([ar.get_filename() for ar in attachment_revision])))
     else:
         messages.success(self.request, _(u'%s was successfully added.') % attachment_revision.get_filename())
     
     return redirect("wiki:attachments_index", path=self.urlpath.path, article_id=self.article.id)
コード例 #8
0
ファイル: views.py プロジェクト: tkliuxing/django-wiki
 def form_valid(self, form):
     if (self.request.user.is_anonymous() and
             not settings.ANONYMOUS or
             not self.article.can_write(self.request.user) or
             self.article.current_revision.locked):
         return response_forbidden(self.request, self.article, self.urlpath)
     template_revision = form.save()
     messages.success(
         self.request,
         _('%s was successfully added.') % template_revision.template.template_title
     )
     return redirect(
         "wiki:template_index",
         path=self.urlpath.path,
         article_id=self.article.id
     )
コード例 #9
0
ファイル: views.py プロジェクト: ostrokach/django-wiki
 def dispatch(self, request, article, attachment_id, *args, **kwargs):
     self.attachment = get_object_or_404(
         models.Attachment,
         id=attachment_id,
         articles=article)
     if not self.attachment.can_delete(request.user):
         return response_forbidden(
             request,
             article,
             kwargs.get(
                 'urlpath',
                 None))
     return super(
         AttachmentDeleteView,
         self).dispatch(
         request,
         article,
         *args,
         **kwargs)
コード例 #10
0
ファイル: views.py プロジェクト: Caramel/django-wiki
 def form_valid(self, form):
     if (self.request.user.is_anonymous() and not settings.ANONYMOUS or 
         not self.article.can_write(self.request.user)):
         return response_forbidden(self.request, self.article, self.urlpath)
         
     try:
         attachment_revision = form.save(commit=False)
         attachment = models.Attachment()
         attachment.article = self.article
         attachment.original_filename = attachment_revision.get_filename()
         attachment.save()
         attachment.articles.add(self.article)
         attachment_revision.attachment = attachment
         attachment_revision.set_from_request(self.request)
         attachment_revision.save()
         messages.success(self.request, _(u'%s was successfully added.') % attachment_revision.get_filename())
     except models.IllegalFileExtension, e:
         transaction.rollback()
         messages.error(self.request, _(u'Your file could not be saved: %s') % e)
コード例 #11
0
ファイル: views.py プロジェクト: mjacksonw/django-wiki
    def form_valid(self, form):
        if (self.request.user.is_anonymous() and not settings.ANONYMOUS
                or not self.article.can_write(self.request.user)):
            return response_forbidden(self.request, self.article, self.urlpath)

        try:
            attachment_revision = form.save(commit=False)
            attachment = models.Attachment()
            attachment.article = self.article
            attachment.original_filename = attachment_revision.get_filename()
            attachment.save()
            attachment.articles.add(self.article)
            attachment_revision.attachment = attachment
            attachment_revision.set_from_request(self.request)
            attachment_revision.save()
            messages.success(
                self.request,
                _(u'%s was successfully added.') %
                attachment_revision.get_filename())
        except models.IllegalFileExtension, e:
            transaction.rollback()
            messages.error(self.request,
                           _(u'Your file could not be saved: %s') % e)