Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2017-09-01 13:47:32 +0300
committerSean McGivern <sean@mcgivern.me.uk>2017-09-01 13:47:32 +0300
commit10854ad8256c605343e8f56b5bf46f7e27b90524 (patch)
tree9a9f102cf746e01d1abcfbdf9f6af03c292d59af /app/services/issues
parentaeb005fcf82660b4e37ef37856219db6b961627e (diff)
parent7e71f958ac721f5c36c20a5366c1e46adce4c67d (diff)
Merge branch 'move-action' into 'master'
Merge request to address /move functionality. See merge request !13436
Diffstat (limited to 'app/services/issues')
-rw-r--r--app/services/issues/update_service.rb13
1 files changed, 12 insertions, 1 deletions
diff --git a/app/services/issues/update_service.rb b/app/services/issues/update_service.rb
index 8d918ccc635..deb4990eb4f 100644
--- a/app/services/issues/update_service.rb
+++ b/app/services/issues/update_service.rb
@@ -6,7 +6,7 @@ module Issues
handle_move_between_iids(issue)
filter_spam_check_params
change_issue_duplicate(issue)
- update(issue)
+ move_issue_to_new_project(issue) || update(issue)
end
def before_update(issue)
@@ -74,6 +74,17 @@ module Issues
end
end
+ def move_issue_to_new_project(issue)
+ target_project = params.delete(:target_project)
+
+ return unless target_project &&
+ issue.can_move?(current_user, target_project) &&
+ target_project != issue.project
+
+ update(issue)
+ Issues::MoveService.new(project, current_user).execute(issue, target_project)
+ end
+
private
def get_issue_if_allowed(project, iid)