Change approach move us's from sprint to another
parent
39e9de71cf
commit
0cb423c929
|
@ -144,9 +144,8 @@ class MilestoneViewSet(HistoryResourceMixin, WatchedResourceMixin,
|
||||||
|
|
||||||
return response.Ok(milestone_stats)
|
return response.Ok(milestone_stats)
|
||||||
|
|
||||||
|
|
||||||
@detail_route(methods=["POST"])
|
@detail_route(methods=["POST"])
|
||||||
def bulk_update_items(self, request, pk=None, **kwargs):
|
def move_userstories_to_sprint(self, request, pk=None, **kwargs):
|
||||||
milestone = get_object_or_404(models.Milestone, pk=pk)
|
milestone = get_object_or_404(models.Milestone, pk=pk)
|
||||||
|
|
||||||
self.check_permissions(request, "bulk_update_items", milestone)
|
self.check_permissions(request, "bulk_update_items", milestone)
|
||||||
|
@ -157,16 +156,16 @@ class MilestoneViewSet(HistoryResourceMixin, WatchedResourceMixin,
|
||||||
|
|
||||||
data = validator.data
|
data = validator.data
|
||||||
project = get_object_or_404(Project, pk=data["project_id"])
|
project = get_object_or_404(Project, pk=data["project_id"])
|
||||||
milestone = get_object_or_404(models.Milestone, pk=data["sprint_id"])
|
milestone_result = get_object_or_404(models.Milestone, pk=data["milestone_id"])
|
||||||
|
|
||||||
print('data', validator.bulk_stories)
|
|
||||||
if data["bulk_stories"]:
|
if data["bulk_stories"]:
|
||||||
self.check_permissions(request, "bulk_update_us_milestone", project)
|
permissions = self.check_permissions(request, "move_uss_to_sprint", project)
|
||||||
services.update_userstories_milestone_in_bulk(data["bulk_stories"], milestone)
|
services.update_userstories_milestone_in_bulk(data["bulk_stories"], milestone_result)
|
||||||
services.snapshot_userstories_in_bulk(data["bulk_stories"], request.user)
|
services.snapshot_userstories_in_bulk(data["bulk_stories"], request.user)
|
||||||
|
|
||||||
return response.NoContent()
|
return response.NoContent()
|
||||||
|
|
||||||
|
|
||||||
class MilestoneWatchersViewSet(WatchersViewSetMixin, ModelListViewSet):
|
class MilestoneWatchersViewSet(WatchersViewSetMixin, ModelListViewSet):
|
||||||
permission_classes = (permissions.MilestoneWatchersPermission,)
|
permission_classes = (permissions.MilestoneWatchersPermission,)
|
||||||
resource_model = models.Milestone
|
resource_model = models.Milestone
|
||||||
|
|
|
@ -34,7 +34,8 @@ class MilestonePermission(TaigaResourcePermission):
|
||||||
watch_perms = IsAuthenticated() & HasProjectPerm('view_milestones')
|
watch_perms = IsAuthenticated() & HasProjectPerm('view_milestones')
|
||||||
unwatch_perms = IsAuthenticated() & HasProjectPerm('view_milestones')
|
unwatch_perms = IsAuthenticated() & HasProjectPerm('view_milestones')
|
||||||
bulk_update_items_perms = HasProjectPerm('modify_milestone')
|
bulk_update_items_perms = HasProjectPerm('modify_milestone')
|
||||||
bulk_update_us_milestone_perms = HasProjectPerm('modify_us')
|
move_uss_to_sprint_perms = HasProjectPerm('modify_us')
|
||||||
|
|
||||||
|
|
||||||
class MilestoneWatchersPermission(TaigaResourcePermission):
|
class MilestoneWatchersPermission(TaigaResourcePermission):
|
||||||
enought_perms = IsProjectAdmin() | IsSuperUser()
|
enought_perms = IsProjectAdmin() | IsSuperUser()
|
||||||
|
|
|
@ -69,8 +69,14 @@ def update_userstories_milestone_in_bulk(bulk_data: list, milestone: object):
|
||||||
content_type="userstories.userstory",
|
content_type="userstories.userstory",
|
||||||
projectid=milestone.project.pk)
|
projectid=milestone.project.pk)
|
||||||
|
|
||||||
db.update_attr_in_bulk_for_ids(us_milestones, "milestone_id",
|
us_instance_list = []
|
||||||
model=UserStory)
|
us_values = []
|
||||||
|
for us_id in user_story_ids:
|
||||||
|
us = UserStory.objects.get(pk=us_id)
|
||||||
|
us_instance_list.append(us)
|
||||||
|
us_values.append({'milestone_id': milestone.id})
|
||||||
|
|
||||||
|
db.update_in_bulk(us_instance_list, us_values)
|
||||||
db.update_attr_in_bulk_for_ids(us_orders, "sprint_order", UserStory)
|
db.update_attr_in_bulk_for_ids(us_orders, "sprint_order", UserStory)
|
||||||
|
|
||||||
# Updating the milestone for the tasks
|
# Updating the milestone for the tasks
|
||||||
|
|
|
@ -53,7 +53,7 @@ class UpdateMilestoneBulkValidator(MilestoneExistsValidator,
|
||||||
ProjectExistsValidator,
|
ProjectExistsValidator,
|
||||||
validators.Validator):
|
validators.Validator):
|
||||||
project_id = serializers.IntegerField()
|
project_id = serializers.IntegerField()
|
||||||
sprint_id = serializers.IntegerField()
|
milestone_id = serializers.IntegerField()
|
||||||
bulk_stories = _UserStoryMilestoneBulkValidator(many=True)
|
bulk_stories = _UserStoryMilestoneBulkValidator(many=True)
|
||||||
|
|
||||||
# def validate_milestone_id(self, attrs, source):
|
# def validate_milestone_id(self, attrs, source):
|
||||||
|
|
Loading…
Reference in New Issue