diff options
Diffstat (limited to 'httemplate/browse')
-rw-r--r-- | httemplate/browse/access_user.html | 87 | ||||
-rwxr-xr-x | httemplate/browse/agent.cgi | 114 | ||||
-rwxr-xr-x | httemplate/browse/part_pkg.cgi | 2 | ||||
-rwxr-xr-x | httemplate/browse/part_referral.html (renamed from httemplate/browse/part_referral.cgi) | 75 |
4 files changed, 203 insertions, 75 deletions
diff --git a/httemplate/browse/access_user.html b/httemplate/browse/access_user.html index be11bf82a..5b787977d 100644 --- a/httemplate/browse/access_user.html +++ b/httemplate/browse/access_user.html @@ -4,6 +4,14 @@ my $html_init = "Internal users have access to the back-office interface. Typically, this is your employees and contractors, but in a VISP setup, you can also add accounts for your reseller's employees. It is <B>highly recommended</B> to add a <B>separate account for each person</B> rather than using role accounts.<BR><BR>". qq!<A HREF="${p}edit/access_user.html"><I>Add an internal user</I></A><BR><BR>!; +#false laziness w/part_pkg.cgi +my %search = (); +my $search = ''; +unless ( $cgi->param('showdisabled') ) { + %search = ( 'disabled' => '' ); + $search = "( disabled = '' OR disabled IS NULL )"; +} + #false laziness w/access_group.html & agent_type.cgi my $groups_sub = sub { my $access_user = shift; @@ -28,36 +36,63 @@ my $groups_sub = sub { }; +my $posttotal; +if ( $cgi->param('showdisabled') ) { + $cgi->param('showdisabled', 0); + $posttotal = '( <a href="'. $cgi->self_url. '">hide disabled users</a> )'; + $cgi->param('showdisabled', 1); +} else { + $cgi->param('showdisabled', 1); + $posttotal = '( <a href="'. $cgi->self_url. '">show disabled users</a> )'; + $cgi->param('showdisabled', 0); +} + my $count_query = 'SELECT COUNT(*) FROM access_user'; +$count_query .= " WHERE $search" + if $search; my $link = [ $p.'edit/access_user.html?', 'usernum' ]; +my @header = ( '#', 'Username' ); +my @fields = ( 'usernum', 'username' ); +my $align = 'rl'; +my @links = ( $link, $link ); +my @style = ( '', '' ); + +#false laziness w/part_pkg.cgi +#unless ( $cgi->param('showdisabled') ) { #its been reversed already +if ( $cgi->param('showdisabled') ) { #its been reversed already + push @header, 'Status'; + push @fields, sub { shift->disabled + ? '<FONT COLOR="#FF0000">DISABLED</FONT>' + : '<FONT COLOR="#00CC00">Active</FONT>' + }; + push @links, ''; + $align .= 'c'; + push @style, 'b'; +} + +push @header, 'Full name', 'Groups'; +push @fields, 'name', $groups_sub; +push @links, $link, ''; +$align .= 'll'; + %><%= include( 'elements/browse.html', - 'title' => 'Internal Users', - 'menubar' => [ #'Main menu' => $p, - 'Internal access groups' => $p.'browse/access_group.html', - ], - 'html_init' => $html_init, - 'name' => 'internal users', - 'query' => { 'table' => 'access_user', - 'hashref' => {}, - 'extra_sql' => 'ORDER BY last, first', - }, - 'count_query' => $count_query, - 'header' => [ '#', - 'Username', - 'Full name', - 'Groups' - ], - 'fields' => [ 'usernum', - 'username', - 'name', # sub { shift->name }, - $groups_sub, - ], - 'links' => [ $link, - $link, - $link, - '' - ], + 'title' => 'Internal Users', + 'menubar' => [ #'Main menu' => $p, + 'Internal access groups' => $p.'browse/access_group.html', + ], + 'html_init' => $html_init, + 'html_posttotal' => $posttotal, + 'name' => 'internal users', + 'query' => { 'table' => 'access_user', + 'hashref' => \%search, + 'extra_sql' => 'ORDER BY last, first', + }, + 'count_query' => $count_query, + 'header' => \@header, + 'fields' => \@fields, + 'links' => \@links, + 'style' => \@style, ) %> diff --git a/httemplate/browse/agent.cgi b/httemplate/browse/agent.cgi index 17cc8bd40..f5157d9b7 100755 --- a/httemplate/browse/agent.cgi +++ b/httemplate/browse/agent.cgi @@ -29,21 +29,27 @@ full offerings (via their type).<BR><BR> %> <% } %> -<%= table() %> +<%= include('/elements/table-grid.html') %> + +<% my $bgcolor1 = '#eeeeee'; + my $bgcolor2 = '#ffffff'; + my $bgcolor = ''; +%> + <TR> - <TH COLSPAN=<%= ( $cgi->param('showdisabled') || !dbdef->table('agent')->column('disabled') ) ? 2 : 3 %>>Agent</TH> - <TH>Type</TH> - <TH>Customers</TH> - <TH><FONT SIZE=-1>Customer<BR>packages</FONT></TH> - <TH>Reports</TH> - <TH>Registration codes</TH> - <TH>Prepaid cards</TH> + <TH CLASS="grid" BGCOLOR="#cccccc" COLSPAN=<%= ( $cgi->param('showdisabled') || !dbdef->table('agent')->column('disabled') ) ? 2 : 3 %>>Agent</TH> + <TH CLASS="grid" BGCOLOR="#cccccc">Type</TH> + <TH CLASS="grid" BGCOLOR="#cccccc">Customers</TH> + <TH CLASS="grid" BGCOLOR="#cccccc"><FONT SIZE=-1>Customer<BR>packages</FONT></TH> + <TH CLASS="grid" BGCOLOR="#cccccc">Reports</TH> + <TH CLASS="grid" BGCOLOR="#cccccc">Registration codes</TH> + <TH CLASS="grid" BGCOLOR="#cccccc">Prepaid cards</TH> <% if ( $conf->config('ticket_system') ) { %> - <TH>Ticketing</TH> + <TH CLASS="grid" BGCOLOR="#cccccc">Ticketing</TH> <% } %> - <TH><FONT SIZE=-1>Payment Gateway Overrides</FONT></TH> - <TH><FONT SIZE=-1>Freq.</FONT></TH> - <TH><FONT SIZE=-1>Prog.</FONT></TH> + <TH CLASS="grid" BGCOLOR="#cccccc"><FONT SIZE=-1>Payment Gateway Overrides</FONT></TH> + <TH CLASS="grid" BGCOLOR="#cccccc"><FONT SIZE=-1>Freq.</FONT></TH> + <TH CLASS="grid" BGCOLOR="#cccccc"><FONT SIZE=-1>Prog.</FONT></TH> </TR> <% # <TH><FONT SIZE=-1>Agent #</FONT></TH> @@ -58,107 +64,157 @@ foreach my $agent ( sort { 'agentnum='. $agent->agentnum; my $cust_pkg_link = $p. 'search/cust_pkg.cgi?agentnum='. $agent->agentnum; + + if ( $bgcolor eq $bgcolor1 ) { + $bgcolor = $bgcolor2; + } else { + $bgcolor = $bgcolor1; + } %> <TR> - <TD><A HREF="<%=$p%>edit/agent.cgi?<%= $agent->agentnum %>"> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><A HREF="<%=$p%>edit/agent.cgi?<%= $agent->agentnum %>"> <%= $agent->agentnum %></A></TD> <% if ( dbdef->table('agent')->column('disabled') && !$cgi->param('showdisabled') ) { %> - <TD><%= $agent->disabled ? 'DISABLED' : '' %></TD> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><%= $agent->disabled ? 'DISABLED' : '' %></TD> <% } %> - <TD><A HREF="<%=$p%>edit/agent.cgi?<%= $agent->agentnum %>"> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><A HREF="<%=$p%>edit/agent.cgi?<%= $agent->agentnum %>"> <%= $agent->agent %></A></TD> - <TD><A HREF="<%=$p%>edit/agent_type.cgi?<%= $agent->typenum %>"><%= $agent->agent_type->atype %></A></TD> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><A HREF="<%=$p%>edit/agent_type.cgi?<%= $agent->typenum %>"><%= $agent->agent_type->atype %></A></TD> + + <TD CLASS="inv" BGCOLOR="<%= $bgcolor %>"> + <TABLE CLASS="inv" CELLSPACING=0 CELLPADDING=0> - <TD> - <TABLE CELLSPACING=0 CELLPADDING=0> <TR> <TH ALIGN="right" WIDTH="40%"> - <%= my $num_prospect = $agent->num_prospect_cust_main %> + <FONT COLOR="#7e0079"> + <%= my $num_prospect = $agent->num_prospect_cust_main %> + </FONT> </TH> + <TD> <% if ( $num_prospect ) { %> <A HREF="<%= $cust_main_link %>&prospect=1"><% } %>prospects<% if ($num_prospect ) { %></A><% } %> <TD> </TR> + + <TR> + <TH ALIGN="right" WIDTH="40%"> + <FONT COLOR="#0000CC"> + <%= my $num_inactive = $agent->num_inactive_cust_main %> + </FONT> + </TH> + + <TD> + <% if ( $num_inactive ) { %> + <A HREF="<%= $cust_main_link %>&inactive=1"><% } %>inactive<% if ( $num_inactive ) { %></A><% } %> + </TD> + </TR> + <TR> <TH ALIGN="right" WIDTH="40%"> <FONT COLOR="#00CC00"> <%= my $num_active = $agent->num_active_cust_main %> </FONT> </TH> + <TD> <% if ( $num_active ) { %> <A HREF="<%= $cust_main_link %>&active=1"><% } %>active<% if ( $num_active ) { %></A><% } %> </TD> </TR> + <TR> <TH ALIGN="right" WIDTH="40%"> <FONT COLOR="#FF9900"> <%= my $num_susp = $agent->num_susp_cust_main %> </FONT> </TH> + <TD> <% if ( $num_susp ) { %> <A HREF="<%= $cust_main_link %>&suspended=1"><% } %>suspended<% if ( $num_susp ) { %></A><% } %> </TD> </TR> + <TR> <TH ALIGN="right" WIDTH="40%"> <FONT COLOR="#FF0000"> <%= my $num_cancel = $agent->num_cancel_cust_main %> </FONT> </TH> + <TD> <% if ( $num_cancel ) { %> <A HREF="<%= $cust_main_link %>&showcancelledcustomers=1&cancelled=1"><% } %>cancelled<% if ( $num_cancel ) { %></A><% } %> </TD> </TR> + </TABLE> </TD> - <TD> - <TABLE CELLSPACING=0 CELLPADDING=0> + <TD CLASS="inv" BGCOLOR="<%= $bgcolor %>" VALIGN="bottom"> + <TABLE CLASS="inv" CELLSPACING=0 CELLPADDING=0> + + <TR> + <TH ALIGN="right" WIDTH="40%"> + <FONT COLOR="#0000CC"> + <%= my $num_inactive_pkg = $agent->num_inactive_cust_pkg %> + </FONT> + </TH> + + <TD> + <% if ( $num_inactive_pkg ) { %> + <A HREF="<%= $cust_pkg_link %>&magic=inactive"><% } %>inactive<% if ( $num_inactive_pkg ) { %></A><% } %> + </TD> + </TR> + <TR> <TH ALIGN="right" WIDTH="40%"> <FONT COLOR="#00CC00"> <%= my $num_active_pkg = $agent->num_active_cust_pkg %> </FONT> </TH> + <TD> <% if ( $num_active_pkg ) { %> <A HREF="<%= $cust_pkg_link %>&magic=active"><% } %>active<% if ( $num_active_pkg ) { %></A><% } %> </TD> </TR> + <TR> <TH ALIGN="right" WIDTH="40%"> <FONT COLOR="#FF9900"> <%= my $num_susp_pkg = $agent->num_susp_cust_pkg %> </FONT> + </TH> <TD> <% if ( $num_susp_pkg ) { %> <A HREF="<%= $cust_pkg_link %>&magic=suspended"><% } %>suspended<% if ( $num_susp_pkg ) { %></A><% } %> </TD> </TR> + <TR> <TH ALIGN="right" WIDTH="40%"> <FONT COLOR="#FF0000"> <%= my $num_cancel_pkg = $agent->num_cancel_cust_pkg %> </FONT> </TH> + <TD> <% if ( $num_cancel_pkg ) { %> <A HREF="<%= $cust_pkg_link %>&magic=cancelled"><% } %>cancelled<% if ( $num_cancel_pkg ) { %></A><% } %> </TD> </TR> + </TABLE> </TD> - <TD> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"> <A HREF="<%= $p %>search/report_cust_pay.html?agentnum=<%= $agent->agentnum %>">Payments</A> <BR><A HREF="<%= $p %>search/report_cust_credit.html?agentnum=<%= $agent->agentnum %>">Credits</A> <BR><A HREF="<%= $p %>search/report_receivables.cgi?agentnum=<%= $agent->agentnum %>">A/R Aging</A> @@ -166,14 +222,14 @@ foreach my $agent ( sort { </TD> - <TD> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"> <%= my $num_reg_code = $agent->num_reg_code %> <% if ( $num_reg_code ) { %> <A HREF="<%=$p%>search/reg_code.html?agentnum=<%= $agent->agentnum %>"><% } %>Unused<% if ( $num_reg_code ) { %></A><% } %> <BR><A HREF="<%=$p%>edit/reg_code.cgi?agentnum=<%= $agent->agentnum %>">Generate codes</A> </TD> - <TD> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"> <%= my $num_prepay_credit = $agent->num_prepay_credit %> <% if ( $num_prepay_credit ) { %> <A HREF="<%=$p%>search/prepay_credit.html?agentnum=<%= $agent->agentnum %>"><% } %>Unused<% if ( $num_prepay_credit ) { %></A><% } %> @@ -182,7 +238,7 @@ foreach my $agent ( sort { <% if ( $conf->config('ticket_system') ) { %> - <TD> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"> <% if ( $agent->ticketing_queueid ) { %> Queue: <%= $agent->ticketing_queueid %>: <%= $agent->ticketing_queue %><BR> <% } %> @@ -190,7 +246,7 @@ foreach my $agent ( sort { <% } %> - <TD> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"> <TABLE CELLSPACING=0 CELLPADDING=0> <% foreach my $override ( # sort { } want taxclass-full stuff first? and default cards (empty cardtype) @@ -214,8 +270,10 @@ foreach my $agent ( sort { </TABLE> </TD> - <TD><%= $agent->freq %></TD> - <TD><%= $agent->prog %></TD> +<!-- + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><%= $agent->freq %></TD> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><%= $agent->prog %></TD> +--> </TR> diff --git a/httemplate/browse/part_pkg.cgi b/httemplate/browse/part_pkg.cgi index b67a5e55f..a5e212d17 100755 --- a/httemplate/browse/part_pkg.cgi +++ b/httemplate/browse/part_pkg.cgi @@ -1,5 +1,6 @@ <% +#false laziness w/access_user.html my %search = (); my $search = ''; unless ( $cgi->param('showdisabled') ) { @@ -71,6 +72,7 @@ my $align = 'rll'; my @links = ( $link, $link, '' ); my @style = ( '', '', '' ); +#false laziness w/access_user.html #unless ( $cgi->param('showdisabled') ) { #its been reversed already if ( $cgi->param('showdisabled') ) { #its been reversed already push @header, 'Status'; diff --git a/httemplate/browse/part_referral.cgi b/httemplate/browse/part_referral.html index 238ddace7..c50a406ed 100755 --- a/httemplate/browse/part_referral.cgi +++ b/httemplate/browse/part_referral.html @@ -1,11 +1,9 @@ -<!-- mason kludge --> -<%= include("/elements/header.html","Advertising source Listing", menubar( - 'Main Menu' => $p, -# 'Add new referral' => "../edit/part_referral.cgi", -)) %> +<%= include("/elements/header.html","Advertising source Listing" ) %> + Where a customer heard about your service. Tracked for informational purposes. <BR><BR> -<A HREF="<%= $p %>edit/part_referral.cgi"><I>Add a new advertising source</I></A> + +<A HREF="<%= $p %>edit/part_referral.html"><I>Add a new advertising source</I></A> <BR><BR> <% @@ -34,36 +32,71 @@ Where a customer heard about your service. Tracked for informational purposes. 'Total' => 86400, # 60sec * 60min * 24hrs ); + my $curuser = $FS::CurrentUser::CurrentUser; + my $statement = "SELECT COUNT(*) FROM h_cust_main WHERE history_action = 'insert' AND refnum = ? AND history_date >= ? AND history_date < ? - "; + AND ". $curuser->agentnums_sql; my $sth = dbh->prepare($statement) or die dbh->errstr; + + my $show_agentnums = scalar($curuser->agentnums); + +%> + +<%= include('/elements/table-grid.html') %> + +<% my $bgcolor1 = '#eeeeee'; + my $bgcolor2 = '#ffffff'; + my $bgcolor = ''; %> -<%= table() %> <TR> - <TH COLSPAN=2 ROWSPAN=2>Advertising source</TH> - <TH COLSPAN=<%= scalar(keys %after) %>>Customers</TH> + <TH CLASS="grid" BGCOLOR="#cccccc" COLSPAN=2 ROWSPAN=2>Advertising source</TH> + <% if ( $show_agentnums ) { %> + <TH CLASS="grid" BGCOLOR="#cccccc" ROWSPAN=2>Agent</TH> + <% } %> + <TH CLASS="grid" BGCOLOR="#cccccc" COLSPAN=<%= scalar(keys %after) %>>Customers</TH> </TR> <% for my $period ( keys %after ) { %> - <TH><FONT SIZE=-1><%= $period %></FONT></TH> + <TH CLASS="grid" BGCOLOR="#cccccc"><FONT SIZE=-1><%= $period %></FONT></TH> <% } %> </TR> <% -foreach my $part_referral ( sort { - $a->getfield('refnum') <=> $b->getfield('refnum') -} qsearch('part_referral',{}) ) { +foreach my $part_referral ( FS::part_referral->all_part_referral(1) ) { + + if ( $bgcolor eq $bgcolor1 ) { + $bgcolor = $bgcolor2; + } else { + $bgcolor = $bgcolor1; + } + + $a = 0; + %> <TR> - <TD><A HREF="<%= $p %>edit/part_referral.cgi?<%= $part_referral->refnum %>"> - <%= $part_referral->refnum %></A></TD> - <TD><A HREF="<%= $p %>edit/part_referral.cgi?<%= $part_referral->refnum %>"> - <%= $part_referral->referral %></A></TD> + + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"> + <% if ( $part_referral->agentnum || $curuser->access_right('Edit global advertising sources') ) { + $a++; + %> + <A HREF="<%= $p %>edit/part_referral.html?<%= $part_referral->refnum %>"> + <% } %> + <%= $part_referral->refnum %><%= $a ? '</A>' : '' %></TD> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"> + <% if ( $a ) { %> + <A HREF="<%= $p %>edit/part_referral.html?<%= $part_referral->refnum %>"> + <% } %> + <%= $part_referral->referral %><%= $a ? '</A>' : '' %></TD> + + <% if ( $show_agentnums ) { %> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><%= $part_referral->agentnum ? $part_referral->agent->agent : '(global)' %></TD> + <% } %> + <% for my $period ( keys %after ) { $sth->execute( $part_referral->refnum, $today-$after{$period}, @@ -71,7 +104,7 @@ foreach my $part_referral ( sort { ) or die $sth->errstr; my $number = $sth->fetchrow_arrayref->[0]; %> - <TD ALIGN="right"><%= $number %></TD> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>" ALIGN="right"><%= $number %></TD> <% } %> </TR> <% } %> @@ -82,14 +115,14 @@ foreach my $part_referral ( sort { or die dbh->errstr; %> <TR> - <TH COLSPAN=2>Total</TH> + <TD BGCOLOR="#dddddd" ALIGN="center" COLSPAN=3><B>Total</B></TD> <% for my $period ( keys %after ) { $sth->execute( $today-$after{$period}, $today+$before{$period}, ) or die $sth->errstr; my $number = $sth->fetchrow_arrayref->[0]; %> - <TD ALIGN="right"><%= $number %></TD> + <TD BGCOLOR="#dddddd" ALIGN="right"><B><%= $number %><B></TD> <% } %> </TR> </TABLE> |