]> wagnertech.de Git - kivitendo-erp.git/blobdiff - SL/User.pm
Bugfix beim Anlegen der Authentifizierungsdatenbank mit UTF-8. Anzeigen von Fehlermel...
[kivitendo-erp.git] / SL / User.pm
index ea189637753cbd8fd45c10d4e4ec738023d5cf52..5e4d667a8a453aaeaeea8dd8e0506c3226da3038 100644 (file)
@@ -311,6 +311,25 @@ sub dbsources {
   return @dbsources;
 }
 
+sub dbclusterencoding {
+  $main::lxdebug->enter_sub();
+
+  my ($self, $form) = @_;
+
+  $form->{dbdefault} ||= $form->{dbuser};
+
+  dbconnect_vars($form, $form->{dbdefault});
+
+  my $dbh                = DBI->connect($form->{dbconnect}, $form->{dbuser}, $form->{dbpasswd}) || $form->dberror();
+  my $query              = qq|SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname = 'template0'|;
+  my ($cluster_encoding) = $dbh->selectrow_array($query);
+  $dbh->disconnect();
+
+  $main::lxdebug->leave_sub();
+
+  return $cluster_encoding;
+}
+
 sub dbcreate {
   $main::lxdebug->enter_sub();
 
@@ -344,7 +363,8 @@ sub dbcreate {
   my $query = $dbcreate{$form->{dbdriver}};
   $query .= " WITH " . join(" ", @{$dboptions{"Pg"}}) if (@{$dboptions{"Pg"}});
 
-  do_query($form, $dbh, $query);
+  # Ignore errors if the database exists.
+  $dbh->do($query);
 
   if ($form->{dbdriver} eq 'Oracle') {
     $query = qq|GRANT CONNECT, RESOURCE TO "$form->{db}"|;
@@ -767,7 +787,7 @@ sub dbupdate {
       last if ($version < $mindb);
 
       # apply upgrade
-      $main::lxdebug->message(DEBUG2, "Applying Update $upgradescript");
+      $main::lxdebug->message(LXDebug::DEBUG2, "Applying Update $upgradescript");
       if ($file_type eq "sql") {
         $self->process_query($form, $dbh, "sql/" . $form->{"dbdriver"} .
                              "-upgrade/$upgradescript", $str_maxdb, $db_charset);
@@ -851,7 +871,7 @@ sub dbupdate2 {
       my $file_type = $1;
 
       # apply upgrade
-      $main::lxdebug->message(DEBUG2, "Applying Update $control->{file}");
+      $main::lxdebug->message(LXDebug::DEBUG2, "Applying Update $control->{file}");
       print $form->parse_html_template("dbupgrade/upgrade_message2", $control);
 
       if ($file_type eq "sql") {
@@ -955,7 +975,8 @@ sub config_vars {
     printer role sid signature stylesheet tel templates vclimit angebote
     bestellungen rechnungen anfragen lieferantenbestellungen einkaufsrechnungen
     taxnumber co_ustid duns menustyle template_format default_media
-    default_printer_id copies show_form_details favorites);
+    default_printer_id copies show_form_details favorites
+    pdonumber sdonumber);
 
   $main::lxdebug->leave_sub();