예제 #1
0
파일: api.py 프로젝트: andresgz/ekratia
 def create_root_comment(self, referendum):
     """
     Creates a root Comment
     """
     root_comment = Comment.add_root(content='referendum',
                                     user_id=referendum.user.id)
     referendum.comment = root_comment
     referendum.save()
     return root_comment
예제 #2
0
파일: api.py 프로젝트: andresgz/ekratia
    def get(self, request, pk, format=None):
        """
        Lists the tree of comments for the thread
        """
        try:
            referendum = self.get_referendum(pk)
        except Http404:
            return Response({'message': 'Referendum not found'},
                            status=status.HTTP_404_NOT_FOUND)
        if referendum.comment:
            root_comment = referendum.comment
        else:
            root_comment = self.create_root_comment(referendum)
            referendum.comment = root_comment
            referendum.save()

        data = Comment.dump_bulk(parent=root_comment)
        data = self.update_information_from_tree(data)
        return Response(data)
예제 #3
0
파일: views.py 프로젝트: andresgz/ekratia
    def form_valid(self, form):
        """
        If the form is valid, save the associated model.
        """
        self.object = form.save(commit=False)
        self.object.user = self.request.user

        referendum_text = "%s \n %s " % (self.object.text_remove_rules,
                                         self.object.text_add_rules)

        root_comment = Comment.add_root(content=referendum_text,
                                        user_id=self.request.user.id)
        root_comment.save()
        self.object.comment = root_comment

        self.object = form.save(commit=True)
        self.object.title = "Referendum %i " % self.object.id
        self.object.save()

        return super(ReferendumCreateView, self).form_valid(form)