X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=scripts%2Fconsole;h=8bbe93d6969902eae1fef4dbe3de9a1a3336912f;hb=ba40069b4f465cd51d509ab280d1c6e61652bda9;hp=f7b0a0e891c1a089503978065a4350397399271f;hpb=e170abc7bd6b1087bd2a942a5bd60c20471e1943;p=kivitendo-erp.git diff --git a/scripts/console b/scripts/console index f7b0a0e89..8bbe93d69 100755 --- a/scripts/console +++ b/scripts/console @@ -5,8 +5,11 @@ use strict; use 5.008; # too much magic in here to include perl 5.6 BEGIN { - unshift @INC, "modules/override"; # Use our own versions of various modules (e.g. YAML). - push @INC, "modules/fallback"; # Only use our own versions of modules if there's no system version. + use FindBin; + + unshift(@INC, $FindBin::Bin . '/../modules/override'); # Use our own versions of various modules (e.g. YAML). + push (@INC, $FindBin::Bin . '/..'); + push (@INC, $FindBin::Bin . '/../modules/fallback'); # Only use our own versions of modules if there's no system version. } use Data::Dumper; @@ -84,6 +87,7 @@ use SL::Locale; use SL::LXDebug; use Data::Dumper; use List::Util qw(max); +use Time::HiRes; # this is a cleaned up version of am.pl # it lacks redirection, some html setup and most of the authentication process. @@ -116,9 +120,8 @@ sub lxinit { die "cannot find user $login" unless %::myconfig = $::auth->read_user(login => $login); - $::form->{login} = $login; # normaly implicit at login - die "cannot find locale for user $login" unless $::locale = Locale->new($::myconfig{countrycode}); + $::myconfig{login} = $login; # so SL::DB::Manager::Employee->current works in test database $::instance_conf->init; @@ -153,15 +156,17 @@ sub help { Spezielle Kommandos: - help - zeigt diese Hilfe an. - lxinit 'login' - lädt das kivitendo-Environment für den User 'login'. - reload - lädt modifizierte Module neu. - pp DATA - zeigt die Datenstruktur mit Data::Dumper an. - quit - beendet die Konsole + help - zeigt diese Hilfe an. + lxinit 'login' - lädt das kivitendo-Environment für den User 'login'. + reload - lädt modifizierte Module neu. + pp DATA - zeigt die Datenstruktur mit Data::Dumper an. + clock { CODE } - zeigt die gebrauchte Zeit für die Ausführung von CODE an + quit - beendet die Konsole - part - shortcuts auf die jeweilige SL::DB::{...}::find_by + part - shortcuts auf die jeweilige SL::DB::{...}::find_by customer, vendor, order, invoice, + purchase_invoice, chart EOL @@ -227,6 +232,11 @@ sub invoice { SL::DB::Manager::Invoice->find_by(@_) } +sub purchase_invoice { + require SL::DB::PurchaseInvoice; + SL::DB::Manager::PurchaseInvoice->find_by(@_) +} + sub customer { require SL::DB::Customer; SL::DB::Manager::Customer->find_by(@_) @@ -242,6 +252,13 @@ sub chart { SL::DB::Manager::Chart->find_by(@_) } +sub clock (&) { + my $s = [Time::HiRes::gettimeofday()]; + $_[0]->(); + Time::HiRes::tv_interval($s); +} + + 1; __END__ @@ -274,6 +291,12 @@ Print the manual page and exit. Log in as C. The default is to use the value from the configuration file and C if none is set there. +=item B<-c>, B<--client>=C + +Use the database for client C. C can be a client's +database ID or its name. The default is to use the value from the +configuration file. + =item B<-o>, B<--log-file>=C Use C as the log file. The default is to use the value from