From ff873782e78715891b9d5d2eb5b38c735d372556 Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 3 Dec 2008 21:15:39 +0000 Subject: [PATCH] fix real customer numbers showing on view pages, RT#4099/4379 --- httemplate/misc/whois.cgi | 8 +- httemplate/view/cust_bill.cgi | 3 +- httemplate/view/cust_pay.html | 5 +- httemplate/view/cust_refund.html | 5 +- httemplate/view/svc_broadband.cgi | 5 +- httemplate/view/svc_domain.cgi | 9 +- httemplate/view/svc_external.cgi | 5 +- httemplate/view/svc_forward.cgi | 195 ++++++++++++++++++++------------------ httemplate/view/svc_www.cgi | 170 ++++++++++++++++++--------------- 9 files changed, 223 insertions(+), 182 deletions(-) diff --git a/httemplate/misc/whois.cgi b/httemplate/misc/whois.cgi index 35d0eccc9..533b2d7a8 100644 --- a/httemplate/misc/whois.cgi +++ b/httemplate/misc/whois.cgi @@ -1,6 +1,6 @@ <% include("/elements/header.html","Whois $domain", menubar( ( $custnum - ? ( "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", + ? ( "View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum", ) : () ), @@ -17,6 +17,12 @@ my $svcnum = $cgi->param('svcnum'); my $custnum = $cgi->param('custnum'); my $domain = $cgi->param('domain'); +my $display_custnum; +if ( $custnum ) { + my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } ); + $display_custnum = $cust_main->display_custnum; +} + my $whois = eval { whois($domain) }; if ( $@ ) { ( $whois = $@ ) =~ s/ at \/.*Net\/Whois\/Raw\.pm line \d+.*$//s; diff --git a/httemplate/view/cust_bill.cgi b/httemplate/view/cust_bill.cgi index db30d3ecc..450c74e61 100755 --- a/httemplate/view/cust_bill.cgi +++ b/httemplate/view/cust_bill.cgi @@ -1,5 +1,5 @@ <% include("/elements/header.html",'Invoice View', menubar( - "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", + "View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum", )) %> @@ -109,6 +109,7 @@ my $cust_bill = qsearchs({ die "Invoice #$invnum not found!" unless $cust_bill; my $custnum = $cust_bill->custnum; +my $display_custnum = $cust_bill->cust_main->display_custnum; #my $printed = $cust_bill->printed; diff --git a/httemplate/view/cust_pay.html b/httemplate/view/cust_pay.html index 2e2344d40..c36d76904 100644 --- a/httemplate/view/cust_pay.html +++ b/httemplate/view/cust_pay.html @@ -11,7 +11,7 @@ % #it would be nice if the menubar could be hidden for print, but better to % # have it available than not, otherwise the user winds up at a dead end <% menubar( - "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", + "View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum", ) %>

@@ -19,7 +19,7 @@ % } else { <% include('/elements/header.html', "Payment Receipt", menubar( - "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", + "View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum", 'Print receipt' => $pr_link, )) %> @@ -124,6 +124,7 @@ die "Payment #$paynum not found!" unless $cust_pay; my $pr_link = "${p}view/cust_pay.html?link=print;paynum=$paynum"; my $custnum = $cust_pay->custnum; +my $display_custnum = $cust_pay->cust_main->display_custnum; my $conf = new FS::Conf; diff --git a/httemplate/view/cust_refund.html b/httemplate/view/cust_refund.html index 557e0ab24..138c8780d 100644 --- a/httemplate/view/cust_refund.html +++ b/httemplate/view/cust_refund.html @@ -11,7 +11,7 @@ % #it would be nice if the menubar could be hidden for print, but better to % # have it available than not, otherwise the user winds up at a dead end <% menubar( - "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", + "View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum", ) %>

@@ -19,7 +19,7 @@ % } else { <% include('/elements/header.html', "Refund Receipt", menubar( - "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", + "View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum", 'Print receipt' => $pr_link, )) %> @@ -131,6 +131,7 @@ die "Refund #$refundnum not found!" unless $cust_refund; my $pr_link = "${p}view/cust_refund.html?link=print;refundnum=$refundnum"; my $custnum = $cust_refund->custnum; +my $display_custnum = $cust_refund->cust_main->display_custnum; my $conf = new FS::Conf; diff --git a/httemplate/view/svc_broadband.cgi b/httemplate/view/svc_broadband.cgi index e614fe418..145d34188 100644 --- a/httemplate/view/svc_broadband.cgi +++ b/httemplate/view/svc_broadband.cgi @@ -1,6 +1,6 @@ <%include("/elements/header.html",'Broadband Service View', menubar( ( ( $custnum ) - ? ( "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", + ? ( "View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum", ) : ( "Cancel this (unaudited) website" => "${p}misc/cancel-unaudited.cgi?$svcnum" ) @@ -161,10 +161,11 @@ my $svc_broadband = qsearchs({ #false laziness w/all svc_*.cgi my $cust_svc = qsearchs( 'cust_svc', { 'svcnum' => $svcnum } ); my $pkgnum = $cust_svc->getfield('pkgnum'); -my($cust_pkg, $custnum); +my($cust_pkg, $custnum, $display_custnum); if ($pkgnum) { $cust_pkg = qsearchs( 'cust_pkg', { 'pkgnum' => $pkgnum } ); $custnum = $cust_pkg->custnum; + $display_custnum = $cust_pkg->cust_main->display_custnum; } else { $cust_pkg = ''; $custnum = ''; diff --git a/httemplate/view/svc_domain.cgi b/httemplate/view/svc_domain.cgi index d6565db34..8c1f4cecd 100755 --- a/httemplate/view/svc_domain.cgi +++ b/httemplate/view/svc_domain.cgi @@ -1,6 +1,6 @@ <% include("/elements/header.html",'Domain View', menubar( ( ( $pkgnum || $custnum ) - ? ( "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", + ? ( "View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum", ) : ( "Delete this (unaudited) domain" => "javascript:areyousure('${p}misc/cancel-unaudited.cgi?$svcnum', 'Delete $domain and all records?' )" ) @@ -136,10 +136,11 @@ die "Unknown svcnum" unless $svc_domain; my $cust_svc = qsearchs('cust_svc',{'svcnum'=>$svcnum}); my $pkgnum = $cust_svc->getfield('pkgnum'); -my($cust_pkg, $custnum); +my($cust_pkg, $custnum, $display_custnum); if ($pkgnum) { - $cust_pkg=qsearchs('cust_pkg',{'pkgnum'=>$pkgnum}); - $custnum=$cust_pkg->getfield('custnum'); + $cust_pkg =qsearchs('cust_pkg',{'pkgnum'=>$pkgnum}); + $custnum = $cust_pkg->custnum; + $custnum = $cust_pkg->cust_main->display_custnum; } else { $cust_pkg = ''; $custnum = ''; diff --git a/httemplate/view/svc_external.cgi b/httemplate/view/svc_external.cgi index 553d2362a..222f36a85 100644 --- a/httemplate/view/svc_external.cgi +++ b/httemplate/view/svc_external.cgi @@ -1,6 +1,6 @@ <% include("/elements/header.html",'External Service View', menubar( ( ( $custnum ) - ? ( "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", + ? ( "View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum", ) : ( "Cancel this (unaudited) external service" => "${p}misc/cancel-unaudited.cgi?$svcnum" ) @@ -49,10 +49,11 @@ my $conf = new FS::Conf; #false laziness w/all svc_*.cgi my $cust_svc = qsearchs( 'cust_svc', { 'svcnum' => $svcnum } ); my $pkgnum = $cust_svc->getfield('pkgnum'); -my($cust_pkg, $custnum); +my($cust_pkg, $custnum, $display_custnum); if ($pkgnum) { $cust_pkg = qsearchs( 'cust_pkg', { 'pkgnum' => $pkgnum } ); $custnum = $cust_pkg->custnum; + $display_custnum = $cust_pkg->cust_main->display_custnum; } else { $cust_pkg = ''; $custnum = ''; diff --git a/httemplate/view/svc_forward.cgi b/httemplate/view/svc_forward.cgi index 24272ed5e..ff84a282f 100755 --- a/httemplate/view/svc_forward.cgi +++ b/httemplate/view/svc_forward.cgi @@ -1,92 +1,105 @@ -% die "access denied" -% unless $FS::CurrentUser::CurrentUser->access_right('View customer services'); -% -%my $conf = new FS::Conf; -% -%my($query) = $cgi->keywords; -%$query =~ /^(\d+)$/; -%my $svcnum = $1; -%my $svc_forward = qsearchs({ -% 'select' => 'svc_forward.*', -% 'table' => 'svc_forward', -% 'addl_from' => ' LEFT JOIN cust_svc USING ( svcnum ) '. -% ' LEFT JOIN cust_pkg USING ( pkgnum ) '. -% ' LEFT JOIN cust_main USING ( custnum ) ', -% 'hashref' => {'svcnum'=>$svcnum}, -% 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql, -%}); -%die "Unknown svcnum" unless $svc_forward; -% -%my $cust_svc = qsearchs('cust_svc',{'svcnum'=>$svcnum}); -%my $pkgnum = $cust_svc->getfield('pkgnum'); -%my($cust_pkg, $custnum); -%if ($pkgnum) { -% $cust_pkg=qsearchs('cust_pkg',{'pkgnum'=>$pkgnum}); -% $custnum=$cust_pkg->getfield('custnum'); -%} else { -% $cust_pkg = ''; -% $custnum = ''; -%} -% -%my $part_svc = qsearchs('part_svc',{'svcpart'=> $cust_svc->svcpart } ) -% or die "Unknown svcpart"; -% -%print header('Mail Forward View', menubar( -% ( ( $pkgnum || $custnum ) -% ? ( "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", -% ) -% : ( "Cancel this (unaudited) mail forward" => -% "${p}misc/cancel-unaudited.cgi?$svcnum" ) -% ) -%)); -% -%my($srcsvc,$dstsvc,$dst) = ( -% $svc_forward->srcsvc, -% $svc_forward->dstsvc, -% $svc_forward->dst, -%); -%my $src = $svc_forward->dbdef_table->column('src') ? $svc_forward->src : ''; -% -%my $svc = $part_svc->svc; -% -%my $source; -%if ($srcsvc) { -% my $svc_acct = qsearchs('svc_acct',{'svcnum'=>$srcsvc}) -% or die "Corrupted database: no svc_acct.svcnum matching srcsvc $srcsvc"; -% $source = $svc_acct->email; -%} else { -% $source = $src; -%} -% -%my $destination; -%if ($dstsvc) { -% my $svc_acct = qsearchs('svc_acct',{'svcnum'=>$dstsvc}) -% or die "Corrupted database: no svc_acct.svcnum matching dstsvc $dstsvc"; -% $destination = $svc_acct->email; -%} else { -% $destination = $dst; -%} -% -%print qq!Edit this information!. -% ntable("#cccccc",2). -% 'Service number'. -% qq!$svcnum!. -% 'Service'. -% qq!$svc!. -% qq!Email to!. -% qq!$source!. -% qq!Forwards to !. -% qq!$destination!; -% -%foreach (sort { $a cmp $b } $svc_forward->virtual_fields) { -% print $svc_forward->pvf($_)->widget('HTML', 'view', $svc_forward->getfield($_)), -% "\n"; -%} -% -%print qq! !. -% '
'. joblisting({'svcnum'=>$svcnum}, 1). -% '' -%; -% -% +<% include('/elements/header.html', 'Mail Forward View', menubar( + ( ( $pkgnum || $custnum ) + ? ( "View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum", + ) + : ( "Cancel this (unaudited) mail forward" => + "${p}misc/cancel-unaudited.cgi?$svcnum" ) + ) +)) +%> +Edit this information + +<% ntable("#cccccc",2) %> + + + Service number + <% $svcnum %> + + + Service + <% $svc %> + + + Email to + <% $source %> + + + Forwards to + <% $destination %> + + +% foreach (sort { $a cmp $b } $svc_forward->virtual_fields) { + <% $svc_forward->pvf($_)->widget('HTML', 'view', $svc_forward->getfield($_)) %> +% } + + + +
+<% joblisting({'svcnum'=>$svcnum}, 1) %> + +<% include('/elements/footer.html') %> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('View customer services'); + +my $conf = new FS::Conf; + +my($query) = $cgi->keywords; +$query =~ /^(\d+)$/; +my $svcnum = $1; +my $svc_forward = qsearchs({ + 'select' => 'svc_forward.*', + 'table' => 'svc_forward', + 'addl_from' => ' LEFT JOIN cust_svc USING ( svcnum ) '. + ' LEFT JOIN cust_pkg USING ( pkgnum ) '. + ' LEFT JOIN cust_main USING ( custnum ) ', + 'hashref' => {'svcnum'=>$svcnum}, + 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql, +}); +die "Unknown svcnum" unless $svc_forward; + +my $cust_svc = qsearchs('cust_svc',{'svcnum'=>$svcnum}); +my $pkgnum = $cust_svc->getfield('pkgnum'); +my($cust_pkg, $custnum, $display_custnum); +if ($pkgnum) { + $cust_pkg=qsearchs('cust_pkg',{'pkgnum'=>$pkgnum}); + $custnum=$cust_pkg->getfield('custnum'); + $display_custnum = $cust_pkg->cust_main->display_custnum; +} else { + $cust_pkg = ''; + $custnum = ''; +} + +my $part_svc = qsearchs('part_svc',{'svcpart'=> $cust_svc->svcpart } ) + or die "Unknown svcpart"; + +my($srcsvc,$dstsvc,$dst) = ( + $svc_forward->srcsvc, + $svc_forward->dstsvc, + $svc_forward->dst, +); +my $src = $svc_forward->dbdef_table->column('src') ? $svc_forward->src : ''; + +my $svc = $part_svc->svc; + +my $source; +if ($srcsvc) { + my $svc_acct = qsearchs('svc_acct',{'svcnum'=>$srcsvc}) + or die "Corrupted database: no svc_acct.svcnum matching srcsvc $srcsvc"; + $source = $svc_acct->email; +} else { + $source = $src; +} + +my $destination; +if ($dstsvc) { + my $svc_acct = qsearchs('svc_acct',{'svcnum'=>$dstsvc}) + or die "Corrupted database: no svc_acct.svcnum matching dstsvc $dstsvc"; + $destination = $svc_acct->email; +} else { + $destination = $dst; +} + + diff --git a/httemplate/view/svc_www.cgi b/httemplate/view/svc_www.cgi index d6d458ca5..c0f331619 100644 --- a/httemplate/view/svc_www.cgi +++ b/httemplate/view/svc_www.cgi @@ -1,52 +1,6 @@ -% die "access denied" -% unless $FS::CurrentUser::CurrentUser->access_right('View customer services'); -% -%my($query) = $cgi->keywords; -%$query =~ /^(\d+)$/; -%my $svcnum = $1; -%my $svc_www = qsearchs({ -% 'select' => 'svc_www.*', -% 'table' => 'svc_www', -% 'addl_from' => ' LEFT JOIN cust_svc USING ( svcnum ) '. -% ' LEFT JOIN cust_pkg USING ( pkgnum ) '. -% ' LEFT JOIN cust_main USING ( custnum ) ', -% 'hashref' => { 'svcnum' => $svcnum }, -% 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql, -%}) or die "svc_www: Unknown svcnum $svcnum"; -% -%#false laziness w/all svc_*.cgi -%my $cust_svc = qsearchs( 'cust_svc', { 'svcnum' => $svcnum } ); -%my $pkgnum = $cust_svc->getfield('pkgnum'); -%my($cust_pkg, $custnum); -%if ($pkgnum) { -% $cust_pkg = qsearchs( 'cust_pkg', { 'pkgnum' => $pkgnum } ); -% $custnum = $cust_pkg->custnum; -%} else { -% $cust_pkg = ''; -% $custnum = ''; -%} -%#eofalse -% -%my $part_svc=qsearchs('part_svc',{'svcpart'=>$cust_svc->svcpart}) -% or die "svc_www: Unknown svcpart" . $cust_svc->svcpart; - -%my $usersvc = $svc_www->usersvc; -%my $svc_acct = ''; -%my $email = ''; -%if ( $usersvc ) { -% $svc_acct = qsearchs('svc_acct', { 'svcnum' => $usersvc } ) -% or die "svc_www: Unknown usersvc $usersvc"; -% $email = $svc_acct->email; -%} -% -%my $domain_record = qsearchs('domain_record', { 'recnum' => $svc_www->recnum } ) -% or die "svc_www: Unknown recnum ". $svc_www->recnum; -% -%my $www = $domain_record->zone; - <% include("/elements/header.html", "Website View", menubar( ( ( $custnum ) - ? ( "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", + ? ( "View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum", ) : ( "Cancel this (unaudited) website" => "${p}misc/cancel-unaudited.cgi?$svcnum" ) @@ -54,35 +8,97 @@ )) %> -%print qq!Edit this information
!. -% ntable("#cccccc"). ''. ntable("#cccccc",2). -% qq!Service number!. -% qq!$svcnum!. -% qq!Website name!. -% qq!$www!; -%if ( $part_svc->part_svc_column('usersvc')->columnflag ne 'F' -% || $part_svc->part_svc_column('usersvc')->columnvalue !~ /^\s*$/) { -% print qq!Account!. -% qq!!; -% -% if ( $usersvc ) { -% print qq!$email!; -% } else { -% print '(none)'; -% } -% -% print ''; -%} - <% qq!Config lines! %> - <% qq!
!.$cgi->escapeHTML(join("\n",$svc_www->config))."
" %> -% -%foreach (sort { $a cmp $b } $svc_www->virtual_fields) { -% print $svc_www->pvf($_)->widget('HTML', 'view', $svc_www->getfield($_)), -% "\n"; -%} -% -% -%print ''. -% '
'. joblisting({'svcnum'=>$svcnum}, 1); +Edit this information
+ +<% ntable("#cccccc", 2) %> + + + Service number + <% $svcnum %> + + + Website name + <% $www %> + + +% if ( $part_svc->part_svc_column('usersvc')->columnflag ne 'F' +% || $part_svc->part_svc_column('usersvc')->columnvalue !~ /^\s*$/) { + + + Account + +% if ( $usersvc ) { + <% $email %> +% } else { + (none) +% } + + + +% } + + + Config lines +
<% join("\n", $svc_www->config) |h %>"
+ + +% foreach (sort { $a cmp $b } $svc_www->virtual_fields) { + <% $svc_www->pvf($_)->widget('HTML', 'view', $svc_www->getfield($_)) %> +% } + + + +
+<% joblisting({'svcnum'=>$svcnum}, 1) %> <% include('/elements/footer.html') %> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('View customer services'); + +my($query) = $cgi->keywords; +$query =~ /^(\d+)$/; +my $svcnum = $1; +my $svc_www = qsearchs({ + 'select' => 'svc_www.*', + 'table' => 'svc_www', + 'addl_from' => ' LEFT JOIN cust_svc USING ( svcnum ) '. + ' LEFT JOIN cust_pkg USING ( pkgnum ) '. + ' LEFT JOIN cust_main USING ( custnum ) ', + 'hashref' => { 'svcnum' => $svcnum }, + 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql, +}) or die "svc_www: Unknown svcnum $svcnum"; + +#false laziness w/all svc_*.cgi +my $cust_svc = qsearchs( 'cust_svc', { 'svcnum' => $svcnum } ); +my $pkgnum = $cust_svc->getfield('pkgnum'); +my($cust_pkg, $custnum, $display_custnum); +if ($pkgnum) { + $cust_pkg = qsearchs( 'cust_pkg', { 'pkgnum' => $pkgnum } ); + $custnum = $cust_pkg->custnum; + $display_custnum = $cust_pkg->cust_main->display_custnum; +} else { + $cust_pkg = ''; + $custnum = ''; +} +#eofalse + +my $part_svc=qsearchs('part_svc',{'svcpart'=>$cust_svc->svcpart}) + or die "svc_www: Unknown svcpart" . $cust_svc->svcpart; + +my $usersvc = $svc_www->usersvc; +my $svc_acct = ''; +my $email = ''; +if ( $usersvc ) { + $svc_acct = qsearchs('svc_acct', { 'svcnum' => $usersvc } ) + or die "svc_www: Unknown usersvc $usersvc"; + $email = $svc_acct->email; +} + +my $domain_record = qsearchs('domain_record', { 'recnum' => $svc_www->recnum } ) + or die "svc_www: Unknown recnum ". $svc_www->recnum; + +my $www = $domain_record->zone; + + -- 2.11.0