diff --git a/app/coffee/modules/resources.coffee b/app/coffee/modules/resources.coffee index 9c4b97f4..470150b1 100644 --- a/app/coffee/modules/resources.coffee +++ b/app/coffee/modules/resources.coffee @@ -99,6 +99,9 @@ urls = { # Milestones/Sprints "milestones": "/milestones" + "move-userstories-to-milestone": "/milestones/%s/move_userstories_to_sprint" + "move-tasks-to-milestone": "/milestones/%s/move_tasks_to_sprint" + "move-issues-to-milestone": "/milestones/%s/move_issues_to_sprint" # Epics "epics": "/epics" diff --git a/app/coffee/modules/resources/sprints.coffee b/app/coffee/modules/resources/sprints.coffee index c53724e1..3f360455 100644 --- a/app/coffee/modules/resources/sprints.coffee +++ b/app/coffee/modules/resources/sprints.coffee @@ -21,7 +21,7 @@ taiga = @.taiga generateHash = taiga.generateHash -resourceProvider = ($repo, $model, $storage) -> +resourceProvider = ($repo, $model, $storage, $http, $urls) -> service = {} service.get = (projectId, sprintId) -> @@ -52,9 +52,24 @@ resourceProvider = ($repo, $model, $storage) -> open: parseInt(headers("Taiga-Info-Total-Opened-Milestones"), 10) } + service.moveUserStoriesMilestone = (currentMilestoneId, projectId, milestoneId, data) -> + url = $urls.resolve("move-userstories-to-milestone", currentMilestoneId) + params = {project_id: projectId, milestone_id: milestoneId, bulk_stories: data} + return $http.post(url, params) + + service.moveTasksMilestone = (currentMilestoneId, projectId, milestoneId, data) -> + url = $urls.resolve("move-tasks-to-milestone", currentMilestoneId) + params = {project_id: projectId, milestone_id: milestoneId, bulk_tasks: data} + return $http.post(url, params) + + service.moveIssuesMilestone = (currentMilestoneId, projectId, milestoneId, data) -> + url = $urls.resolve("move-issues-to-milestone", currentMilestoneId) + params = {project_id: projectId, milestone_id: milestoneId, bulk_issues: data} + return $http.post(url, params) return (instance) -> instance.sprints = service module = angular.module("taigaResources") -module.factory("$tgSprintsResourcesProvider", ["$tgRepo", "$tgModel", "$tgStorage", resourceProvider]) +module.factory("$tgSprintsResourcesProvider", +["$tgRepo", "$tgModel", "$tgStorage", "$tgHttp", "$tgUrls", resourceProvider]) diff --git a/app/modules/components/move-to-sprint/move-to-sprint-lb/move-to-sprint-lb.controller.coffee b/app/modules/components/move-to-sprint/move-to-sprint-lb/move-to-sprint-lb.controller.coffee index bd03f63b..1f153a6a 100644 --- a/app/modules/components/move-to-sprint/move-to-sprint-lb/move-to-sprint-lb.controller.coffee +++ b/app/modules/components/move-to-sprint/move-to-sprint-lb/move-to-sprint-lb.controller.coffee @@ -85,7 +85,7 @@ class MoveToSprintLightboxController _.map @.openItems, (itemsList, itemsType) => if not @.itemsToMove[itemsType] itemsNotMoved[itemsType] = true - + @.loading = true @moveItems().then () => @@ -99,7 +99,8 @@ class MoveToSprintLightboxController promises = [] if @.itemsToMove.uss promises.push( - @rs.userstories.bulkUpdateMilestone( + @rs.sprints.moveUserStoriesMilestone( + @.sprint.id @.projectId @.selectedSprintId @.itemsToMove.uss @@ -107,7 +108,8 @@ class MoveToSprintLightboxController ) if @.itemsToMove.tasks promises.push( - @rs.tasks.bulkUpdateMilestone( + @rs.sprints.moveTasksMilestone( + @.sprint.id @.projectId @.selectedSprintId @.itemsToMove.tasks @@ -115,7 +117,8 @@ class MoveToSprintLightboxController ) if @.itemsToMove.issues promises.push( - @rs.issues.bulkUpdateMilestone( + @rs.sprints.moveIssuesMilestone( + @.sprint.id @.projectId @.selectedSprintId @.itemsToMove.issues