Mandantennamen in allen MenĂ¼-Headern anzeigen
[kivitendo-erp.git] / SL / AM.pm
index 4934d86..1805dac 100644 (file)
--- a/SL/AM.pm
+++ b/SL/AM.pm
@@ -42,6 +42,8 @@ use Data::Dumper;
 use Encode;
 use List::MoreUtils qw(any);
 use SL::DBUtils;
+use SL::DB::AuthUser;
+use SL::DB::Employee;
 
 use strict;
 
@@ -1120,37 +1122,24 @@ sub save_defaults {
   $main::lxdebug->leave_sub();
 }
 
-
 sub save_preferences {
   $main::lxdebug->enter_sub();
 
-  my ($self, $myconfig, $form) = @_;
-
-  my $dbh = $form->get_standard_dbh($myconfig);
-
-  my ($businessnumber) = selectrow_query($form, $dbh, qq|SELECT businessnumber FROM defaults|);
-
-  # update name
-  my $query = qq|UPDATE employee SET name = ? WHERE login = ?|;
-  do_query($form, $dbh, $query, $form->{name}, $form->{login});
-
-  my $rc = $dbh->commit();
+  my ($self, $form) = @_;
 
-  $form->{businessnumber} =  $businessnumber;
+  my $employee = SL::DB::Manager::Employee->find_by(login => $form->{login});
+  $employee->update_attributes(name => $form->{name});
 
-  $myconfig = User->new(login => $form->{login});
-
-  foreach my $item (keys %$form) {
-    $myconfig->{$item} = $form->{$item};
-  }
-
-  $myconfig->save_member;
-
-  my $auth = $main::auth;
+  my $user = SL::DB::Manager::AuthUser->find_by(login => $form->{login});
+  $user->update_attributes(
+    config_values => {
+      map({ ($_ => $form->{$_})                                   } SL::DB::AuthUser::CONFIG_VARS()),
+      map({ ($_ => do { my $v = $form->{$_}; $v =~ s/\r//g; $v }) } qw(address signature)),
+    });
 
   $main::lxdebug->leave_sub();
 
-  return $rc;
+  return 1;
 }
 
 sub get_defaults {
@@ -1313,11 +1302,11 @@ sub closedto {
 
   my $dbh = $form->dbconnect($myconfig);
 
-  my $query = qq|SELECT closedto, revtrans FROM defaults|;
+  my $query = qq|SELECT closedto, max_future_booking_interval, revtrans FROM defaults|;
   my $sth   = $dbh->prepare($query);
   $sth->execute || $form->dberror($query);
 
-  ($form->{closedto}, $form->{revtrans}) = $sth->fetchrow_array;
+  ($form->{closedto}, $form->{max_future_booking_interval}, $form->{revtrans}) = $sth->fetchrow_array;
 
   $sth->finish;
 
@@ -1339,8 +1328,8 @@ sub closebooks {
     $query = qq|UPDATE defaults SET closedto = NULL, revtrans = '1'|;
 
   } elsif ($form->{closedto}) {
-    $query = qq|UPDATE defaults SET closedto = ?, revtrans = '0'|;
-    @values = (conv_date($form->{closedto}));
+    $query = qq|UPDATE defaults SET closedto = ?, max_future_booking_interval = ?, revtrans = '0'|;
+    @values = (conv_date($form->{closedto}), conv_date($form->{max_future_booking_interval}));
 
   } else {
     $query = qq|UPDATE defaults SET closedto = NULL, revtrans = '0'|;