Allowing bulk with tasks without user story

remotes/origin/enhancement/email-actions
Jesús Espino 2014-07-28 13:30:33 +02:00
parent 5f7e96ebce
commit 82d7063382
1 changed files with 11 additions and 4 deletions

View File

@ -27,6 +27,7 @@ from taiga.base.decorators import list_route
from taiga.base.permissions import has_project_perm from taiga.base.permissions import has_project_perm
from taiga.base.api import ModelCrudViewSet from taiga.base.api import ModelCrudViewSet
from taiga.projects.models import Project from taiga.projects.models import Project
from taiga.projects.milestones.models import Milestone
from taiga.projects.userstories.models import UserStory from taiga.projects.userstories.models import UserStory
from taiga.projects.notifications import WatchedResourceMixin from taiga.projects.notifications import WatchedResourceMixin
@ -77,18 +78,24 @@ class TaskViewSet(OCCResourceMixin, HistoryResourceMixin, WatchedResourceMixin,
if project_id is None: if project_id is None:
raise exc.BadRequest(_('projectId parameter is mandatory')) raise exc.BadRequest(_('projectId parameter is mandatory'))
sprint_id = request.DATA.get('sprintId', None)
if sprint_id is None:
raise exc.BadRequest(_('sprintId parameter is mandatory'))
milestone = get_object_or_404(Milestone, id=sprint_id)
us_id = request.DATA.get('usId', None) us_id = request.DATA.get('usId', None)
if us_id is None: user_story = None
raise exc.BadRequest(_('usId parameter is mandatory')) if us_id:
user_story = get_object_or_404(UserStory, id=us_id)
project = get_object_or_404(Project, id=project_id) project = get_object_or_404(Project, id=project_id)
user_story = get_object_or_404(UserStory, id=us_id)
self.check_permissions(request, 'bulk_create', project) self.check_permissions(request, 'bulk_create', project)
tasks = services.create_tasks_in_bulk(bulk_tasks, callback=self.post_save, project=project, tasks = services.create_tasks_in_bulk(bulk_tasks, callback=self.post_save, project=project,
user_story=user_story, owner=request.user, user_story=user_story, owner=request.user,
status=project.default_task_status) milestone=milestone, status=project.default_task_status)
tasks_serialized = self.serializer_class(tasks, many=True) tasks_serialized = self.serializer_class(tasks, many=True)
return Response(data=tasks_serialized.data) return Response(data=tasks_serialized.data)