From 14a68c207e8e93fc480f742844a7d3cbe76589ab Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Mon, 8 Apr 2013 13:43:00 +0200 Subject: [PATCH] Api urls refactor. --- greenmine/base/api.py | 19 ++++++++-------- greenmine/scrum/api.py | 5 +++-- greenmine/scrum/serializers.py | 2 +- greenmine/scrum/urls.py | 40 +++++++++++++++++----------------- greenmine/wiki/urls.py | 8 +++---- 5 files changed, 37 insertions(+), 37 deletions(-) diff --git a/greenmine/base/api.py b/greenmine/base/api.py index 0fc35900..22b5c4a0 100644 --- a/greenmine/base/api.py +++ b/greenmine/base/api.py @@ -26,21 +26,20 @@ class ApiRoot(APIView): 'projects': reverse('project-list', request=request, format=format), 'milestones': reverse('milestone-list', request=request, format=format), 'user-stories': reverse('user-story-list', request=request, format=format), - 'attachments': reverse('attachment-list', request=request, format=format), - 'tasks': reverse('task-list', request=request, format=format), - 'issues': reverse('issue-list', request=request, format=format), + 'user-stories/statuses': reverse('user-story-status-list', request=request, format=format), + 'user-stories/points': reverse('points-list', request=request, format=format), + 'issues/attachments': reverse('issues-attachment-list', request=request, format=format), + 'issues/statuses': reverse('issues-status-list', request=request, format=format), + 'issues/types': reverse('issues-type-list', request=request, format=format), + 'issues': reverse('issues-list', request=request, format=format), + 'tasks': reverse('tasks-list', request=request, format=format), + 'tasks/statuses': reverse('tasks-status-list', request=request, format=format), 'severities': reverse('severity-list', request=request, format=format), - 'issue-status': reverse('issue-status-list', request=request, format=format), - 'task-status': reverse('task-status-list', request=request, format=format), - 'user-story-status': reverse('user-story-status-list', request=request, format=format), 'priorities': reverse('priority-list', request=request, format=format), - 'issue-types': reverse('issue-type-list', request=request, format=format), - 'points': reverse('points-list', request=request, format=format), 'documents': reverse('document-list', request=request, format=format), 'questions': reverse('question-list', request=request, format=format), 'question_responses': reverse('question-response-list', request=request, format=format), - 'wiki_pages': reverse('wiki-page-list', request=request, format=format), - 'wiki_page_attachments': reverse('wiki-page-attachment-list', request=request, format=format), + 'wiki/pages': reverse('wiki-page-list', request=request, format=format), 'users': reverse('user-list', request=request, format=format), }) diff --git a/greenmine/scrum/api.py b/greenmine/scrum/api.py index c10e2dab..849c8378 100644 --- a/greenmine/scrum/api.py +++ b/greenmine/scrum/api.py @@ -100,13 +100,14 @@ class UserStoryDetail(generics.RetrieveUpdateDestroyAPIView): permission_classes = (IsAuthenticated, UserStoryDetailPermission,) -class AttachmentList(generics.ListCreateAPIView): +class IssuesAttachmentList(generics.ListCreateAPIView): model = Attachment serializer_class = AttachmentSerializer permission_classes = (IsAuthenticated,) def get_queryset(self): - return self.model.objects.filter(project__members=self.request.user) + return super(IssueAttachmentList, self).get_queryset()\ + .filter(project__members=self.request.user) def pre_save(self, obj): obj.owner = self.request.user diff --git a/greenmine/scrum/serializers.py b/greenmine/scrum/serializers.py index 16bb5fc7..2f381bc7 100644 --- a/greenmine/scrum/serializers.py +++ b/greenmine/scrum/serializers.py @@ -51,7 +51,7 @@ class MilestoneSerializer(serializers.ModelSerializer): class AttachmentSerializer(serializers.ModelSerializer): class Meta: model = Attachment - fields = () + fields = ('id', 'project', 'owner', 'attached_file', 'created_date',) class TaskSerializer(serializers.ModelSerializer): diff --git a/greenmine/scrum/urls.py b/greenmine/scrum/urls.py index 7454b495..bd907f75 100644 --- a/greenmine/scrum/urls.py +++ b/greenmine/scrum/urls.py @@ -1,3 +1,5 @@ +# -*- coding: utf-8 -*- + from django.conf.urls import patterns, url from rest_framework.urlpatterns import format_suffix_patterns @@ -8,29 +10,27 @@ urlpatterns = format_suffix_patterns(patterns('', url(r'^projects/(?P[0-9]+)/$', api.ProjectDetail.as_view(), name='project-detail'), url(r'^milestones/$', api.MilestoneList.as_view(), name='milestone-list'), url(r'^milestones/(?P[0-9]+)/$', api.MilestoneDetail.as_view(), name='milestone-detail'), - url(r'^user_stories/$', api.UserStoryList.as_view(), name='user-story-list'), - url(r'^user_stories/(?P[0-9]+)/$', api.UserStoryDetail.as_view(), name='user-story-detail'), - url(r'^attachments/$', api.AttachmentList.as_view(), name='attachment-list'), - url(r'^attachments/(?P[0-9]+)/$', api.AttachmentDetail.as_view(), name='attachment-detail'), - url(r'^issues/$', api.IssueList.as_view(), name='issue-list'), - url(r'^issues/(?P[0-9]+)/$', api.IssueDetail.as_view(), name='issue-detail'), - url(r'^tasks/$', api.TaskList.as_view(), name='task-list'), - url(r'^tasks/(?P[0-9]+)/$', api.TaskDetail.as_view(), name='task-detail'), - url(r'^issues/$', api.IssueList.as_view(), name='issue-list'), - url(r'^issues/(?P[0-9]+)/$', api.IssueDetail.as_view(), name='issue-detail'), + url(r'^user-stories/$', api.UserStoryList.as_view(), name='user-story-list'), + url(r'^user-stories/(?P[0-9]+)/$', api.UserStoryDetail.as_view(), name='user-story-detail'), + url(r'^user-stories/points/$', api.PointsList.as_view(), name='points-list'), + url(r'^user-stories/points/(?P[0-9]+)/$', api.PointsDetail.as_view(), name='points-detail'), + url(r'^user-stories/statuses/$', api.UserStoryStatusList.as_view(), name='user-story-status-list'), + url(r'^user-stories/statuses/(?P[0-9]+)/$', api.UserStoryStatusDetail.as_view(), name='user-story-status-detail'), + url(r'^issues/$', api.IssueList.as_view(), name='issues-list'), + url(r'^issues/(?P[0-9]+)/$', api.IssueDetail.as_view(), name='issues-detail'), + url(r'^issues/attachments/$', api.IssuesAttachmentList.as_view(), name='issues-attachment-list'), + url(r'^issues/attachments/(?P[0-9]+)/$', api.AttachmentDetail.as_view(), name='issues-attachment-detail'), + url(r'^issues/statuses/$', api.IssueStatusList.as_view(), name='issues-status-list'), + url(r'^issues/statuses/(?P[0-9]+)/$', api.IssueStatusDetail.as_view(), name='issues-status-detail'), + url(r'^issues/types/$', api.IssueTypeList.as_view(), name='issues-type-list'), + url(r'^issues/types/(?P[0-9]+)/$', api.IssueTypeDetail.as_view(), name='issues-type-detail'), + url(r'^tasks/$', api.TaskList.as_view(), name='tasks-list'), + url(r'^tasks/(?P[0-9]+)/$', api.TaskDetail.as_view(), name='tasks-detail'), url(r'^severities/$', api.SeverityList.as_view(), name='severity-list'), url(r'^severities/(?P[0-9]+)/$', api.SeverityDetail.as_view(), name='severity-detail'), - url(r'^issue_status/$', api.IssueStatusList.as_view(), name='issue-status-list'), - url(r'^issue_status/(?P[0-9]+)/$', api.IssueStatusDetail.as_view(), name='issue-status-detail'), - url(r'^task_status/$', api.TaskStatusList.as_view(), name='task-status-list'), - url(r'^task_status/(?P[0-9]+)/$', api.TaskStatusDetail.as_view(), name='task-status-detail'), - url(r'^user_story_status/$', api.UserStoryStatusList.as_view(), name='user-story-status-list'), - url(r'^user_story_status/(?P[0-9]+)/$', api.UserStoryStatusDetail.as_view(), name='user-story-status-detail'), + url(r'^tasks/statuses/$', api.TaskStatusList.as_view(), name='tasks-status-list'), + url(r'^tasks/statuses/(?P[0-9]+)/$', api.TaskStatusDetail.as_view(), name='tasks-status-detail'), url(r'^priorities/$', api.PriorityList.as_view(), name='priority-list'), url(r'^priorities/(?P[0-9]+)/$', api.PriorityDetail.as_view(), name='priority-detail'), - url(r'^issue_types/$', api.IssueTypeList.as_view(), name='issue-type-list'), - url(r'^issue_types/(?P[0-9]+)/$', api.IssueTypeDetail.as_view(), name='issue-type-detail'), - url(r'^points/$', api.PointsList.as_view(), name='points-list'), - url(r'^points/(?P[0-9]+)/$', api.PointsDetail.as_view(), name='points-detail'), )) diff --git a/greenmine/wiki/urls.py b/greenmine/wiki/urls.py index 72792ff3..be46664f 100644 --- a/greenmine/wiki/urls.py +++ b/greenmine/wiki/urls.py @@ -4,9 +4,9 @@ from rest_framework.urlpatterns import format_suffix_patterns from greenmine.wiki import api urlpatterns = format_suffix_patterns(patterns('', - url(r'^wiki_pages/$', api.WikiPageList.as_view(), name='wiki-page-list'), - url(r'^wiki_pages/(?P[\w\-\d]+)/$', api.WikiPageDetail.as_view(), name='wiki-page-detail'), - url(r'^wiki_page_attachments/$', api.WikiPageAttachmentList.as_view(), name='wiki-page-attachment-list'), - url(r'^wiki_page_attachments/(?P[0-9]+)/$', api.WikiPageAttachmentDetail.as_view(), name='wiki-page-attachment-detail'), + url(r'^wiki/pages/$', api.WikiPageList.as_view(), name='wiki-page-list'), + url(r'^wiki/pages/(?P[\w\-\d]+)/$', api.WikiPageDetail.as_view(), name='wiki-page-detail'), + #url(r'^wiki_page_attachments/$', api.WikiPageAttachmentList.as_view(), name='wiki-page-attachment-list'), + #url(r'^wiki_page_attachments/(?P[0-9]+)/$', api.WikiPageAttachmentDetail.as_view(), name='wiki-page-attachment-detail'), ))