X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=SL%2FController%2FCsvImport%2FProject.pm;h=4b846dc27cef68418244ab1ef134de8643f48f1e;hb=f0d5e4bba09991c7334869a2bd82fe322e505426;hp=8367fbe3a9ae7db4875ec499ac5d2532639a4747;hpb=159dd37836728abbb2caca3cb25904428ed99859;p=kivitendo-erp.git diff --git a/SL/Controller/CsvImport/Project.pm b/SL/Controller/CsvImport/Project.pm index 8367fbe3a..4b846dc27 100644 --- a/SL/Controller/CsvImport/Project.pm +++ b/SL/Controller/CsvImport/Project.pm @@ -18,6 +18,9 @@ sub init_class { $self->class('SL::DB::Project'); } +sub set_profile_defaults { +}; + sub init_all_cvar_configs { my ($self) = @_; @@ -27,38 +30,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 {