email_template = templates/mail/self_test/status_mail.txt
[console]
-# autologin to use if none is given
+# Automatic login will only work if both "client" and "login" are
+# given. "client" can be a client's database ID or its name. "login"
+# is simply a user's login name.
+client =
login =
# autorun lines will be executed after autologin.
log_file = /tmp/kivitendo_console_debug.log
[testing]
-
-# autologin to use if none is given
-login = myxplace_standard
+# Automatic login will only work if both "client" and "login" are
+# given. "client" can be a client's database ID or its name. "login"
+# is simply a user's login name.
+client =
+login =
[devel]
# Several settings related to the development of kivitendo.
use SL::LxOfficeConf;
SL::LxOfficeConf->read;
+my $client = $::lx_office_conf{console}{client};
my $login = $::lx_office_conf{console}{login} || 'demo';
my $history_file = $::lx_office_conf{console}{history_file} || '/tmp/kivitendo_console_history.log'; # fallback if users is not writable
my $debug_file = $::lx_office_conf{console}{log_file} || '/tmp/kivitendo_console_debug.log';
my $result = GetOptions(
"login|l=s" => \$login,
+ "client|c=s" => \$client,
"history-file|i=s" => \$history_file,
"log-file|o=s" => \$debug_file,
"execute|e=s" => \$execute_code,
$repl->load_plugin($_) for @plugins;
$repl->load_history($history_file);
$repl->eval('help');
-$repl->print("trying to auto login as '$login'...");
-$repl->print($repl->eval("lxinit '$login'"));
+$repl->print("trying to auto login into client '$client' with login '$login'...\n");
+execute_code($repl, "lxinit '$client', '$login'");
my @code_to_execute = grep { $_ } ($autorun, $execute_code, $execute_file ? join('', read_file($execute_file)) : undef);
execute_code($repl, $_) || exit 1 for @code_to_execute;
# it is assumed that anyone with physical access and execution rights on this script
# won't be hindered by authentication anyway.
sub lxinit {
- my $login = shift;
+ my ($client, $login) = @_;
- die 'need login' unless $login;
+ die 'need client and login' unless $client && $login;
package main;
$::locale = Locale->new($::lx_office_conf{system}->{language});
$::form = Form->new;
$::auth = SL::Auth->new;
+ die "Cannot find client with ID or name '$client'" if !$::auth->set_client($client);
+
$::instance_conf = SL::InstanceConfiguration->new;
$::request = SL::Request->new(
cgi => CGI->new({}),