Fixing commits related to Task #439

remotes/origin/enhancement/email-actions
Anler Hp 2014-07-30 11:43:38 +02:00
parent 7af5f6e368
commit 2ca0039852
5 changed files with 54 additions and 6 deletions

View File

@ -26,7 +26,7 @@ from taiga.base import exceptions as exc
from taiga.base.decorators import list_route 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, TaskStatus
from taiga.projects.milestones.models import Milestone from taiga.projects.milestones.models import Milestone
from taiga.projects.userstories.models import UserStory 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) project = get_object_or_404(Project, id=project_id)
user_story = get_object_or_404(UserStory, id=us_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) 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, 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,
milestone=milestone, status=status) milestone=milestone, status=status)

View File

@ -33,7 +33,7 @@ from taiga.projects.notifications import WatchedResourceMixin
from taiga.projects.history import HistoryResourceMixin from taiga.projects.history import HistoryResourceMixin
from taiga.projects.occ import OCCResourceMixin 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 taiga.projects.history.services import take_snapshot
from . import models from . import models
@ -77,7 +77,12 @@ class UserStoryViewSet(OCCResourceMixin, HistoryResourceMixin, WatchedResourceMi
raise exc.BadRequest(_('projectId parameter is mandatory')) raise exc.BadRequest(_('projectId parameter is mandatory'))
project = get_object_or_404(Project, id=project_id) 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) self.check_permissions(request, 'bulk_create', project)

View File

@ -367,11 +367,12 @@ def create_invitation(**kwargs):
def create_userstory(**kwargs): def create_userstory(**kwargs):
"Create an user story along with its dependencies" "Create an user story along with its dependencies"
project = kwargs.pop("project", ProjectFactory()) project = kwargs.pop("project", create_project())
defaults = { defaults = {
"project": project, "project": project,
"owner": project.owner "owner": project.owner,
"milestone": MilestoneFactory.create(project=project, owner=project.owner)
} }
defaults.update(kwargs) defaults.update(kwargs)
@ -388,6 +389,9 @@ def create_project(**kwargs):
project.default_severity = SeverityFactory.create(project=project) project.default_severity = SeverityFactory.create(project=project)
project.default_priority = PriorityFactory.create(project=project) project.default_priority = PriorityFactory.create(project=project)
project.default_issue_type = IssueTypeFactory.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() project.save()
return project return project

View File

@ -43,3 +43,21 @@ def test_api_update_task_tags(client):
response = client.json.patch(url, data) response = client.json.patch(url, data)
assert response.status_code == 200, response.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

View File

@ -64,3 +64,19 @@ def test_api_filter_by_subject(client):
assert response.status_code == 200 assert response.status_code == 200
assert number_of_stories == 1, number_of_stories 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