Refactor controller so that it only uses do_display to display panels
This commit is contained in:
@@ -62,11 +62,11 @@ sub main {
|
||||
$c->app->log->info( $c->log_req );
|
||||
|
||||
#The most common ones
|
||||
$cdb = esmith::ConfigDB->open() || die("Couldn't open config db");
|
||||
$adb = esmith::AccountsDB->open() || die("Couldn't open Accounts db");
|
||||
$ndb = esmith::NetworksDB->open() || die("Couldn't open Network db");
|
||||
$hdb = esmith::HostsDB->open() || die("Couldn't open Hosts db");
|
||||
$ddb = esmith::DomainsDB->open() || die("Couldn't open Domains db");
|
||||
my $cdb = esmith::ConfigDB->open() || die("Couldn't open config db");
|
||||
my $adb = esmith::AccountsDB->open() || die("Couldn't open Accounts db");
|
||||
my $ndb = esmith::NetworksDB->open() || die("Couldn't open Network db");
|
||||
my $hdb = esmith::HostsDB->open() || die("Couldn't open Hosts db");
|
||||
my $ddb = esmith::DomainsDB->open() || die("Couldn't open Domains db");
|
||||
|
||||
my %${prefix}_data = ();
|
||||
my $title = $c->l('${prefix}_${MenuDescription}');
|
||||
@@ -81,25 +81,8 @@ sub main {
|
||||
$$${prefix}_data{'${dbfield}'} = $db->prop('${dbfield}') || ${dbdefault | ""} || "";
|
||||
</tal:block>
|
||||
|
||||
#pickup any other contents needed and load them into hash shared with panel
|
||||
my %returned_hash;
|
||||
# subroutine returns a hash directly
|
||||
%returned_hash = $c->get_data_for_panel_${firstPanel}();
|
||||
# Copy each key-value pair from the returned hash to the prefix data hash
|
||||
while (my ($key, $value) = each %returned_hash) {
|
||||
$$${prefix}_data{$key} = $value;
|
||||
}
|
||||
|
||||
# and table control fields
|
||||
<tal:block tal:repeat="tablecontrol tablecontrols">$c->stash(${tablecontrol[0]}=>$c->get_${tablecontrol[0]}());
|
||||
</tal:block>
|
||||
$c->do_display($$${prefix}_data{'trt'});
|
||||
|
||||
$c->stash(
|
||||
title => $title,
|
||||
modul => $modul,
|
||||
${prefix}_data => \%${prefix}_data
|
||||
);
|
||||
$c->render( template => "${lcPackageName}" );
|
||||
}
|
||||
|
||||
# Post request with params - submit from the form
|
||||
@@ -133,11 +116,11 @@ sub do_update {
|
||||
my $modul = '';
|
||||
|
||||
#The most common ones - you might want to comment out any not used.
|
||||
$cdb = esmith::ConfigDB->open() || die("Couldn't open config db");
|
||||
$adb = esmith::AccountsDB->open() || die("Couldn't open Accounts db");
|
||||
$ndb = esmith::NetworksDB->open() || die("Couldn't open Network db");
|
||||
$hdb = esmith::HostsDB->open() || die("Couldn't open Hosts db");
|
||||
$ddb = esmith::DomainsDB->open() || die("Couldn't open Domains db");
|
||||
my $cdb = esmith::ConfigDB->open() || die("Couldn't open config db");
|
||||
my $adb = esmith::AccountsDB->open() || die("Couldn't open Accounts db");
|
||||
my $ndb = esmith::NetworksDB->open() || die("Couldn't open Network db");
|
||||
my $hdb = esmith::HostsDB->open() || die("Couldn't open Hosts db");
|
||||
my $ddb = esmith::DomainsDB->open() || die("Couldn't open Domains db");
|
||||
|
||||
my %${prefix}_data = ();
|
||||
my $title = $c->l('${prefix}_${MenuDescription}');
|
||||
@@ -168,14 +151,6 @@ sub do_update {
|
||||
</tal:block>
|
||||
|
||||
if ($ret ne "ok"){
|
||||
# ${prefix}_data{'trt'} = $thispanel;
|
||||
# $c->stash(error => $c->l($ret));
|
||||
# $c->stash(
|
||||
# title => $title,
|
||||
# modul => $modul,
|
||||
# ${prefix}_data => \%${prefix}_data
|
||||
# );
|
||||
# $c->render( template => "${lcPackageName}" );
|
||||
$c->do_display($thispanel);
|
||||
} else {
|
||||
#Do whatever is needed, including writing values to the DB
|
||||
@@ -205,12 +180,8 @@ sub do_update {
|
||||
} else {
|
||||
$$${prefix}_data{'trt'} = '${NextPanel | "none"}';
|
||||
}
|
||||
$c->stash(
|
||||
title => $title,
|
||||
modul => $modul,
|
||||
${prefix}_data => \%${prefix}_data
|
||||
);
|
||||
$c->render( template => "${lcPackageName}" );
|
||||
$c->do_display($$${prefix}_data{'trt'});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -230,11 +201,11 @@ sub do_display {
|
||||
$c->app->log->info($c->log_req);
|
||||
|
||||
#The most common ones - you might want to comment out any not used.
|
||||
$cdb = esmith::ConfigDB->open() || die("Couldn't open config db");
|
||||
$adb = esmith::AccountsDB->open() || die("Couldn't open Accounts db");
|
||||
$ndb = esmith::NetworksDB->open() || die("Couldn't open Network db");
|
||||
$hdb = esmith::HostsDB->open() || die("Couldn't open Hosts db");
|
||||
$ddb = esmith::DomainsDB->open() || die("Couldn't open Domains db");
|
||||
my $cdb = esmith::ConfigDB->open() || die("Couldn't open config db");
|
||||
my $adb = esmith::AccountsDB->open() || die("Couldn't open Accounts db");
|
||||
my $ndb = esmith::NetworksDB->open() || die("Couldn't open Network db");
|
||||
my $hdb = esmith::HostsDB->open() || die("Couldn't open Hosts db");
|
||||
my $ddb = esmith::DomainsDB->open() || die("Couldn't open Domains db");
|
||||
|
||||
my %${prefix}_data = ();
|
||||
my $title = $c->l('${prefix}_${MenuDescription}');
|
||||
@@ -256,7 +227,7 @@ sub do_display {
|
||||
|
||||
# the value of trt will tell you which panel has returned
|
||||
if (! $trt){
|
||||
my $trt = $c->param('trt') || '${firstPanel}'; #Indicates where to go now
|
||||
$trt = $c->param('trt') || '${firstPanel}'; #Indicates where to go now
|
||||
}
|
||||
|
||||
# Now add in the params from the selected row from the table
|
||||
|
Reference in New Issue
Block a user