diff options
Diffstat (limited to 'httemplate/browse')
-rw-r--r-- | httemplate/browse/addr_block.cgi | 76 | ||||
-rwxr-xr-x | httemplate/browse/agent.cgi | 226 | ||||
-rwxr-xr-x | httemplate/browse/agent_type.cgi | 60 | ||||
-rwxr-xr-x | httemplate/browse/cust_main_county.cgi | 142 | ||||
-rwxr-xr-x | httemplate/browse/cust_pay_batch.cgi | 76 | ||||
-rw-r--r-- | httemplate/browse/generic.cgi | 46 | ||||
-rwxr-xr-x | httemplate/browse/msgcat.cgi | 50 | ||||
-rwxr-xr-x | httemplate/browse/nas.cgi | 80 | ||||
-rwxr-xr-x | httemplate/browse/part_bill_event.cgi | 71 | ||||
-rwxr-xr-x | httemplate/browse/part_export.cgi | 39 | ||||
-rwxr-xr-x | httemplate/browse/part_pkg.cgi | 169 | ||||
-rwxr-xr-x | httemplate/browse/part_referral.cgi | 97 | ||||
-rwxr-xr-x | httemplate/browse/part_svc.cgi | 137 | ||||
-rw-r--r-- | httemplate/browse/part_virtual_field.cgi | 39 | ||||
-rw-r--r-- | httemplate/browse/payment_gateway.html | 70 | ||||
-rwxr-xr-x | httemplate/browse/queue.cgi | 5 | ||||
-rw-r--r-- | httemplate/browse/rate.cgi | 34 | ||||
-rw-r--r-- | httemplate/browse/router.cgi | 57 | ||||
-rwxr-xr-x | httemplate/browse/svc_acct_pop.cgi | 63 |
19 files changed, 0 insertions, 1537 deletions
diff --git a/httemplate/browse/addr_block.cgi b/httemplate/browse/addr_block.cgi deleted file mode 100644 index 06ac556cf..000000000 --- a/httemplate/browse/addr_block.cgi +++ /dev/null @@ -1,76 +0,0 @@ -<%= header('Address Blocks', menubar('Main Menu' => $p)) %> -<% - -use NetAddr::IP; - -my @addr_block = qsearch('addr_block', {}); -my @router = qsearch('router', {}); -my $block; -my $p2 = popurl(2); -my $path = $p2 . "edit/process/addr_block"; - -%> - -<% if ($cgi->param('error')) { %> - <FONT SIZE="+1" COLOR="#ff0000">Error: <%=$cgi->param('error')%></FONT> - <BR><BR> -<% } %> - -<%=table()%> - -<% foreach $block (sort {$a->NetAddr cmp $b->NetAddr} @addr_block) { %> - <TR> - <TD><%=$block->NetAddr%></TD> - <% if (my $router = $block->router) { %> - <% if (scalar($block->svc_broadband) == 0) { %> - <TD> - <%=$router->routername%> - </TD> - <TD> - <FORM ACTION="<%=$path%>/deallocate.cgi" METHOD="POST"> - <INPUT TYPE="hidden" NAME="blocknum" VALUE="<%=$block->blocknum%>"> - <INPUT TYPE="submit" NAME="submit" VALUE="Deallocate"> - </FORM> - </TD> - <% } else { %> - <TD COLSPAN="2"> - <%=$router->routername%> - </TD> - <% } %> - <% } else { %> - <TD> - <FORM ACTION="<%=$path%>/allocate.cgi" METHOD="POST"> - <INPUT TYPE="hidden" NAME="blocknum" VALUE="<%=$block->blocknum%>"> - <SELECT NAME="routernum" SIZE="1"> - <% foreach (@router) { %> - <OPTION VALUE="<%=$_->routernum %>"><%=$_->routername%></OPTION> - <% } %> - </SELECT> - <INPUT TYPE="submit" NAME="submit" VALUE="Allocate"> - </FORM> - </TD> - <TD> - <FORM ACTION="<%=$path%>/split.cgi" METHOD="POST"> - <INPUT TYPE="hidden" NAME="blocknum" VALUE="<%=$block->blocknum%>"> - <INPUT TYPE="submit" NAME="submit" VALUE="Split"> - </FORM> - </TD> - </TR> -<% } - } %> - <TR><TD COLSPAN="3"><BR></TD></TR> - <TR> - <FORM ACTION="<%=$path%>/add.cgi" METHOD="POST"> - <TD>Gateway/Netmask</TD> - <TD> - <INPUT TYPE="text" NAME="ip_gateway" SIZE="15">/<INPUT TYPE="text" NAME="ip_netmask" SIZE="2"> - </TD> - <TD> - <INPUT TYPE="submit" NAME="submit" VALUE="Add"> - </TD> - </FORM> - </TR> -</TABLE> -</BODY> -</HTML> - diff --git a/httemplate/browse/agent.cgi b/httemplate/browse/agent.cgi deleted file mode 100755 index 05300d0bd..000000000 --- a/httemplate/browse/agent.cgi +++ /dev/null @@ -1,226 +0,0 @@ -<% - - my %search; - if ( $cgi->param('showdisabled') - || !dbdef->table('agent')->column('disabled') ) { - %search = (); - } else { - %search = ( 'disabled' => '' ); - } - - my $conf = new FS::Conf; - -%> -<%= header('Agent Listing', menubar( - 'Main Menu' => $p, - 'Agent Types' => $p. 'browse/agent_type.cgi', -# 'Add new agent' => '../edit/agent.cgi' -)) %> -Agents are resellers of your service. Agents may be limited to a subset of your -full offerings (via their type).<BR><BR> -<A HREF="<%= $p %>edit/agent.cgi"><I>Add a new agent</I></A><BR><BR> - -<% if ( dbdef->table('agent')->column('disabled') ) { %> - <%= $cgi->param('showdisabled') - ? do { $cgi->param('showdisabled', 0); - '( <a href="'. $cgi->self_url. '">hide disabled agents</a> )'; } - : do { $cgi->param('showdisabled', 1); - '( <a href="'. $cgi->self_url. '">show disabled agents</a> )'; } - %> -<% } %> - -<%= table() %> -<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> - <% if ( $conf->config('ticket_system') ) { %> - <TH>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> -</TR> -<% -# <TH><FONT SIZE=-1>Agent #</FONT></TH> -# <TH>Agent</TH> - -foreach my $agent ( sort { - #$a->getfield('agentnum') <=> $b->getfield('agentnum') - $a->getfield('agent') cmp $b->getfield('agent') -} qsearch('agent', \%search ) ) { - - my $cust_main_link = $p. 'search/cust_main.cgi?agentnum_on=1&'. - 'agentnum='. $agent->agentnum; - - my $cust_pkg_link = $p. 'search/cust_pkg.cgi?agentnum='. $agent->agentnum; - -%> - - <TR> - <TD><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><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> - <TABLE CELLSPACING=0 CELLPADDING=0> - <TR> - <TH ALIGN="right" WIDTH="40%"> - <%= my $num_prospect = $agent->num_prospect_cust_main %> - </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="#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> - <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> - <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> - <!--<BR><A HREF="<%= $p %>search/money_time.cgi?agentnum=<%= $agent->agentnum %>">Sales/Credits/Receipts</A>--> - - </TD> - - <TD> - <%= 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> - <%= 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><% } %> - <BR><A HREF="<%=$p%>edit/prepay_credit.cgi?agentnum=<%= $agent->agentnum %>">Generate cards</A> - </TD> - - <% if ( $conf->config('ticket_system') ) { %> - - <TD> - <% if ( $agent->ticketing_queueid ) { %> - Queue: <%= $agent->ticketing_queueid %>: <%= $agent->ticketing_queue %><BR> - <% } %> - </TD> - - <% } %> - - <TD> - <TABLE CELLSPACING=0 CELLPADDING=0> - <% foreach my $override ( - # sort { } want taxclass-full stuff first? and default cards (empty cardtype) - qsearch('agent_payment_gateway', { 'agentnum' => $agent->agentnum } ) - ) { - %> - <TR> - <TD> - <%= $override->cardtype || 'Default' %> to <%= $override->payment_gateway->gateway_module %> (<%= $override->payment_gateway->gateway_username %>) - <%= $override->taxclass - ? ' for '. $override->taxclass. ' only' - : '' - %> - <FONT SIZE=-1><A HREF="<%=$p%>misc/delete-agent_payment_gateway.cgi?<%= 'XXXoverridenum' %>">(delete)</A></FONT> - </TD> - </TR> - <% } %> - <TR> - <TD><FONT SIZE=-1><A HREF="<%=$p%>edit/agent_payment_gateway.html?agentnum=<%= $agent->agentnum %>">(add override)</A></FONT></TD> - </TR> - </TABLE> - </TD> - - <TD><%= $agent->freq %></TD> - <TD><%= $agent->prog %></TD> - - </TR> - -<% } %> - - </TABLE> - </BODY> -</HTML> diff --git a/httemplate/browse/agent_type.cgi b/httemplate/browse/agent_type.cgi deleted file mode 100755 index 5473804e8..000000000 --- a/httemplate/browse/agent_type.cgi +++ /dev/null @@ -1,60 +0,0 @@ -<!-- mason kludge --> -<%= header("Agent Type Listing", menubar( - 'Main Menu' => $p, - 'Agents' => $p. 'browse/agent.cgi', -)) %> -Agent types define groups of packages that you can then assign to particular -agents.<BR><BR> -<A HREF="<%= $p %>edit/agent_type.cgi"><I>Add a new agent type</I></A><BR><BR> - -<%= table() %> -<TR> - <TH COLSPAN=2>Agent Type</TH> - <TH COLSPAN=2>Packages</TH> -</TR> - -<% -foreach my $agent_type ( sort { - $a->getfield('typenum') <=> $b->getfield('typenum') -} qsearch('agent_type',{}) ) { - my $hashref = $agent_type->hashref; - #more efficient to do this with SQL... - my @type_pkgs = grep { $_->part_pkg and ! $_->part_pkg->disabled } - qsearch('type_pkgs',{'typenum'=> $hashref->{typenum} }); - my $rowspan = scalar(@type_pkgs); - $rowspan = int($rowspan/2+0.5) ; - print <<END; - <TR> - <TD ROWSPAN=$rowspan><A HREF="${p}edit/agent_type.cgi?$hashref->{typenum}"> - $hashref->{typenum} - </A></TD> - <TD ROWSPAN=$rowspan><A HREF="${p}edit/agent_type.cgi?$hashref->{typenum}">$hashref->{atype}</A></TD> -END - - my($type_pkgs); - my($tdcount) = -1 ; - foreach $type_pkgs ( @type_pkgs ) { - my($pkgpart)=$type_pkgs->getfield('pkgpart'); - my($part_pkg) = qsearchs('part_pkg',{'pkgpart'=> $pkgpart }); - print qq!<TR>! if ($tdcount == 0) ; - $tdcount = 0 if ($tdcount == -1) ; - print qq!<TD><A HREF="${p}edit/part_pkg.cgi?$pkgpart">!, - $part_pkg->getfield('pkg'),"</A></TD>"; - $tdcount ++ ; - if ($tdcount == 2) - { - print qq!</TR>\n! ; - $tdcount = 0 ; - } - } - - print "</TR>"; -} - -print <<END; - </TABLE> - </BODY> -</HTML> -END - -%> diff --git a/httemplate/browse/cust_main_county.cgi b/httemplate/browse/cust_main_county.cgi deleted file mode 100755 index 1e0e0880c..000000000 --- a/httemplate/browse/cust_main_county.cgi +++ /dev/null @@ -1,142 +0,0 @@ -<!-- mason kludge --> -<% - -my $conf = new FS::Conf; -my $enable_taxclasses = $conf->exists('enable_taxclasses'); - -print header("Tax Rate Listing", menubar( - 'Main Menu' => $p, - 'Edit tax rates' => $p. "edit/cust_main_county.cgi", -)),<<END; - Click on <u>expand country</u> to specify a country's tax rates by state. - <BR>Click on <u>expand state</u> to specify a state's tax rates by county. -END - -if ( $enable_taxclasses ) { - print '<BR>Click on <u>expand taxclasses</u> to specify tax classes'; -} - -print '<BR><BR>'. &table(). <<END; - <TR> - <TH><FONT SIZE=-1>Country</FONT></TH> - <TH><FONT SIZE=-1>State</FONT></TH> - <TH>County</TH> - <TH>Taxclass<BR><FONT SIZE=-1>(per-package classification)</FONT></TH> - <TH>Tax name<BR><FONT SIZE=-1>(printed on invoices)</FONT></TH> - <TH><FONT SIZE=-1>Tax</FONT></TH> - <TH><FONT SIZE=-1>Exemption</TH> - </TR> -END - -my @regions = sort { $a->country cmp $b->country - or $a->state cmp $b->state - or $a->county cmp $b->county - or $a->taxclass cmp $b->taxclass - } qsearch('cust_main_county',{}); - -my $sup=0; -#foreach $cust_main_county ( @regions ) { -for ( my $i=0; $i<@regions; $i++ ) { - my $cust_main_county = $regions[$i]; - my $hashref = $cust_main_county->hashref; - print <<END; - <TR> - <TD BGCOLOR="#ffffff">$hashref->{country}</TD> -END - - my $j; - if ( $sup ) { - $sup--; - } else { - - #lookahead - for ( $j=1; $i+$j<@regions; $j++ ) { - last if $hashref->{country} ne $regions[$i+$j]->country - || $hashref->{state} ne $regions[$i+$j]->state - || $hashref->{tax} != $regions[$i+$j]->tax - || $hashref->{exempt_amount} != $regions[$i+$j]->exempt_amount - || $hashref->{setuptax} ne $regions[$i+$j]->setuptax - || $hashref->{recurtax} ne $regions[$i+$j]->recurtax; - } - - my $newsup=0; - if ( $j>1 && $i+$j+1 < @regions - && ( $hashref->{state} ne $regions[$i+$j+1]->state - || $hashref->{country} ne $regions[$i+$j+1]->country - ) - && ( ! $i - || $hashref->{state} ne $regions[$i-1]->state - || $hashref->{country} ne $regions[$i-1]->country - ) - ) { - $sup = $j-1; - } else { - $j = 1; - } - - print "<TD ROWSPAN=$j", $hashref->{state} - ? ' BGCOLOR="#ffffff">'. $hashref->{state} - : qq! BGCOLOR="#cccccc">(ALL) <FONT SIZE=-1>!. - qq!<A HREF="${p}edit/cust_main_county-expand.cgi?!. $hashref->{taxnum}. - qq!">expand country</A></FONT>!; - - print qq! <FONT SIZE=-1><A HREF="${p}edit/process/cust_main_county-collapse.cgi?!. $hashref->{taxnum}. qq!">collapse state</A></FONT>! if $j>1; - - print "</TD>"; - } - -# $sup=$newsup; - - print "<TD"; - if ( $hashref->{county} ) { - print ' BGCOLOR="#ffffff">'. $hashref->{county}; - } else { - print ' BGCOLOR="#cccccc">(ALL)'; - if ( $hashref->{state} ) { - print qq!<FONT SIZE=-1>!. - qq!<A HREF="${p}edit/cust_main_county-expand.cgi?!. $hashref->{taxnum}. - qq!">expand state</A></FONT>!; - } - } - print "</TD>"; - - print "<TD"; - if ( $hashref->{taxclass} ) { - print ' BGCOLOR="#ffffff">'. $hashref->{taxclass}; - } else { - print ' BGCOLOR="#cccccc">(ALL)'; - if ( $enable_taxclasses ) { - print qq!<FONT SIZE=-1>!. - qq!<A HREF="${p}edit/cust_main_county-expand.cgi?taxclass!. - $hashref->{taxnum}. qq!">expand taxclasses</A></FONT>!; - } - - } - print "</TD>"; - - print "<TD"; - if ( $hashref->{taxname} ) { - print ' BGCOLOR="#ffffff">'. $hashref->{taxname}; - } else { - print ' BGCOLOR="#cccccc">Tax'; - } - print "</TD>"; - - print "<TD BGCOLOR=\"#ffffff\">$hashref->{tax}%</TD>". - '<TD BGCOLOR="#ffffff">'; - print '$'. sprintf("%.2f", $hashref->{exempt_amount} ). - ' per month<BR>' - if $hashref->{exempt_amount} > 0; - print 'Setup fee<BR>' if $hashref->{setuptax} =~ /^Y$/i; - print 'Recurring fee<BR>' if $hashref->{recurtax} =~ /^Y$/i; - print '</TD></TR>'; - -} - -print <<END; - </TABLE> - </BODY> -</HTML> -END - -%> diff --git a/httemplate/browse/cust_pay_batch.cgi b/httemplate/browse/cust_pay_batch.cgi deleted file mode 100755 index 3420e97b6..000000000 --- a/httemplate/browse/cust_pay_batch.cgi +++ /dev/null @@ -1,76 +0,0 @@ -<!-- mason kludge --> -<%= header("Pending credit card batch", menubar( 'Main Menu' => $p,)) %> - -<FORM ACTION="<%=$p%>misc/download-batch.cgi" METHOD="POST"> -Download batch in format <SELECT NAME="format"> -<OPTION VALUE="csv-td_canada_trust-merchant_pc_batch">CSV file for TD Canada Trust Merchant PC Batch</OPTION> -</SELECT><INPUT TYPE="submit" VALUE="Download"></FORM> -<BR><BR> - -<FORM ACTION="<%=$p%>misc/upload-batch.cgi" METHOD="POST" ENCTYPE="multipart/form-data"> -Upload results<BR> -Filename <INPUT TYPE="file" NAME="batch_results"><BR> -Format <SELECT NAME="format"> -<OPTION VALUE="csv-td_canada_trust-merchant_pc_batch">CSV results from TD Canada Trust Merchant PC Batch</OPTION> -</SELECT><BR> -<INPUT TYPE="submit" VALUE="Upload"></FORM> -<BR> - -<% - my $statement = "SELECT SUM(amount) from cust_pay_batch"; - my $sth = dbh->prepare($statement) or die dbh->errstr. "doing $statement"; - $sth->execute or die "Error executing \"$statement\": ". $sth->errstr; - my $total = $sth->fetchrow_arrayref->[0]; - - my $c_statement = "SELECT COUNT(*) from cust_pay_batch"; - my $c_sth = dbh->prepare($c_statement) - or die dbh->errstr. "doing $c_statement"; - $c_sth->execute or die "Error executing \"$c_statement\": ". $c_sth->errstr; - my $cards = $c_sth->fetchrow_arrayref->[0]; -%> -<%= $cards %> credit card payments batched<BR> -$<%= sprintf("%.2f", $total) %> total in pending batch<BR> - -<BR> -<%= &table() %> - <TR> - <TH>#</TH> - <TH><font size=-1>inv#</font></TH> - <TH COLSPAN=2>Customer</TH> - <TH>Card name</TH> - <TH>Card</TH> - <TH>Exp</TH> - <TH>Amount</TH> - </TR> - -<% -foreach my $cust_pay_batch ( sort { $a->paybatchnum <=> $b->paybatchnum } - qsearch('cust_pay_batch', {} ) -) { - my $cardnum = $cust_pay_batch->cardnum; - #$cardnum =~ s/.{4}$/xxxx/; - $cardnum = 'x'x(length($cardnum)-4). substr($cardnum,(length($cardnum)-4)); - - $cust_pay_batch->exp =~ /^\d{2}(\d{2})[\/\-](\d+)[\/\-]\d+$/; - my( $mon, $year ) = ( $2, $1 ); - $mon = "0$mon" if $mon < 10; - my $exp = "$mon/$year"; - -%> - - <TR> - <TD><%= $cust_pay_batch->paybatchnum %></TD> - <TD><A HREF="../view/cust_bill.cgi?<%= $cust_pay_batch->invnum %>"><%= $cust_pay_batch->invnum %></TD> - <TD><A HREF="../view/cust_main.cgi?<%= $cust_pay_batch->custnum %>"><%= $cust_pay_batch->custnum %></TD> - <TD><%= $cust_pay_batch->get('last'). ', '. $cust_pay_batch->first %></TD> - <TD><%= $cust_pay_batch->payname %></TD> - <TD><%= $cardnum %></TD> - <TD><%= $exp %></TD> - <TD align="right">$<%= $cust_pay_batch->amount %></TD> - </TR> - -<% } %> - - </TABLE> - </BODY> -</HTML> diff --git a/httemplate/browse/generic.cgi b/httemplate/browse/generic.cgi deleted file mode 100644 index 9ac0f2391..000000000 --- a/httemplate/browse/generic.cgi +++ /dev/null @@ -1,46 +0,0 @@ -<% - -use FS::Record qw(qsearch dbdef); -use DBIx::DBSchema; -use DBIx::DBSchema::Table; - -my $error; -my $p2 = popurl(2); -my ($table) = $cgi->keywords; -my $dbdef = dbdef or die "Cannot fetch dbdef!"; -my $dbdef_table = $dbdef->table($table) or die "Cannot fetch schema for $table"; - -my $pkey = $dbdef_table->primary_key or die "Cannot fetch pkey for $table"; -print header("Browse $table", menubar('Main Menu' => $p)); - -my @rec = qsearch($table, {}); -my @col = $dbdef_table->columns; - -if ($cgi->param('error')) { %> - <FONT SIZE="+1" COLOR="#ff0000">Error: <%=$cgi->param('error')%></FONT> - <BR><BR> -<% } -%> -<A HREF="<%=$p2%>edit/<%=$table%>.cgi"><I>Add a new <%=$table%></I></A><BR><BR> - -<%=table()%> -<TH> -<% foreach (grep { $_ ne $pkey } @col) { - %><TD><%=$_%></TD> - <% } %> -</TH> -<% foreach $rec (sort {$a->getfield($pkey) cmp $b->getfield($pkey) } @rec) { - %> - <TR> - <TD> - <A HREF="<%=$p2%>edit/<%=$table%>.cgi?<%=$rec->getfield($pkey)%>"> - <%=$rec->getfield($pkey)%></A> </TD> <% - foreach $col (grep { $_ ne $pkey } @col) { %> - <TD><%=$rec->getfield($col)%></TD> <% } %> - </A> - </TR> -<% } %> -</TABLE> -</BODY> -</HTML> - diff --git a/httemplate/browse/msgcat.cgi b/httemplate/browse/msgcat.cgi deleted file mode 100755 index d4adf9f1a..000000000 --- a/httemplate/browse/msgcat.cgi +++ /dev/null @@ -1,50 +0,0 @@ -<!-- mason kludge --> -<% - -print header("View Message catalog", menubar( - 'Main Menu' => $p, - 'Edit message catalog' => $p. "edit/msgcat.cgi", -)), '<BR>'; - -my $widget = new HTML::Widgets::SelectLayers( - 'selected_layer' => 'en_US', - 'options' => { 'en_US'=>'en_US' }, - 'layer_callback' => sub { - my $layer = shift; - my $html = "<BR>Messages for locale $layer<BR>". table(). - "<TR><TH COLSPAN=2>Code</TH>". - "<TH>Message</TH>"; - $html .= "<TH>en_US Message</TH>" unless $layer eq 'en_US'; - $html .= '</TR>'; - - #foreach my $msgcat ( sort { $a->msgcode cmp $b->msgcode } - # qsearch('msgcat', { 'locale' => $layer } ) ) { - foreach my $msgcat ( qsearch('msgcat', { 'locale' => $layer } ) ) { - $html .= '<TR><TD>'. $msgcat->msgnum. '</TD>'. - '<TD>'. $msgcat->msgcode. '</TD>'. - '<TD>'. $msgcat->msg. '</TD>'; - unless ( $layer eq 'en_US' ) { - my $en_msgcat = qsearchs('msgcat', { - 'locale' => 'en_US', - 'msgcode' => $msgcat->msgcode, - } ); - $html .= '<TD>'. $en_msgcat->msg. '</TD>'; - } - $html .= '</TR>'; - } - - $html .= '</TABLE>'; - $html; - }, - -); - -print $widget->html; - -print <<END; - </TABLE> - </BODY> -</HTML> -END - -%> diff --git a/httemplate/browse/nas.cgi b/httemplate/browse/nas.cgi deleted file mode 100755 index 9ccbfe632..000000000 --- a/httemplate/browse/nas.cgi +++ /dev/null @@ -1,80 +0,0 @@ -<!-- mason kludge --> -<% - -print header('NAS ports', menubar( - 'Main Menu' => $p, -)); - -my $now = time; - -foreach my $nas ( sort { $a->nasnum <=> $b->nasnum } qsearch( 'nas', {} ) ) { - print $nas->nasnum. ": ". $nas->nas. " ". - $nas->nasfqdn. " (". $nas->nasip. ") ". - "as of ". time2str("%c",$nas->last). - " (". &pretty_interval($now - $nas->last). " ago)<br>". - &table(). "<TR><TH>Nas<BR>Port #</TH><TH>Global<BR>Port #</BR></TH>". - "<TH>IP address</TH><TH>User</TH><TH>Since</TH><TH>Duration</TH><TR>", - ; - foreach my $port ( sort { - $a->nasport <=> $b->nasport || $a->portnum <=> $b->portnum - } qsearch( 'port', { 'nasnum' => $nas->nasnum } ) ) { - my $session = $port->session; - my($user, $since, $pretty_since, $duration); - if ( ! $session ) { - $user = "(empty)"; - $since = 0; - $pretty_since = "(never)"; - $duration = ''; - } elsif ( $session->logout ) { - $user = "(empty)"; - $since = $session->logout; - } else { - my $svc_acct = $session->svc_acct; - $user = "<A HREF=\"$p/view/svc_acct.cgi?". $svc_acct->svcnum. "\">". - $svc_acct->username. "</A>"; - $since = $session->login; - } - $pretty_since = time2str("%c", $since) if $since; - $duration = pretty_interval( $now - $since ). " ago" - unless defined($duration); - print "<TR><TD>". $port->nasport. "</TD><TD>". $port->portnum. "</TD><TD>". - $port->ip. "</TD><TD>$user</TD><TD>$pretty_since". - "</TD><TD>$duration</TD></TR>" - ; - } - print "</TABLE><BR>"; -} - -#Time::Duration?? -sub pretty_interval { - my $interval = shift; - my %howlong = ( - '604800' => 'week', - '86400' => 'day', - '3600' => 'hour', - '60' => 'minute', - '1' => 'second', - ); - - my $pretty = ""; - foreach my $key ( sort { $b <=> $a } keys %howlong ) { - my $value = int( $interval / $key ); - if ( $value ) { - if ( $value == 1 ) { - $pretty .= - ( $howlong{$key} eq 'hour' ? 'an ' : 'a ' ). $howlong{$key}. " " - } else { - $pretty .= $value. ' '. $howlong{$key}. 's '; - } - } - $interval -= $value * $key; - } - $pretty =~ /^\s*(\S.*\S)\s*$/; - $1; -} - -#print &table(), <<END; -#<TR> -# <TH>#</TH> -# <TH>NAS</ -%> diff --git a/httemplate/browse/part_bill_event.cgi b/httemplate/browse/part_bill_event.cgi deleted file mode 100755 index 670474d48..000000000 --- a/httemplate/browse/part_bill_event.cgi +++ /dev/null @@ -1,71 +0,0 @@ -<!-- mason kludge --> -<% - -my %search; -if ( $cgi->param('showdisabled') ) { - %search = (); -} else { - %search = ( 'disabled' => '' ); -} - -my @part_bill_event = qsearch('part_bill_event', \%search ); -my $total = scalar(@part_bill_event); - -%> -<%= header('Invoice Event Listing', menubar( 'Main Menu' => $p) ) %> - - Invoice events are actions taken on overdue invoices.<BR><BR> -<A HREF="<%= $p %>edit/part_bill_event.cgi"><I>Add a new invoice event</I></A> -<BR><BR> -<%= $total %> events -<%= $cgi->param('showdisabled') - ? do { $cgi->param('showdisabled', 0); - '( <a href="'. $cgi->self_url. '">hide disabled events</a> )'; } - : do { $cgi->param('showdisabled', 1); - '( <a href="'. $cgi->self_url. '">show disabled events</a> )'; } -%> -<%= table() %> - <TR> - <TH COLSPAN=<%= $cgi->param('showdisabled') ? 2 : 3 %>>Event</TH> - <TH>Payby</TH> - <TH>After</TH> - <TH>Action</TH> - <TH>Options</TH> - <TH>Code</TH> - </TR> - -<% foreach my $part_bill_event ( sort { $a->payby cmp $b->payby - || $a->seconds <=> $b->seconds - || $a->weight <=> $b->weight - || $a->eventpart <=> $b->eventpart - } @part_bill_event ) { - my $url = "${p}edit/part_bill_event.cgi?". $part_bill_event->eventpart; - use Time::Duration; - my $delay = duration_exact($part_bill_event->seconds); - my $plandata = $part_bill_event->plandata; - $plandata =~ s/\n/<BR>/go; -%> - <TR> - <TD><A HREF="<%= $url %>"> - <%= $part_bill_event->eventpart %></A></TD> -<% unless ( $cgi->param('showdisabled') ) { %> - <TD> - <%= $part_bill_event->disabled ? 'DISABLED' : '' %></TD> -<% } %> - <TD><A HREF="<%= $url %>"> - <%= $part_bill_event->event %></A></TD> - <TD> - <%= $part_bill_event->payby %></TD> - <TD> - <%= $delay %></TD> - <TD> - <%= $part_bill_event->plan %></TD> - <TD> - <%= $plandata %></TD> - <TD><FONT SIZE="-1"> - <%= $part_bill_event->eventcode %></FONT></TD> - </TR> -<% } %> -</TABLE> -</BODY> -</HTML> diff --git a/httemplate/browse/part_export.cgi b/httemplate/browse/part_export.cgi deleted file mode 100755 index 79c57aefc..000000000 --- a/httemplate/browse/part_export.cgi +++ /dev/null @@ -1,39 +0,0 @@ -<!-- mason kludge --> -<%= header("Export Listing", menubar( 'Main Menu' => "$p#sysadmin" )) %> -Provisioning services to external machines, databases and APIs.<BR><BR> -<A HREF="<%= $p %>edit/part_export.cgi"><I>Add a new export</I></A><BR><BR> -<SCRIPT> -function part_export_areyousure(href) { - if (confirm("Are you sure you want to delete this export?") == true) - window.location.href = href; -} -</SCRIPT> - -<%= table() %> - <TR> - <TH COLSPAN=2>Export</TH> - <TH>Options</TH> - </TR> - -<% foreach my $part_export ( sort { - $a->getfield('exportnum') <=> $b->getfield('exportnum') - } qsearch('part_export',{}) ) { -%> - <TR> - <TD><A HREF="<%= $p %>edit/part_export.cgi?<%= $part_export->exportnum %>"><%= $part_export->exportnum %></A></TD> - <TD><%= $part_export->exporttype %> to <%= $part_export->machine %> (<A HREF="<%= $p %>edit/part_export.cgi?<%= $part_export->exportnum %>">edit</A> | <A HREF="javascript:part_export_areyousure('<%= $p %>misc/delete-part_export.cgi?<%= $part_export->exportnum %>')">delete</A>)</TD> - <TD> - <%= itable() %> - <% my %opt = $part_export->options; - foreach my $opt ( keys %opt ) { %> - <TR><TD><%= $opt %></TD><TD><%= encode_entities($opt{$opt}) %></TD></TR> - <% } %> - </TABLE> - </TD> - </TR> - -<% } %> - -</TABLE> -</BODY> -</HTML> diff --git a/httemplate/browse/part_pkg.cgi b/httemplate/browse/part_pkg.cgi deleted file mode 100755 index 8d5b55451..000000000 --- a/httemplate/browse/part_pkg.cgi +++ /dev/null @@ -1,169 +0,0 @@ -<!-- mason kludge --> -<% - -my %search; -if ( $cgi->param('showdisabled') ) { - %search = (); -} else { - %search = ( 'disabled' => '' ); -} - -my @part_pkg = qsearch('part_pkg', \%search ); -my $total = scalar(@part_pkg); - -my $sortby; -my %num_active_cust_pkg = (); -my( $suspended_sth, $canceled_sth ) = ( '', '' ); -if ( $cgi->param('active') ) { - my $active_sth = dbh->prepare( - 'SELECT COUNT(*) FROM cust_pkg WHERE pkgpart = ?'. - ' AND ( cancel IS NULL OR cancel = 0 )'. - ' AND ( susp IS NULL OR susp = 0 )' - ) or die dbh->errstr; - foreach my $part_pkg ( @part_pkg ) { - $active_sth->execute($part_pkg->pkgpart) or die $active_sth->errstr; - $num_active_cust_pkg{$part_pkg->pkgpart} = - $active_sth->fetchrow_arrayref->[0]; - } - $sortby = sub { - $num_active_cust_pkg{$b->pkgpart} <=> $num_active_cust_pkg{$a->pkgpart}; - }; - - $suspended_sth = dbh->prepare( - 'SELECT COUNT(*) FROM cust_pkg WHERE pkgpart = ?'. - ' AND ( cancel IS NULL OR cancel = 0 )'. - ' AND susp IS NOT NULL AND susp != 0' - ) or die dbh->errstr; - - $canceled_sth = dbh->prepare( - 'SELECT COUNT(*) FROM cust_pkg WHERE pkgpart = ?'. - ' AND cancel IS NOT NULL AND cancel != 0' - ) or die dbh->errstr; - -} else { - $sortby = sub { $a->pkgpart <=> $b->pkgpart; }; -} - -my $conf = new FS::Conf; -my $taxclasses = $conf->exists('enable_taxclasses'); - -%> -<%= header("Package Definition Listing",menubar( 'Main Menu' => $p )) %> -<% unless ( $cgi->param('active') ) { %> - One or more service definitions are grouped together into a package - definition and given pricing information. Customers purchase packages - rather than purchase services directly.<BR><BR> - <A HREF="<%= $p %>edit/part_pkg.cgi"><I>Add a new package definition</I></A> - <BR><BR> -<% } %> - -<%= $total %> package definitions -<% if ( $cgi->param('showdisabled') ) { $cgi->param('showdisabled', 0); %> - ( <a href="<%= $cgi->self_url %>">hide disabled packages</a> ) -<% } else { $cgi->param('showdisabled', 1); %> - ( <a href="<%= $cgi->self_url %>">show disabled packages</a> ) -<% } %> - -<% my $colspan = $cgi->param('showdisabled') ? 2 : 3; %> - -<%= &table() %> - <TR> - <TH COLSPAN=<%= $colspan %>>Package</TH> - <TH>Comment</TH> -<% if ( $cgi->param('active') ) { %> - <TH><FONT SIZE=-1>Customer<BR>packages</FONT></TH> -<% } %> - <TH><FONT SIZE=-1>Freq.</FONT></TH> -<% if ( $taxclasses ) { %> - <TH><FONT SIZE=-1>Taxclass</FONT></TH> -<% } %> - <TH><FONT SIZE=-1>Plan</FONT></TH> - <TH><FONT SIZE=-1>Data</FONT></TH> - <TH>Service</TH> - <TH><FONT SIZE=-1>Quan.</FONT></TH> -<% if ( dbdef->table('pkg_svc')->column('primary_svc') ) { %> - <TH><FONT SIZE=-1>Primary</FONT></TH> -<% } %> - - </TR> - -<% -foreach my $part_pkg ( sort $sortby @part_pkg ) { - my @pkg_svc = $part_pkg->pkg_svc; - my($rowspan)=scalar(@pkg_svc); - my $plandata; - if ( $part_pkg->plan ) { - $plandata = $part_pkg->plandata; - $plandata =~ s/^(\w+)=/$1 /mg; - $plandata =~ s/\n/<BR>/g; - } else { - $part_pkg->plan('(legacy)'); - $plandata = "Setup ". $part_pkg->setup. - "<BR>Recur ". $part_pkg->recur; - } -%> - <TR> - <TD ROWSPAN=<%= $rowspan %>><A HREF="<%=$p%>edit/part_pkg.cgi?<%= $part_pkg->pkgpart %>"><%= $part_pkg->pkgpart %></A></TD> - -<% unless ( $cgi->param('showdisabled') ) { %> - <TD ROWSPAN=<%= $rowspan %>> - <% if ( $part_pkg->disabled ) { %> - DISABLED - <% } %> - </TD> -<% } %> - - <TD ROWSPAN=<%= $rowspan %>><A HREF="<%=$p%>edit/part_pkg.cgi?<%= $part_pkg->pkgpart %>"><%= $part_pkg->pkg %></A></TD> - <TD ROWSPAN=<%= $rowspan %>><%= $part_pkg->comment %></TD> - -<% if ( $cgi->param('active') ) { %> - <TD ROWSPAN=<%= $rowspan %>> - <FONT COLOR="#00CC00"><B><%= $num_active_cust_pkg{$part_pkg->pkgpart} %></B></FONT> <A HREF="<%=$p%>search/cust_pkg.cgi?magic=active;pkgpart=<%= $part_pkg->pkgpart %>">active</A><BR> - - <% $suspended_sth->execute( $part_pkg->pkgpart ) - or die $suspended_sth->errstr; - my $num_suspended = $suspended_sth->fetchrow_arrayref->[0]; - %> - <FONT COLOR="#FF9900"><B><%= $num_suspended %></B></FONT> <A HREF="<%=$p%>search/cust_pkg.cgi?magic=suspended;pkgpart=<%= $part_pkg->pkgpart %>">suspended</A><BR> - - <% $canceled_sth->execute( $part_pkg->pkgpart ) - or die $canceled_sth->errstr; - my $num_canceled = $canceled_sth->fetchrow_arrayref->[0]; - %> - <FONT COLOR="#FF0000"><B><%= $num_canceled %></B></FONT> <A HREF="<%=$p%>search/cust_pkg.cgi?magic=canceled;pkgpart=<%= $part_pkg->pkgpart %>">canceled</A> - </TD> -<% } %> - - <TD ROWSPAN=<%= $rowspan %>><%= $part_pkg->freq_pretty %></TD> - -<% if ( $taxclasses ) { %> - <TD ROWSPAN=<%= $rowspan %>><%= $part_pkg->taxclass || ' ' %></TD> -<% } %> - - <TD ROWSPAN=<%= $rowspan %>><%= $part_pkg->plan %></TD> - <TD ROWSPAN=<%= $rowspan %>><%= $plandata %></TD> - -<% - my($n)=""; - foreach my $pkg_svc ( @pkg_svc ) { - my($svcpart)=$pkg_svc->getfield('svcpart'); - my($part_svc) = qsearchs('part_svc',{'svcpart'=> $svcpart }); - print $n,qq!<TD><A HREF="${p}edit/part_svc.cgi?$svcpart">!, - $part_svc->getfield('svc'),"</A></TD><TD>", - $pkg_svc->getfield('quantity'),"</TD>"; - if ( dbdef->table('pkg_svc')->column('primary_svc') ) { - print '<TD>'; - print 'PRIMARY' if $pkg_svc->primary_svc =~ /^Y/i; - print '</TD>'; - } - print "</TR>\n"; - $n="<TR>"; - } -%> - - </TR> -<% } %> - - </TABLE> - </BODY> -</HTML> diff --git a/httemplate/browse/part_referral.cgi b/httemplate/browse/part_referral.cgi deleted file mode 100755 index 581e01bb6..000000000 --- a/httemplate/browse/part_referral.cgi +++ /dev/null @@ -1,97 +0,0 @@ -<!-- mason kludge --> -<%= header("Advertising source Listing", menubar( - 'Main Menu' => $p, -# 'Add new referral' => "../edit/part_referral.cgi", -)) %> -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> -<BR><BR> - -<% - my $today = timelocal(0, 0, 0, (localtime(time))[3..5] ); - my %after; - tie %after, 'Tie::IxHash', - 'Today' => 0, - 'Yesterday' => 86400, # 60sec * 60min * 24hrs - 'Past week' => 518400, # 60sec * 60min * 24hrs * 6days - 'Past 30 days' => 2505600, # 60sec * 60min * 24hrs * 29days - 'Past 60 days' => 5097600, # 60sec * 60min * 24hrs * 59days - 'Past 90 days' => 7689600, # 60sec * 60min * 24hrs * 89days - 'Past 6 months' => 15724800, # 60sec * 60min * 24hrs * 182days - 'Past year' => 31486000, # 60sec * 60min * 24hrs * 364days - 'Total' => $today, - ; - my %before = ( - 'Today' => 86400, # 60sec * 60min * 24hrs - 'Yesterday' => 0, - 'Past week' => 86400, # 60sec * 60min * 24hrs - 'Past 30 days' => 86400, # 60sec * 60min * 24hrs - 'Past 60 days' => 86400, # 60sec * 60min * 24hrs - 'Past 90 days' => 86400, # 60sec * 60min * 24hrs - 'Past 6 months' => 86400, # 60sec * 60min * 24hrs - 'Past year' => 86400, # 60sec * 60min * 24hrs - 'Total' => 86400, # 60sec * 60min * 24hrs - ); - - my $statement = "SELECT COUNT(*) FROM h_cust_main - WHERE history_action = 'insert' - AND refnum = ? - AND history_date >= ? - AND history_date < ? - "; - my $sth = dbh->prepare($statement) - or die dbh->errstr; -%> - -<%= table() %> -<TR> - <TH COLSPAN=2 ROWSPAN=2>Advertising source</TH> - <TH COLSPAN=<%= scalar(keys %after) %>>Customers</TH> -</TR> -<% for my $period ( keys %after ) { %> - <TH><FONT SIZE=-1><%= $period %></FONT></TH> -<% } %> -</TR> - -<% -foreach my $part_referral ( sort { - $a->getfield('refnum') <=> $b->getfield('refnum') -} qsearch('part_referral',{}) ) { -%> - <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> - <% for my $period ( keys %after ) { - $sth->execute( $part_referral->refnum, - $today-$after{$period}, - $today+$before{$period}, - ) or die $sth->errstr; - my $number = $sth->fetchrow_arrayref->[0]; - %> - <TD ALIGN="right"><%= $number %></TD> - <% } %> - </TR> -<% } %> - -<% - $statement =~ s/AND refnum = \?//; - $sth = dbh->prepare($statement) - or die dbh->errstr; -%> - <TR> - <TH COLSPAN=2>Total</TH> - <% 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> - <% } %> - </TR> - </TABLE> - </BODY> -</HTML> diff --git a/httemplate/browse/part_svc.cgi b/httemplate/browse/part_svc.cgi deleted file mode 100755 index a725dc051..000000000 --- a/httemplate/browse/part_svc.cgi +++ /dev/null @@ -1,137 +0,0 @@ -<% - -my %flag = ( - 'D' => 'Default', - 'F' => 'Fixed', - '' => '', -); - -my %search; -if ( $cgi->param('showdisabled') ) { - %search = (); -} else { - %search = ( 'disabled' => '' ); -} - -my @part_svc = - sort { $a->getfield('svcpart') <=> $b->getfield('svcpart') } - qsearch('part_svc', \%search ); -my $total = scalar(@part_svc); - -my %num_active_cust_svc = map { $_->svcpart => $_->num_cust_svc } @part_svc; - -if ( $cgi->param('orderby') eq 'active' ) { - @part_svc = sort { $num_active_cust_svc{$b->svcpart} <=> - $num_active_cust_svc{$a->svcpart} } @part_svc; -} elsif ( $cgi->param('orderby') eq 'svc' ) { - @part_svc = sort { lc($a->svc) cmp lc($b->svc) } @part_svc; -} - -%> -<%= header('Service Definition Listing', menubar( 'Main Menu' => $p) ) %> - -<SCRIPT> -function part_export_areyousure(href) { - if (confirm("Are you sure you want to delete this export?") == true) - window.location.href = href; -} -</SCRIPT> - - Service definitions are the templates for items you offer to your customers.<BR><BR> - -<FORM METHOD="POST" ACTION="<%= $p %>edit/part_svc.cgi"> -<A HREF="<%= $p %>edit/part_svc.cgi"><I>Add a new service definition</I></A><% if ( @part_svc ) { %> or <SELECT NAME="clone"><OPTION></OPTION> -<% foreach my $part_svc ( @part_svc ) { %> - <OPTION VALUE="<%= $part_svc->svcpart %>"><%= $part_svc->svc %></OPTION> -<% } %> -</SELECT><INPUT TYPE="submit" VALUE="Clone existing service"> -<% } %> -</FORM><BR> - -<%= $total %> service definitions -<%= $cgi->param('showdisabled') - ? do { $cgi->param('showdisabled', 0); - '( <a href="'. $cgi->self_url. '">hide disabled services</a> )'; } - : do { $cgi->param('showdisabled', 1); - '( <a href="'. $cgi->self_url. '">show disabled services</a> )'; } -%> -<% $cgi->param('showdisabled', ( 1 ^ $cgi->param('showdisabled') ) ); %> -<%= table() %> - <TR> - <TH><A HREF="<%= do { $cgi->param('orderby', 'svcpart'); $cgi->self_url } %>">#</A></TH> - <% if ( $cgi->param('showdisabled') ) { %> - <TH>Status</TH> - <% } %> - <TH><A HREF="<%= do { $cgi->param('orderby', 'svc'); $cgi->self_url; } %>">Service</A></TH> - <TH>Table</TH> - <TH><A HREF="<%= do { $cgi->param('orderby', 'active'); $cgi->self_url; } %>"><FONT SIZE=-1>Customer<BR>Services</FONT></A></TH> - <TH>Export</TH> - <TH>Field</TH> - <TH COLSPAN=2>Modifier</TH> - </TR> - -<% foreach my $part_svc ( @part_svc ) { - my $svcdb = $part_svc->svcdb; - my $svc_x = "FS::$svcdb"->new( { svcpart => $part_svc->svcpart } ); - my @dfields = $svc_x->fields; - push @dfields, 'usergroup' if $svcdb eq 'svc_acct'; #kludge - my @fields = - grep { $svc_x->pvf($_) - or $_ ne 'svcnum' && $part_svc->part_svc_column($_)->columnflag } - @dfields ; - my $rowspan = scalar(@fields) || 1; - my $url = "${p}edit/part_svc.cgi?". $part_svc->svcpart; -%> - - <TR> - <TD ROWSPAN=<%= $rowspan %>><A HREF="<%= $url %>"> - <%= $part_svc->svcpart %></A></TD> -<% if ( $cgi->param('showdisabled') ) { %> - <TD ROWSPAN=<%= $rowspan %>> - <%= $part_svc->disabled - ? '<FONT COLOR="#FF0000"><B>Disabled</B></FONT>' - : '<FONT COLOR="#00CC00"><B>Enabled</B></FONT>' - %> - </TD> -<% } %> - <TD ROWSPAN=<%= $rowspan %>><A HREF="<%= $url %>"> - <%= $part_svc->svc %></A></TD> - <TD ROWSPAN=<%= $rowspan %>> - <%= $svcdb %></TD> - <TD ROWSPAN=<%= $rowspan %>> - <FONT COLOR="#00CC00"><B><%= $num_active_cust_svc{$part_svc->svcpart} %></B></FONT> <A HREF="<%=$p%>search/<%= $svcdb %>.cgi?svcpart=<%= $part_svc->svcpart %>">active</A> - <% if ( $num_active_cust_svc{$part_svc->svcpart} ) { %> - <BR><FONT SIZE="-1">[ <A HREF="<%=$p%>edit/bulk-cust_svc.html?svcpart=<%= $part_svc->svcpart %>">change</A> ]</FONT> - <% } %> - </TD> - <TD ROWSPAN=<%= $rowspan %>><%= itable() %> -<% -# my @part_export = -map { qsearchs('part_export', { exportnum => $_->exportnum } ) } qsearch('export_svc', { svcpart => $part_svc->svcpart } ) ; - foreach my $part_export ( - map { qsearchs('part_export', { exportnum => $_->exportnum } ) } - qsearch('export_svc', { svcpart => $part_svc->svcpart } ) - ) { -%> - <TR> - <TD><A HREF="<%= $p %>edit/part_export.cgi?<%= $part_export->exportnum %>"><%= $part_export->exportnum %>: <%= $part_export->exporttype %> to <%= $part_export->machine %></A></TD></TR> -<% } %> - </TABLE></TD> - -<% my($n1)=''; - foreach my $field ( @fields ) { - my $flag = $part_svc->part_svc_column($field)->columnflag; -%> - <%= $n1 %> - <TD><%= $field %></TD> - <TD><%= $flag{$flag} %></TD> - <TD><%= $part_svc->part_svc_column($field)->columnvalue%></TD> - -<% $n1="</TR><TR>"; - } -%> - </TR> -<% } %> -</TABLE> -</BODY> -</HTML> diff --git a/httemplate/browse/part_virtual_field.cgi b/httemplate/browse/part_virtual_field.cgi deleted file mode 100644 index a0009dabd..000000000 --- a/httemplate/browse/part_virtual_field.cgi +++ /dev/null @@ -1,39 +0,0 @@ -<%= header('Virtual field definitions', menubar('Main Menu' => $p)) %> -<% - -my %pvfs; -my $block; -my $p2 = popurl(2); -my $dbtable; - -foreach (qsearch('part_virtual_field', {})) { - push @{ $pvfs{$_->dbtable} }, $_; -} -%> - -<% if ($cgi->param('error')) { %> - <FONT SIZE="+1" COLOR="#ff0000">Error: <%=$cgi->param('error')%></FONT> - <BR><BR> -<% } %> - -<A HREF="<%=$p2%>edit/part_virtual_field.cgi"><I>Add a new field</I></A><BR><BR> - -<% foreach $dbtable (sort { $a cmp $b } keys (%pvfs)) { %> -<H3><%=$dbtable%></H3> - -<%=table()%> -<TH><TD>Field name</TD><TD>Description</TD></TH> -<% foreach my $pvf (sort {$a->name cmp $b->name} @{ $pvfs{$dbtable} }) { %> - <TR> - <TD></TD> - <TD> - <A HREF="<%=$p2%>edit/part_virtual_field.cgi?<%=$pvf->vfieldpart%>"> - <%=$pvf->name%></A></TD> - <TD><%=$pvf->label%></TD> - </TR> -<% } %> -</TABLE> -<% } %> -</BODY> -</HTML> - diff --git a/httemplate/browse/payment_gateway.html b/httemplate/browse/payment_gateway.html deleted file mode 100644 index bb7f31514..000000000 --- a/httemplate/browse/payment_gateway.html +++ /dev/null @@ -1,70 +0,0 @@ -<% - - my %search; - if ( $cgi->param('showdisabled') ) { - %search = (); - } else { - %search = ( 'disabled' => '' ); - } - -%> -<%= header('Payment gateways', menubar( - 'Main Menu' => $p, - 'Agents' => $p. 'browse/agent.cgi', -)) %> - -<A HREF="<%= $p %>edit/payment_gateway.html"><I>Add a new payment gateway</I></A><BR><BR> - -<%= $cgi->param('showdisabled') - ? do { $cgi->param('showdisabled', 0); - '( <a href="'. $cgi->self_url. '">hide disabled gateways</a> )'; } - : do { $cgi->param('showdisabled', 1); - '( <a href="'. $cgi->self_url. '">show disabled gateways</a> )'; } -%> - -<%= table() %> -<TR> - <TH COLSPAN=<%= $cgi->param('showdisabled') ? 1 : 2 %>>#</TH> - <TH>Gateway</TH> - <TH>Username</TH> - <TH>Password</TH> - <TH>Action</TH> - <TH>Options</TH> -</TR> - -<% foreach my $payment_gateway ( qsearch( 'payment_gateway', \%search ) ) { %> - - <TR> - <TD><%= $payment_gateway->gatewaynum %></TD> - <% if ( !$cgi->param('showdisabled') ) { %> - <TD><%= $payment_gateway->disabled ? 'DISABLED' : '' %></TD> - <% } %> - <TD><%= $payment_gateway->gateway_module %> - <%= !$payment_gateway->disabled - ? '<FONT SIZE="-1"> <A HREF="misc/disable-payment_gateway.cgi?'. $payment_gateway->gatewaynum.'">(disable)</A></FONT>' - : '' - %> - </TD> - <TD><%= $payment_gateway->gateway_username %></TD> - <TD> - </TD> - <TD><%= $payment_gateway->gateway_action %></TD> - <TD> - <TABLE CELLSPACING=0 CELLPADDING=0> - <% my %options = $payment_gateway->options; - foreach my $option ( keys %options ) { - %> - <TR> - <TH><%= $option %>:</TH> - <TD><%= $options{$option} %></TD> - </TR> - <% } %> - </TABLE> - </TD> - </TR> - -<% } %> - -</TABLE> -</BODY> -</HTML> - diff --git a/httemplate/browse/queue.cgi b/httemplate/browse/queue.cgi deleted file mode 100755 index 0afdd48d7..000000000 --- a/httemplate/browse/queue.cgi +++ /dev/null @@ -1,5 +0,0 @@ -<!-- mason kludge --> -<%= header("Job Queue", menubar( 'Main Menu' => $p, )) %> -<%= joblisting({}) %> -</BODY> -</HTML> diff --git a/httemplate/browse/rate.cgi b/httemplate/browse/rate.cgi deleted file mode 100644 index c31260166..000000000 --- a/httemplate/browse/rate.cgi +++ /dev/null @@ -1,34 +0,0 @@ -<!-- mason kludge --> -<%= header("Rate plan listing", menubar( 'Main Menu' => "$p#sysadmin" )) %> -Rate plans, regions and prefixes for VoIP and call billing.<BR><BR> -<A HREF="<%=$p%>edit/rate.cgi"><I>Add a rate plan</I></A> -| <A HREF="<%=$p%>edit/rate_region.cgi"><I>Add a region</I></A> -<BR><BR> -<SCRIPT> -function rate_areyousure(href) { - if (confirm("Are you sure you want to delete this rate plan?") == true) - window.location.href = href; -} -</SCRIPT> - -<%= table() %> - <TR> - <TH COLSPAN=2>Rate plan</TH> - </TR> - -<% foreach my $rate ( sort { - $a->getfield('ratenum') <=> $b->getfield('ratenum') - } qsearch('rate',{}) ) { -%> - <TR> - <TD><A HREF="<%= $p %>edit/rate.cgi?<%= $rate->ratenum %>"><%= $rate->ratenum %></A></TD> - <TD><A HREF="<%= $p %>edit/rate.cgi?<%= $rate->ratenum %>"><%= $rate->ratename %></A></TD> - </TR> - -<% } %> - -</TABLE> -</BODY> -</HTML> - - diff --git a/httemplate/browse/router.cgi b/httemplate/browse/router.cgi deleted file mode 100644 index 149db4903..000000000 --- a/httemplate/browse/router.cgi +++ /dev/null @@ -1,57 +0,0 @@ -<%= header('Routers', menubar('Main Menu' => $p)) %> -<% - -my @router = qsearch('router', {}); -my $p2 = popurl(2); - -%> - -<% if ($cgi->param('error')) { %> - <FONT SIZE="+1" COLOR="#ff0000">Error: <%=$cgi->param('error')%></FONT> - <BR><BR> -<% } %> - -<% -my $hidecustomerrouters = 0; -my $hideurl = ''; -if ($cgi->param('hidecustomerrouters') eq '1') { - $hidecustomerrouters = 1; - $cgi->param('hidecustomerrouters', 0); - $hideurl = '<A HREF="' . $cgi->self_url() . '">Show customer routers</A>'; -} else { - $hidecustomerrouters = 0; - $cgi->param('hidecustomerrouters', 1); - $hideurl = '<A HREF="' . $cgi->self_url() . '">Hide customer routers</A>'; -} -%> - -<A HREF="<%=$p2%>edit/router.cgi">Add a new router</A> | <%=$hideurl%> - -<%=table()%> - <TR> - <TD><B>Router name</B></TD> - <TD><B>Address block(s)</B></TD> - </TR> -<% foreach my $router (sort {$a->routernum <=> $b->routernum} @router) { - next if $hidecustomerrouters && $router->svcnum; - my @addr_block = $router->addr_block; - if (scalar(@addr_block) == 0) { - push @addr_block, ' '; - } -%> - <TR> - <TD ROWSPAN="<%=scalar(@addr_block)+1%>"> - <A HREF="<%=$p2%>edit/router.cgi?<%=$router->routernum%>"><%=$router->routername%></A> - </TD> - </TR> - <% foreach my $block ( @addr_block ) { %> - <TR> - <TD><%=UNIVERSAL::isa($block, 'FS::addr_block') ? $block->NetAddr : ' '%></TD> - </TR> - <% } %> - </TR> -<% } %> -</TABLE> -</BODY> -</HTML> - diff --git a/httemplate/browse/svc_acct_pop.cgi b/httemplate/browse/svc_acct_pop.cgi deleted file mode 100755 index 44cda81ad..000000000 --- a/httemplate/browse/svc_acct_pop.cgi +++ /dev/null @@ -1,63 +0,0 @@ -<!-- mason kludge --> -<% - my $accounts_sth = dbh->prepare("SELECT COUNT(*) FROM svc_acct - WHERE popnum = ? ") - or die dbh->errstr; -%> -<%= header('Access Number Listing', menubar( 'Main Menu' => $p )) %> -Points of Presence<BR><BR> -<A HREF="<%= $p %>edit/svc_acct_pop.cgi"><I>Add new Access Number</I></A><BR><BR> -<%= table() %> - <TR> - <TH></TH> - <TH>City</TH> - <TH>State</TH> - <TH>Area code</TH> - <TH>Exchange</TH> - <TH>Local</TH> - <TH>Accounts</TH> - </TR> - -<% -foreach my $svc_acct_pop ( sort { - #$a->getfield('popnum') <=> $b->getfield('popnum') - $a->state cmp $b->state || $a->city cmp $b->city - || $a->ac <=> $b->ac || $a->exch <=> $b->exch || $a->loc <=> $b->loc -} qsearch('svc_acct_pop',{}) ) { - - my $svc_acct_pop_link = $p . 'edit/svc_acct_pop.cgi?'. $svc_acct_pop->popnum; - - $accounts_sth->execute($svc_acct_pop->popnum) or die $accounts_sth->errstr; - my $num_accounts = $accounts_sth->fetchrow_arrayref->[0]; - - my $svc_acct_link = $p. 'search/svc_acct.cgi?popnum='. $svc_acct_pop->popnum; - -%> - <TR> - <TD><A HREF="<%= $svc_acct_pop_link %>"> - <%= $svc_acct_pop->popnum %></A></TD> - <TD><A HREF="<%= $svc_acct_pop_link %>"> - <%= $svc_acct_pop->city %></A></TD> - <TD><A HREF="<%= $svc_acct_pop_link %>"> - <%= $svc_acct_pop->state %></A></TD> - <TD><A HREF="<%= $svc_acct_pop_link %>"> - <%= $svc_acct_pop->ac %></A></TD> - <TD><A HREF="<%= $svc_acct_pop_link %>"> - <%= $svc_acct_pop->exch %></A></TD> - <TD><A HREF="<%= $svc_acct_pop_link %>"> - <%= $svc_acct_pop->loc %></A></TD> - <TD> - <FONT COLOR="#00CC00"><B><%= $num_accounts %></B></FONT> - <% if ( $num_accounts ) { %><A HREF="<%= $svc_acct_link %>"><% } %> - active - <% if ( $num_accounts ) { %></A><% } %> - </TD> - </TR> -<% } %> - - <TR> - </TR> - </TABLE> - </BODY> -</HTML> - |