summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-02-17 14:33:30 -0200
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-02-20 12:10:26 -0200
commit56a5fc0cd331143c9a2b4215db3dba6cefd6cc3e (patch)
tree0fd7d0de89d1712d26e63b344776f76ff6fd17b5
parent372cdf4ce5fa124e03e2c93e9d1ed586d489b1d8 (diff)
downloadgitlab-ce-56a5fc0cd331143c9a2b4215db3dba6cefd6cc3e.tar.gz
Move common behavior to to IssuableBaseService
-rw-r--r--app/services/issuable_base_service.rb13
-rw-r--r--app/services/issues/update_service.rb17
-rw-r--r--app/services/merge_requests/update_service.rb17
3 files changed, 13 insertions, 34 deletions
diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb
index 63025c10fb0..fef96639ace 100644
--- a/app/services/issuable_base_service.rb
+++ b/app/services/issuable_base_service.rb
@@ -71,6 +71,19 @@ class IssuableBaseService < BaseService
end
end
+ def have_changes?(issuable, options = {})
+ valid_attrs = [:title, :description, :assignee_id, :milestone_id, :target_branch]
+
+ attrs_changed = valid_attrs.any? do |attr|
+ issuable.previous_changes.include?(attr.to_s)
+ end
+
+ old_labels = options[:old_labels]
+ labels_changed = old_labels && issuable.labels != old_labels
+
+ attrs_changed || labels_changed
+ end
+
def handle_common_system_notes(issuable, options = {})
if issuable.previous_changes.include?('title')
create_title_change_note(issuable, issuable.previous_changes['title'].first)
diff --git a/app/services/issues/update_service.rb b/app/services/issues/update_service.rb
index fb9571247cc..48645a8e558 100644
--- a/app/services/issues/update_service.rb
+++ b/app/services/issues/update_service.rb
@@ -27,22 +27,5 @@ module Issues
def close_service
Issues::CloseService
end
-
- private
-
- def have_changes?(issue, options = {})
- valid_attrs = [:title, :description, :assignee_id, :milestone_id]
-
- attrs_changed = valid_attrs.any? do |attr|
- issue.previous_changes.include?(attr.to_s)
- end
-
- old_labels = options[:old_labels]
- labels_changed = old_labels && issue.labels != old_labels
-
- if attrs_changed || labels_changed
- task_service.mark_as_done(issue, current_user)
- end
- end
end
end
diff --git a/app/services/merge_requests/update_service.rb b/app/services/merge_requests/update_service.rb
index 34ee6b3eecd..f9f4d9a4f27 100644
--- a/app/services/merge_requests/update_service.rb
+++ b/app/services/merge_requests/update_service.rb
@@ -48,22 +48,5 @@ module MergeRequests
def close_service
MergeRequests::CloseService
end
-
- private
-
- def have_changes?(merge_request, options = {})
- valid_attrs = [:title, :description, :assignee_id, :milestone_id, :target_branch]
-
- attrs_changed = valid_attrs.any? do |attr|
- merge_request.previous_changes.include?(attr.to_s)
- end
-
- old_labels = options[:old_labels]
- labels_changed = old_labels && merge_request.labels != old_labels
-
- if attrs_changed || labels_changed
- task_service.mark_as_done(merge_request, current_user)
- end
- end
end
end