37 lines
625 B
Ruby
37 lines
625 B
Ruby
class Command::Assign < Command
|
|
store_accessor :data, :card_ids, :assignee_ids
|
|
|
|
def execute
|
|
Rails.logger.info "*** #{assignees.collect(&:name)}"
|
|
|
|
transaction do
|
|
cards.each do |card|
|
|
assignees.each do |assignee|
|
|
card.toggle_assignment(assignee) unless card.assigned_to?(assignee)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
def undo
|
|
raise "pending"
|
|
end
|
|
|
|
def description
|
|
raise "pending"
|
|
end
|
|
|
|
def to_command
|
|
raise "pending"
|
|
end
|
|
|
|
private
|
|
def assignees
|
|
User.where(id: assignee_ids)
|
|
end
|
|
|
|
def cards
|
|
user.accessible_cards.where(id: card_ids)
|
|
end
|
|
end
|