diff options
Diffstat (limited to 'httemplate/view/cust_main.cgi')
-rwxr-xr-x | httemplate/view/cust_main.cgi | 221 |
1 files changed, 127 insertions, 94 deletions
diff --git a/httemplate/view/cust_main.cgi b/httemplate/view/cust_main.cgi index 59c1a4b73..850b48b27 100755 --- a/httemplate/view/cust_main.cgi +++ b/httemplate/view/cust_main.cgi @@ -1,37 +1,13 @@ -<!-- mason kludge --> -<% +<% include("/elements/header.html","Customer View: ". $cust_main->name ) %> -my $conf = new FS::Conf; - -my %uiview = (); -my %uiadd = (); -foreach my $part_svc ( qsearch('part_svc',{}) ) { - $uiview{$part_svc->svcpart} = $p. "view/". $part_svc->svcdb . ".cgi"; - $uiadd{$part_svc->svcpart}= $p. "edit/". $part_svc->svcdb . ".cgi"; -} - -%> - -<%= header("Customer View", menubar( - 'Main Menu' => $p, -)) %> - -<% - -die "No customer specified (bad URL)!" unless $cgi->keywords; -my($query) = $cgi->keywords; # needs parens with my, ->keywords returns array -$query =~ /^(\d+)$/; -my $custnum = $1; -my $cust_main = qsearchs('cust_main',{'custnum'=>$custnum}); -die "Customer not found!" unless $cust_main; - -print qq!<A HREF="${p}edit/cust_main.cgi?$custnum">Edit this customer</A>!; +% if ( $curuser->access_right('Edit customer') ) { + <A HREF="<% $p %>edit/cust_main.cgi?<% $custnum %>">Edit this customer</A> | +% } -%> - -<SCRIPT TYPE="text/javascript" SRC="../elements/overlibmws.js"></SCRIPT> -<SCRIPT TYPE="text/javascript" SRC="../elements/overlibmws_iframe.js"></SCRIPT> -<SCRIPT TYPE="text/javascript" SRC="../elements/overlibmws_draggable.js"></SCRIPT> +<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/overlibmws.js"></SCRIPT> +<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/overlibmws_iframe.js"></SCRIPT> +<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/overlibmws_draggable.js"></SCRIPT> +<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/iframecontentmws.js"></SCRIPT> <SCRIPT TYPE="text/javascript"> function areyousure(href, message) { @@ -41,98 +17,155 @@ function areyousure(href, message) { </SCRIPT> <SCRIPT TYPE="text/javascript"> - -<% -my $ban = ''; -if ( $cust_main->payby =~ /^(CARD|DCRD|CHEK|DCHK)$/ ) { - $ban = '<BR><P ALIGN="center">'. - '<INPUT TYPE="checkbox" NAME="ban" VALUE="1"> Ban this customer\\\'s '; - if ( $cust_main->payby =~ /^(CARD|DCRD)$/ ) { - $ban .= 'credit card'; - } elsif ( $cust_main->payby =~ /^(CHEK|DCHK)$/ ) { - $ban .= 'ACH account'; - } -} -%> - -var confirm_cancel = '<FORM METHOD="POST" ACTION="<%= $p %>misc/cust_main-cancel.cgi"> <INPUT TYPE="hidden" NAME="custnum" VALUE="<%= $custnum %>"> <BR><P ALIGN="center"><B>Permanently delete all services and cancel this customer?</B> <%= $ban%><BR><P ALIGN="CENTER"> <INPUT TYPE="submit" VALUE="Cancel customer"> <INPUT TYPE="BUTTON" VALUE="Don\'t cancel" onClick="cClick()"> </FORM> '; +% +%my $ban = ''; +%if ( $cust_main->payby =~ /^(CARD|DCRD|CHEK|DCHK)$/ ) { +% $ban = '<BR><P ALIGN="center">'. +% '<INPUT TYPE="checkbox" NAME="ban" VALUE="1"> Ban this customer\\\'s '; +% if ( $cust_main->payby =~ /^(CARD|DCRD)$/ ) { +% $ban .= 'credit card'; +% } elsif ( $cust_main->payby =~ /^(CHEK|DCHK)$/ ) { +% $ban .= 'ACH account'; +% } +%} +% + + +var confirm_cancel = '<FORM METHOD="POST" ACTION="<% $p %>misc/cust_main-cancel.cgi"> <INPUT TYPE="hidden" NAME="custnum" VALUE="<% $custnum %>"> <BR><P ALIGN="center"><B>Permanently delete all services and cancel this customer?</B> <% $ban%><BR><P ALIGN="CENTER"> <INPUT TYPE="submit" VALUE="Cancel customer"> <INPUT TYPE="BUTTON" VALUE="Don\'t cancel" onClick="cClick()"> </FORM> '; </SCRIPT> +% if ( $curuser->access_right('Cancel customer') +% && $cust_main->ncancelled_pkgs +% ) { +% -<% if ( $cust_main->ncancelled_pkgs ) { %> + <A HREF="javascript:void(0);" onClick="overlib(confirm_cancel, CAPTION, 'Confirm cancellation', STICKY, AUTOSTATUSCAP, CLOSETEXT, '', MIDX, 0, MIDY, 0, DRAGGABLE, WIDTH, 576, HEIGHT, 128, TEXTSIZE, 3, BGCOLOR, '#ff0000', CGCOLOR, '#ff0000' ); return false; ">Cancel this customer</A> | +% } +% if ( $conf->exists('deletecustomers') +% && $curuser->access_right('Delete customer') +% ) { +% - | <A HREF="javascript:void(0);" onClick="overlib(confirm_cancel, CAPTION, 'Confirm cancellation', STICKY, AUTOSTATUSCAP, CLOSETEXT, '', MIDX, 0, MIDY, 0, DRAGGABLE, WIDTH, 576, HEIGHT, 128, TEXTSIZE, 3, BGCOLOR, '#ff0000', CGCOLOR, '#ff0000' ); return false; ">Cancel this customer</A> + <A HREF="<% $p %>misc/delete-customer.cgi?<% $custnum%>">Delete this customer</A> | +% } +% unless ( $conf->exists('disable_customer_referrals') ) { -<% } %> + <A HREF="<% popurl(2) %>edit/cust_main.cgi?referral_custnum=<% $custnum %>">Refer a new customer</A> | + <A HREF="<% popurl(2) %>search/cust_main.cgi?referral_custnum=<% $custnum %>">View this customer's referrals</A> +% } -<% -print qq! | <A HREF="${p}misc/delete-customer.cgi?$custnum">!. - 'Delete this customer</A>' - if $conf->exists('deletecustomers'); - -unless ( $conf->exists('disable_customer_referrals') ) { - print qq! | <A HREF="!, popurl(2), - qq!edit/cust_main.cgi?referral_custnum=$custnum">!, - qq!Refer a new customer</A>!; - - print qq! | <A HREF="!, popurl(2), - qq!search/cust_main.cgi?referral_custnum=$custnum">!, - qq!View this customer's referrals</A>!; -} -print '<BR><BR>'; +<BR><BR> +% +%my $signupurl = $conf->config('signupurl'); +%if ( $signupurl ) { +% -my $signupurl = $conf->config('signupurl'); -if ( $signupurl ) { -print "This customer's signup URL: ". - "<a href=\"$signupurl?ref=$custnum\">$signupurl?ref=$custnum</a><BR><BR>"; -} + This customer's signup URL: <A HREF="<% $signupurl %>?ref=<% $custnum %>"><% $signupurl %>?ref=<% $custnum %></A><BR><BR> +% } -%> <A NAME="cust_main"></A> -<%= &itable() %> +<TABLE BORDER=0> <TR> <TD VALIGN="top"> - <%= include('cust_main/contacts.html', $cust_main ) %> + <% include('cust_main/contacts.html', $cust_main ) %> </TD> - <TD VALIGN="top"> - <%= include('cust_main/misc.html', $cust_main ) %> - <% if ( $conf->config('payby-default') ne 'HIDE' ) { %> + <TD VALIGN="top" STYLE="padding-left: 54px"> + <% include('cust_main/misc.html', $cust_main ) %> +% if ( $conf->config('payby-default') ne 'HIDE' ) { + <BR> - <%= include('cust_main/billing.html', $cust_main ) %> - <% } %> + <% include('cust_main/billing.html', $cust_main ) %> +% } + </TD> </TR> </TABLE> +% +%if ( $cust_main->comments =~ /[^\s\n\r]/ ) { +% -<% -if ( defined $cust_main->dbdef_table->column('comments') - && $cust_main->comments =~ /[^\s\n\r]/ ) { -%> <BR> Comments -<%= ntable("#cccccc") %><TR><TD><%= ntable("#cccccc",2) %> +<% ntable("#cccccc") %><TR><TD><% ntable("#cccccc",2) %> <TR> <TD BGCOLOR="#ffffff"> - <PRE><%= encode_entities($cust_main->comments) %></PRE> + <PRE><% encode_entities($cust_main->comments) %></PRE> </TD> </TR> </TABLE></TABLE> -<% } %> +% } +<BR><BR> +% my $notecount = scalar($cust_main->notes()); +% if ( ! $conf->exists('cust_main-disable_notes') || $notecount) { + +<A NAME="cust_main_note"><FONT SIZE="+2">Notes</FONT></A><BR> +% if ( $curuser->access_right('Add customer note') && +% ! $conf->exists('cust_main-disable_notes') +% ) { + + <A HREF="javascript:void(0);" onClick="overlib( OLiframeContent('<% $p %>edit/cust_main_note.cgi?custnum=<% $cust_main->custnum %>', 616, 386, 'cust_main_note_popup' ), CAPTION, 'Enter customer note', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK); return false;">Add customer note</A> + +% } + +<BR> + +% if ($notecount) { + +<iframe src="<% $p %>view/cust_main/notes.html?custnum=<% $cust_main->custnum %>" height="186" width="616" name="cust_main_notes" frameborder="0" marginborder="0" marginheight="0" scrolling="auto"> + <div><br>[iframe not supported]<br><br></div> +</iframe> + +% }else{ # make firefox happy wrt POSTDATA + +<iframe src="<% $p %>view/cust_main/notes.html?custnum=<% $cust_main->custnum %>" height="24" width="616" name="cust_main_notes" frameborder="0" marginborder="0" marginheight="0" scrolling="auto"> + <div><br>[iframe not supported]<br><br></div> +</iframe> + +% } + +% } + + +% if ( $conf->config('ticket_system') ) { + + <BR><BR> + <% include('cust_main/tickets.html', $cust_main ) %> +% } -<% if ( $conf->config('ticket_system') ) { %> - <BR> - <%= include('cust_main/tickets.html', $cust_main ) %> -<% } %> <BR><BR> -<%= include('cust_main/packages.html', $cust_main ) %> -<% if ( $conf->config('payby-default') ne 'HIDE' ) { %> - <%= include('cust_main/payment_history.html', $cust_main ) %> -<% } %> +% #XXX enable me# if ( $curuser->access_right('View customer packages') { +<% include('cust_main/packages.html', $cust_main ) %> +% #} + +% if ( $conf->config('payby-default') ne 'HIDE' ) { + <% include('cust_main/payment_history.html', $cust_main ) %> +% } + + +<% include('/elements/footer.html') %> +<%init> -</BODY></HTML> +my $curuser = $FS::CurrentUser::CurrentUser; + +die "access denied" + unless $curuser->access_right('View customer'); + +my $conf = new FS::Conf; + +die "No customer specified (bad URL)!" unless $cgi->keywords; +my($query) = $cgi->keywords; # needs parens with my, ->keywords returns array +$query =~ /^(\d+)$/; +my $custnum = $1; +my $cust_main = qsearchs({ + 'table' => 'cust_main', + 'hashref' => {'custnum'=>$custnum}, + 'extra_sql' => ' AND '. $curuser->agentnums_sql, +}); +die "Customer not found!" unless $cust_main; +</%init> |