# # Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-05-21 08:46:42 # # # Routines to be edited by the developer to provide content and validation for parameters # and provison of the control data for table(s) # use esmith::util; use esmith::util::network; use esmith::ConfigDB; use esmith::HostsDB; use esmith::AccountsDB; use esmith::NetworksDB; use esmith::DomainsDB; use constant FALSE => 0; use constant TRUE => 1; #The most common ones - open DB when required. my $cdb; my $adb; my $ndb; my $hdb; my $ddb; # Validation routines - parameters for each panel sub validate_LIST { my $c = shift; my $sf_data = shift; #Data hash as parameter # Validation for each field my $ret = ""; if ($ret eq "") {$ret = 'ok';} return $ret; } sub validate_MODIFY { my $c = shift; my $sf_data = shift; #Data hash as parameter # Validation for each field my $ret = ""; if (! TRUE) #validate $c->param('description') {$ret .= 'Validation for description failed';} if (! TRUE) #validate $c->param('smbaccess') {$ret .= 'Validation for smbaccess failed';} if (! TRUE) #validate $c->param('recyclebin') {$ret .= 'Validation for recyclebin failed';} if (! TRUE) #validate $c->param('retention') {$ret .= 'Validation for retention failed';} if (! TRUE) #validate $c->param('httpaccess') {$ret .= 'Validation for httpaccess failed';} if (! TRUE) #validate $c->param('webdav') {$ret .= 'Validation for webdav failed';} if (! TRUE) #validate $c->param('requireSSL') {$ret .= 'Validation for requireSSL failed';} if (! TRUE) #validate $c->param('indexes') {$ret .= 'Validation for indexes failed';} if (! TRUE) #validate $c->param('dynamic') {$ret .= 'Validation for dynamic failed';} if ($ret eq "") {$ret = 'ok';} return $ret; } sub validate_PERMISSIONS { my $c = shift; my $sf_data = shift; #Data hash as parameter # Validation for each field my $ret = ""; if (! TRUE) #validate $c->param('writegroup') {$ret .= 'Validation for writegroup failed';} if (! TRUE) #validate $c->param('readgroup') {$ret .= 'Validation for readgroup failed';} if (! TRUE) #validate $c->param('writegroup') {$ret .= 'Validation for writegroup failed';} if (! TRUE) #validate $c->param('readgroup') {$ret .= 'Validation for readgroup failed';} if (! TRUE) #validate $c->param('writegroup') {$ret .= 'Validation for writegroup failed';} if (! TRUE) #validate $c->param('readgroup') {$ret .= 'Validation for readgroup failed';} if (! TRUE) #validate $c->param('writegroup') {$ret .= 'Validation for writegroup failed';} if (! TRUE) #validate $c->param('readgroup') {$ret .= 'Validation for readgroup failed';} if (! TRUE) #validate $c->param('writegroup') {$ret .= 'Validation for writegroup failed';} if (! TRUE) #validate $c->param('readgroup') {$ret .= 'Validation for readgroup failed';} if (! TRUE) #validate $c->param('writeuser') {$ret .= 'Validation for writeuser failed';} if (! TRUE) #validate $c->param('readuser') {$ret .= 'Validation for readuser failed';} if (! TRUE) #validate $c->param('writeuser') {$ret .= 'Validation for writeuser failed';} if (! TRUE) #validate $c->param('readuser') {$ret .= 'Validation for readuser failed';} if (! TRUE) #validate $c->param('writeuser') {$ret .= 'Validation for writeuser failed';} if (! TRUE) #validate $c->param('readuser') {$ret .= 'Validation for readuser failed';} if (! TRUE) #validate $c->param('writeuser') {$ret .= 'Validation for writeuser failed';} if (! TRUE) #validate $c->param('readuser') {$ret .= 'Validation for readuser failed';} if (! TRUE) #validate $c->param('writeuser') {$ret .= 'Validation for writeuser failed';} if (! TRUE) #validate $c->param('readuser') {$ret .= 'Validation for readuser failed';} if (! TRUE) #validate $c->param('writeuser') {$ret .= 'Validation for writeuser failed';} if (! TRUE) #validate $c->param('readuser') {$ret .= 'Validation for readuser failed';} if (! TRUE) #validate $c->param('writeuser') {$ret .= 'Validation for writeuser failed';} if (! TRUE) #validate $c->param('readuser') {$ret .= 'Validation for readuser failed';} if (! TRUE) #validate $c->param('writeuser') {$ret .= 'Validation for writeuser failed';} if (! TRUE) #validate $c->param('readuser') {$ret .= 'Validation for readuser failed';} if (! TRUE) #validate $c->param('writeuser') {$ret .= 'Validation for writeuser failed';} if (! TRUE) #validate $c->param('readuser') {$ret .= 'Validation for readuser failed';} if (! TRUE) #validate $c->param('writeuser') {$ret .= 'Validation for writeuser failed';} if (! TRUE) #validate $c->param('readuser') {$ret .= 'Validation for readuser failed';} if (! TRUE) #validate $c->param('writeuser') {$ret .= 'Validation for writeuser failed';} if (! TRUE) #validate $c->param('readuser') {$ret .= 'Validation for readuser failed';} if (! TRUE) #validate $c->param('writeuser') {$ret .= 'Validation for writeuser failed';} if (! TRUE) #validate $c->param('readuser') {$ret .= 'Validation for readuser failed';} if (! TRUE) #validate $c->param('writeuser') {$ret .= 'Validation for writeuser failed';} if (! TRUE) #validate $c->param('readuser') {$ret .= 'Validation for readuser failed';} if (! TRUE) #validate $c->param('writeuser') {$ret .= 'Validation for writeuser failed';} if (! TRUE) #validate $c->param('readuser') {$ret .= 'Validation for readuser failed';} if ($ret eq "") {$ret = 'ok';} return $ret; } sub validate_REMOVE { my $c = shift; my $sf_data = shift; #Data hash as parameter # Validation for each field my $ret = ""; if ($ret eq "") {$ret = 'ok';} return $ret; } # Get singleton data for each panel sub get_data_for_panel_LIST { # Return a hash with the fields required which will be loaded into the shared data my $c = shift; my %ret = ( 'Data1'=>'Data for LIST', #Example # fields from Inputs in LIST $fields['LIST'] ); return %ret; } sub get_data_for_panel_MODIFY { # Return a hash with the fields required which will be loaded into the shared data my $c = shift; my %ret = ( 'Data1'=>'Data for MODIFY', #Example # fields from Inputs in MODIFY $fields['MODIFY'] 'description'=>'description contents', 'smbaccess'=>'smbaccess contents', 'recyclebin'=>'recyclebin contents', 'retention'=>'retention contents', 'httpaccess'=>'httpaccess contents', 'webdav'=>'webdav contents', 'requireSSL'=>'requireSSL contents', 'indexes'=>'indexes contents', 'dynamic'=>'dynamic contents', ); return %ret; } sub get_data_for_panel_PERMISSIONS { # Return a hash with the fields required which will be loaded into the shared data my $c = shift; my %ret = ( 'Data1'=>'Data for PERMISSIONS', #Example # fields from Inputs in PERMISSIONS $fields['PERMISSIONS'] 'writegroup'=>'writegroup contents', 'readgroup'=>'readgroup contents', 'writegroup'=>'writegroup contents', 'readgroup'=>'readgroup contents', 'writegroup'=>'writegroup contents', 'readgroup'=>'readgroup contents', 'writegroup'=>'writegroup contents', 'readgroup'=>'readgroup contents', 'writegroup'=>'writegroup contents', 'readgroup'=>'readgroup contents', 'writeuser'=>'writeuser contents', 'readuser'=>'readuser contents', 'writeuser'=>'writeuser contents', 'readuser'=>'readuser contents', 'writeuser'=>'writeuser contents', 'readuser'=>'readuser contents', 'writeuser'=>'writeuser contents', 'readuser'=>'readuser contents', 'writeuser'=>'writeuser contents', 'readuser'=>'readuser contents', 'writeuser'=>'writeuser contents', 'readuser'=>'readuser contents', 'writeuser'=>'writeuser contents', 'readuser'=>'readuser contents', 'writeuser'=>'writeuser contents', 'readuser'=>'readuser contents', 'writeuser'=>'writeuser contents', 'readuser'=>'readuser contents', 'writeuser'=>'writeuser contents', 'readuser'=>'readuser contents', 'writeuser'=>'writeuser contents', 'readuser'=>'readuser contents', 'writeuser'=>'writeuser contents', 'readuser'=>'readuser contents', 'writeuser'=>'writeuser contents', 'readuser'=>'readuser contents', 'writeuser'=>'writeuser contents', 'readuser'=>'readuser contents', ); return %ret; } sub get_data_for_panel_REMOVE { # Return a hash with the fields required which will be loaded into the shared data my $c = shift; my %ret = ( 'Data1'=>'Data for REMOVE', #Example # fields from Inputs in REMOVE $fields['REMOVE'] ); return %ret; } # Get control data for table(s) # Define a constant hash for field name mapping use constant Table1_FIELD_MAPPING => ( 'Table1-Name' => 'Table1-Name', 'Table1-Description' => 'Table1-Description', 'Table1-Actionp' => 'Table1-Actionp', 'Table1-Actionm' => 'Table1-Actionm', 'Table1-Actionr' => 'Table1-Actionr', ); sub actual_Table1 { my $c = shift; my @ret = (); # Actual code for extracting Table1 $adb = esmith::AccountsDB::open() | die("Unable to open accounts DB"); my @shares = $adb->get_all_by_prop(type => 'share'); foreach my $share (@shares) { my $sharename = $share->key(); my $sharedesc = $share->prop('Name'); next if (($share->prop('Hide') || 'no') eq 'yes'); my $removable = $share->prop('Removable') || 'yes'; my $actionModify = ''.$c->l('sf_Permisssions').'>'; my $actionRemove = ($removable ne 'no') ?'set_prop($dbkey,'description',$c->param('description'),type=>'service')) {$ret .= 'Perform/save failed for description';} if (! TRUE) #copy or perform with value: smbaccess e.g. $db->set_prop($dbkey,'smbaccess',$c->param('smbaccess'),type=>'service')) {$ret .= 'Perform/save failed for smbaccess';} if (! TRUE) #copy or perform with value: recyclebin e.g. $db->set_prop($dbkey,'recyclebin',$c->param('recyclebin'),type=>'service')) {$ret .= 'Perform/save failed for recyclebin';} if (! TRUE) #copy or perform with value: retention e.g. $db->set_prop($dbkey,'retention',$c->param('retention'),type=>'service')) {$ret .= 'Perform/save failed for retention';} if (! TRUE) #copy or perform with value: httpaccess e.g. $db->set_prop($dbkey,'httpaccess',$c->param('httpaccess'),type=>'service')) {$ret .= 'Perform/save failed for httpaccess';} if (! TRUE) #copy or perform with value: webdav e.g. $db->set_prop($dbkey,'webdav',$c->param('webdav'),type=>'service')) {$ret .= 'Perform/save failed for webdav';} if (! TRUE) #copy or perform with value: requireSSL e.g. $db->set_prop($dbkey,'requireSSL',$c->param('requireSSL'),type=>'service')) {$ret .= 'Perform/save failed for requireSSL';} if (! TRUE) #copy or perform with value: indexes e.g. $db->set_prop($dbkey,'indexes',$c->param('indexes'),type=>'service')) {$ret .= 'Perform/save failed for indexes';} if (! TRUE) #copy or perform with value: dynamic e.g. $db->set_prop($dbkey,'dynamic',$c->param('dynamic'),type=>'service')) {$ret .= 'Perform/save failed for dynamic';} if ($ret eq "") {$ret = 'ok';} return $ret; } sub perform_PERMISSIONS { my $c = shift; my $sf_data = shift; #Data hash as parameter my $ret = ""; my $db = $cdb; #maybe one of the others my $dbkey = 'ChangeThis'; # To make it write to DB as comment, delete this (regex) string in each if statement "TRUE\) \#copy or perform with value: .* e.g." if (! TRUE) #copy or perform with value: writegroup e.g. $db->set_prop($dbkey,'writegroup',$c->param('writegroup'),type=>'service')) {$ret .= 'Perform/save failed for writegroup';} if (! TRUE) #copy or perform with value: readgroup e.g. $db->set_prop($dbkey,'readgroup',$c->param('readgroup'),type=>'service')) {$ret .= 'Perform/save failed for readgroup';} if (! TRUE) #copy or perform with value: writegroup e.g. $db->set_prop($dbkey,'writegroup',$c->param('writegroup'),type=>'service')) {$ret .= 'Perform/save failed for writegroup';} if (! TRUE) #copy or perform with value: readgroup e.g. $db->set_prop($dbkey,'readgroup',$c->param('readgroup'),type=>'service')) {$ret .= 'Perform/save failed for readgroup';} if (! TRUE) #copy or perform with value: writegroup e.g. $db->set_prop($dbkey,'writegroup',$c->param('writegroup'),type=>'service')) {$ret .= 'Perform/save failed for writegroup';} if (! TRUE) #copy or perform with value: readgroup e.g. $db->set_prop($dbkey,'readgroup',$c->param('readgroup'),type=>'service')) {$ret .= 'Perform/save failed for readgroup';} if (! TRUE) #copy or perform with value: writegroup e.g. $db->set_prop($dbkey,'writegroup',$c->param('writegroup'),type=>'service')) {$ret .= 'Perform/save failed for writegroup';} if (! TRUE) #copy or perform with value: readgroup e.g. $db->set_prop($dbkey,'readgroup',$c->param('readgroup'),type=>'service')) {$ret .= 'Perform/save failed for readgroup';} if (! TRUE) #copy or perform with value: writegroup e.g. $db->set_prop($dbkey,'writegroup',$c->param('writegroup'),type=>'service')) {$ret .= 'Perform/save failed for writegroup';} if (! TRUE) #copy or perform with value: readgroup e.g. $db->set_prop($dbkey,'readgroup',$c->param('readgroup'),type=>'service')) {$ret .= 'Perform/save failed for readgroup';} if (! TRUE) #copy or perform with value: writeuser e.g. $db->set_prop($dbkey,'writeuser',$c->param('writeuser'),type=>'service')) {$ret .= 'Perform/save failed for writeuser';} if (! TRUE) #copy or perform with value: readuser e.g. $db->set_prop($dbkey,'readuser',$c->param('readuser'),type=>'service')) {$ret .= 'Perform/save failed for readuser';} if (! TRUE) #copy or perform with value: writeuser e.g. $db->set_prop($dbkey,'writeuser',$c->param('writeuser'),type=>'service')) {$ret .= 'Perform/save failed for writeuser';} if (! TRUE) #copy or perform with value: readuser e.g. $db->set_prop($dbkey,'readuser',$c->param('readuser'),type=>'service')) {$ret .= 'Perform/save failed for readuser';} if (! TRUE) #copy or perform with value: writeuser e.g. $db->set_prop($dbkey,'writeuser',$c->param('writeuser'),type=>'service')) {$ret .= 'Perform/save failed for writeuser';} if (! TRUE) #copy or perform with value: readuser e.g. $db->set_prop($dbkey,'readuser',$c->param('readuser'),type=>'service')) {$ret .= 'Perform/save failed for readuser';} if (! TRUE) #copy or perform with value: writeuser e.g. $db->set_prop($dbkey,'writeuser',$c->param('writeuser'),type=>'service')) {$ret .= 'Perform/save failed for writeuser';} if (! TRUE) #copy or perform with value: readuser e.g. $db->set_prop($dbkey,'readuser',$c->param('readuser'),type=>'service')) {$ret .= 'Perform/save failed for readuser';} if (! TRUE) #copy or perform with value: writeuser e.g. $db->set_prop($dbkey,'writeuser',$c->param('writeuser'),type=>'service')) {$ret .= 'Perform/save failed for writeuser';} if (! TRUE) #copy or perform with value: readuser e.g. $db->set_prop($dbkey,'readuser',$c->param('readuser'),type=>'service')) {$ret .= 'Perform/save failed for readuser';} if (! TRUE) #copy or perform with value: writeuser e.g. $db->set_prop($dbkey,'writeuser',$c->param('writeuser'),type=>'service')) {$ret .= 'Perform/save failed for writeuser';} if (! TRUE) #copy or perform with value: readuser e.g. $db->set_prop($dbkey,'readuser',$c->param('readuser'),type=>'service')) {$ret .= 'Perform/save failed for readuser';} if (! TRUE) #copy or perform with value: writeuser e.g. $db->set_prop($dbkey,'writeuser',$c->param('writeuser'),type=>'service')) {$ret .= 'Perform/save failed for writeuser';} if (! TRUE) #copy or perform with value: readuser e.g. $db->set_prop($dbkey,'readuser',$c->param('readuser'),type=>'service')) {$ret .= 'Perform/save failed for readuser';} if (! TRUE) #copy or perform with value: writeuser e.g. $db->set_prop($dbkey,'writeuser',$c->param('writeuser'),type=>'service')) {$ret .= 'Perform/save failed for writeuser';} if (! TRUE) #copy or perform with value: readuser e.g. $db->set_prop($dbkey,'readuser',$c->param('readuser'),type=>'service')) {$ret .= 'Perform/save failed for readuser';} if (! TRUE) #copy or perform with value: writeuser e.g. $db->set_prop($dbkey,'writeuser',$c->param('writeuser'),type=>'service')) {$ret .= 'Perform/save failed for writeuser';} if (! TRUE) #copy or perform with value: readuser e.g. $db->set_prop($dbkey,'readuser',$c->param('readuser'),type=>'service')) {$ret .= 'Perform/save failed for readuser';} if (! TRUE) #copy or perform with value: writeuser e.g. $db->set_prop($dbkey,'writeuser',$c->param('writeuser'),type=>'service')) {$ret .= 'Perform/save failed for writeuser';} if (! TRUE) #copy or perform with value: readuser e.g. $db->set_prop($dbkey,'readuser',$c->param('readuser'),type=>'service')) {$ret .= 'Perform/save failed for readuser';} if (! TRUE) #copy or perform with value: writeuser e.g. $db->set_prop($dbkey,'writeuser',$c->param('writeuser'),type=>'service')) {$ret .= 'Perform/save failed for writeuser';} if (! TRUE) #copy or perform with value: readuser e.g. $db->set_prop($dbkey,'readuser',$c->param('readuser'),type=>'service')) {$ret .= 'Perform/save failed for readuser';} if (! TRUE) #copy or perform with value: writeuser e.g. $db->set_prop($dbkey,'writeuser',$c->param('writeuser'),type=>'service')) {$ret .= 'Perform/save failed for writeuser';} if (! TRUE) #copy or perform with value: readuser e.g. $db->set_prop($dbkey,'readuser',$c->param('readuser'),type=>'service')) {$ret .= 'Perform/save failed for readuser';} if (! TRUE) #copy or perform with value: writeuser e.g. $db->set_prop($dbkey,'writeuser',$c->param('writeuser'),type=>'service')) {$ret .= 'Perform/save failed for writeuser';} if (! TRUE) #copy or perform with value: readuser e.g. $db->set_prop($dbkey,'readuser',$c->param('readuser'),type=>'service')) {$ret .= 'Perform/save failed for readuser';} if (! TRUE) #copy or perform with value: writeuser e.g. $db->set_prop($dbkey,'writeuser',$c->param('writeuser'),type=>'service')) {$ret .= 'Perform/save failed for writeuser';} if (! TRUE) #copy or perform with value: readuser e.g. $db->set_prop($dbkey,'readuser',$c->param('readuser'),type=>'service')) {$ret .= 'Perform/save failed for readuser';} if ($ret eq "") {$ret = 'ok';} return $ret; } sub perform_REMOVE { my $c = shift; my $sf_data = shift; #Data hash as parameter my $ret = ""; my $db = $cdb; #maybe one of the others my $dbkey = 'ChangeThis'; # To make it write to DB as comment, delete this (regex) string in each if statement "TRUE\) \#copy or perform with value: .* e.g." if ($ret eq "") {$ret = 'ok';} return $ret; } sub create_link{ # WIP my ($c,$route, $panel, $index) = @_; my $link = "$route?trt=$panel&Selected=$index"; return $link; } 1;