#!/usr/bin/perl BEGIN { use lib '/usr/home/cfg' ; require push_inc ; } require cfg ; # unless ($username eq 'handre') { 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; &today; #--------------------------------------------------------------------------------------------------------------------------------------------------------------------- @ARGV = split(/\\*\&/, $ENV{'QUERY_STRING'}); $action = $ARGV[0] ; our ($q) = CGI -> new() ; our $iaction = $q -> param('iaction') || $action ; our $isaved = $q -> param('isaved') || '' ; our $debug = 1 ; our $cnt_match_credits = 4 ; # used in common_load_quote_vars our $open_new_tab = qq~target="_blank"~ ; # opens booking page in a new tab #-------- page opts -------------------------------------------------------------------------------------------------------------------------------------------------- &page_opts ; #--------------------------------------------------------------------------------------------------------------------------------------------------------------------- print "Content-type: text/html\n\n"; our $srchscr = 1 ; &db_open_ro ; our $db_ignore_open_close = 1 ; # do one open and one close instead of repeating it if ($iaction eq ''){ &report_screen ; } &common_min_action; $db_ignore_open_close = 0 ; # do one open and one close instead of repeating it &db_close_conn ; exit; #------------------------------------------------------------------------------------------ sub report_ifields { &load_search_vars ; 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(CAMERAS FROM ($i{date_from}) > CAMERAS TO ($i{date_to})); &report_screen; } } if ($i{date_from}) { push @report_sql, "(`quote_date` >= '$i{date_from}')" ; push @report_results, "quote_date >= $i{date_from}" ; } if ($i{date_to}) { push @report_sql, "(`quote_date` <= '$i{date_to}')" ; push @report_results, "quote_date <= $i{date_to}" ; } if ($i{client_id}) { push @report_sql, "(`quote_to`='$i{client_id}')" ; push @report_results, "Client = $client{$i{client_id}}" ; } if ($i{options} eq 'accepted') { # push @report_sql, "(`quote_to`='$i{client_id}')" ; # push @report_results, "Client = $client{$i{client_id}}" ; push @report_sql, "(`quote_accepted`=1)" ; push @report_results, "Quote Accepted = 'Yes'" ; } if ($i{options} eq 'cancelled') { push @report_sql, "(`quote_cancelled`=1)" ; push @report_results, "Quote Cancelled = 'Yes'" ; } if ($i{options} eq 'pending') { push @report_sql, "(`quote_pending`=1)" ; push @report_results, "Quote Pending = 'Yes'" ; } push @report_sql, "(`invoice_nr`>0 OR `invoice_nr` <> '')" ; push @report_results, "Invoice Nr exists" ; $report_results_msg = uc join(', ', @report_results) ; unless ($report_results_msg) { $error = qq(ENTER AT LEAST ONE SEARCH PARAMETER); &report_screen; } else { $isaved = qq(SELECT WHERE $report_results_msg) ; } } #------------------------------------------------------------------------------------------ sub load_search_vars { if ($i{client_id}) { my $customers_sql_where = "`id`='$i{client_id}'" ; &db_min_ro('customers','*',$customers_sql_where,'','') ; foreach my $id (keys %{$db{customers}}) { $client{$id} = $db{customers}{$id}{name} ; } } } #------------------------------------------------------------------------------------------ sub list_screen { my $srch_where_sql = join(' AND ', @report_sql) ; my $add_sql_where = '' ; &load_list_vars("$srch_where_sql$add_sql_where") ; "e_list ; } #------------------------------------------------------------------------------------------ sub quote_list { our @sql_col_display = ("nr","customer","event","sports_type","date_from","date_to","quote_total","total_expenses") ; # our @col_display_excel = ("event", "date", "day", "sport_type", "production_type", "ligr_integration", "location","city_&_province", "onsite_team") ; @col_display_excel = @sql_col_display ; &report_xlsx_export_header_events("Cosings_Summary",'events') ; $worksheet{$ws} -> set_row(0, 40) ; $worksheet{$ws} -> set_row(1, 25) ; $worksheet{$ws} -> set_row(2, 25) ; $worksheet{$ws} -> set_row(3, 5) ; $worksheet{$ws} -> set_column(0,0,10) ; $worksheet{$ws} -> set_column(1,1,30) ; $worksheet{$ws} -> set_column(2,3,40) ; $worksheet{$ws} -> set_column(4,5,15) ; my @month_fullname = ("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December") ; # if ($i{export_to_excel}) { &report_xls_export_header("Event Quotes",'event_quotes') ; } my @day_of_week_text = ("", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday") ; foreach my $id (sort {$b <=> $a} keys %{$db{$tables}}) { unless ($id) { next ; } my $quote_expiry = $db{$tables}{$id}{quote_expiry} ; $quote_expiry =~ s/\-//iog ; # if ($quote_expiry and $quote_expiry<"$now_year$now_mm$now_dd" and $iaction ne 'report' and $iaction ne 'accepted' and $iaction ne 'closed' and $iaction ne 'all') { next ; } if ($quote_expiry and $quote_expiry<"$now_year$now_mm$now_dd" and $db{$tables}{$id}{quote_accepted}!=1 and $iaction ne 'report' and $iaction ne 'accepted' and $iaction ne 'closed' and $iaction ne 'all' and $i{options} ne 'accepted' and $i{options} ne 'closed' and $i{options} ne 'all') { next ; } $print_tbody .= qq~