Updating timeline API
parent
982d79d8aa
commit
1d701a7cad
|
@ -150,9 +150,11 @@ router.register(r"history/wiki", WikiHistory, base_name="wiki-history")
|
|||
|
||||
|
||||
# Timelines
|
||||
from taiga.timeline.api import ProfileTimeline
|
||||
from taiga.timeline.api import UserTimeline
|
||||
from taiga.timeline.api import ProjectTimeline
|
||||
|
||||
router.register(r"timeline/profile", ProfileTimeline, base_name="profile-timeline")
|
||||
router.register(r"timeline/user", UserTimeline, base_name="user-timeline")
|
||||
router.register(r"timeline/project", ProjectTimeline, base_name="project-timeline")
|
||||
|
||||
|
|
|
@ -18,14 +18,14 @@ from django.contrib.contenttypes.models import ContentType
|
|||
|
||||
from taiga.base import response
|
||||
from taiga.base.api.utils import get_object_or_404
|
||||
from taiga.base.api import GenericViewSet
|
||||
from taiga.base.api import ReadOnlyListViewSet
|
||||
|
||||
from . import serializers
|
||||
from . import service
|
||||
from . import permissions
|
||||
|
||||
|
||||
class TimelineViewSet(GenericViewSet):
|
||||
class TimelineViewSet(ReadOnlyListViewSet):
|
||||
serializer_class = serializers.TimelineSerializer
|
||||
|
||||
content_type = None
|
||||
|
@ -57,19 +57,36 @@ class TimelineViewSet(GenericViewSet):
|
|||
def list(self, request):
|
||||
return response.NotFound()
|
||||
|
||||
def get_timeline(self, obj):
|
||||
raise NotImplementedError
|
||||
|
||||
def retrieve(self, request, pk):
|
||||
obj = self.get_object()
|
||||
self.check_permissions(request, "retrieve", obj)
|
||||
|
||||
qs = service.get_timeline(obj)
|
||||
qs = self.get_timeline(obj)
|
||||
return self.response_for_queryset(qs)
|
||||
|
||||
|
||||
class ProfileTimeline(TimelineViewSet):
|
||||
content_type = "users.user"
|
||||
permission_classes = (permissions.UserTimelinePermission,)
|
||||
|
||||
def get_timeline(self, user):
|
||||
return service.get_profile_timeline(user, accessing_user=self.request.user)
|
||||
|
||||
|
||||
class UserTimeline(TimelineViewSet):
|
||||
content_type = "users.user"
|
||||
permission_classes = (permissions.UserTimelinePermission,)
|
||||
|
||||
def get_timeline(self, user):
|
||||
return service.get_user_timeline(user, accessing_user=self.request.user)
|
||||
|
||||
|
||||
class ProjectTimeline(TimelineViewSet):
|
||||
content_type = "projects.project"
|
||||
permission_classes = (permissions.ProjectTimelinePermission,)
|
||||
|
||||
def get_timeline(self, project):
|
||||
return service.get_project_timeline(project, accessing_user=self.request.user)
|
||||
|
|
Loading…
Reference in New Issue