EekBoek
view release on metacpan or search on metacpan
lib/EB/Wx/IniWiz.pm view on Meta::CPAN
$opts{adm_naam} = $self->{t_adm_name}->GetValue;
$opts{adm_code} = $self->{t_adm_code}->GetValue;
$opts{adm_begindatum} = $self->{sp_adm_begin}->GetValue;
$opts{db_naam} = $self->{t_db_name}->GetValue;
$opts{db_driver} = $db_drivers[$self->{ch_db_driver}->GetSelection];
$opts{db_host} = $self->{t_db_host}->GetValue
if $self->{t_db_host}->IsEnabled
&& $self->{t_db_host}->GetValue
&& $self->{t_db_host}->GetValue ne $default;
$opts{db_port} = $self->{t_db_port}->GetValue
if $self->{t_db_port}->IsEnabled
&& $self->{t_db_port}->GetValue
&& $self->{t_db_port}->GetValue ne $default;
$opts{db_user} = $self->{t_db_user}->GetValue
if $self->{t_db_user}->IsEnabled
&& $self->{t_db_user}->GetValue
&& $self->{t_db_user}->GetValue ne $default;
$opts{db_password} = $self->{t_db_password}->GetValue
if $self->{t_db_password}->IsEnabled
&& $self->{t_db_password}->GetValue
&& $self->{t_db_password}->GetValue ne "";
#$opts{db_path} = $self->{dc_dbpath}->GetPath
# if $self->{dc_dbpath}->IsEnabled
# && $self->{dc_dbpath}->GetPath !~ /^--/;
$opts{"has_$_"} = $self->{"cb_$_"}->IsChecked
foreach qw(debiteuren crediteuren kas bank btw);
$opts{"create_$_"} = $self->{"cb_cr_$_"}->IsChecked
foreach qw(config schema relaties opening mutaties database);
$opts{adm_btwperiode} = qw(maand kwartaal jaar)[$self->{ch_btw_period}->GetSelection]
if $opts{has_btw};
$opts{template} = $ebz[ $self->{ch_template}->GetSelection ]->[0];
if ( $opts{adm_code} ) {
mkdir($opts{adm_code}) unless -d $opts{adm_code};
chdir($opts{adm_code}) or die("chdir($opts{adm_code}): $!\n");;
}
$self->{b_ok}->Enable(0);
my $log = $self->{t_main};
eval {
EB::Tools::MiniAdm->sanitize(\%opts);
foreach my $c ( qw(config schema relaties opening mutaties database) ) {
my $msg = __x("Aanmaken {cfg}: ", cfg => $c);
$log->AppendText($msg);
if ( $opts{"create_$c"} ) {
if ( $c eq "database" ) {
my $t = $log->GetInsertionPoint;
$log->AppendText(_T("Even geduld..."));
$self->Refresh;
$self->Update;
my $ret;
EB->app_init( { app => $EekBoek::PACKAGE, %opts } );
require EB::Main;
local $::app; # defeat Shell blocking of import command
local @ARGV = qw( --init );
my @msg;
my $out;
# Intercept warn and die.
local $SIG{__WARN__} = sub {
push( @msg, join("\n", @_) );
};
local $SIG{__DIE__} = sub {
push( @msg, "?".join("\n", @_) );
};
# Intercept STDOUT.
open( my $oldout, ">&STDOUT" );
close( STDOUT );
open( STDOUT, '>', \$out ) or die("STDOUT capture fail");
$ret = EB::Main->run;
# Restore STDOUT.
close(STDOUT);
open ( STDOUT, ">&", $oldout );
if ( $ret ) {
$log->Replace($t,
$log->GetInsertionPoint,
_T("Mislukt")."\n");
}
else {
$log->Replace($t,
$log->GetInsertionPoint,
_T("Gereed")."\n");
}
if ( $out || @msg ) {
$self->{b_details}->Show(1);
$self->{sz_buttons}->Layout;
$self->{_details} = "";
if ( @msg ) {
$self->{_details} .= _T("==== Meldingen ====")."\n";
$self->{_details} .= $_ . "\n" for @msg;
}
if ( $out ) {
$self->{_details} .= _T("==== Uitvoer ====")."\n";
$self->{_details} .= $out . "\n";
}
}
$self->Update;
}
else {
$self->Refresh;
my $m = "generate_". $c;
EB::Tools::MiniAdm->$m(\%opts);
$log->AppendText(_T("Gereed")."\n");
$self->Update;
}
}
else {
$log->AppendText(_T("Overgeslagen")."\n");
}
}
};
( run in 1.158 second using v1.01-cache-2.11-cpan-54e63673c56 )