X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=sql%2FPg-upgrade2%2Fcurrencies.pl;h=30f779537a47911efec1d68d3428d9f2dfe0343a;hb=c5057972d03f3546494fabe72224785e5a0a1714;hp=a89784902fd34f876a0f13e4ff81f99e73567dea;hpb=a4d740099476b4383a40a21ab5472e75806f3f4f;p=kivitendo-erp.git diff --git a/sql/Pg-upgrade2/currencies.pl b/sql/Pg-upgrade2/currencies.pl index a89784902..30f779537 100644 --- a/sql/Pg-upgrade2/currencies.pl +++ b/sql/Pg-upgrade2/currencies.pl @@ -20,7 +20,7 @@ sub run { print_no_default_currency(); return 2; } else { - if (length($main::form->{defaultcurrency}) == 0){ + if (!defined $::form->{defaultcurrency} || length($main::form->{defaultcurrency}) == 0){ $main::form->{defaultcurrency} = (split m/:/, $currencies)[0]; } } @@ -69,49 +69,51 @@ sub run { return 2; } - if ($main::form->{continue_options} eq 'break_up') { - return 0; - } + if (defined $::form->{continue_options}) { + if ($::form->{continue_options} eq 'break_up') { + return 0; + } - if ($main::form->{continue_options} eq 'insert') { - for my $i (0..($rowcount-1)){ - push @currency_array, $main::form->{"curr_$i"}; + if ($::form->{continue_options} eq 'insert') { + for my $i (0..($rowcount-1)){ + push @currency_array, $main::form->{"curr_$i"}; + } + create_and_fill_table($self, @currency_array); + return 1; } - create_and_fill_table($self, @currency_array); - return 1; - } - my $still_orphaned; - if ($main::form->{continue_options} eq 'replace') { - for my $i (0..($rowcount - 1)){ - $still_orphaned = 1; - for my $item (@currency_array){ - if ($main::form->{"curr_$i"} eq $item){ - $still_orphaned = 0; - $query = qq|DELETE FROM exchangerate WHERE curr = '| . $main::form->{"old_curr_$i"} . qq|'|; - $self->db_query($query); - $query = qq|UPDATE ap SET curr = '| . $main::form->{"curr_$i"} . qq|' WHERE curr = '| . $main::form->{"old_curr_$i"} . qq|'|; - $self->db_query($query); - $query = qq|UPDATE ar SET curr = '| . $main::form->{"curr_$i"} . qq|' WHERE curr = '| . $main::form->{"old_curr_$i"} . qq|'|; - $self->db_query($query); - $query = qq|UPDATE oe SET curr = '| . $main::form->{"curr_$i"} . qq|' WHERE curr = '| . $main::form->{"old_curr_$i"} . qq|'|; - $self->db_query($query); - $query = qq|UPDATE customer SET curr = '| . $main::form->{"curr_$i"} . qq|' WHERE curr = '| . $main::form->{"old_curr_$i"} . qq|'|; - $self->db_query($query); - $query = qq|UPDATE delivery_orders SET curr = '| . $main::form->{"curr_$i"} . qq|' WHERE curr = '| . $main::form->{"old_curr_$i"} . qq|'|; - $self->db_query($query); - $query = qq|UPDATE vendor SET curr = '| . $main::form->{"curr_$i"} . qq|' WHERE curr = '| . $main::form->{"old_curr_$i"} . qq|'|; - $self->db_query($query); - last; + my $still_orphaned; + if ($::form->{continue_options} eq 'replace') { + for my $i (0..($rowcount - 1)){ + $still_orphaned = 1; + for my $item (@currency_array){ + if ($main::form->{"curr_$i"} eq $item){ + $still_orphaned = 0; + $query = qq|DELETE FROM exchangerate WHERE curr = '| . $main::form->{"old_curr_$i"} . qq|'|; + $self->db_query($query); + $query = qq|UPDATE ap SET curr = '| . $main::form->{"curr_$i"} . qq|' WHERE curr = '| . $main::form->{"old_curr_$i"} . qq|'|; + $self->db_query($query); + $query = qq|UPDATE ar SET curr = '| . $main::form->{"curr_$i"} . qq|' WHERE curr = '| . $main::form->{"old_curr_$i"} . qq|'|; + $self->db_query($query); + $query = qq|UPDATE oe SET curr = '| . $main::form->{"curr_$i"} . qq|' WHERE curr = '| . $main::form->{"old_curr_$i"} . qq|'|; + $self->db_query($query); + $query = qq|UPDATE customer SET curr = '| . $main::form->{"curr_$i"} . qq|' WHERE curr = '| . $main::form->{"old_curr_$i"} . qq|'|; + $self->db_query($query); + $query = qq|UPDATE delivery_orders SET curr = '| . $main::form->{"curr_$i"} . qq|' WHERE curr = '| . $main::form->{"old_curr_$i"} . qq|'|; + $self->db_query($query); + $query = qq|UPDATE vendor SET curr = '| . $main::form->{"curr_$i"} . qq|' WHERE curr = '| . $main::form->{"old_curr_$i"} . qq|'|; + $self->db_query($query); + last; + } + } + if ($still_orphaned){ + $main::form->{continue_options} = ''; + return do_update(); } } - if ($still_orphaned){ - $main::form->{continue_options} = ''; - return do_update(); - } + create_and_fill_table($self, @currency_array); + return 1; } - create_and_fill_table($self, @currency_array); - return 1; } #No orphaned currencies, so create table: @@ -141,11 +143,11 @@ sub create_and_fill_table { $self->db_query($query); #Check wheather defaultcurrency is already in table currencies: - $query = qq|SELECT curr FROM currencies WHERE curr = '| . $main::form->{defaultcurrency} . qq|'|; + $query = qq|SELECT name FROM currencies WHERE name = '| . $main::form->{defaultcurrency} . qq|'|; my ($insert_default) = $self->dbh->selectrow_array($query); if (!$insert_default) { - $query = qq|INSERT INTO currencies (curr) VALUES ('| . $main::form->{defaultcurrency} . qq|')|; + $query = qq|INSERT INTO currencies (name) VALUES ('| . $main::form->{defaultcurrency} . qq|')|; $self->db_query($query); }