Fixing commits related to Task #439
parent
7af5f6e368
commit
2ca0039852
|
@ -26,7 +26,7 @@ from taiga.base import exceptions as exc
|
|||
from taiga.base.decorators import list_route
|
||||
from taiga.base.permissions import has_project_perm
|
||||
from taiga.base.api import ModelCrudViewSet
|
||||
from taiga.projects.models import Project
|
||||
from taiga.projects.models import Project, TaskStatus
|
||||
from taiga.projects.milestones.models import Milestone
|
||||
from taiga.projects.userstories.models import UserStory
|
||||
|
||||
|
@ -91,10 +91,15 @@ class TaskViewSet(OCCResourceMixin, HistoryResourceMixin, WatchedResourceMixin,
|
|||
|
||||
project = get_object_or_404(Project, id=project_id)
|
||||
user_story = get_object_or_404(UserStory, id=us_id)
|
||||
status = get_object_or_404(request.DATA.get('statusId', project.default_task_status.id))
|
||||
|
||||
self.check_permissions(request, 'bulk_create', project)
|
||||
|
||||
status_id = request.DATA.get('statusId', None)
|
||||
if status_id:
|
||||
status = get_object_or_404(TaskStatus, id=status_id)
|
||||
else:
|
||||
status = project.default_us_status
|
||||
|
||||
tasks = services.create_tasks_in_bulk(bulk_tasks, callback=self.post_save, project=project,
|
||||
user_story=user_story, owner=request.user,
|
||||
milestone=milestone, status=status)
|
||||
|
|
|
@ -33,7 +33,7 @@ from taiga.projects.notifications import WatchedResourceMixin
|
|||
from taiga.projects.history import HistoryResourceMixin
|
||||
from taiga.projects.occ import OCCResourceMixin
|
||||
|
||||
from taiga.projects.models import Project
|
||||
from taiga.projects.models import Project, UserStoryStatus
|
||||
from taiga.projects.history.services import take_snapshot
|
||||
|
||||
from . import models
|
||||
|
@ -77,7 +77,12 @@ class UserStoryViewSet(OCCResourceMixin, HistoryResourceMixin, WatchedResourceMi
|
|||
raise exc.BadRequest(_('projectId parameter is mandatory'))
|
||||
|
||||
project = get_object_or_404(Project, id=project_id)
|
||||
status = get_object_or_404(request.DATA.get('statusId', project.default_us_status.id))
|
||||
|
||||
status_id = request.DATA.get('statusId', None)
|
||||
if status_id:
|
||||
status = get_object_or_404(UserStoryStatus, id=status_id)
|
||||
else:
|
||||
status = project.default_us_status
|
||||
|
||||
self.check_permissions(request, 'bulk_create', project)
|
||||
|
||||
|
|
|
@ -367,11 +367,12 @@ def create_invitation(**kwargs):
|
|||
|
||||
def create_userstory(**kwargs):
|
||||
"Create an user story along with its dependencies"
|
||||
project = kwargs.pop("project", ProjectFactory())
|
||||
project = kwargs.pop("project", create_project())
|
||||
|
||||
defaults = {
|
||||
"project": project,
|
||||
"owner": project.owner
|
||||
"owner": project.owner,
|
||||
"milestone": MilestoneFactory.create(project=project, owner=project.owner)
|
||||
}
|
||||
defaults.update(kwargs)
|
||||
|
||||
|
@ -388,6 +389,9 @@ def create_project(**kwargs):
|
|||
project.default_severity = SeverityFactory.create(project=project)
|
||||
project.default_priority = PriorityFactory.create(project=project)
|
||||
project.default_issue_type = IssueTypeFactory.create(project=project)
|
||||
project.default_us_status = UserStoryStatusFactory.create(project=project)
|
||||
project.default_task_status = TaskStatusFactory.create(project=project)
|
||||
|
||||
project.save()
|
||||
|
||||
return project
|
||||
|
|
|
@ -43,3 +43,21 @@ def test_api_update_task_tags(client):
|
|||
response = client.json.patch(url, data)
|
||||
|
||||
assert response.status_code == 200, response.data
|
||||
|
||||
|
||||
def test_api_create_in_bulk_with_status(client):
|
||||
us = f.create_userstory()
|
||||
url = reverse("tasks-bulk-create")
|
||||
data = {
|
||||
"bulkTasks": "Story #1\nStory #2",
|
||||
"usId": us.id,
|
||||
"projectId": us.project.id,
|
||||
"sprintId": us.milestone.id,
|
||||
"statusId": us.project.default_task_status.id
|
||||
}
|
||||
|
||||
client.login(us.owner)
|
||||
response = client.json.post(url, data)
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response.data[0]["status"] == us.project.default_task_status.id
|
||||
|
|
|
@ -64,3 +64,19 @@ def test_api_filter_by_subject(client):
|
|||
|
||||
assert response.status_code == 200
|
||||
assert number_of_stories == 1, number_of_stories
|
||||
|
||||
|
||||
def test_api_create_in_bulk_with_status(client):
|
||||
project = f.create_project()
|
||||
url = reverse("userstories-bulk-create")
|
||||
data = {
|
||||
"bulkStories": "Story #1\nStory #2",
|
||||
"projectId": project.id,
|
||||
"statusId": project.default_us_status.id
|
||||
}
|
||||
|
||||
client.login(project.owner)
|
||||
response = client.json.post(url, data)
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response.data[0]["status"] == project.default_us_status.id
|
||||
|
|
Loading…
Reference in New Issue