summaryrefslogtreecommitdiff
path: root/app/services/boards
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-08-16 01:07:25 -0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-08-17 12:58:59 -0300
commitf77c47a51c8fef379b2dc9473545e53a28ec3c7f (patch)
treeb46dd6074bae6822ada612246b50101898c2f18e /app/services/boards
parentaffed37065974991f4c578993d34ec1608560ad9 (diff)
downloadgitlab-ce-f77c47a51c8fef379b2dc9473545e53a28ec3c7f.tar.gz
Remove lookup inside services to keep them consistent with other ones
Diffstat (limited to 'app/services/boards')
-rw-r--r--app/services/boards/issues/move_service.rb8
-rw-r--r--app/services/boards/lists/destroy_service.rb14
-rw-r--r--app/services/boards/lists/move_service.rb21
3 files changed, 14 insertions, 29 deletions
diff --git a/app/services/boards/issues/move_service.rb b/app/services/boards/issues/move_service.rb
index 97fe099ccb5..6c6f60e1496 100644
--- a/app/services/boards/issues/move_service.rb
+++ b/app/services/boards/issues/move_service.rb
@@ -1,8 +1,8 @@
module Boards
module Issues
class MoveService < Boards::BaseService
- def execute
- return false unless issue.present?
+ def execute(issue)
+ return false unless user.can?(:update_issue, issue)
return false unless valid_move?
update_service.execute(issue)
@@ -14,10 +14,6 @@ module Boards
moving_from_list.present? && moving_to_list.present?
end
- def issue
- @issue ||= project.issues.visible_to_user(user).find_by!(iid: params[:id])
- end
-
def moving_from_list
@moving_from_list ||= board.lists.find_by(id: params[:from_list_id])
end
diff --git a/app/services/boards/lists/destroy_service.rb b/app/services/boards/lists/destroy_service.rb
index 8d244fa3966..9edb596bf46 100644
--- a/app/services/boards/lists/destroy_service.rb
+++ b/app/services/boards/lists/destroy_service.rb
@@ -1,27 +1,23 @@
module Boards
module Lists
class DestroyService < Boards::BaseService
- def execute
+ def execute(list)
return false unless list.label?
list.with_lock do
- decrement_higher_lists
- remove_list
+ decrement_higher_lists(list)
+ remove_list(list)
end
end
private
- def list
- @list ||= board.lists.find(params[:id])
- end
-
- def decrement_higher_lists
+ def decrement_higher_lists(list)
board.lists.label.where('position > ?', list.position)
.update_all('position = position - 1')
end
- def remove_list
+ def remove_list(list)
list.destroy
end
end
diff --git a/app/services/boards/lists/move_service.rb b/app/services/boards/lists/move_service.rb
index 1c91fed0ff4..2b2b5c3943a 100644
--- a/app/services/boards/lists/move_service.rb
+++ b/app/services/boards/lists/move_service.rb
@@ -1,35 +1,28 @@
module Boards
module Lists
class MoveService < Boards::BaseService
- def execute
+ def execute(list)
+ @old_position = list.position
+ @new_position = params[:position]
+
return false unless list.label?
return false unless valid_move?
list.with_lock do
reorder_intermediate_lists
- update_list_position
+ update_list_position(list)
end
end
private
- def list
- @list ||= board.lists.find(params[:id])
- end
+ attr_reader :old_position, :new_position
def valid_move?
new_position.present? && new_position != old_position &&
new_position >= 0 && new_position < board.lists.label.size
end
- def old_position
- @old_position ||= list.position
- end
-
- def new_position
- @new_position ||= params[:position]
- end
-
def reorder_intermediate_lists
if old_position < new_position
decrement_intermediate_lists
@@ -50,7 +43,7 @@ module Boards
.update_all('position = position + 1')
end
- def update_list_position
+ def update_list_position(list)
list.update_attribute(:position, new_position)
end
end