diff --git a/app/controllers/datum/admin/table_lists_controller.rb b/app/controllers/datum/admin/table_lists_controller.rb index d0fc413..06dc44f 100644 --- a/app/controllers/datum/admin/table_lists_controller.rb +++ b/app/controllers/datum/admin/table_lists_controller.rb @@ -3,9 +3,14 @@ class Admin::TableListsController < Panel::TableListsController include Controller::Admin def find - @table_list = @data_list.table_lists.find_or_create_by(parameters: params.permit(*@data_list.parameters.keys).to_h) + q_params = {} + q_params.merge! default_params + q_params.merge! params.permit(*@data_list.parameters.keys) + + @table_list = @data_list.table_lists.find_or_create_by(parameters: q_params) @table_list.cached_run(params[:timestamp]) @table_items = @table_list.table_items.page(params[:page]).per(100) end + end end diff --git a/app/models/datum/model/table_list.rb b/app/models/datum/model/table_list.rb index 2e126d0..398e2ed 100644 --- a/app/models/datum/model/table_list.rb +++ b/app/models/datum/model/table_list.rb @@ -33,7 +33,8 @@ def run def convert_parameters params = {}.with_indifferent_access parameters.each do |k, v| - params.merge! k => v.send(DefaultForm.config.mapping[data_list.parameters[k].to_sym][:output]) + r = DefaultForm.config.mapping.dig(data_list.parameters[k].to_sym, :output) + params.merge! k => v.send(r) if r end params end