X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FCsvImport%2FProject.pm;h=d03de46bf975b39c6f18f81c3c1399f65e27d3dd;hb=228dfbdc7b671f8c8ac8254ae7cda2e3675351ae;hp=8367fbe3a9ae7db4875ec499ac5d2532639a4747;hpb=1186097844e5884cb11cf3d8b724156e329a0f00;p=kivitendo-erp.git diff --git a/SL/Controller/CsvImport/Project.pm b/SL/Controller/CsvImport/Project.pm index 8367fbe3a..d03de46bf 100644 --- a/SL/Controller/CsvImport/Project.pm +++ b/SL/Controller/CsvImport/Project.pm @@ -27,38 +27,29 @@ sub init_all_cvar_configs { sub check_objects { my ($self) = @_; + $self->controller->track_progress(phase => 'building data', progress => 0); + + my $i; + my $num_data = scalar @{ $self->controller->data }; foreach my $entry (@{ $self->controller->data }) { + $self->controller->track_progress(progress => $i/$num_data * 100) if $i % 100 == 0; + $self->handle_cvars($entry); + } continue { + $i++; } $self->add_cvar_raw_data_columns; } -sub check_duplicates { - my $self = shift; - - my %duplicates_by_number; - - if ( $self->controller->profile->get('duplicates') eq 'check_db' ) { - foreach my $object (@{$self->existing_objects}) { - $duplicates_by_number{$object->{projectnumber}} = 'db'; - } - } - - foreach my $entry (@{ $self->controller->data }) { - - my $object = $entry->{object}; - - if ( $duplicates_by_number{$object->projectnumber()} ) - { - push( @{$entry->{errors}}, - $duplicates_by_number{$object->projectnumber()} eq 'db' ? $::locale->text('Duplicate in database') : $::locale->text('Duplicate in CSV file') - ); - } else { - $duplicates_by_number{$object->projectnumber()} = 'csv'; - } - - } +sub get_duplicate_check_fields { + return { + projectnumber => { + label => $::locale->text('Project Number'), + default => 1, + std_check => 1 + }, + }; } sub setup_displayable_columns {