Ejemplo n.º 1
0
    def put(self, request, pk, format=None):
        deck = self.get_object(pk)

        # The authenticated user can must be able to edit the deck
        if deck_edit_forbidden(deck, request.user):
            return Response(status=status.HTTP_403_FORBIDDEN)

        serializer = DeckSerializer(deck, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 2
0
  def put(self, request, pk, format=None):
    deck = self.get_object(pk)

    # The authenticated user can must be able to edit the deck
    if deck_edit_forbidden(deck, request.user):
      return Response(status=status.HTTP_403_FORBIDDEN)

    serializer = DeckSerializer(deck, data=request.data)
    if serializer.is_valid():
      serializer.save()
      return Response(serializer.data)
    return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 3
0
    def get(self, request, pk, format=None):
        deck = self.get_object(pk)

        # Must have permission to view deck
        if deck_view_forbidden(deck, request.user):
            return Response(status=status.HTTP_403_FORBIDDEN)

        serializer = DeckSerializer(deck)
        return Response(serializer.data)
Ejemplo n.º 4
0
def decks_mine(request):
    """
  Request format:

  ## /api/decks/mine

  # Methods supported:

  ## get
  * If the user is logged in, get decks owned by the currently logged in user
  * The user must be logged in for this to work
  """
    decks = Deck.objects.filter(created_by=request.user.id)
    serializer = DeckSerializer(decks, many=True)
    return Response(serializer.data)
Ejemplo n.º 5
0
 def post(self, request, format=None):
   serializer = DeckSerializer(data=request.data)
   if serializer.is_valid():
     serializer.save(created_by=request.user)
     return Response(serializer.data, status=status.HTTP_201_CREATED)
   return Response(serializer.errors, status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 6
0
 def post(self, request, format=None):
     serializer = DeckSerializer(data=request.data)
     if serializer.is_valid():
         serializer.save(created_by=request.user)
         return Response(serializer.data, status=status.HTTP_201_CREATED)
     return Response(serializer.errors, status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 7
0
 def get(self, request, format=None):
     decks = Deck.objects.filter(private=False) | \
       Deck.objects.filter(private=True, created_by=request.user.id)
     serializer = DeckSerializer(decks, many=True)
     return Response(serializer.data)