Modernize MOTD app

Update API code to use viewsets. Update links and URLs to use
keyword arguments.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
This commit is contained in:
Roberto Rosario
2019-01-19 01:00:58 -04:00
parent 9ed93b54af
commit 16d8fb9fea
13 changed files with 281 additions and 120 deletions

View File

@@ -1,6 +1,6 @@
from __future__ import absolute_import, unicode_literals
from rest_framework import generics
from rest_framework import viewsets
from mayan.apps.rest_api.filters import MayanObjectPermissionsFilter
from mayan.apps.rest_api.permissions import MayanPermission
@@ -13,32 +13,34 @@ from .permissions import (
from .serializers import MessageSerializer
class APIMessageListView(generics.ListCreateAPIView):
class APIMessageViewSet(viewsets.ModelViewSet):
"""
get: Returns a list of all the messages.
post: Create a new message.
create:
Create a new message.
delete:
Delete the given message.
edit:
Edit the given message.
list:
Return a list of all the messages.
retrieve:
Return the given message details.
"""
filter_backends = (MayanObjectPermissionsFilter,)
mayan_object_permissions = {'GET': (permission_message_view,)}
mayan_view_permissions = {'POST': (permission_message_create,)}
permission_classes = (MayanPermission,)
queryset = Message.objects.all()
serializer_class = MessageSerializer
class APIMessageView(generics.RetrieveUpdateDestroyAPIView):
"""
delete: Delete the selected message.
get: Return the details of the selected message.
patch: Edit the selected message.
put: Edit the selected message.
"""
filter_backends = (MayanObjectPermissionsFilter,)
mayan_object_permissions = {
'DELETE': (permission_message_delete,),
'GET': (permission_message_view,),
'PATCH': (permission_message_edit,),
'PUT': (permission_message_edit,)
lookup_url_kwarg = 'message_id'
object_permission = {
'DELETE': permission_message_delete,
'GET': permission_message_view,
'PATCH': permission_message_edit,
'PUT': permission_message_edit,
}
queryset = Message.objects.all()
permission_classes = (MayanPermission,)
serializer_class = MessageSerializer
view_permission = {
'POST': permission_message_create
}