Files
sure/app/controllers/import/configurations_controller.rb
Mark Hendriksen 9b84c5bdbc Enhanced Import Amount Type Selection (#506)
* Enhanced Import Amount Type Selection

updated version of https://github.com/we-promise/sure/pull/179

* copilot sugestions

* ai sugestions

* Update import.rb

* Update schema.rb

* Update schema.rb

* Update schema.rb

---------

Signed-off-by: Juan José Mata <juanjo.mata@gmail.com>
Co-authored-by: Juan José Mata <juanjo.mata@gmail.com>
2026-01-23 22:12:02 +01:00

55 lines
1.4 KiB
Ruby

class Import::ConfigurationsController < ApplicationController
layout "imports"
before_action :set_import
def show
end
def update
if params[:refresh_only]
@import.update!(rows_to_skip: params.dig(:import, :rows_to_skip).to_i)
redirect_to import_configuration_path(@import)
else
@import.update!(import_params)
@import.generate_rows_from_csv
@import.reload.sync_mappings
redirect_to import_clean_path(@import), notice: t(".success")
end
rescue ActiveRecord::RecordInvalid => e
message = e.record.errors.full_messages.to_sentence.presence || e.message
redirect_back_or_to import_configuration_path(@import), alert: message
end
private
def set_import
@import = Current.family.imports.find(params[:import_id])
end
def import_params
params.fetch(:import, {}).permit(
:date_col_label,
:amount_col_label,
:name_col_label,
:category_col_label,
:tags_col_label,
:account_col_label,
:qty_col_label,
:ticker_col_label,
:exchange_operating_mic_col_label,
:price_col_label,
:entity_type_col_label,
:notes_col_label,
:currency_col_label,
:date_format,
:number_format,
:signage_convention,
:amount_type_strategy,
:amount_type_identifier_value,
:amount_type_inflow_value,
:rows_to_skip
)
end
end