SM2Gen/Targets/Nfsshare-Custom.pm

126 lines
3.2 KiB
Perl

#
# Routines to be editted by the developer to provide validation for parameters
# and provison of the control data for table(s)
#
# Generated by SME2Gen version:0.7 Chameleon version:4.5.4 On Python:3.10.12 at 2024-05-06 08:40
#
use esmith::util;
use esmith::HostsDB;
use esmith::AccountsDB;
use esmith::NetworksDB;
use esmith::HostsDB;
use esmith::DomainsDB;
#The most common ones
our $cdb = esmith::ConfigDB->open() || die("Couldn't open config db");
our $adb = esmith::AccountsDB->open() || die("Couldn't open Accounts db");
our $ndb = esmith::NetworksDB->open() || die("Couldn't open Network db");
our $hdb = esmith::HostsDB->open() || die("Couldn't open Hosts db");
our $ddb = esmith::DomainsDB->open() || die("Couldn't open Domains db");
# Validation routines - parameters for each panel
sub validate_PARAMS {
my $c = shift;
my $prefix_data = shift; #Data hash as parameter
my $ret = 'ok';
return $ret;
}
sub validate_TABLE {
my $c = shift;
my $prefix_data = shift; #Data hash as parameter
my $ret = 'ok';
return $ret;
}
# Get control data for tables(s)
sub get_ibays {
my $c = shift;
my @ret = {};
my @ibays = $adb->ibays();
foreach my $i (@ibays){
# Taken pretty well verbatim from /usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/nfsshare.pm
# although the href is more specific to the SM2 structure.
my $ibayname = $i->key();
my $ibaydesc = $i->prop('Name');
my $ibaynfs = $i->prop('NfsStatus')||'disabled';
my $modifiable = $i->prop('Modifiable') || 'yes';
$ibaynfs = $c->l('ENABLED') if ($ibaynfs eq 'enabled');
$ibaynfs = $c->l('DISABLED') if ($ibaynfs eq 'disabled');
#my $params = $self->build_ibay_cgi_params($ibayname, $i->props());
#my $scriptname = "nfsshareu";
#my $href = "$scriptname?$params&action=modify&wherenext=";
my $actionModify = ' ';
if ($modifiable eq 'yes'){
$actionModify .= "<a href='nfsshared?trt=PARAMS&Selected=$ibayname'><button class='sme-modify-button' title=".$c->l("MODIFY").">".$c->l("MODIFY")."</button></a>"."&nbsp"
}
my %hash = ('Name'=> $ibayname,
'Description' => $ibaydesc,
'Flag' => $ibaynfs,
'Modify' => $actionModify
);
push(@ret,\%hash);
}
return \@ret
}
# Return hash with values from row in which link clicked on table
sub get_selected_PARAMS {
my $c = shift;
my $selected = shift; #Parameter is name of selected row.
my $is_new_record = shift; #Indicates new record required (defaults)
my %ret = {};
return $ret;
}
sub get_selected_TABLE {
my $c = shift;
my $selected = shift; #Parameter is name of selected row.
my $is_new_record = shift; #Indicates new record required (defaults)
my %ret = {};
return $ret;
}
#after sucessful modify or create or whatever and submit then perfom (if the params validate)
sub perform_PARAMS {
my $c = shift;
my $prefix_data = shift; #Data hash as parameter
my $ret = 'ok';
return $ret;
}
sub perform_TABLE {
my $c = shift;
my $prefix_data = shift; #Data hash as parameter
my $ret = 'ok';
return $ret;
}
sub create_link{
# WIP
my ($c,$route, $panel, $index) = shift;
my $link = "$route?trt=$panel&Selected=$index";
return $link;
}
1;