changelog zu Workflow zu Lieferantenauftrag
[kivitendo-erp.git] / sql / Pg-upgrade2 / currencies.pl
index a897849..30f7795 100644 (file)
@@ -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);
   }