class CmAdmin::Models::Export
def generate_excel(klass_name, params, helpers)
def generate_excel(klass_name, params, helpers) klass = klass_name.constantize selected_column_names = params[:columns] || [] # filter_params = params[:filters] model = CmAdmin::Model.find_by({name: klass_name}) # records = get_records(klass, model, columns, helpers) records = "CmAdmin::#{klass_name}Policy::Scope".constantize.new(Current.user, klass).resolve filtered_data = CmAdmin::Models::Filter.filtered_data(model.filter_params(params), records, model.filters) formatted_data = format_records(filtered_data, model, selected_column_names, helpers) file_path = "#{Rails.root}/tmp/#{klass}_data_#{DateTime.now.strftime("%Y-%m-%d_%H-%M-%S")}.xlsx" create_workbook(model, formatted_data, selected_column_names, file_path) return file_path end