X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/0dfb1453080f4bcd515bff166f35d5577a08b75b..01a4e61cd737bfd84e45169c78ee2071bd6b3acc:/SL/Controller/CsvImport/Order.pm diff --git a/SL/Controller/CsvImport/Order.pm b/SL/Controller/CsvImport/Order.pm index 34f093146..35743e079 100644 --- a/SL/Controller/CsvImport/Order.pm +++ b/SL/Controller/CsvImport/Order.pm @@ -41,6 +41,22 @@ sub init_settings { } +sub init_cvar_configs_by { + my ($self) = @_; + + my $item_cvar_configs = SL::DB::Manager::CustomVariableConfig->get_all(where => [ module => 'IC' ]); + $item_cvar_configs = [grep { $_->has_flag('editable') } @{ $item_cvar_configs }]; + + my $ccb; + $ccb->{class}->{'SL::DB::Order'} = []; + $ccb->{class}->{'SL::DB::OrderItem'} = $item_cvar_configs; + $ccb->{row_ident}->{$self->_order_column} = []; + $ccb->{row_ident}->{$self->_item_column} = $item_cvar_configs; + + return $ccb; +} + + sub init_profile { my ($self) = @_; @@ -123,6 +139,8 @@ sub setup_displayable_columns { { name => 'shipto_id', description => $::locale->text('Ship to (database ID)') }, ); + $self->add_cvar_columns_to_displayable_columns($self->_item_column); + $self->add_displayable_columns($self->_item_column, { name => 'datatype', description => $self->_item_column }, { name => 'cusordnumber', description => $::locale->text('Customer Order Number') }, @@ -247,6 +265,7 @@ sub check_objects { } elsif ($entry->{raw_data}->{datatype} eq $self->_item_column && $entry->{object}->can('part')) { $self->handle_item($entry); } + $self->handle_cvars($entry, sub_module => 'orderitems'); } continue { $i++; @@ -267,6 +286,7 @@ sub check_objects { map { "${_}_id" } grep { exists $self->controller->data->[1]->{raw_data}->{$_} } qw(project price_factor pricegroup)); $self->add_columns($self->_item_column, 'project_id') if exists $self->controller->data->[1]->{raw_data}->{projectnumber}; + $self->add_cvar_raw_data_columns(); $self->add_items_to_order(); $self->handle_prices_and_taxes();