コード例 #1
0
ファイル: views.py プロジェクト: niutool/niuforum
 def post(self, request, *args, **kwargs):
     data = self.get_context_data()
     form = data["form"]
     
     if not self.request.user.profile.can_create_topic():
         return super(CreateTopicView, self).render_to_response(data)
     
     if form.is_valid():
         title = form.cleaned_data['title']
         md = form.cleaned_data['content']
         node = form.cleaned_data['node']
         rendered = render_markdown(md)
         abstract = Truncator(strip_tags(rendered)).chars(60)
         
         if node.is_trash:
             rank = 0
         else:
             rank = 10
         topic = Topic(node=node, author=request.user, title=title,
                       markdown=md, content=rendered, abstract=abstract, rank=rank)
         mentioned = get_metioned_user(request.user, md)
         
         self._commit_changes(topic, mentioned)
         
         return HttpResponseRedirect(reverse('topic_view', kwargs={'topic_id':topic.id}))
     
     return super(CreateTopicView, self).render_to_response(data)
コード例 #2
0
    def post(self, request, *args, **kwargs):
        data = self.get_context_data()
        form = data["form"]

        # 发表权限控制才用
        # if not self.request.user.profile.can_create_topic():
        #     return super(CreateTopicView, self).render_to_response(data)

        if form.is_valid():
            title = form.cleaned_data['title']
            md = form.cleaned_data['content']
            node = form.cleaned_data['node']
            rendered = render_markdown(md)
            abstract = Truncator(strip_tags(rendered)).chars(60)

            if node.is_trash:
                rank = 0
            else:
                rank = 10
            topic = Topic(node=node, author=request.user, title=title,
                          markdown=md, content=rendered, abstract=abstract, rank=rank)
            mentioned = get_metioned_user(request.user, md)

            self._commit_changes(topic, mentioned)

            return HttpResponseRedirect(reverse('topic_view', kwargs={'topic_id': topic.id}))

        return super(CreateTopicView, self).render_to_response(data)
コード例 #3
0
ファイル: views.py プロジェクト: niutool/niuforum
 def post(self, request, *args, **kwargs):
     topic_id = self.kwargs['topic_id']
     topic = get_object_or_404(Topic, id=topic_id)
     form = ReplyForm(self.request.POST)
     if form.is_valid():
         md = form.cleaned_data['content']
         rendered = render_markdown(md)
         reply = Reply(topic=topic, author=request.user, markdown=md, content=rendered)
         
         mentioned = get_metioned_user(request.user, md)
         self._commit_changes(topic, reply, mentioned)
     
     return HttpResponseRedirect(reverse('topic_view', kwargs={'topic_id':topic_id}))
コード例 #4
0
    def post(self, request, *args, **kwargs):
        topic_id = self.kwargs['topic_id']
        topic = get_object_or_404(Topic, id=topic_id)
        form = ReplyForm(self.request.POST)
        if form.is_valid():
            md = form.cleaned_data['content']
            rendered = render_markdown(md)
            reply = Reply(topic=topic, author=request.user, markdown=md, content=rendered)

            mentioned = get_metioned_user(request.user, md)
            self._commit_changes(topic, reply, mentioned)

        return HttpResponseRedirect(reverse('topic_view', kwargs={'topic_id': topic_id}))