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)
|
||||
|
||||
|
||||
@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)
|
||||
|
||||
self.check_permissions(request, "bulk_update_items", milestone)
|
||||
|
@ -157,16 +156,16 @@ class MilestoneViewSet(HistoryResourceMixin, WatchedResourceMixin,
|
|||
|
||||
data = validator.data
|
||||
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"]:
|
||||
self.check_permissions(request, "bulk_update_us_milestone", project)
|
||||
services.update_userstories_milestone_in_bulk(data["bulk_stories"], milestone)
|
||||
permissions = self.check_permissions(request, "move_uss_to_sprint", project)
|
||||
services.update_userstories_milestone_in_bulk(data["bulk_stories"], milestone_result)
|
||||
services.snapshot_userstories_in_bulk(data["bulk_stories"], request.user)
|
||||
|
||||
return response.NoContent()
|
||||
|
||||
|
||||
class MilestoneWatchersViewSet(WatchersViewSetMixin, ModelListViewSet):
|
||||
permission_classes = (permissions.MilestoneWatchersPermission,)
|
||||
resource_model = models.Milestone
|
||||
|
|
|
@ -34,7 +34,8 @@ class MilestonePermission(TaigaResourcePermission):
|
|||
watch_perms = IsAuthenticated() & HasProjectPerm('view_milestones')
|
||||
unwatch_perms = IsAuthenticated() & HasProjectPerm('view_milestones')
|
||||
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):
|
||||
enought_perms = IsProjectAdmin() | IsSuperUser()
|
||||
|
|
|
@ -69,8 +69,14 @@ def update_userstories_milestone_in_bulk(bulk_data: list, milestone: object):
|
|||
content_type="userstories.userstory",
|
||||
projectid=milestone.project.pk)
|
||||
|
||||
db.update_attr_in_bulk_for_ids(us_milestones, "milestone_id",
|
||||
model=UserStory)
|
||||
us_instance_list = []
|
||||
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)
|
||||
|
||||
# Updating the milestone for the tasks
|
||||
|
|
|
@ -53,7 +53,7 @@ class UpdateMilestoneBulkValidator(MilestoneExistsValidator,
|
|||
ProjectExistsValidator,
|
||||
validators.Validator):
|
||||
project_id = serializers.IntegerField()
|
||||
sprint_id = serializers.IntegerField()
|
||||
milestone_id = serializers.IntegerField()
|
||||
bulk_stories = _UserStoryMilestoneBulkValidator(many=True)
|
||||
|
||||
# def validate_milestone_id(self, attrs, source):
|
||||
|
|
Loading…
Reference in New Issue