Task-Server mandantenfähig gemacht
authorMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 14 Jun 2013 14:45:05 +0000 (16:45 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 14 Jun 2013 14:45:05 +0000 (16:45 +0200)
config/kivitendo.conf.default
scripts/task_server.pl

index 0a2a97f..0352b43 100644 (file)
@@ -166,7 +166,11 @@ openofficeorg_daemon = 1
 openofficeorg_daemon_port = 2002
 
 [task_server]
-# User name to use for database access
+# kivitendo client (either its name or its database ID) for database
+# access (both 'client' and 'login' are required)
+client =
+# kivitendo user (login) name to use for certain jobs (both 'client'
+# and 'login' are required)
 login =
 # Set to 1 for debug messages in /tmp/kivitendo-debug.log
 debug = 0
index 3a45dd1..c8ad935 100755 (executable)
@@ -41,7 +41,8 @@ use SL::System::TaskServer;
 our %lx_office_conf;
 
 sub lxinit {
-  my $login = $lx_office_conf{task_server}->{login};
+  my $login  = $lx_office_conf{task_server}->{login};
+  my $client = $lx_office_conf{task_server}->{client};
 
   package main;
 
@@ -49,6 +50,7 @@ sub lxinit {
   $::locale        = Locale->new($::lx_office_conf{system}->{language});
   $::form          = Form->new;
   $::auth          = SL::Auth->new;
+  die "No client configured or no client found with the name/ID '$client'" unless $::auth->set_client($client);
   $::instance_conf = SL::InstanceConfiguration->new;
   $::request       = { cgi => CGI->new({}) };
 
@@ -95,8 +97,9 @@ sub gd_preconfig {
 
   SL::LxOfficeConf->read($self->{configfile});
 
-  die "Missing section [task_server] in config file"                unless $lx_office_conf{task_server};
-  die "Missing key 'login' in section [task_server] in config file" unless $lx_office_conf{task_server}->{login};
+  die "Missing section [task_server] in config file"                 unless $lx_office_conf{task_server};
+  die "Missing key 'login' in section [task_server] in config file"  unless $lx_office_conf{task_server}->{login};
+  die "Missing key 'client' in section [task_server] in config file" unless $lx_office_conf{task_server}->{client};
 
   drop_privileges();
   lxinit();