316 lines
9.0 KiB
Perl
316 lines
9.0 KiB
Perl
#!/usr/bin/perl
|
|
|
|
BEGIN { use lib '/usr/home/cfg' ; require push_inc ; }
|
|
|
|
require cfg ;
|
|
|
|
#---------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
use CGI::Carp qw(fatalsToBrowser);
|
|
use CGI;
|
|
|
|
&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 $open_new_tab = qq~target="_blank"~ ; # opens booking page in a new tab
|
|
|
|
#-------- page opts --------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
&page_opts ;
|
|
|
|
#---------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
print "Content-type: text/html\n\n";
|
|
|
|
&common_min_action;
|
|
|
|
exit;
|
|
|
|
#------------------------------------------------------------------------------------------
|
|
|
|
sub validate {
|
|
|
|
my $exists = '' ;
|
|
|
|
$i{name} = &common_fix_str($i{name}) ;
|
|
|
|
&db_min_ro($table,'*',"name='$i{name}'",'name','') ;
|
|
|
|
foreach my $id (keys %{$db{$table}}) { if (lc $db{$table}{$id}{name} eq lc $i{name}) { $exists = 1 ; } }
|
|
|
|
if ($exists) {
|
|
$alert = &common_min_alert('warning',"POC NAME ALREADY EXISTS!",'ok') ;
|
|
%col_name = () ;
|
|
&common_min_add_screen ;
|
|
&common_min_screen1 ;
|
|
}
|
|
|
|
# REMOVE LATER -----------------
|
|
|
|
&db_min_ro('regions','id,code',"id='$i{region_id}'",'','') if $i{region_id} ;
|
|
|
|
$i{region_code} = $db{regions}{$i{region_id}}{code} if $i{region_id} ;
|
|
|
|
# REMOVE LATER -----------------
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub insert {
|
|
|
|
&add_db_fields ;
|
|
|
|
$i{id} = &db_min_get_max($table,'id') ;
|
|
|
|
$i{contact_nr} = &process_number($i{contact_nr}) ;
|
|
|
|
&db_min_insert($table) ;
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub update {
|
|
|
|
unless ($i{id}) { $error = qq(NO ID) ; return ; }
|
|
|
|
&edit_db_fields ;
|
|
|
|
$i{contact_nr} = &process_number($i{contact_nr}) ;
|
|
|
|
&db_min_upd($table,"id='$i{id}'") ;
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub process_number {
|
|
|
|
my ($number) = @_ ;
|
|
$number =~ s/ //g ;
|
|
$number =~ s/\+//g ;
|
|
return $number ;
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub list_screen {
|
|
|
|
our %poc_is_used = () ;
|
|
|
|
&db_min_ro('event_quotes',"id,poc_id","`poc_id` <> '0'",'','') ;
|
|
|
|
foreach my $_id (keys %{$db{event_quotes}}) {
|
|
$poc_is_used{aisa}{$db{event_quotes}{$_id}{poc_id}} .= qq~$_id;~ ;
|
|
}
|
|
|
|
&db_switch_conn('sss') ;
|
|
|
|
&db_min_ro('event_quotes',"id,poc_id","`poc_id` <> '0'",'','') ;
|
|
|
|
foreach my $_id (keys %{$db{event_quotes}}) {
|
|
$poc_is_used{sss}{$db{event_quotes}{$_id}{poc_id}} .= qq~$_id;~ ;
|
|
}
|
|
|
|
&db_switch_conn('aisa') ;
|
|
|
|
&db_min_ro($table,'*','','','') ;
|
|
|
|
foreach my $id (keys %{$db{$table}}) {
|
|
|
|
my $edit_butt = qq~ <a class="btn btn-default btn-xs" href="#" title="Request user rights in order to edit." data-toggle="tooltip"><i class="glyphicon glyphicon-edit icon-white"></i></a>~ ;
|
|
my $del_butt = qq~ <a class="btn btn-default btn-xs" href="#" title="Request user rights in order to delete." data-toggle="tooltip"><i class="glyphicon glyphicon-trash icon-white"></i></a>~ ;
|
|
|
|
if ($glod_user_level >= 3) {
|
|
$edit_butt = qq~ <a class="btn btn-info btn-xs" href="javascript:editMinItem('$db{$table}{$id}{id}','pocs');"><i class="glyphicon glyphicon-edit icon-white"></i></a>~ ;
|
|
}
|
|
|
|
if ($glod_user_level >= 3) {
|
|
$del_butt = qq~ <a class="btn btn-danger btn-xs" href="javascript:deleteMinItem('$db{$table}{$id}{name}','$db{$table}{$id}{id}')"><i class="glyphicon glyphicon-trash icon-white"></i></a>~ ;
|
|
}
|
|
|
|
|
|
if (($poc_is_used{aisa}{$id} || $poc_is_used{sss}{$id}) && $db{$table}{$id}{name} && $db{$table}{$id}{contact_nr}) {
|
|
$edit_butt = qq~~ ;
|
|
}
|
|
|
|
if ($poc_is_used{aisa}{$id} || $poc_is_used{sss}{$id}) {
|
|
# $edit_butt = qq~ <a class="btn btn-default btn-xs" href="#" title="In system use!" data-toggle="tooltip"><i class="glyphicon glyphicon-edit icon-white"></i></a>~ ;
|
|
$del_butt = qq~ <a class="btn btn-default btn-xs" href="#" title="In system use!" data-toggle="tooltip"><i class="glyphicon glyphicon-trash icon-white"></i></a>~ ;
|
|
|
|
if ($poc_is_used{aisa}{$id}) {
|
|
my $row_cnt = 1 ; my $flag_cnt = 0 ;
|
|
foreach (split(/\;/,$poc_is_used{aisa}{$id})) {
|
|
next unless $_ ;
|
|
$flag_cnt++ ;
|
|
if (($flag_cnt == 20 && $row_cnt == 1 && $edit_butt) || ($flag_cnt == 22 && $row_cnt == 1 && !$edit_butt) || ($flag_cnt == 23 && $row_cnt > 1 && $edit_butt) || ($flag_cnt == 23 && $row_cnt > 1 && !$edit_butt)) {
|
|
$del_butt .= qq~<br>~ ;
|
|
$row_cnt++ ;
|
|
$flag_cnt = 0 ;
|
|
}
|
|
$del_butt .= qq~<span title="Event Quote : $_" data-toggle="tooltip" data-placement="top"><a href="javascript:editMinItem('$_','event-quotes');" style="color:black;"><i class="glyphicons glyphicons-pin-flag icon-white"></i></a></span>~ ;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
my $disp_nr = $db{$table}{$id}{contact_nr} ;
|
|
|
|
if (length($disp_nr) == 11) {
|
|
$disp_nr = substr($disp_nr,0,2) . ' ' . substr($disp_nr,2,2) . ' ' . substr($disp_nr,4,3) . ' ' . substr($disp_nr,7,4) ;
|
|
$disp_nr = '+' . $disp_nr if $disp_nr =~ /^27/ ;
|
|
}
|
|
|
|
$print_tbody .= qq~
|
|
<tr id="$id">
|
|
<td>$id</td>
|
|
<td>$db{$table}{$id}{name}</td>
|
|
<td>$disp_nr</td>
|
|
<td>
|
|
$edit_butt
|
|
$del_butt
|
|
</td>
|
|
</tr>
|
|
~ ;
|
|
}
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub add_db_fields {
|
|
|
|
&sort_fields;
|
|
|
|
&hidden_db_fields;
|
|
|
|
# $ignore{id} = 1 ;
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub edit_db_fields {
|
|
|
|
&hidden_db_fields;
|
|
|
|
&sort_fields;
|
|
|
|
$hidden{id} = 1 ; # 1 = bypass for db update
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub hidden_db_fields {
|
|
|
|
$ignore{iaction} = 1 ;
|
|
$required{name} = 1 ;
|
|
$required{contact_nr} = 1 ;
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub sort_fields {
|
|
|
|
our %poc_is_used = () ;
|
|
|
|
&db_min_ro('event_quotes',"id,poc_id","`poc_id` <> '0'",'','') ;
|
|
|
|
foreach my $_id (keys %{$db{event_quotes}}) {
|
|
$poc_is_used{aisa}{$db{event_quotes}{$_id}{poc_id}} .= qq~$_id;~ ;
|
|
}
|
|
|
|
&db_switch_conn('sss') ;
|
|
|
|
&db_min_ro('event_quotes',"id,poc_id","`poc_id` <> '0'",'','') ;
|
|
|
|
foreach my $_id (keys %{$db{event_quotes}}) {
|
|
$poc_is_used{sss}{$db{event_quotes}{$_id}{poc_id}} .= qq~$_id;~ ;
|
|
}
|
|
|
|
&db_switch_conn('aisa') ;
|
|
|
|
%sort_field = () ;
|
|
|
|
$sort_field{1} = 'name' ;
|
|
$sort_field{2} = 'contact_nr' ;
|
|
|
|
if ($poc_id_used{aisa}{$i{id}} || $poc_id_used{sss}{$i{id}}) {
|
|
$required{name} = 0 ;
|
|
$required{contact_nr} = 0 ;
|
|
$readonly{contact_nr} = "READONLY" ;
|
|
$readonly{name} = "READONLY" ;
|
|
} else {
|
|
$required{name} = 1 ;
|
|
$required{contact_nr} = 1 ;
|
|
}
|
|
|
|
if ($db{$table}{$i{id}}{name} && !$db{$table}{$i{id}}{contact_nr}) {
|
|
$readonly{name} = "READONLY" ;
|
|
$readonly{contact_nr} = "" ;
|
|
} elsif ($db{$table}{$i{id}}{name} && $db{$table}{$i{id}}{contact_nr}) {
|
|
$readonly{contact_nr} = "READONLY" ;
|
|
$readonly{name} = "READONLY" ;
|
|
} else {
|
|
$readonly{contact_nr} = "" ;
|
|
$readonly{name} = "" ;
|
|
}
|
|
|
|
my $disp_nr = $db{$table}{$i{id}}{contact_nr} ;
|
|
|
|
if (length($disp_nr) == 11) {
|
|
$disp_nr = substr($disp_nr,0,2) . ' ' . substr($disp_nr,2,2) . ' ' . substr($disp_nr,4,3) . ' ' . substr($disp_nr,7,4) ;
|
|
$disp_nr = '+' . $disp_nr if $disp_nr =~ /^27/ ;
|
|
}
|
|
|
|
$db{$table}{$i{id}}{contact_nr} = $disp_nr ;
|
|
|
|
} #-------------------------------------------------------------------------------
|
|
|
|
sub add_screen {
|
|
|
|
# called from common_add_screen
|
|
|
|
&select_opts ;
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub edit_screen {
|
|
|
|
&select_opts ;
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub select_opts {
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub thead {
|
|
|
|
$print_thead = qq~
|
|
<THEAD>
|
|
<TR>
|
|
<TH>ID</TH>
|
|
<TH>NAME</TH>
|
|
<TH>CONTACT NUMBER</TH>
|
|
<TH> </TH>
|
|
</TR>
|
|
</THEAD>
|
|
~ ;
|
|
|
|
} #-------------------------------------------------------------------------------
|
|
|
|
sub page_opts {
|
|
|
|
our $glyphicon = 'map-marker' ;
|
|
our $lcpage = 'pocs' ; $ucpage = uc $lcpage ; $ucfirstpage = ucfirst $lcpage ;
|
|
our $table = 'event_quotes_poc' ;
|
|
|
|
$s{no} = 1 ;
|
|
|
|
&common_min_add_extras ;
|
|
|
|
} #-------------------------------------------------------------------------------
|
|
|
|
use common ;
|
|
use today ;
|
|
|
|
1; |