diff --git a/app/coffee/modules/issues/lightboxes.coffee b/app/coffee/modules/issues/lightboxes.coffee index 3861c463..e7caf4c5 100644 --- a/app/coffee/modules/issues/lightboxes.coffee +++ b/app/coffee/modules/issues/lightboxes.coffee @@ -33,20 +33,21 @@ module = angular.module("taigaIssues") ## Issue Bulk Create Lightbox Directive ############################################################################# -CreateBulkIssuesDirective = ($repo, $rs, $confirm, $rootscope, $loading, lightboxService) -> +CreateBulkIssuesDirective = ($repo, $rs, $confirm, $rootscope, $loading, lightboxService, $model) -> link = ($scope, $el, attrs) -> form = null - $scope.$on "issueform:bulk", (ctx, projectId, status)-> + $scope.$on "issueform:bulk", (ctx, projectId, milestoneId, status)-> form.reset() if form lightboxService.open($el) $scope.new = { - projectId: projectId + projectId: projectId, + milestoneId: milestoneId, bulk: "" } - submit = debounce 2000, (event) => + submit = debounce 2000, (event) -> event.preventDefault() form = $el.find("form").checksley() @@ -59,9 +60,11 @@ CreateBulkIssuesDirective = ($repo, $rs, $confirm, $rootscope, $loading, lightbo data = $scope.new.bulk projectId = $scope.new.projectId + milestoneId = $scope.new.milestoneId - promise = $rs.issues.bulkCreate(projectId, data) + promise = $rs.issues.bulkCreate(projectId, milestoneId, data) promise.then (result) -> + result = _.map(result.data, (x) -> $model.make_model('issues', x)) currentLoading.finish() $rootscope.$broadcast("issueform:new:success", result) lightboxService.close($el) @@ -81,4 +84,4 @@ CreateBulkIssuesDirective = ($repo, $rs, $confirm, $rootscope, $loading, lightbo return {link: link} module.directive("tgLbCreateBulkIssues", ["$tgRepo", "$tgResources", "$tgConfirm", "$rootScope", "$tgLoading", - "lightboxService", CreateBulkIssuesDirective]) + "lightboxService", "$tgModel", CreateBulkIssuesDirective]) diff --git a/app/coffee/modules/resources/issues.coffee b/app/coffee/modules/resources/issues.coffee index 2271c652..1afbd5de 100644 --- a/app/coffee/modules/resources/issues.coffee +++ b/app/coffee/modules/resources/issues.coffee @@ -57,9 +57,9 @@ resourceProvider = ($repo, $http, $urls, $storage, $q) -> service.storeQueryParams(projectId, params) return $repo.queryMany("issues", params) - service.bulkCreate = (projectId, data) -> + service.bulkCreate = (projectId, milestoneId, data) -> url = $urls.resolve("bulk-create-issues") - params = {project_id: projectId, bulk_issues: data} + params = {project_id: projectId, milestone_id: milestoneId, bulk_issues: data} return $http.post(url, params) service.upvote = (issueId) -> diff --git a/app/coffee/modules/taskboard/main.coffee b/app/coffee/modules/taskboard/main.coffee index 74902c01..60177860 100644 --- a/app/coffee/modules/taskboard/main.coffee +++ b/app/coffee/modules/taskboard/main.coffee @@ -594,7 +594,7 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin, taiga 'sprintId': @scope.sprintId }) when "standard" then @rootscope.$broadcast("taskform:new", @scope.sprintId, us?.id) - when "bulk" then @rootscope.$broadcast("taskform:bulk", @scope.sprintId, us?.id) + when "bulk" then @rootscope.$broadcast("issueform:bulk", @scope.projectId, @scope.sprintId) toggleFold: (id) -> @taskboardTasksService.toggleFold(id) diff --git a/app/partials/taskboard/taskboard.jade b/app/partials/taskboard/taskboard.jade index bfb6a384..a260a869 100644 --- a/app/partials/taskboard/taskboard.jade +++ b/app/partials/taskboard/taskboard.jade @@ -52,5 +52,8 @@ div.wrapper( div.lightbox.lightbox-generic-bulk.lightbox-task-bulk(tg-lb-create-bulk-tasks) include ../includes/modules/lightbox-task-bulk + div.lightbox.lightbox-generic-bulk(tg-lb-create-bulk-issues) + include ../includes/modules/lightbox-issue-bulk + div.lightbox.lightbox-select-user(tg-lb-assignedto) include ../common/lightbox/lightbox-assigned-to