EekBoek

 view release on metacpan or  search on metacpan

lib/EB/IniWiz.pm  view on Meta::CPAN

	    }
	    $answers->{$code} = $a;
	    last QQ if defined $answers->{$code};
	}
    }

    return -1 unless $answers->{dbcreate};

    my %opts;

    $opts{adm_naam} = $answers->{admname};
    $opts{adm_code} = $answers->{admcode};
    $opts{adm_begindatum} = $answers->{begindate};

    $opts{db_naam} = $answers->{admcode};
    $opts{db_driver} = $db_drivers[$answers->{dbdriver}];
    unless ( $answers->{dbdriver} == $db_default ) {
	$opts{db_host} = $answers->{dbhost}
	  if $answers->{dbhost} && $answers->{dbhost} ne $default;
	$opts{db_port} = $answers->{dbport}
	  if $answers->{dbport} && $answers->{dbport} ne $default;
	$opts{db_user} = $answers->{dbuser}
	  if $answers->{dbuser} && $answers->{dbuser} ne $default;
	$opts{db_password} = $answers->{dbpassword}
	  if $answers->{dbpassword} && $answers->{dbpassword} ne "";
    }
    $opts{"has_$_"} = 1
	foreach qw(debiteuren crediteuren kas bank);
    $opts{has_btw} = $answers->{admbtw};

    $opts{"create_$_"} = $answers->{dbcr_admin}
	foreach qw(schema relaties opening mutaties);
    $opts{"create_$_"} = $answers->{"dbcr_$_"}
	foreach qw(config database);

    $opts{adm_btwperiode} = @btw[ $answers->{btwperiod} ]
	if $opts{has_btw};

    $opts{template} = $ebz[ $answers->{template} ]->[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");;
    }

    EB::Tools::MiniAdm->sanitize(\%opts);

# warn Dumper \%opts;

    my @req = qw(config schema relaties opening mutaties database);
    my $req = @req;

    foreach my $c ( @req ) {
	if ( $c eq "database" ) {
	    next unless $opts{create_database};
	    $req--;
	    my $ret;
	    undef $cfg;
	    EB->app_init( { app => $EekBoek::PACKAGE, %opts } );
	    require EB::Main;
	    local @ARGV = qw( --init );
	    $ret = EB::Main->run;
	    die(_T("Er is een probleem opgetreden. Raadplaag uw systeembeheerder.")."\n")
	      if $ret;

	}
	else {
	    $req--;
	    my $m = "generate_". $c;
	    EB::Tools::MiniAdm->$m(\%opts);
	}
    }

    if ( $req ) {
	print STDERR ("\n", _T("De gewenste bestanden zijn aangemaakt."),
		      "\n\n");
	return -1;
    }

    print STDERR ("\n", _T("De gewenste bestanden zijn aangemaakt."),
		  " ", _T("U kunt meteen aan de slag.")."\n\n");

    return 0;
}

1;



( run in 0.799 second using v1.01-cache-2.11-cpan-800906f7e73 )