#!/usr/bin/perl BEGIN { use lib '/usr/home/cfg' ; require push_inc ; } use CGI qw( :standard ); use CGI::Carp qw(fatalsToBrowser); use Date::Calc qw(:all); use Spreadsheet::WriteExcel; use Spreadsheet::WriteExcel::Utility; require cfg ; print header; # CGI.pm method #--------------------------------------------------------------------------------------------------------------------------------------------------------------------- &today; #--------------------------------------------------------------------------------------------------------------------------------------------------------------------- @ARGV = split(/\\*\&/, $ENV{'QUERY_STRING'}); $action = $ARGV[0] ; our ($q) = CGI -> new() ; our $iaction = $q -> param('iaction') || '' ; # our $debug = 1 ; &common_min_restriction_super ; #-------- page opts -------------------------------------------------------------------------------------------------------------------------------------------------- &page_opts ; #--------------------------------------------------------------------------------------------------------------------------------------------------------------------- if ($iaction eq ''){ &report_screen ; # &common_min_screen1; } elsif ($iaction eq 'report'){ &common_min_load_params ; &report_ifields; &list_screen ; &report_screen ; # &common_min_screen3; } exit; #------------------------------------------------------------------------------------------ sub report_ifields { if ($i{date_from} and $i{date_to}) { # check dates my $date_from_check = $i{date_from} ; $date_from_check =~ s/\-//g ; my $date_to_check = $i{date_to} ; $date_to_check =~ s/\-//g ; if ($date_from_check > $date_to_check) { $error = qq(DATE FROM ($i{date_from}) > DATE TO ($i{date_to})); &report_screen; } } if ($i{date_from}) { push @report_sql, "(`startdate` >= '$i{date_from}')" ; push @report_results, "startdate >= $i{date_from}" ; } if ($i{date_to}) { push @report_sql, "(`startdate` <= '$i{date_to}')" ; push @report_results, "startdate <= $i{date_to}" ; } &db_min_ro('users','*',"`id`='$i{user_id}'",'','') ; foreach my $id (keys %{$db{users}}) { $user{$id} = $db{users}{$id}{name} ; } push @report_sql, "(`user_id` = '$i{user_id}')" ; push @report_results, "Consultant = $user{$i{user_id}}" ; $srch_where_sql = join(' AND ', @report_sql) ; $report_results_msg = uc join(', ', @report_results) ; unless ($i{user_id}) { $error = qq(PLEASE SELECT A CONSULTANT); &report_screen; } else { $success = qq(REPORT WHERE $report_results_msg) ; } unless ($report_results_msg) { $error = qq(ENTER AT LEAST ONE REPORT PARAMETER); &report_screen; } else { $success = qq(REPORT WHERE $report_results_msg) ; } } #------------------------------------------------------------------------------------------ sub list_screen { # &db_min_ro('agency','*','','','') ; # foreach my $id (keys %{$db{agency}}) { $agency{$id} = $db{agency}{$id}{name} ; } our @sql_col_display = ("date_time","user_id","startdate","enddate","notes","duration") ; # our %money_format = (agent_balance => 1); my $xlsfolder = 'weekendwork' ; &report_xls_export_header("$user{$i{user_id}}_Weekend_Work_Report",$xlsfolder) ; # &db_min_ro($table,'*','','','') ; &db_min_ro($table,'*',"$srch_where_sql AND `category`='weekend_work'",'','') ; foreach my $id (keys %{$db{$table}}) { # unless ($db{$table}{$id}{category} eq 'weekend_work') { next ; } $print_tbody .= qq(