diff --git a/greenmine/scrum/api.py b/greenmine/scrum/api.py index b60c990a..440bf6aa 100644 --- a/greenmine/scrum/api.py +++ b/greenmine/scrum/api.py @@ -2,14 +2,14 @@ from tastypie.resources import ModelResource from tastypie.authentication import SessionAuthentication from tastypie.authorization import DjangoAuthorization +from tastypie import fields -from greenmine.scrum.models import Project, \ - Milestone, UserStory, Change, ChangeAttachment, Task +from greenmine.scrum import models class ProjectResource(ModelResource): class Meta: - queryset = Project.objects.all() + queryset = models.Project.objects.all() resource_name = 'project' authentication = SessionAuthentication() authorization = DjangoAuthorization() @@ -17,7 +17,7 @@ class ProjectResource(ModelResource): class MilestoneResource(ModelResource): class Meta: - queryset = Milestone.objects.all() + queryset = models.Milestone.objects.all() resource_name = 'milestone' authentication = SessionAuthentication() authorization = DjangoAuthorization() @@ -25,7 +25,7 @@ class MilestoneResource(ModelResource): class UserStoryResource(ModelResource): class Meta: - queryset = UserStory.objects.all() + queryset = models.UserStory.objects.all() resource_name = 'userstory' authentication = SessionAuthentication() authorization = DjangoAuthorization() @@ -33,7 +33,7 @@ class UserStoryResource(ModelResource): class ChangeResource(ModelResource): class Meta: - queryset = Change.objects.all() + queryset = models.Change.objects.all() resource_name = 'change' authentication = SessionAuthentication() authorization = DjangoAuthorization() @@ -41,7 +41,7 @@ class ChangeResource(ModelResource): class ChangeAttachmentResource(ModelResource): class Meta: - queryset = ChangeAttachment.objects.all() + queryset = models.ChangeAttachment.objects.all() resource_name = 'changeattachment' authentication = SessionAuthentication() authorization = DjangoAuthorization() @@ -49,7 +49,67 @@ class ChangeAttachmentResource(ModelResource): class TaskResource(ModelResource): class Meta: - queryset = Task.objects.all() + queryset = models.Task.objects.all() resource_name = 'task' authentication = SessionAuthentication() authorization = DjangoAuthorization() + + +class SeverityResource(ModelResource): + class Meta: + queryset = models.Severity.objects.all() + resource_name = 'choices/severity' + authentication = SessionAuthentication() + authorization = DjangoAuthorization() + + +class IssueStatusResource(ModelResource): + class Meta: + queryset = models.IssueStatus.objects.all() + resource_name = 'choices/issue-status' + authentication = SessionAuthentication() + authorization = DjangoAuthorization() + +from tastypie.constants import ALL, ALL_WITH_RELATIONS + +class TaskStatusResource(ModelResource): + project = fields.ForeignKey(ProjectResource, 'project') + + class Meta: + queryset = models.TaskStatus.objects.all() + resource_name = 'choices/task-status' + authentication = SessionAuthentication() + authorization = DjangoAuthorization() + filtering = { + "project": ALL_WITH_RELATIONS, + } + +class UserStoryStatusResource(ModelResource): + class Meta: + queryset = models.UserStoryStatus.objects.all() + resource_name = 'choices/us-status' + authentication = SessionAuthentication() + authorization = DjangoAuthorization() + +class PriorityResource(ModelResource): + class Meta: + queryset = models.Priority.objects.all() + resource_name = 'choices/priority' + authentication = SessionAuthentication() + authorization = DjangoAuthorization() + + +class IssueTypeResource(ModelResource): + class Meta: + queryset = models.IssueType.objects.all() + resource_name = 'choices/issue-type' + authentication = SessionAuthentication() + authorization = DjangoAuthorization() + + +class PointsResource(ModelResource): + class Meta: + queryset = models.Points.objects.all() + resource_name = 'choices/story-points' + authentication = SessionAuthentication() + authorization = DjangoAuthorization() diff --git a/greenmine/urls.py b/greenmine/urls.py index beda6c70..52b84fa9 100644 --- a/greenmine/urls.py +++ b/greenmine/urls.py @@ -25,6 +25,13 @@ v1_api.register(DocumentResource()) v1_api.register(ProfileResource()) v1_api.register(WikiPageResource()) v1_api.register(WikiPageAttachmentResource()) +v1_api.register(SeverityResource()) +v1_api.register(IssueStatusResource()) +v1_api.register(TaskStatusResource()) +v1_api.register(UserStoryStatusResource()) +v1_api.register(PriorityResource()) +v1_api.register(IssueTypeResource()) +v1_api.register(PointsResource()) urlpatterns = patterns('', url(r'^api/gm/actions/login/', Login.as_view(), name="login"),