Module: Calagator::DuplicateChecking::ControllerActions

Included in:
EventsController, VenuesController
Defined in:
lib/calagator/duplicate_checking/controller_actions.rb

Instance Method Summary collapse

Instance Method Details

#duplicatesObject

GET /##model_class/duplicates



6
7
8
9
10
11
12
# File 'lib/calagator/duplicate_checking/controller_actions.rb', line 6

def duplicates
  @type = params[:type] || "na"
  @grouped = model_class.find_duplicates_by_type(@type)
rescue ArgumentError => e
  @grouped = {}
  flash[:failure] = e.to_s
end

#squash_many_duplicatesObject

POST /##model_class/squash_multiple_duplicates



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/calagator/duplicate_checking/controller_actions.rb', line 15

def squash_many_duplicates
  master = model_class.find_by_id(params[:master_id])
  duplicate_ids = params.keys.grep(/^duplicate_id_\d+$/){|t| params[t].to_i}
  duplicates = model_class.where(id: duplicate_ids)

  squasher = model_class.squash(master, duplicates)
  if squasher.success
    flash[:success] = squasher.success
  else
    flash[:failure] = squasher.failure
  end
  redirect_to action: "duplicates", type: params[:type]
end