Allowing bulk with tasks without user story
parent
5f7e96ebce
commit
82d7063382
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue