#
# Routines to be edited by the developer to provide validation for parameters
# and provison of the control data for table(s)
#
# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-16 11:18 
#

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;
	}

	
# Get control data for tables(s)

	sub get_Table1 {
		# Return an array of hashes of the contents for each row and column for Table1
		# default is a single row of strings "col1header-1, col2header-1, col3Header-1 etc"
		my $c = shift;
		my $control_data = $self->stash('Table1');
		my @ret = {}
#		foreach my $colHead (@$control_data) {
#			my ret{$colHead} = "$colhead-1"
#		};
		return \@ret
	}

	sub get_Table2 {
		# Return an array of hashes of the contents for each row and column for Table2
		# default is a single row of strings "col1header-1, col2header-1, col3Header-1 etc"
		my $c = shift;
		my $control_data = $self->stash('Table2');
		my @ret = {}
#		foreach my $colHead (@$control_data) {
#			my ret{$colHead} = "$colhead-1"
#		};
		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;
	}


#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 create_link{
	# WIP
	my ($c,$route, $panel, $index) = shift;
	my $link = "$route?trt=$panel&Selected=$index";
	return $link;
}
1;