diff options
author | Valery Sizov <valery@gitlab.com> | 2017-03-02 18:09:48 +0200 |
---|---|---|
committer | Valery Sizov <valery@gitlab.com> | 2017-03-02 18:09:48 +0200 |
commit | 39db04bb17aa4ddb02290e4681d394190adb7e3c (patch) | |
tree | fae082f9b975b11c81c73c92485a2088c2ba649d /app/services/issues | |
parent | b64020de281b89f33cbcb6d7642abd76dda31d74 (diff) | |
download | gitlab-ce-39db04bb17aa4ddb02290e4681d394190adb7e3c.tar.gz |
Address review comments
Diffstat (limited to 'app/services/issues')
-rw-r--r-- | app/services/issues/update_service.rb | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/app/services/issues/update_service.rb b/app/services/issues/update_service.rb index b043fc2a5b6..2158c8ada08 100644 --- a/app/services/issues/update_service.rb +++ b/app/services/issues/update_service.rb @@ -37,11 +37,13 @@ module Issues end added_labels = issue.labels - old_labels + if added_labels.present? notification_service.relabeled_issue(issue, added_labels, current_user) end added_mentions = issue.mentioned_users - old_mentioned_users + if added_mentions.present? notification_service.new_mentions_in_issue(issue, added_mentions, current_user) end @@ -56,27 +58,23 @@ module Issues end def handle_move_between_iids(issue) - if move_between_iids = params.delete(:move_between_iids) - after_iid, before_iid = move_between_iids - - issue_before = nil - if before_iid - issue_before = issue.project.issues.find_by(iid: before_iid) - issue_before = nil unless can?(current_user, :update_issue, issue_before) - end - - issue_after = nil - if after_iid - issue_after = issue.project.issues.find_by(iid: after_iid) - issue_after = nil unless can?(current_user, :update_issue, issue_after) - end - - issue.move_between(issue_before, issue_after) - end + return unless move_between_iids = params.delete(:move_between_iids) + + after_iid, before_iid = move_between_iids + + issue_before = get_issue_if_allowed(issue.project, before_iid) if before_iid + issue_after = get_issue_if_allowed(issue.project, after_iid) if after_iid + + issue.move_between(issue_before, issue_after) end private + def get_issue_if_allowed(project, iid) + issue = project.issues.find_by(iid: iid) + issue if can?(current_user, :update_issue, issue) + end + def create_confidentiality_note(issue) SystemNoteService.change_issue_confidentiality(issue, issue.project, current_user) end |