Commit 6be8d3ab authored by Rafal's avatar Rafal

Add add route to adding messages

parent 6733f015
...@@ -22,3 +22,9 @@ class Discussion(models.Model): ...@@ -22,3 +22,9 @@ class Discussion(models.Model):
def __str__(self): def __str__(self):
return self.question return self.question
def add_message(self, user, text):
message = TextMessage.objects.create()
message.user = user
message.text = text
self.messages.add(message)
\ No newline at end of file
# Create your views here. # Create your views here.
from django.shortcuts import get_object_or_404
from rest_framework import viewsets, permissions from rest_framework import viewsets, permissions
from rest_framework.decorators import detail_route
from app.API.serializers import APISerializer from app.API.serializers import APISerializer
from app.Discussion.models import Discussion, TextMessage from app.Discussion.models import Discussion, TextMessage
from app.Discussion.serializers import TextMessageSerializer, DiscussionSerializer from app.Discussion.serializers import TextMessageSerializer, DiscussionSerializer
from rest_framework.response import Response
import rest_framework
class DiscussionViewSet(viewsets.ModelViewSet): class DiscussionViewSet(viewsets.ModelViewSet):
""" """
...@@ -13,6 +16,15 @@ class DiscussionViewSet(viewsets.ModelViewSet): ...@@ -13,6 +16,15 @@ class DiscussionViewSet(viewsets.ModelViewSet):
serializer_class = DiscussionSerializer serializer_class = DiscussionSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,) permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
@detail_route()
def add(self, request, pk=None):
discussion = get_object_or_404(self.queryset, pk=pk)
text = request.data.get('text')
user = request.user
print type(user)
discussion.add_message(text=text, user=user)
return Response(status=rest_framework.status.HTTP_200_OK)
class TextMessageViewSet(viewsets.ModelViewSet): class TextMessageViewSet(viewsets.ModelViewSet):
""" """
API for articles API for articles
......
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