X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fcust_main.cgi;h=78bcb1fc138b9b5cb7a123202762c927e2536e73;hb=e1b1693a656964c6db0b8a3fb85494014434dcb1;hp=05d1c8d69a9bfd9fb7e141a68474ff39ab1f470b;hpb=5ea49c83c4a5b71a1e7baf2b6a75fe50816fdce5;p=freeside.git
diff --git a/httemplate/view/cust_main.cgi b/httemplate/view/cust_main.cgi
index 05d1c8d69..78bcb1fc1 100755
--- a/httemplate/view/cust_main.cgi
+++ b/httemplate/view/cust_main.cgi
@@ -1,13 +1,21 @@
-<% include("/elements/header.html","Customer View: ". $cust_main->name ) %>
+<% include('/elements/header.html', {
+ 'title' => "Customer View: ". $cust_main->name,
+ 'nobr' => 1,
+ })
+%>
+
-% if ( $curuser->access_right('Edit customer') ) {
- Edit this customer |
-% }
+<% include('/elements/menubar.html',
+ { 'newstyle' => 1,
+ 'selected' => $viewname{$view},
+ 'url_base' => $cgi->url. "?custnum=$custnum;show=",
+ },
+ %views,
+ )
+%>
+
-
-
-
-
+<% include('/elements/init_overlib.html') %>
+% if ( $view eq 'basics' || $view eq 'jumbo' ) {
+
+% if ( $curuser->access_right('Edit customer') ) {
+ Edit this customer |
+% }
+
% if ( $curuser->access_right('Cancel customer')
% && $cust_main->ncancelled_pkgs
% ) {
@@ -30,7 +44,7 @@ function areyousure(href, message) {
)
%> |
-% }
+% }
% if ( $conf->exists('deletecustomers')
% && $curuser->access_right('Delete customer')
@@ -77,10 +91,12 @@ function areyousure(href, message) {
-%
-%if ( $cust_main->comments =~ /[^\s\n\r]/ ) {
-%
+% }
+
+% if ( $view eq 'notes' || $view eq 'jumbo' ) {
+
+%if ( $cust_main->comments =~ /[^\s\n\r]/ ) {
Comments
<% ntable("#cccccc") %>
<% ntable("#cccccc",2) %>
@@ -90,56 +106,84 @@ Comments
|
-% }
+% }
+
% my $notecount = scalar($cust_main->notes());
% if ( ! $conf->exists('cust_main-disable_notes') || $notecount) {
-Notes
+% unless ( $view eq 'notes' && $cust_main->comments !~ /[^\s\n\r]/ ) {
+
+ Notes
+% }
+
% if ( $curuser->access_right('Add customer note') &&
% ! $conf->exists('cust_main-disable_notes')
% ) {
- Add customer note
+ <% include( '/elements/popup_link-cust_main.html',
+ 'label' => 'Add customer note',
+ 'action' => $p. 'edit/cust_main_note.cgi',
+ 'actionlabel' => 'Enter customer note',
+ 'cust_main' => $cust_main,
+ 'width' => 616,
+ 'height' => 408,
+ )
+ %>
% }
-% if ($notecount) {
-
-
+<% include('cust_main/notes.html', 'custnum' => $cust_main->custnum ) %>
-% }else{ # make firefox happy wrt POSTDATA
-
-
+% }
-% }
+% }
+% if ( $view eq 'jumbo' ) {
+
+ Tickets
% }
+% if ( $view eq 'tickets' || $view eq 'jumbo' ) {
% if ( $conf->config('ticket_system') ) {
-
-
<% include('cust_main/tickets.html', $cust_main ) %>
% }
+
+
+% }
+% if ( $view eq 'jumbo' ) { #XXX enable me && $curuser->access_right('View customer packages') {
-
+ Packages
+% }
+
+% if ( $view eq 'packages' || $view eq 'jumbo' ) {
% #XXX enable me# if ( $curuser->access_right('View customer packages') {
<% include('cust_main/packages.html', $cust_main ) %>
% #}
+% }
+
+% if ( $view eq 'jumbo' ) {
+
+ Payment History
+% }
+
+% if ( $view eq 'payment_history' || $view eq 'jumbo' ) {
+
% if ( $conf->config('payby-default') ne 'HIDE' ) {
<% include('cust_main/payment_history.html', $cust_main ) %>
% }
+% }
+
+% if ( $view eq 'change_history' ) { # || $view eq 'jumbo'
+ <% include('cust_main/change_history.html', $cust_main ) %>
+% }
<% include('/elements/footer.html') %>
<%init>
@@ -151,10 +195,16 @@ die "access denied"
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 $custnum;
+if ( $cgi->param('custnum') =~ /^(\d+)$/ ) {
+ $custnum = $1;
+} else {
+ die "No customer specified (bad URL)!" unless $cgi->keywords;
+ my($query) = $cgi->keywords; # needs parens with my, ->keywords returns array
+ $query =~ /^(\d+)$/;
+ $custnum = $1;
+}
+
my $cust_main = qsearchs( {
'table' => 'cust_main',
'hashref' => { 'custnum' => $custnum },
@@ -162,4 +212,22 @@ my $cust_main = qsearchs( {
});
die "Customer not found!" unless $cust_main;
+#false laziness w/pref/pref.html and Conf.pm (cust_main-default_view)
+tie my %views, 'Tie::IxHash',
+ 'Basics' => 'basics',
+ 'Notes' => 'notes', #notes and files?
+;
+$views{'Tickets'} = 'tickets'
+ if $conf->config('ticket_system');
+$views{'Packages'} = 'packages';
+$views{'Payment History'} = 'payment_history'
+ unless $conf->config('payby-default' eq 'HIDE');
+$views{'Change History'} = 'change_history'
+ if $curuser->access_right('View customer history');
+$views{'Jumbo'} = 'jumbo';
+
+my %viewname = reverse %views;
+
+my $view = $cgi->param('show') || $curuser->default_customer_view;
+
%init>