Merge pull request #855 from taigaio/issue/4652/lost-tasks-on-sprint-view
Issue 4652: Lost tasks on sprint viewremotes/origin/issue/4795/notification_even_they_are_disabled
commit
499aecb9c8
|
@ -32,12 +32,12 @@ from taiga.projects.services import apply_order_updates
|
|||
from taiga.projects.userstories.apps import connect_userstories_signals
|
||||
from taiga.projects.userstories.apps import disconnect_userstories_signals
|
||||
from taiga.events import events
|
||||
from taiga.projects.tasks.models import Task
|
||||
from taiga.projects.votes.utils import attach_total_voters_to_queryset
|
||||
from taiga.projects.notifications.utils import attach_watchers_to_queryset
|
||||
|
||||
from . import models
|
||||
|
||||
|
||||
#####################################################
|
||||
# Bulk actions
|
||||
#####################################################
|
||||
|
@ -129,6 +129,10 @@ def update_userstories_milestone_in_bulk(bulk_data: list, milestone: object):
|
|||
|
||||
db.update_attr_in_bulk_for_ids(us_milestones, "milestone_id", model=models.UserStory)
|
||||
db.update_attr_in_bulk_for_ids(us_orders, "sprint_order", models.UserStory)
|
||||
|
||||
# Updating the milestone for the tasks
|
||||
Task.objects.filter(user_story_id__in=[e["us_id"] for e in bulk_data]).update(milestone=milestone)
|
||||
|
||||
return us_orders
|
||||
|
||||
|
||||
|
|
|
@ -317,7 +317,10 @@ def test_api_update_milestone_in_bulk(client):
|
|||
f.MembershipFactory.create(project=project, user=project.owner, is_admin=True)
|
||||
milestone = f.MilestoneFactory.create(project=project)
|
||||
us1 = f.create_userstory(project=project)
|
||||
t1 = f.create_task(user_story=us1, project=project)
|
||||
t2 = f.create_task(user_story=us1, project=project)
|
||||
us2 = f.create_userstory(project=project)
|
||||
t3 = f.create_task(user_story=us2, project=project)
|
||||
us3 = f.create_userstory(project=project, milestone=milestone, sprint_order=1)
|
||||
us4 = f.create_userstory(project=project, milestone=milestone, sprint_order=2)
|
||||
|
||||
|
@ -335,10 +338,14 @@ def test_api_update_milestone_in_bulk(client):
|
|||
response = client.json.post(url, json.dumps(data))
|
||||
assert response.status_code == 204, response.data
|
||||
assert project.milestones.get(id=milestone.id).user_stories.count() == 4
|
||||
assert list(project.milestones.get(id=milestone.id).\
|
||||
user_stories.\
|
||||
order_by("sprint_order").\
|
||||
values_list("id", "sprint_order")) == [(us3.id, 1), (us1.id, 2), (us2.id,3), (us4.id,4)]
|
||||
|
||||
uss_list = list(project.milestones.get(id=milestone.id).user_stories.order_by("sprint_order")
|
||||
.values_list("id", "sprint_order"))
|
||||
assert uss_list == [(us3.id, 1), (us1.id, 2), (us2.id,3), (us4.id,4)]
|
||||
|
||||
tasks_list = list(project.milestones.get(id=milestone.id).tasks.order_by("id")
|
||||
.values_list("id", flat=True))
|
||||
assert tasks_list == [t1.id, t2.id, t3.id]
|
||||
|
||||
|
||||
def test_api_update_milestone_in_bulk_invalid_milestone(client):
|
||||
|
|
Loading…
Reference in New Issue