diff options
Diffstat (limited to 'httemplate')
-rw-r--r-- | httemplate/elements/menubar.html | 119 | ||||
-rw-r--r-- | httemplate/pref/pref-process.html | 2 | ||||
-rw-r--r-- | httemplate/pref/pref.html | 32 | ||||
-rwxr-xr-x | httemplate/view/cust_main.cgi | 104 | ||||
-rwxr-xr-x | httemplate/view/cust_main/packages.html | 2 | ||||
-rw-r--r-- | httemplate/view/cust_main/payment_history.html | 2 | ||||
-rw-r--r-- | httemplate/view/cust_main/tickets.html | 3 |
7 files changed, 229 insertions, 35 deletions
diff --git a/httemplate/elements/menubar.html b/httemplate/elements/menubar.html index ec6c13fea..4d2700cc5 100644 --- a/httemplate/elements/menubar.html +++ b/httemplate/elements/menubar.html @@ -1,10 +1,109 @@ -% -% my($item, $url, @html); -% while (@_) { -% ($item, $url) = splice(@_,0,2); -% next if $item =~ /^\s*Main\s+Menu\s*$/i; -% push @html, qq!<A HREF="$url">$item</A>!; -% } -% - -<% join(' | ', @html) %> +<%doc> + +Example: + + include( '/elements/menubar.html', + + #options hashref (optional) + { 'newstyle' => 1, #may become the default at some point + }, + + #menubar entries (required) + 'label' => $url, + 'label2' => $url2, + #etc. + + ); + +</%doc> +%if ( $opt->{'newstyle'} ) { + +% #false laziness w/header.html... shouldn't these just go in freeside.css? + + <style type="text/css"> + a.fsblackbutton { + background-color:#333333; + color: #ffffff; + border:1px solid; + border-top-color:#cccccc; + border-left-color:#cccccc; + border-right-color:#aaaaaa; + border-bottom-color:#aaaaaa; + /*font-weight:bold;*/ + /*padding-left:12px; + padding-right:12px;*/ + padding-left:4px; + padding-right:4px; + text-decoration:none; + overflow:visible; + filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr='#ff333333',EndColorStr='#ff666666') + } + + a.fsblackbuttonselected { + background-color:#7e0079; + color: #ffffff; + border:1px solid; + border-top-color:#cccccc; + border-left-color:#cccccc; + border-right-color:#aaaaaa; + border-bottom-color:#aaaaaa; + /*font-weight:bold;*/ + /*padding-left:12px; + padding-right:12px;*/ + padding-left:4px; + padding-right:4px; + text-decoration:none; + overflow:visible; + filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr='#ff330033',EndColorStr='#ff7e0079') + } + </style> + + <TABLE BGCOLOR="#000000" BORDER=0 CELLSPACING=0 CELLPADDING=4> + <TR> + <TD STYLE="background-image:url(<%$fsurl%>images/gray-black-side.png); background-repeat:repeat-y;padding-left:0px"> + + </TD> + <TD> + <% join(' ', @html ) %> + </TD> + <TD STYLE="background-image:url(<%$fsurl%>images/black-gray-side.png); background-repeat:repeat-y;padding-right:0px"> + + </TD> + </TR> + </TABLE> + +%} else { + + <% join(' | ', @html) %> + +%} +<%init> + +my $opt = ref($_[0]) ? shift : {}; + +my $url_base = $opt->{'url_base'}; + +my @html; +while (@_) { + + my ($item, $url) = splice(@_,0,2); + next if $item =~ /^\s*Main\s+Menu\s*$/i; + + my $style = ''; + if ( $opt->{'newstyle'} ) { + + my $dclass = $item eq $opt->{'selected'} + ? 'fsblackbuttonselected' + : 'fsblackbutton'; + + $style = + qq( CLASS="$dclass" ). + qq( onMouseOver="this.className='fsblackbuttonselected'; return true;" ). + qq( onMouseOut="this.className='$dclass'; return true;" ); + } + + push @html, qq!<A HREF="$url_base$url" $style>$item</A>!; + +} + +</%init> diff --git a/httemplate/pref/pref-process.html b/httemplate/pref/pref-process.html index 368d84f10..378164e7b 100644 --- a/httemplate/pref/pref-process.html +++ b/httemplate/pref/pref-process.html @@ -43,7 +43,7 @@ unless ( $error ) { # if ($access_user) { my %param = $access_user->options; #XXX autogen - my @paramlist = qw( menu_position + my @paramlist = qw( menu_position default_customer_view email_address vonage-fromnumber vonage-username vonage-password show_pkgnum show_db_profile save_db_profile diff --git a/httemplate/pref/pref.html b/httemplate/pref/pref.html index 1f4edf2cb..81800bf26 100644 --- a/httemplate/pref/pref.html +++ b/httemplate/pref/pref.html @@ -31,7 +31,7 @@ Interface <% ntable("#cccccc",2) %> <TR> - <TH>Menu location: </TH> + <TH ALIGN="right">Menu location: </TH> <TD> <INPUT TYPE="radio" NAME="menu_position" VALUE="left" onClick="document.images['menu_example'].src='../images/menu-left-example.png';" <% $menu_position eq 'left' ? ' CHECKED' : ''%>> Left<BR> <INPUT TYPE="radio" NAME="menu_position" VALUE="top"onClick="document.images['menu_example'].src='../images/menu-top-example.png';" <% $menu_position eq 'top' ? ' CHECKED' : ''%>> Top <BR> @@ -39,6 +39,21 @@ Interface <TD><IMG NAME="menu_example" SRC="../images/menu-<% $menu_position %>-example.png"></TD> </TR> + <TR> + <TH ALIGN="right">Default customer view: </TD> + <TD COLSPAN=2> + <SELECT NAME="default_customer_view"> +% foreach my $view ( keys %customer_views ) { +% my $selected = +% $customer_views{$view} eq $curuser->option('default_customer_view') +% ? 'SELECTED' +% : ''; + <OPTION VALUE="<%$customer_views{$view}%>" <%$selected%>><%$view%></OPTION> +% } + </SELECT> + </TD> + </TR> + </TABLE> <BR> @@ -109,6 +124,21 @@ Vonage integration (see <a href="https://secure.click2callu.com/">Click2Call</a> <INPUT TYPE="submit" VALUE="Update preferences"> <% include('/elements/footer.html') %> +<%once> + + #false laziness w/view/cust_main.cgi + + tie my %customer_views, 'Tie::IxHash', + 'Basics' => 'basics', + 'Notes' => 'notes', #notes and files? + 'Tickets' => 'tickets', + 'Packages' => 'packages', + 'Payment History' => 'payment_history', + #'Change History' => '', + 'Jumbo' => 'jumbo', + ; + +</%once> <%init> my $curuser = $FS::CurrentUser::CurrentUser; diff --git a/httemplate/view/cust_main.cgi b/httemplate/view/cust_main.cgi index 2231d4148..00856a021 100755 --- a/httemplate/view/cust_main.cgi +++ b/httemplate/view/cust_main.cgi @@ -1,8 +1,19 @@ -<% include("/elements/header.html","Customer View: ". $cust_main->name ) %> +<% include('/elements/header.html', { + 'title' => "Customer View: ". $cust_main->name, + 'nobr' => 1, + }) +%> +<BR> -% if ( $curuser->access_right('Edit customer') ) { - <A HREF="<% $p %>edit/cust_main.cgi?<% $custnum %>">Edit this customer</A> | -% } +<% include('/elements/menubar.html', + { 'newstyle' => 1, + 'selected' => $viewname{$view}, + 'url_base' => $cgi->url. "?custnum=$custnum;show=", + }, + %views, + ) +%> +<BR> <% include('/elements/init_overlib.html') %> @@ -13,6 +24,12 @@ function areyousure(href, message) { } </SCRIPT> +% if ( $view eq 'basics' || $view eq 'jumbo' ) { + +% if ( $curuser->access_right('Edit customer') ) { + <A HREF="<% $p %>edit/cust_main.cgi?<% $custnum %>">Edit this customer</A> | +% } + % if ( $curuser->access_right('Cancel customer') % && $cust_main->ncancelled_pkgs % ) { @@ -74,10 +91,12 @@ function areyousure(href, message) { </TD> </TR> </TABLE> -% -%if ( $cust_main->comments =~ /[^\s\n\r]/ ) { -% +% } + +% if ( $view eq 'notes' || $view eq 'jumbo' ) { + +%if ( $cust_main->comments =~ /[^\s\n\r]/ ) { <BR> Comments <% ntable("#cccccc") %><TR><TD><% ntable("#cccccc",2) %> @@ -87,12 +106,16 @@ Comments </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> +% unless ( $view eq 'notes' && $cust_main->comments !~ /[^\s\n\r]/ ) { + <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') % ) { @@ -115,24 +138,47 @@ Comments % } +% } -% if ( $conf->config('ticket_system') ) { +% if ( $view eq 'jumbo' ) { + <BR><BR> + <A NAME="tickets"><FONT SIZE="+2">Tickets</FONT></A><BR> +% } - <BR><BR> +% if ( $view eq 'tickets' || $view eq 'jumbo' ) { + +% if ( $conf->config('ticket_system') ) { <% include('cust_main/tickets.html', $cust_main ) %> % } + <BR><BR> +% } -<BR><BR> +% if ( $view eq 'jumbo' ) { #XXX enable me && $curuser->access_right('View customer packages') { + + <A NAME="cust_pkg"><FONT SIZE="+2">Packages</FONT></A><BR> +% } + +% 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' ) { + <BR><BR> + <A NAME="history"><FONT SIZE="+2">Payment History</FONT></A><BR> +% } + +% if ( $view eq 'payment_history' || $view eq 'jumbo' ) { + % if ( $conf->config('payby-default') ne 'HIDE' ) { <% include('cust_main/payment_history.html', $cust_main ) %> % } +% } <% include('/elements/footer.html') %> <%init> @@ -144,10 +190,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 }, @@ -155,4 +207,24 @@ my $cust_main = qsearchs( { }); die "Customer not found!" unless $cust_main; +#false laziness w/pref/pref.html +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'} = ''; +$views{'Jumbo'} = 'jumbo'; + +my %viewname = reverse %views; + + +my $view = $cgi->param('show') + || $curuser->option('default_customer_view') + || 'jumbo'; #'Basics' in 1.9.1? + </%init> diff --git a/httemplate/view/cust_main/packages.html b/httemplate/view/cust_main/packages.html index 0c0526d42..428794b7d 100755 --- a/httemplate/view/cust_main/packages.html +++ b/httemplate/view/cust_main/packages.html @@ -1,5 +1,3 @@ -<A NAME="cust_pkg"><FONT SIZE="+2">Packages</FONT></A><BR> - % my $s = 0; % if ( $curuser->access_right('Order customer package') ) { <% $s++ ? ' | ' : '' %> diff --git a/httemplate/view/cust_main/payment_history.html b/httemplate/view/cust_main/payment_history.html index 335ce2485..f2abe0eac 100644 --- a/httemplate/view/cust_main/payment_history.html +++ b/httemplate/view/cust_main/payment_history.html @@ -1,5 +1,3 @@ -<BR><BR><A NAME="history"><FONT SIZE="+2">Payment History</FONT></A><BR> - %# payment links % my $s = 0; diff --git a/httemplate/view/cust_main/tickets.html b/httemplate/view/cust_main/tickets.html index b5d581d50..167849c76 100644 --- a/httemplate/view/cust_main/tickets.html +++ b/httemplate/view/cust_main/tickets.html @@ -1,6 +1,3 @@ -<A NAME="tickets"><FONT SIZE="+2">Tickets</FONT></A> -<BR> - (<A HREF="<% $open_link %>">View <% $openlabel %> tickets for this customer</A>) (<A HREF="<% $res_link %>">View resolved tickets for this customer</A>) <BR> |