2025-11-26 09:31:54 +00:00
#!/usr/bin/perl
BEGIN { use lib '/usr/home/cfg' ; require push_inc ; }
require cfg ;
print "Content-type: text/html\n\n" ;
# unless ($useropts{it}{$username}) { print "<<<<<<<<<<<< MAINTENANCE IN PROGRESS >>>>>>>>>" ; exit ; }
#---------------------------------------------------------------------------------------------------------------------------------------------------------------------
use CGI::Carp qw( fatalsToBrowser ) ;
use CGI ;
use Mail::Sendmail ;
use Fcntl qw( :flock ) ;
use File::Copy ;
use File::Basename ;
use Date::Calc qw( :all ) ;
use Excel::Writer::XLSX ;
use Time::Piece ;
use LWP::UserAgent ;
use XML::LibXML ;
use LWP::Simple ;
use XML::Simple ;
use JSON ;
& today ;
#---------------------------------------------------------------------------------------------------------------------------------------------------------------------
@ ARGV = split ( /\\*\&/ , $ ENV { 'QUERY_STRING' } ) ;
$ action = $ ARGV [ 0 ] ;
our ( $ q ) = CGI - > new ( ) ;
our $ iaction = $ q - > param ( 'iaction' ) || $ action ;
our $ isaved = $ q - > param ( 'isaved' ) || '' ;
$ iaction = 'report' unless $ iaction ;
2026-02-03 12:35:43 +00:00
# our $debug = 1 ;
2025-11-26 09:31:54 +00:00
# our $testing = 1 ;
# our $testing = 1 ;
# our $testdcd = 1 ;
# if ($username ne 'handre') {
# print "<< MAINTENANCE IN PROGRESS >>" ; exit ;
# }
# -------- page opts --------------------------------------------------------------------------------------------------------------------------------------------------
& page_opts ;
#---------------------------------------------------------------------------------------------------------------------------------------------------------------------
our $ srchscr = 1 ;
##DO NOT CHANGE THE ORDER OF THERE COLUMNS IT IS THE ORDER IN WHICH THEY ARE STORED IN THE DATABASE
our @ sql_col_display = ( "system" , "region" , "head_operator" , "system_test_date" , "status" , "equipment_checked" , "venue" , "comments" , "dates" , "special_arrangements" ) ;
##DO NOT CHANGE THE ORDER OF THERE COLUMNS IT IS THE ORDER IN WHICH THEY ARE STORED IN THE DATABASE
& db_open_upd ;
our $ db_ignore_open_close = 1 ; # do one open and one close instead of repeating it
if ( $ iaction eq 'report' ) {
& report_screen
} elsif ( $ iaction eq 'save' ) {
& common_min_load_params ;
& update ;
& report_ifields ;
$ iaction = 'report' ;
& list_screen ;
exit if ( $ username eq 'handre' || $ username eq 'rory' ) && $ testing ;
$ s { no } = 1 ;
& screen3 ;
} elsif ( $ iaction eq 'list' ) {
& common_min_load_params ;
& report_ifields ;
& list_screen ;
& screen3 ;
}
$ db_ignore_open_close = 0 ; # do one open and one close instead of repeating it
& db_close_conn ;
& common_min_action ;
exit ;
#------------------------------------------------------------------------------------------
sub update {
& db_min_ro ( 'mobile_tracking_system' , 'event_system_id,id,mobile_tracking_system_data' , '' , '' , '' ) ;
my % system_exists = ( ) ;
foreach ( keys % { $ db { mobile_tracking_system } } ) {
$ system_exists { $ _ } = 1 ;
}
my % ii = % i ; my % seen_event_system_id = ( ) ;
foreach my $ field ( keys % ii ) {
next if ( $ field =~ /^update_/ && ! $ ii { $ field } ) || $ field !~ /^update_/ ;
local @ a = split ( /\_/ , $ field ) ;
my $ event_system_id = $ a [ - 1 ] ;
$ event_system_id = int ( $ event_system_id ) ;
next if $ seen_event_system_id { $ event_system_id } ;
$ seen_event_system_id { $ event_system_id } = 1 ;
% i = ( ) ;
foreach my $ field_2 ( @ sql_col_display ) {
next if $ field_2 eq 'system' ;
my $ field_name = qq~$field_2\_$event_system_id~ ;
$ i { mobile_tracking_system_data } . = qq~$ii{$field_name}:;:~ ;
}
$ i { mobile_tracking_system_data } =~ s/(?:\:;\:)+$// if $ i { mobile_tracking_system_data } ;
$ i { mobile_tracking_system_data } = qq~~ if $ i { mobile_tracking_system_data } !~ /[a-zA-Z0-9]/ ;
$ ignore { mobile_tracking_system_data } = ( ( ! $ i { mobile_tracking_system_data } && ! $ db { mobile_tracking_system } { $ event_system_id } { mobile_tracking_system_data } ) || ( $ i { mobile_tracking_system_data } eq $ db { mobile_tracking_system } { $ event_system_id } { mobile_tracking_system_data } ) ) ? 1 : 0 ;
# if ($db{mobile_tracking_system}{$event_system_id}{id}) {
if ( $ system_exists { $ event_system_id } ) {
& db_min_upd ( 'mobile_tracking_system' , "`event_system_id`='$event_system_id'" ) unless $ ignore { mobile_tracking_system_data } ;
} elsif ( ! $ ignore { mobile_tracking_system_data } ) {
$ i { event_system_id } = $ event_system_id ;
$ i { id } = & db_min_get_max ( 'mobile_tracking_system' , 'id' ) ;
& db_min_insert ( 'mobile_tracking_system' ) ;
}
}
% i = % ii ;
} #------------------------------------------------------------------------------------------
sub report_screen {
our $ lcol = 3 ;
our $ fcol = 5 ;
$ print_box_content_rows . = & common_min_forms_start ( 'report' ) ;
# &common_min_select_opts('system_id',$table,'name',$i{client_id},'') ;
my $ def_val = ( $ i { system_type } ) ? $ i { system_type } : "all" ;
my % def_selected = ( ) ;
$ def_selected { $ def_val } = "SELECTED" ;
$ opts { system_type } = qq ~
< option value = 'all' $ def_selected { all } > All </option>
< option value = 'solo' $ def_selected { solo } > Solo </option>
< option value = 'mobile' $ def_selected { mobile } > Mobile </option>
~ ;
$ print_box_content_rows . = & common_min_form_select ( 'system_type' , $ i { system_type } ) ;
$ i { region } = ( $ i { region } ) ? $ i { region } : "all" ;
my % select_hashes = ( ) ;
$ select_hashes { region } = { 1 = > 'JHB' , 2 = > 'PTA' , 3 = > 'CPT' , 4 = > 'KZN' , 5 = > 'BLOEM' , 6 = > 'EL' , 7 = > 'PE' , 8 = > 'GARDEN ROUTE' , 9 = > 'LP' , 10 = > 'MP' , 11 = > 'NC' , 12 = > 'NW' , 13 = > 'INTERNATIONAL' , 'all' = > 'All' } ;
$ opts { region } = "<option " . join ( "</option><option " , map { "value='$_'>$select_hashes{region}{$_}" } sort { $ a <=> $ b } keys % { $ select_hashes { region } } ) . "</option>" ;
$ opts { region } =~ s/value='\Q$i{region}\E'/value='$i{region}' SELECTED/g if $ i { region } ;
$ print_box_content_rows . = & common_min_form_select ( 'region' , $ i { region } ) ;
$ print_box_content_rows . = & common_min_forms_end ( '' , '' , 'list' ) ;
& common_min_search_screen ;
} #-------------------------------------------------------------------------------
sub report_ifields {
if ( $ i { system_type } && $ i { system_type } ne 'all' ) {
push @ report_sql , "(es.system_type = '$i{system_type}')" ;
my $ system_type = ucfirst $ i { system_type } ;
push @ report_results , "SYSTEM TYPE = '$system_type'" ;
} elsif ( $ i { system_type } eq 'all' ) {
push @ report_sql , "(es.system_type = 'mobile' OR es.system_type = 'solo')" ;
push @ report_results , "SYSTEM TYPE = ('Mobile' OR 'Solo')" ;
}
my % select_hashes = ( ) ;
$ select_hashes { region } = { 1 = > 'JHB' , 2 = > 'PTA' , 3 = > 'CPT' , 4 = > 'KZN' , 5 = > 'BLOEM' , 6 = > 'EL' , 7 = > 'PE' , 8 = > 'GARDEN ROUTE' , 9 = > 'LP' , 10 = > 'MP' , 11 = > 'NC' , 12 = > 'NW' , 13 = > 'INTERNATIONAL' , 'all' = > 'All' } ;
if ( $ i { region } && $ i { region } ne 'all' ) {
push @ report_sql , "(mts.mobile_tracking_system_data REGEXP '^$i{region}(:;:|\$)')" ;
push @ report_results , "REGION = '$select_hashes{region}{$i{region}}'" ;
}
$ report_results_msg = uc join ( ', ' , @ report_results ) ;
if ( not $ report_results_msg ) {
$ error = qq~ENTER AT LEAST ONE SEARCH PARAMETER~ ;
& report_screen ;
} elsif ( $ iaction eq 'save' ) {
$ isaved = qq~SUCCESSFULLY SAVED!~ ;
} else {
$ isaved = qq~SELECT WHERE $report_results_msg~ ;
}
our $ srch_where_sql = join ( ' AND ' , @ report_sql ) ;
# $srch_where_sql = qq~es.id=1~ ;
} #------------------------------------------------------------------------------------------
sub load_list_vars {
my ( $ where ) = @ _ ;
& common_min_select_opts ( 'head_operator' , 'users' , 'name' , '' , '' , '' , "`user_type` = 'casual_c'" ) ;
# &db_min_ro($table,"*","$where",'','') ;
$ where = "WHERE $where" if $ where ;
& db_min_raw ( "
SELECT
es . * ,
mts . mobile_tracking_system_data
FROM $ table es
LEFT JOIN mobile_tracking_system mts ON es . id = mts . event_system_id
$ where ;
" ) ;
foreach $ row ( @$ rows_array_ref ) {
for ( 0 .. $ col_cnt ) {
next if $ col_name { $ _ } eq 'lastupdate' ;
$ db { $ table } { @$ row [ 0 ] } { $ col_name { $ _ } } = @$ row [ $ _ ] ;
}
}
} #------------------------------------------------------------------------------------------
sub list_screen {
$ print_box_content_rows . = & common_min_forms_start ( "$lcpage" ) ;
& load_list_vars ( $ srch_where_sql ) ;
$ fcol = 12 ;
our $ xlsx_title_heading = "Mobile System Tracking Report" ;
our $ xlsxdir = "mobile_system_tracking" ;
our $ xlsxreportname = "Mobile_System_Tracking_Report" ;
& report_xlsx_export_header ( "$xlsxreportname" , $ xlsxdir , '' , $ xlsx_title_heading ) ;
push @ sql_col_display , "update" ;
# push @sql_col_display,"" ;
my @ rev_sql_col_display = reverse @ sql_col_display ;
foreach ( @ rev_sql_col_display ) { $ lastchild + + ; $ last_child { $ _ } = $ lastchild ; } # &common_debug("last-child : $_ [$last_child{$_}]");
$ xlsxrow - - ;
our $ current_date = int ( "$now_year$now_mm$now_dd" ) ; our $ found_editable = 0 ;
our % seen_field_id = ( ) ; our % all_location_ids_per_system = ( ) ; our $ all_ids = qq~~ ;
local @ month_names = ( "" , "Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" , "Aug" , "Sep" , "Oct" , "Nov" , "Dec" ) ;
our $ quote_and_ops_ids = qq~~ ;
our @ selects_with_default_ids = ( ) ; our @ table_with_default_ids = ( ) ; our @ dropdown_chosen_ids = ( ) ; our @ update_ids = ( ) ;
my $ table_row = 0 ; my $ placeholder_row_cnt = 0 ;
our @ date_value_ids = ( ) ; our @ default_javascript_by_id = ( ) ; our @ all_update_field_ids = ( ) ;
my % select_hashes = ( ) ;
# our @sql_col_display = ("system","region","head_operator","system_test_date","status","equipment_checked","venue","comments","dates","special_arrangements") ;
$ select_hashes { region } = { 1 = > 'JHB' , 2 = > 'PTA' , 3 = > 'CPT' , 4 = > 'KZN' , 5 = > 'BLOEM' , 6 = > 'EL' , 7 = > 'PE' , 8 = > 'GARDEN ROUTE' , 9 = > 'LP' , 10 = > 'MP' , 11 = > 'NC' , 12 = > 'NW' , 13 = > 'INTERNATIONAL' } ;
$ select_hashes { status } = { 1 = > 'All Clear' , 2 = > 'Support Needed' , 3 = > 'Part Pending' } ;
$ select_hashes { equipment_checked } = { 1 = > 'Yes' , 2 = > 'No' } ;
$ select_hashes { venue } = { 1 = > 'JHB HUB' , 2 = > 'BLOEM HUB' , 3 = > 'KZN HUB' , 4 = > 'CPT HUB' , 5 = > 'RMA HUB' , 6 = > 'SCHOOL' , 7 = > 'OPERATOR' } ;
foreach ( keys % { $ db { users } } ) {
$ select_hashes { head_operator } { $ _ } = $ db { users } { $ _ } { name } ;
}
$ opts { region } = "<option " . join ( "</option><option " , map { "value='$_'>$select_hashes{region}{$_}" } sort { $ a <=> $ b } keys % { $ select_hashes { region } } ) . "</option>" ;
$ opts { status } = "<option " . join ( "</option><option " , map { "value='$_'>$select_hashes{status}{$_}" } sort { $ a <=> $ b } keys % { $ select_hashes { status } } ) . "</option>" ;
$ opts { equipment_checked } = "<option " . join ( "</option><option " , map { "value='$_'>$select_hashes{equipment_checked}{$_}" } sort { $ a <=> $ b } keys % { $ select_hashes { equipment_checked } } ) . "</option>" ;
$ opts { venue } = "<option " . join ( "</option><option " , map { "value='$_'>$select_hashes{venue}{$_}" } sort { $ a <=> $ b } keys % { $ select_hashes { venue } } ) . "</option>" ;
# $opts{region} = qq~<option value='1'>JHB</option><option value='2'>PTA</option><option value='3'>CPT</option><option value='4'>KZN</option><option value='5'>BLOEM</option><option value='6'>EL</option><option value='7'>PE</option><option value='8'>GARDEN ROUTE</option><option value='9'>LP</option><option value='10'>MP</option><option value='11'>NC</option><option value='12'>NW</option>~ ;
# $opts{status} = qq~<option value='1'>All Clear</option><option value='2'>Support Needed</option>~ ;
# $opts{equipment_checked} = qq~<option value='1'>Yes</option><option value='2'>No</option>~ ;
# $opts{venue} = qq~<option value='1'>JHB HUB</option><option value='2'>BLOEM HUB</option><option value='3'>KZN HUB</option><option value='4'>CPT HUB</option<option value='5'>RMA HUB</option<option value='6'>SCHOOL</option<option value='7'>OPERATOR</option>~ ;
# rgb(255,165,0) ## orange
# rgb(255,255,0) ## yellow
# rgb(81,203,242) ## Blue
# rgb(50,50,50) ## Black/Grey
# rgb(249,13,13) ## Red
# rgb(128,64,0) ## Brown
# Bloem + NC - Orange
# JHB + PTA - Yellow
# CPT + Garden Route - Blue
# KZN - Black/Grey
# EL + PE - Red
# LP + MP + NW - Brown
my % region_background_color = ( ) ;
$ region_background_color { 1 } = "rgb(255,255,0)" ;
$ region_background_color { 2 } = $ region_background_color { 1 } ;
$ region_background_color { 3 } = "rgb(81,203,242)" ;
$ region_background_color { 4 } = "rgb(115,117,117)" ;
$ region_background_color { 5 } = "rgb(255,153,0)" ;
$ region_background_color { 6 } = "rgb(249,13,13)" ;
$ region_background_color { 7 } = $ region_background_color { 6 } ;
$ region_background_color { 8 } = "rgb(81,203,242)" ;
$ region_background_color { 9 } = "rgb(172,115,57)" ;
$ region_background_color { 10 } = $ region_background_color { 9 } ;
$ region_background_color { 11 } = $ region_background_color { 5 } ;
$ region_background_color { 12 } = $ region_background_color { 9 } ;
# 153, 102, 51
foreach my $ id ( sort { $ a <=> $ b } keys % { $ db { $ table } } ) {
$ table_row + + ;
$ print_tbody . = qq~<tr id="$id">~ ;
our % field = ( ) ;
our % ucfirstfield = ( ) ;
our $ default_javascript = qq~~ ;
$ xlsxcol = 0 ;
$ placeholder_row_cnt + + ;
my $ col_cnt = - 2 ;
my @ default_vals = split ( /\:;:/ , $ db { $ table } { $ id } { mobile_tracking_system_data } ) ;
foreach ( @ sql_col_display ) {
next unless $ _ ; # blank for the buttons column
$ col_cnt + + ;
$ field { $ _ } = qq~$_\_$id~ if $ _ ne 'system' ;
$ ucfirstfield { $ field { $ _ } } = ucfirst $ field { $ _ } ;
if ( $ _ eq 'system' ) {
# DO nothing
} elsif ( $ _ eq 'update' ) {
$ ucfirstfield { $ field { $ _ } } = qq~checkbox~ . $ ucfirstfield { $ field { $ _ } } ;
} elsif ( $ _ eq 'system_test_date' || $ _ eq 'comments' || $ _ eq 'dates' || $ _ eq 'special_arrangements' ) {
$ ucfirstfield { $ field { $ _ } } = qq~textarea~ . $ ucfirstfield { $ field { $ _ } } ;
# } elsif ($_ eq 'date_due') {
# $ucfirstfield{$field{$_}} = qq~input~ . $ucfirstfield{$field{$_}} ;
} else {
$ ucfirstfield { $ field { $ _ } } = qq~select~ . $ ucfirstfield { $ field { $ _ } } ;
$ opts { $ field { $ _ } } = $ opts { $ _ } ;
}
# our $formatting = $format84 ;
our $ formatting = $ format84 ;
my $ val = $ db { $ table } { $ id } { $ _ } ;
our $ val_min = 'MUSTBEBLANK' ;
our $ align = qq~ class="dt-center"~ ;
our $ nowrap = '' ;
my $ due_date = 0 ;
my $ default_val_is_saved = ( $ default_vals [ $ col_cnt ] ) ? 1 : 0 ;
my $ result = $ _ ;
$ result =~ s/\_id//g ;
$ result = join ( ' ' , map { ucfirst $ _ } split /\_/ , $ result ) ;
$ preferred_placeholder { $ field { $ _ } } = $ result . ' ' . $ id ;
$ background_color = ( ( $ _ eq 'status' || $ _ eq 'equipment_checked' ) && $ default_vals [ $ col_cnt ] eq '1' ) ? "rgb(46,204,113)" : ( ( $ _ eq 'status' || $ _ eq 'equipment_checked' ) && $ default_vals [ $ col_cnt ] eq '2' ) ? "rgb(249,13,13)" : ( $ _ eq 'status' && $ default_vals [ $ col_cnt ] eq '3' ) ? "rgb(255,153,0)" : '' ;
$ background_color = ( $ _ eq 'region' && $ default_vals [ $ col_cnt ] && $ region_background_color { $ default_vals [ $ col_cnt ] } ) ? $ region_background_color { $ default_vals [ $ col_cnt ] } : $ background_color ;
if ( $ _ eq 'system' ) {
my $ id_val = sprintf ( "%09d" , $ id ) ;
$ val_min = qq~$db{$table}{$id}{name} [$db{$table}{$id}{description}]~ ;
$ val = qq~<span style="display:none;">$id_val</span>$val_min~ ;
} elsif ( $ _ eq 'region' || $ _ eq 'head_operator' || $ _ eq 'status' || $ _ eq 'equipment_checked' || $ _ eq 'venue' ) {
# $opts{$field{$_}} =~ s/value='$default_vals[$col_cnt]'/value='$default_vals[$col_cnt]' SELECTED/g if $default_vals[$col_cnt] ;
$ val = & common_min_table_select ( $ field { $ _ } , $ default_vals [ $ col_cnt ] , '' , $ table_row , $ last_child { $ _ } , $ background_color , $ default_val_is_saved , $ _ ) ;
$ val_min = $ select_hashes { $ _ } { $ default_vals [ $ col_cnt ] } ;
} elsif ( $ _ eq 'system_test_date' || $ _ eq 'comments' || $ _ eq 'dates' || $ _ eq 'special_arrangements' ) {
$ val = & common_min_table_textarea ( $ field { $ _ } , $ default_vals [ $ col_cnt ] , '' , $ table_row , $ last_child { $ _ } , '' , $ default_val_is_saved ) ;
$ val_min = $ default_vals [ $ col_cnt ] ;
} elsif ( $ _ eq 'update' ) {
$ val = & common_min_table_checkbox ( $ field { update } ) ;
chop $ default_javascript if $ default_javascript ;
if ( $ default_javascript ) {
push @ default_javascript_by_id , qq~"$id":{$default_javascript}~ ;
push @ all_update_field_ids , "#$ucfirstfield{$field{region}},#$ucfirstfield{$field{head_operator}},#$ucfirstfield{$field{system_test_date}},#$ucfirstfield{$field{status}},#$ucfirstfield{$field{equipment_checked}},#$ucfirstfield{$field{venue}},#$ucfirstfield{$field{comments}},#$ucfirstfield{$field{dates}},#$ucfirstfield{$field{special_arrangements}}" ;
}
}
if ( $ val_min eq 'MUSTBEBLANK' ) {
$ val_min = $ val ;
}
$ val_min =~ s/\MUSTBEBLANK//g ;
$ print_tbody . = qq~<td $align $nowrap>$val</td>~ ;
next if $ _ eq 'update' ;
& xlsxcreator_write_xlsx ( $ ws , $ xlsxrow , $ xlsxcol , $ val_min , $ formatting ) ;
$ xlsxcol + + ;
}
$ print_tbody . = qq~</tr>~ ;
$ xlsxrow + + if $ id ne 'add_row' ;
chop $ system_location_ids if $ system_location_ids ; chop $ event_venue_ids if $ event_venue_ids ;
}
& common_min_table_textarea_jquery ;
& common_min_table_validate_date_inputs_jquery ;
& common_min_table_update_checkbox_col ;
# &common_min_table_select_jquery("#$useropts{table_id} td:nth-last-child($last_child{region}),#$useropts{table_id} td:nth-last-child($last_child{head_operator}),#$useropts{table_id} td:nth-last-child($last_child{status}),#$useropts{table_id} td:nth-last-child($last_child{equipment_checked}),#$useropts{table_id} td:nth-last-child($last_child{venue})") if $iaction ne 'save' and $iaction ne 'delete' and $iaction ne 'report' ;
# \$("#$useropts{table_id} tr th").slice(-11, -8).css("width","12.25%");
# \$("#$useropts{table_id} tr th").slice(-7, -2).css("width","12.25%");
# \$("#$useropts{table_id} tr th:nth-last-child($last_child{date_allocated})").css("width","8.25%");
# \$("#$useropts{table_id} tr th:nth-last-child($last_child{update})").css("width","4%");
# $trigger_jquery .= qq~
# \$("#selectRegion_1").val("13").trigger("chosen:updated") ;
# ~ ;
$ trigger_jquery . = qq ~
\ $( "#$useropts{table_id} tr th:nth-last-child(1)" ) . css ( "max-width" , "10px;" ) ;
~ ;
$ worksheet { $ ws } - > set_column ( "A:A" , 40 ) ;
$ worksheet { $ ws } - > set_column ( "B:G" , 20 ) ;
$ worksheet { $ ws } - > set_column ( "H:H" , 40 ) ;
$ worksheet { $ ws } - > set_column ( "I:I" , 20 ) ;
$ worksheet { $ ws } - > set_column ( "J:J" , 100 ) ;
& report_xlsx_export_footer ( 'L' , 15 , $ xlsxdir ) ;
$ fnsortorder = 'desc' ;
& common_min_extra_crumb ( "$lcpage" , "Search Screen" ) ;
$ trigger_jquery_raw . = qq ~
\ $( "#savebutt" ) . click ( function ( ) {
let item_val ;
$ jquery_chosen_sel
\ $( "#$lcpage-form" ) . submit ( ) ;
} ) ;
~ ;
$ extra_form_footer = qq ~
< form role = "form" id = "logisticsform" method = "post" >
< input type = "hidden" id = "logisticsaction" name = "iaction" value = "" >
< input type = "hidden" name = "date_from" value = "$i{date_from}" >
</form>
~ ;
# From Venue To Venue
$ trigger_jquery_raw . = qq ~
function toggleToFrom ( ft ) {
\ $( '#logisticsaction' ) . val ( ft ) ;
\ $( '#logisticsform' ) . submit ( ) ;
}
~ ;
} #------------------------------------------------------------------------------------------
sub thead {
& common_min_thead ;
} #-------------------------------------------------------------------------------
sub page_opts {
our $ glyphicon = 'list' ;
our $ lcpage = 'mobile-tracking-systems' ;
& common_page_name ;
# our $table = 'mobile_tracking_system' ;
our $ table = 'event_systems' ;
$ page_title = 'Mobile Tracking Systems Report' ;
our $ blank_action = 1 ;
} #-------------------------------------------------------------------------------
# sub screen2 {
# my $page = "mobile-tracking-system-report" ;
# # # if ($i{id} && $redirsave eq 'edit') {
# # if ($redirsave eq 'edit') {
# # $input_hidden_id = qq~<input type="hidden" name="id" value="$i{id}">~ ;
# # }
# # my $doc_ready_jquery = qq~\$(document).ready(function(){ \$('#$redirsave-form').submit(); })~ unless $username eq 'rory' ;
# # &common_min_table_select_jquery("#itv-table td:nth-last-child(4),#itv-table td:nth-last-child(4),#itv-table td:nth-last-child(5),#itv-table td:nth-last-child(8)") ;
# &common_min_table_select_jquery("#$useropts{table_id} td:nth-last-child($last_child{region}),#$useropts{table_id} td:nth-last-child($last_child{head_operator}),#$useropts{table_id} td:nth-last-child($last_child{status}),#$useropts{table_id} td:nth-last-child($last_child{equipment_checked}),#$useropts{table_id} td:nth-last-child($last_child{venue})") ;
# my $form_name = $redirsave . 'form' ;
# our $success = "SUCCESSFULLY SAVED" ;
# &common_min_alert_type ;
# print <<ENDOFTEXT;
# <!DOCTYPE html>
# <html lang="en">
# <head>
# <meta charset="utf-8">
# <title>$useropts{title}</title>
# <script src="$useropts{'bower_components'}/jquery/jquery.min.js"></script>
# </head>
# <body>
# <script>
# \$(document).ready(function(){ \$('#$redirsave-form').submit(); })
# </script>
# </body>
# <form role="form" name="$form_name" id="$redirsave-form" method="post" action="$page">
# <input type="hidden" name="iaction" value="$redirsave">
# <input type="hidden" name="isaved" value="$success">
# $input_hidden_id
# </form>
# </html>
# ENDOFTEXT
# #
# exit ;
# } #------------------------------------------------------------------------------------------
sub screen3 {
foreach ( @ sql_col_display ) {
$ custom_column_styles { $ _ } = qq~style="min-width:150px;"~ if $ _ ne 'update' ;
}
& thead ;
if ( $ isaved ) { $ alert = & common_min_alert ( 'success' , "$ucpage $isaved!" , 'ok' ) ; } else { & common_min_alert_type ; }
# my $page = "$lcpage\s" ;
my $ page = "mobile-tracking-system-report" ;
if ( $ s { no } ) { $ page = $ lcpage ; }
& common_min_table ( 'id' , $ page , 'list' ) ;
# &common_min_table_select_jquery("#itv-table td:nth-last-child(4),#itv-table td:nth-last-child(5),#itv-table td:nth-last-child(8)") ;
& common_min_table_select_jquery ( "#$useropts{table_id} td:nth-last-child($last_child{region}),#$useropts{table_id} td:nth-last-child($last_child{head_operator}),#$useropts{table_id} td:nth-last-child($last_child{status}),#$useropts{table_id} td:nth-last-child($last_child{equipment_checked}),#$useropts{table_id} td:nth-last-child($last_child{venue})" ) ;
our $ savjqy = 1 ;
# &common_min_extra_crumb("manage-$lcpage\s","Manage $ucfirstpage\s") ;
$ extra_form_fields . = qq ~
< input type = "hidden" name = "oaction" value = "$iaction" >
< input type = "hidden" name = "system_type" value = "$i{system_type}" >
< input type = "hidden" name = "region" value = "$i{region}" >
~ ;
$ print_box_content_rows . = & common_min_forms_end ( '' , '' , 'save' ) ;
require _blank ;
exit ;
} #------------------------------------------------------------------------------------------
sub redirect_screen {
& common_min_alert_type ;
print << ENDOFTEXT ;
< ! DOCTYPE html >
< html lang = "en" >
<head>
< meta charset = "utf-8" >
<title> $ useropts { title } </title>
< script src = "$useropts{'bower_components'}/jquery/jquery.min.js" > </script>
</head>
<body>
<script>
\ $ ( document ) . ready ( function ( ) { \ $( '#$lcpage-form' ) . submit ( ) ; } )
</script>
</body>
< form role = "form" id = "$lcpage-form" method = "post" action = "$lcpage" >
< input type = "hidden" name = "iaction" value = "report" >
< input type = "hidden" name = "oaction" value = "report" >
</form>
</html>
ENDOFTEXT
#
exit ;
# <input type="hidden" name="oaction" value="$iaction">
} #------------------------------------------------------------------------------------------
use db ;
use today ;
use common ;
use report ;
use xlsxcreator ;
1 ;