Will things ever be the same again?
authorivan <ivan>
Wed, 23 Aug 2006 22:25:39 +0000 (22:25 +0000)
committerivan <ivan>
Wed, 23 Aug 2006 22:25:39 +0000 (22:25 +0000)
It's the final masonize

279 files changed:
Makefile
httemplate/browse/access_group.html
httemplate/browse/access_user.html
httemplate/browse/addr_block.cgi
httemplate/browse/agent.cgi
httemplate/browse/agent_type.cgi
httemplate/browse/cust_main_county.cgi
httemplate/browse/cust_pay_batch.cgi
httemplate/browse/elements/browse.html
httemplate/browse/inventory_class.html
httemplate/browse/msgcat.cgi
httemplate/browse/nas.cgi
httemplate/browse/part_bill_event.cgi
httemplate/browse/part_export.cgi
httemplate/browse/part_pkg.cgi
httemplate/browse/part_referral.html
httemplate/browse/part_svc.cgi
httemplate/browse/part_virtual_field.cgi
httemplate/browse/payment_gateway.html
httemplate/browse/pkg_class.html
httemplate/browse/rate.cgi
httemplate/browse/router.cgi
httemplate/browse/svc_acct_pop.cgi
httemplate/config/config-process.cgi
httemplate/config/config-view.cgi
httemplate/config/config.cgi
httemplate/docs/trouble.html [deleted file]
httemplate/edit/REAL_cust_pkg.cgi
httemplate/edit/access_group.html
httemplate/edit/access_user.html
httemplate/edit/agent.cgi
httemplate/edit/agent_payment_gateway.html
httemplate/edit/agent_type.cgi
httemplate/edit/bulk-cust_svc.html
httemplate/edit/cust_bill_pay.cgi
httemplate/edit/cust_credit.cgi
httemplate/edit/cust_credit_bill.cgi
httemplate/edit/cust_main.cgi
httemplate/edit/cust_main/billing.html
httemplate/edit/cust_main/contact.html
httemplate/edit/cust_main/select-country.html
httemplate/edit/cust_main/select-county.html
httemplate/edit/cust_main/select-state.html
httemplate/edit/cust_main_county-expand.cgi
httemplate/edit/cust_main_county.cgi
httemplate/edit/cust_pay.cgi
httemplate/edit/cust_pkg.cgi
httemplate/edit/cust_refund.cgi
httemplate/edit/elements/edit.html
httemplate/edit/elements/svc_Common.html
httemplate/edit/inventory_class.html
httemplate/edit/msgcat.cgi
httemplate/edit/part_bill_event.cgi
httemplate/edit/part_export.cgi
httemplate/edit/part_pkg.cgi
httemplate/edit/part_referral.html
httemplate/edit/part_svc.cgi
httemplate/edit/part_virtual_field.cgi
httemplate/edit/payment_gateway.html
httemplate/edit/pkg_class.html
httemplate/edit/prepay_credit.cgi
httemplate/edit/process/REAL_cust_pkg.cgi
httemplate/edit/process/access_group.html
httemplate/edit/process/access_user.html
httemplate/edit/process/addr_block/add.cgi
httemplate/edit/process/addr_block/allocate.cgi
httemplate/edit/process/addr_block/deallocate.cgi
httemplate/edit/process/addr_block/split.cgi
httemplate/edit/process/agent.cgi
httemplate/edit/process/agent_payment_gateway.html
httemplate/edit/process/agent_type.cgi
httemplate/edit/process/bulk-cust_svc.cgi
httemplate/edit/process/cust_bill_pay.cgi
httemplate/edit/process/cust_credit.cgi
httemplate/edit/process/cust_credit_bill.cgi
httemplate/edit/process/cust_main.cgi
httemplate/edit/process/cust_main_county-collapse.cgi
httemplate/edit/process/cust_main_county-expand.cgi
httemplate/edit/process/cust_main_county.cgi
httemplate/edit/process/cust_pay.cgi
httemplate/edit/process/cust_pkg.cgi
httemplate/edit/process/cust_refund.cgi
httemplate/edit/process/cust_svc.cgi
httemplate/edit/process/domain_record.cgi
httemplate/edit/process/elements/process.html
httemplate/edit/process/elements/svc_Common.html
httemplate/edit/process/generic.cgi
httemplate/edit/process/inventory_class.html
httemplate/edit/process/msgcat.cgi
httemplate/edit/process/part_bill_event.cgi
httemplate/edit/process/part_export.cgi
httemplate/edit/process/part_pkg.cgi
httemplate/edit/process/part_referral.html
httemplate/edit/process/part_svc.cgi
httemplate/edit/process/payment_gateway.html
httemplate/edit/process/pkg_class.html
httemplate/edit/process/prepay_credit.cgi
httemplate/edit/process/quick-charge.cgi
httemplate/edit/process/quick-cust_pkg.cgi
httemplate/edit/process/rate.cgi
httemplate/edit/process/rate_region.cgi
httemplate/edit/process/reg_code.cgi
httemplate/edit/process/router.cgi
httemplate/edit/process/svc_acct.cgi
httemplate/edit/process/svc_acct_pop.cgi
httemplate/edit/process/svc_broadband.cgi
httemplate/edit/process/svc_domain.cgi
httemplate/edit/process/svc_external.cgi
httemplate/edit/process/svc_forward.cgi
httemplate/edit/process/svc_phone.html
httemplate/edit/process/svc_www.cgi
httemplate/edit/rate.cgi
httemplate/edit/rate_region.cgi
httemplate/edit/reg_code.cgi
httemplate/edit/router.cgi
httemplate/edit/svc_acct.cgi
httemplate/edit/svc_acct_pop.cgi
httemplate/edit/svc_broadband.cgi
httemplate/edit/svc_domain.cgi
httemplate/edit/svc_external.cgi
httemplate/edit/svc_forward.cgi
httemplate/edit/svc_phone.cgi
httemplate/edit/svc_www.cgi
httemplate/elements/checkboxes-table-name.html
httemplate/elements/checkboxes-table.html
httemplate/elements/header-popup.html
httemplate/elements/header.html
httemplate/elements/jsrsServer.html
httemplate/elements/menu.html
httemplate/elements/menubar.html
httemplate/elements/pager.html
httemplate/elements/phonenumber.html
httemplate/elements/progress-init.html
httemplate/elements/progress-popup.html
httemplate/elements/search-cust_main.html
httemplate/elements/select-access_group.html
httemplate/elements/select-agent.html
httemplate/elements/select-cust-fields.html
httemplate/elements/select-cust_pkg-status.html
httemplate/elements/select-month_year.html
httemplate/elements/select-part_referral.html
httemplate/elements/select-pkg_class.html
httemplate/elements/select-table.html
httemplate/elements/select-taxclass.html
httemplate/elements/small_custview.html
httemplate/elements/table-grid.html
httemplate/elements/table.html
httemplate/elements/tr-select-access_group.html
httemplate/elements/tr-select-agent.html
httemplate/elements/tr-select-cust-fields.html
httemplate/elements/tr-select-cust_pkg-status.html
httemplate/elements/tr-select-from_to.html
httemplate/elements/tr-select-part_referral.html
httemplate/elements/tr-select-pkg_class.html
httemplate/elements/xmlhttp.html
httemplate/graph/cust_bill_pkg.cgi
httemplate/graph/elements/monthly.html
httemplate/graph/money_time.cgi
httemplate/graph/report_cust_bill_pkg.html
httemplate/graph/report_money_time.html
httemplate/index.html
httemplate/misc/batch-cust_pay.html
httemplate/misc/bill.cgi
httemplate/misc/cancel-unaudited.cgi
httemplate/misc/cancel_pkg.cgi
httemplate/misc/catchall.cgi
httemplate/misc/cdr-import.html
httemplate/misc/change_pkg.cgi
httemplate/misc/counties.cgi
httemplate/misc/cust_main-cancel.cgi
httemplate/misc/cust_main-import.cgi
httemplate/misc/cust_main-import_charges.cgi
httemplate/misc/delete-cust_credit.cgi
httemplate/misc/delete-cust_pay.cgi
httemplate/misc/delete-customer.cgi
httemplate/misc/delete-domain_record.cgi
httemplate/misc/delete-part_export.cgi
httemplate/misc/download-batch.cgi
httemplate/misc/dump.cgi
httemplate/misc/email-invoice.cgi
httemplate/misc/email_invoice_events.cgi
httemplate/misc/email_invoices.cgi
httemplate/misc/expire_pkg.cgi
httemplate/misc/fax-invoice.cgi
httemplate/misc/fax_invoice_events.cgi
httemplate/misc/fax_invoices.cgi
httemplate/misc/inventory_item-import.html
httemplate/misc/link.cgi
httemplate/misc/meta-import.cgi
httemplate/misc/payment.cgi
httemplate/misc/print-invoice.cgi
httemplate/misc/print_invoice_events.cgi
httemplate/misc/print_invoices.cgi
httemplate/misc/process/batch-cust_pay.cgi
httemplate/misc/process/catchall.cgi
httemplate/misc/process/cdr-import.html
httemplate/misc/process/cust_main-import.cgi
httemplate/misc/process/cust_main-import_charges.cgi
httemplate/misc/process/delete-customer.cgi
httemplate/misc/process/expire_pkg.cgi
httemplate/misc/process/inventory_item-import.html
httemplate/misc/process/link.cgi
httemplate/misc/process/meta-import.cgi
httemplate/misc/process/payment.cgi
httemplate/misc/queue.cgi
httemplate/misc/states.cgi
httemplate/misc/susp_pkg.cgi
httemplate/misc/unapply-cust_credit.cgi
httemplate/misc/unapply-cust_pay.cgi
httemplate/misc/unprovision.cgi
httemplate/misc/unsusp_pkg.cgi
httemplate/misc/unvoid-cust_pay_void.cgi
httemplate/misc/upload-batch.cgi
httemplate/misc/void-cust_pay.cgi
httemplate/misc/whois.cgi
httemplate/misc/xmlhttp-cust_main-search.cgi
httemplate/misc/xmlrpc.cgi
httemplate/search/cdr.html
httemplate/search/cust_bill.html
httemplate/search/cust_bill_event.cgi
httemplate/search/cust_bill_event.html
httemplate/search/cust_bill_pkg.cgi
httemplate/search/cust_credit.html
httemplate/search/cust_main-otaker.cgi
httemplate/search/cust_main-zip.html
httemplate/search/cust_main.cgi
httemplate/search/cust_pay.cgi
httemplate/search/cust_pkg.cgi
httemplate/search/cust_tax_exempt_pkg.cgi
httemplate/search/elements/search.html
httemplate/search/inventory_item.html
httemplate/search/prepay_credit.html
httemplate/search/queue.html
httemplate/search/reg_code.html
httemplate/search/report_cdr.html
httemplate/search/report_cust_bill.html
httemplate/search/report_cust_credit.html
httemplate/search/report_cust_main-zip.html
httemplate/search/report_cust_pay.html
httemplate/search/report_cust_pkg.html
httemplate/search/report_prepaid_income.cgi
httemplate/search/report_prepaid_income.html
httemplate/search/report_receivables.cgi
httemplate/search/report_receivables.html
httemplate/search/report_tax.cgi
httemplate/search/report_tax.html
httemplate/search/sql.html
httemplate/search/sqlradius.cgi
httemplate/search/sqlradius.html
httemplate/search/svc_Smart.html
httemplate/search/svc_acct.cgi
httemplate/search/svc_broadband.cgi
httemplate/search/svc_domain.cgi
httemplate/search/svc_external.cgi
httemplate/search/svc_forward.cgi
httemplate/search/svc_phone.cgi
httemplate/search/svc_www.cgi
httemplate/view/cust_bill-logo.cgi
httemplate/view/cust_bill-pdf.cgi
httemplate/view/cust_bill-ps.cgi
httemplate/view/cust_bill.cgi
httemplate/view/cust_main.cgi
httemplate/view/cust_main/billing.html
httemplate/view/cust_main/contacts.html
httemplate/view/cust_main/misc.html
httemplate/view/cust_main/order_pkg.html
httemplate/view/cust_main/packages.html
httemplate/view/cust_main/payment_history.html
httemplate/view/cust_main/quick-charge.html
httemplate/view/cust_main/tickets.html
httemplate/view/cust_pkg.cgi
httemplate/view/elements/svc_Common.html
httemplate/view/svc_acct.cgi
httemplate/view/svc_broadband.cgi
httemplate/view/svc_domain.cgi
httemplate/view/svc_external.cgi
httemplate/view/svc_forward.cgi
httemplate/view/svc_phone.cgi
httemplate/view/svc_www.cgi

index fbc5ea1..604b402 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -9,10 +9,8 @@ DATASOURCE = DBI:Pg:dbname=freeside
 DB_USER = freeside
 DB_PASSWORD=
 
-#TEMPLATE = asp
 TEMPLATE = mason
 
-ASP_GLOBAL = /usr/local/etc/freeside/asp-global
 MASON_HANDLER = /usr/local/etc/freeside/handler.pl
 MASONDATA = /usr/local/etc/freeside/masondata
 
@@ -117,27 +115,19 @@ help:
        @echo
        @echo "                   dev dev-docs dev-perl-modules"
        @echo
-       @echo "                   aspdocs masondocs alldocs docs"
+       @echo "                   masondocs alldocs docs"
        @echo "                   htmlman forcehtmlman"
        @echo "                   perl-modules"
        #@echo
        #@echo "                   upload-docs release update-webdemo"
 
-aspdocs: htmlman httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/*/* httemplate/*/*/*/*/*
-       rm -rf aspdocs
-       cp -pr httemplate aspdocs
-       touch aspdocs
-
 
 masondocs: htmlman httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/*/* httemplate/*/*/*/*/*
        rm -rf masondocs
        cp -pr httemplate masondocs
-       ( cd masondocs; \
-         ../bin/masonize; \
-       )
        touch masondocs
 
-alldocs: aspdocs masondocs
+alldocs: masondocs
 
 docs:
        make ${TEMPLATE}docs
@@ -162,25 +152,17 @@ forcehtmlman:
 install-docs: docs
        [ -e ${FREESIDE_DOCUMENT_ROOT} ] && mv ${FREESIDE_DOCUMENT_ROOT} ${FREESIDE_DOCUMENT_ROOT}.`date +%Y%m%d%H%M%S` || true
        cp -r ${TEMPLATE}docs ${FREESIDE_DOCUMENT_ROOT}
-       [ "${TEMPLATE}" = "asp" -a ! -e ${ASP_GLOBAL} ] && mkdir ${ASP_GLOBAL} || true
-       [ "${TEMPLATE}" = "asp" ] && chown -R freeside ${ASP_GLOBAL} || true
-       [ "${TEMPLATE}" = "asp" ] && cp htetc/global.asa ${ASP_GLOBAL} || true
-       [ "${TEMPLATE}" = "asp" ] && \
-         perl -p -i -e "\
-           s'%%%FREESIDE_DOCUMENT_ROOT%%%'${FREESIDE_DOCUMENT_ROOT}'g; \
-         " ${ASP_GLOBAL}/global.asa || true
-       [ "${TEMPLATE}" = "mason" ] && cp htetc/handler.pl ${MASON_HANDLER} || true
-       [ "${TEMPLATE}" = "mason" ] && \
-         perl -p -i -e "\
-           s'%%%FREESIDE_DOCUMENT_ROOT%%%'${FREESIDE_DOCUMENT_ROOT}'g; \
-           s'%%%RT_ENABLED%%%'${RT_ENABLED}'g; \
-         " ${MASON_HANDLER} || true
-       [ "${TEMPLATE}" = "mason" -a ! -e ${MASONDATA} ] && mkdir ${MASONDATA} || true
-       [ "${TEMPLATE}" = "mason" ] && chown -R freeside ${MASONDATA} || true
-
-dev-docs: docs
+       cp htetc/handler.pl ${MASON_HANDLER}
+       perl -p -i -e "\
+         s'%%%FREESIDE_DOCUMENT_ROOT%%%'${FREESIDE_DOCUMENT_ROOT}'g; \
+         s'%%%RT_ENABLED%%%'${RT_ENABLED}'g; \
+       " ${MASON_HANDLER}
+       [ ! -e ${MASONDATA} ] && mkdir ${MASONDATA} || true
+       chown -R freeside ${MASONDATA}
+
+dev-docs:
        [ -e ${FREESIDE_DOCUMENT_ROOT} ] && mv ${FREESIDE_DOCUMENT_ROOT} ${FREESIDE_DOCUMENT_ROOT}.`date +%Y%m%d%H%M%S` || true
-       ln -s ${FREESIDE_PATH}/masondocs ${FREESIDE_DOCUMENT_ROOT}
+       ln -s ${FREESIDE_PATH}/httemplate ${FREESIDE_DOCUMENT_ROOT}
        cp htetc/handler.pl ${MASON_HANDLER}
        perl -p -i -e "\
          s'%%%FREESIDE_DOCUMENT_ROOT%%%'${FREESIDE_DOCUMENT_ROOT}'g; \
@@ -332,7 +314,7 @@ install-rt:
        [ ${RT_ENABLED} -eq 1 ] && ( cd rt; make install ) || true
 
 clean:
-       rm -rf aspdocs masondocs
+       rm -rf masondocs
        cd FS; \
        make clean
 
index 9ebb2b8..d1c3aea 100644 (file)
@@ -1,53 +1,54 @@
-<%
-
-my $html_init = 
-  "Internal access groups control access to the back-office interface.<BR><BR>".
-  qq!<A HREF="${p}edit/access_group.html"><I>Add an internal access group</I></A><BR><BR>!;
-
-#false laziness w/access_user.html & agent_type.cgi
-my $agents_sub = sub {
-  my $access_group = shift;
-
-  [ map {
-          my $access_groupagent = $_;
-          my $agent = $access_groupagent->agent;
-          [
-            {
-              'data'  => $agent->agent,
-              'align' => 'left',
-              'link'  => $p. 'edit/agent.cgi?'. $agent->agentnum,
-            },
-          ];
-        }
-    grep { $_->agent } #?
-    $access_group->access_groupagent,
-
-  ];
-  
-};
-
-my $rights_sub = sub {
-  my $access_group = shift;
-
-  [ map { my $access_right = $_;
-          [
-            { 
-              'data'  => $access_right->rightname,
-              'align' => 'left',
-            },
-          ];
-        }
-    $access_group->access_rights,
-
-  ];
-
-};
-
-my $count_query = 'SELECT COUNT(*) FROM access_group';
-
-my $link = [ $p.'edit/access_group.html?', 'groupnum' ];
-
-%><%= include( 'elements/browse.html',
+%
+%
+%my $html_init = 
+%  "Internal access groups control access to the back-office interface.<BR><BR>".
+%  qq!<A HREF="${p}edit/access_group.html"><I>Add an internal access group</I></A><BR><BR>!;
+%
+%#false laziness w/access_user.html & agent_type.cgi
+%my $agents_sub = sub {
+%  my $access_group = shift;
+%
+%  [ map {
+%          my $access_groupagent = $_;
+%          my $agent = $access_groupagent->agent;
+%          [
+%            {
+%              'data'  => $agent->agent,
+%              'align' => 'left',
+%              'link'  => $p. 'edit/agent.cgi?'. $agent->agentnum,
+%            },
+%          ];
+%        }
+%    grep { $_->agent } #?
+%    $access_group->access_groupagent,
+%
+%  ];
+%  
+%};
+%
+%my $rights_sub = sub {
+%  my $access_group = shift;
+%
+%  [ map { my $access_right = $_;
+%          [
+%            { 
+%              'data'  => $access_right->rightname,
+%              'align' => 'left',
+%            },
+%          ];
+%        }
+%    $access_group->access_rights,
+%
+%  ];
+%
+%};
+%
+%my $count_query = 'SELECT COUNT(*) FROM access_group';
+%
+%my $link = [ $p.'edit/access_group.html?', 'groupnum' ];
+%
+%
+<% include( 'elements/browse.html',
                  'title'       => 'Internal Access Groups',
                  'menubar'     => [ # 'Main menu' => $p,
                                     'Internal users' => $p.'browse/access_user.html',
index 5b78797..0538428 100644 (file)
@@ -1,83 +1,84 @@
-<%
-
-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;
-
-  [ map {
-          my $access_usergroup = $_;
-          my $access_group = $access_usergroup->access_group;
-          [
-            {
-              'data'  => $access_group->groupname,
-              'align' => 'left',
-              'link'  =>
-                $p. 'edit/access_group.html?'. $access_usergroup->groupnum,
-            },
-          ];
-        }
-    grep { $_->access_group # and ! $_->access_group->disabled
-         }
-    $access_user->access_usergroup,
-
-  ];
-
-};
-
-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',
+%
+%
+%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;
+%
+%  [ map {
+%          my $access_usergroup = $_;
+%          my $access_group = $access_usergroup->access_group;
+%          [
+%            {
+%              'data'  => $access_group->groupname,
+%              'align' => 'left',
+%              'link'  =>
+%                $p. 'edit/access_group.html?'. $access_usergroup->groupnum,
+%            },
+%          ];
+%        }
+%    grep { $_->access_group # and ! $_->access_group->disabled
+%         }
+%    $access_user->access_usergroup,
+%
+%  ];
+%
+%};
+%
+%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',
index d453adf..87f46c0 100644 (file)
@@ -1,66 +1,73 @@
-<%= include("/elements/header.html",'Address Blocks', menubar('Main Menu'   => $p)) %>
-<%
+<% include("/elements/header.html",'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')) { 
 
-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>
+   <FONT SIZE="+1" COLOR="#ff0000">Error: <%$cgi->param('error')%></FONT>
    <BR><BR>
-<% } %>
+% } 
 
-<%=table()%>
 
-<% foreach $block (sort {$a->NetAddr cmp $b->NetAddr} @addr_block) { %>
+<%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><%$block->NetAddr%></TD>
+% if (my $router = $block->router) { 
+% if (scalar($block->svc_broadband) == 0) { 
+
     <TD>
-      <%=$router->routername%>
+      <%$router->routername%>
     </TD>
     <TD>
-      <FORM ACTION="<%=$path%>/deallocate.cgi" METHOD="POST">
-        <INPUT TYPE="hidden" NAME="blocknum" VALUE="<%=$block->blocknum%>">
+      <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 { %>
+% } else { 
+
     <TD COLSPAN="2">
-    <%=$router->routername%>
+    <%$router->routername%>
     </TD>
-    <% } %>
-  <% } else { %>
+% } 
+% } else { 
+
     <TD>
-      <FORM ACTION="<%=$path%>/allocate.cgi" METHOD="POST">
-        <INPUT TYPE="hidden" NAME="blocknum" VALUE="<%=$block->blocknum%>">
+      <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>
-    <% } %>
+% 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%>">
+      <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">
+    <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">
index f5157d9..001e6ba 100755 (executable)
-<%
-
-  my %search;
-  if ( $cgi->param('showdisabled')
-       || !dbdef->table('agent')->column('disabled') ) {
-    %search = ();
-  } else {
-    %search = ( 'disabled' => '' );
-  }
-
-  my $conf = new FS::Conf;
-
-%>
-<%= include("/elements/header.html",'Agent Listing', menubar(
+%
+%
+%  my %search;
+%  if ( $cgi->param('showdisabled')
+%       || !dbdef->table('agent')->column('disabled') ) {
+%    %search = ();
+%  } else {
+%    %search = ( 'disabled' => '' );
+%  }
+%
+%  my $conf = new FS::Conf;
+%
+%
+
+<% include("/elements/header.html",'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>
+<A HREF="<% $p %>edit/agent.cgi"><I>Add a new agent</I></A><BR><BR>
+% if ( dbdef->table('agent')->column('disabled') ) { 
 
-<% if ( dbdef->table('agent')->column('disabled') ) { %>
-  <%= $cgi->param('showdisabled')
+  <% $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> )'; }
   %>
-<% } %>
+% } 
 
-<%= include('/elements/table-grid.html') %>
 
-<% my $bgcolor1 = '#eeeeee';
-   my $bgcolor2 = '#ffffff';
-   my $bgcolor = '';
-%>
+<% include('/elements/table-grid.html') %>
+% my $bgcolor1 = '#eeeeee';
+%   my $bgcolor2 = '#ffffff';
+%   my $bgcolor = '';
+%
+
 
 <TR>
-  <TH CLASS="grid" BGCOLOR="#cccccc" COLSPAN=<%= ( $cgi->param('showdisabled') || !dbdef->table('agent')->column('disabled') ) ? 2 : 3 %>>Agent</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') ) { %>
+% if ( $conf->config('ticket_system') ) { 
+
     <TH CLASS="grid" BGCOLOR="#cccccc">Ticketing</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>
-#        <TH>Agent</TH>
+% 
+%#        <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;
+%  
+%  if ( $bgcolor eq $bgcolor1 ) {
+%    $bgcolor = $bgcolor2;
+%  } else {
+%    $bgcolor = $bgcolor1;
+%  }
+%
+%
+
 
-foreach my $agent ( sort { 
-  #$a->getfield('agentnum') <=> $b->getfield('agentnum')
-  $a->getfield('agent') cmp $b->getfield('agent')
-} qsearch('agent', \%search ) ) {
+      <TR>
+        <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')           ) { 
 
-  my $cust_main_link = $p. 'search/cust_main.cgi?agentnum_on=1&'.
-                       'agentnum='. $agent->agentnum;
+        <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"><% $agent->disabled ? 'DISABLED' : '' %></TD>
+% } 
 
-  my $cust_pkg_link = $p. 'search/cust_pkg.cgi?agentnum='. $agent->agentnum;
-  
-  if ( $bgcolor eq $bgcolor1 ) {
-    $bgcolor = $bgcolor2;
-  } else {
-    $bgcolor = $bgcolor1;
-  }
 
-%>
+        <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"><A HREF="<%$p%>edit/agent.cgi?<% $agent->agentnum %>">
+          <% $agent->agent %></A></TD>
+        <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"><A HREF="<%$p%>edit/agent_type.cgi?<% $agent->typenum %>"><% $agent->agent_type->atype %></A></TD>
 
-      <TR>
-        <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 CLASS="grid" BGCOLOR="<%= $bgcolor %>"><%= $agent->disabled ? 'DISABLED' : '' %></TD>
-<% } %>
-
-        <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><A HREF="<%=$p%>edit/agent.cgi?<%= $agent->agentnum %>">
-          <%= $agent->agent %></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 %>">
+        <TD CLASS="inv" BGCOLOR="<% $bgcolor %>">
           <TABLE CLASS="inv" CELLSPACING=0 CELLPADDING=0>
 
             <TR>
               <TH ALIGN="right" WIDTH="40%">
                 <FONT COLOR="#7e0079">
-                  <%= my $num_prospect = $agent->num_prospect_cust_main %>&nbsp;
+                  <% my $num_prospect = $agent->num_prospect_cust_main %>&nbsp;
                 </FONT>
               </TH>
 
               <TD>
-                <% if ( $num_prospect ) { %>
-                  <A HREF="<%= $cust_main_link %>&prospect=1"><% } %>prospects<% if ($num_prospect ) { %></A><% } %>
+% 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 %>&nbsp;
+                  <% my $num_inactive = $agent->num_inactive_cust_main %>&nbsp;
                 </FONT>
               </TH>
 
               <TD>
-                <% if ( $num_inactive ) { %>
-                  <A HREF="<%= $cust_main_link %>&inactive=1"><% } %>inactive<% if ( $num_inactive ) { %></A><% } %>
+% 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 %>&nbsp;
+                  <% my $num_active = $agent->num_active_cust_main %>&nbsp;
                 </FONT>
               </TH>
 
               <TD>
-                <% if ( $num_active ) { %>
-                  <A HREF="<%= $cust_main_link %>&active=1"><% } %>active<% if ( $num_active ) { %></A><% } %>
+% 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 %>&nbsp;
+                  <% my $num_susp = $agent->num_susp_cust_main %>&nbsp;
                 </FONT>
               </TH>
 
               <TD>
-                <% if ( $num_susp ) { %>
-                  <A HREF="<%= $cust_main_link %>&suspended=1"><% } %>suspended<% if ( $num_susp ) { %></A><% } %>
+% 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 %>&nbsp;
+                  <% my $num_cancel = $agent->num_cancel_cust_main %>&nbsp;
                 </FONT>
               </TH>
 
               <TD>
-                <% if ( $num_cancel ) { %>
-                  <A HREF="<%= $cust_main_link %>&showcancelledcustomers=1&cancelled=1"><% } %>cancelled<% if ( $num_cancel ) { %></A><% } %>
+% if ( $num_cancel ) { 
+
+                  <A HREF="<% $cust_main_link %>&showcancelledcustomers=1&cancelled=1">
+% } 
+cancelled
+% if ( $num_cancel ) { 
+</A>
+% } 
+
               </TD>
             </TR>
 
           </TABLE>
         </TD>
 
-        <TD CLASS="inv" BGCOLOR="<%= $bgcolor %>" VALIGN="bottom">
+        <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 %>&nbsp;
+                  <% my $num_inactive_pkg = $agent->num_inactive_cust_pkg %>&nbsp;
                 </FONT>
               </TH>
 
               <TD>
-                <% if ( $num_inactive_pkg ) { %>
-                  <A HREF="<%= $cust_pkg_link %>&magic=inactive"><% } %>inactive<% if ( $num_inactive_pkg ) { %></A><% } %>
+% 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 %>&nbsp;
+                  <% my $num_active_pkg = $agent->num_active_cust_pkg %>&nbsp;
                 </FONT>
               </TH>
 
               <TD>
-                <% if ( $num_active_pkg ) { %>
-                  <A HREF="<%= $cust_pkg_link %>&magic=active"><% } %>active<% if ( $num_active_pkg ) { %></A><% } %>
+% 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 %>&nbsp;
+                  <% my $num_susp_pkg = $agent->num_susp_cust_pkg %>&nbsp;
                 </FONT>
 
               </TH>
               <TD>
-                <% if ( $num_susp_pkg ) { %>
-                  <A HREF="<%= $cust_pkg_link %>&magic=suspended"><% } %>suspended<% if ( $num_susp_pkg ) { %></A><% } %>
+% 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 %>&nbsp;
+                  <% my $num_cancel_pkg = $agent->num_cancel_cust_pkg %>&nbsp;
                 </FONT>
               </TH>
 
               <TD>
-                <% if ( $num_cancel_pkg ) { %>
-                  <A HREF="<%= $cust_pkg_link %>&magic=cancelled"><% } %>cancelled<% if ( $num_cancel_pkg ) { %></A><% } %>
+% if ( $num_cancel_pkg ) { 
+
+                  <A HREF="<% $cust_pkg_link %>&magic=cancelled">
+% } 
+cancelled
+% if ( $num_cancel_pkg ) { 
+</A>
+% } 
+
               </TD>
             </TR>
 
           </TABLE>
         </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>
-          <!--<BR><A HREF="<%= $p %>search/money_time.cgi?agentnum=<%= $agent->agentnum %>">Sales/Credits/Receipts</A>-->
+        <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>
+          <!--<BR><A HREF="<% $p %>search/money_time.cgi?agentnum=<% $agent->agentnum %>">Sales/Credits/Receipts</A>-->
 
         </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 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 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><% } %>
-          <BR><A HREF="<%=$p%>edit/prepay_credit.cgi?agentnum=<%= $agent->agentnum %>">Generate cards</A>
+        <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>
+% } 
+
+          <BR><A HREF="<%$p%>edit/prepay_credit.cgi?agentnum=<% $agent->agentnum %>">Generate cards</A>
         </TD>
+% if ( $conf->config('ticket_system') ) { 
 
-        <% if ( $conf->config('ticket_system') ) { %>
 
-          <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>">
-            <% if ( $agent->ticketing_queueid ) { %>
-              Queue: <%= $agent->ticketing_queueid %>: <%= $agent->ticketing_queue %><BR>
-            <% } %>
+          <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
+% if ( $agent->ticketing_queueid ) { 
+
+              Queue: <% $agent->ticketing_queueid %>: <% $agent->ticketing_queue %><BR>
+% } 
+
           </TD>
+% } 
 
-        <% } %>
 
-        <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>">
+        <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
           <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 } )
-               ) {
-            %>
+% 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
+                  <% $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>
+                  <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>
+              <TD><FONT SIZE=-1><A HREF="<%$p%>edit/agent_payment_gateway.html?agentnum=<% $agent->agentnum %>">(add override)</A></FONT></TD>
             </TR>
           </TABLE>
         </TD>
 
 <!--
-        <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><%= $agent->freq %></TD>
-        <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><%= $agent->prog %></TD>
+        <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"><% $agent->freq %></TD>
+        <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"><% $agent->prog %></TD>
 -->
 
       </TR>
+% } 
 
-<% } %>
 
     </TABLE>
   </BODY>
index ceffce3..318d0b6 100755 (executable)
@@ -1,37 +1,38 @@
-<%
-
-my $html_init = 
-  'Agent types define groups of packages that you can then assign to'.
-  ' particular agents.<BR><BR>'.
-  qq!<A HREF="${p}edit/agent_type.cgi"><I>Add a new agent type</I></A><BR><BR>!;
-
-my $count_query = 'SELECT COUNT(*) FROM agent_type';
-
-#false laziness w/access_user.html
-my $packages_sub = sub {
-  my $agent_type = shift;
-
-  [ map  {
-           my $type_pkgs = $_;
-           #my $part_pkg = $type_pkgs->part_pkg;
-           [
-             {
-               #'data'  => $part_pkg->pkg. ' - '. $part_pkg->comment,
-               'data'  => $type_pkgs->pkg. ' - '. $type_pkgs->comment,
-               'align' => 'left',
-               'link'  => $p. 'edit/part_pkg.cgi?'. $type_pkgs->pkgpart,
-             },
-           ];
-         }
-
-    $agent_type->type_pkgs_enabled
-  ];
-
-};
-
-my $link = [ $p.'edit/agent_type.cgi?', 'typenum' ];
-
-%><%= include( 'elements/browse.html',
+%
+%
+%my $html_init = 
+%  'Agent types define groups of packages that you can then assign to'.
+%  ' particular agents.<BR><BR>'.
+%  qq!<A HREF="${p}edit/agent_type.cgi"><I>Add a new agent type</I></A><BR><BR>!;
+%
+%my $count_query = 'SELECT COUNT(*) FROM agent_type';
+%
+%#false laziness w/access_user.html
+%my $packages_sub = sub {
+%  my $agent_type = shift;
+%
+%  [ map  {
+%           my $type_pkgs = $_;
+%           #my $part_pkg = $type_pkgs->part_pkg;
+%           [
+%             {
+%               #'data'  => $part_pkg->pkg. ' - '. $part_pkg->comment,
+%               'data'  => $type_pkgs->pkg. ' - '. $type_pkgs->comment,
+%               'align' => 'left',
+%               'link'  => $p. 'edit/part_pkg.cgi?'. $type_pkgs->pkgpart,
+%             },
+%           ];
+%         }
+%
+%    $agent_type->type_pkgs_enabled
+%  ];
+%
+%};
+%
+%my $link = [ $p.'edit/agent_type.cgi?', 'typenum' ];
+%
+%
+<% include( 'elements/browse.html',
                  'title'   => 'Agent Types',
                  'menubar'     => [ #'Main menu' => $p,
                                     'Agents'    =>"${p}browse/agent.cgi",
index 9e3feb8..69a7eb9 100755 (executable)
@@ -1,22 +1,22 @@
-<%= include('/elements/header.html', "Tax Rate Listing", menubar(
+<% include('/elements/header.html', "Tax Rate Listing", menubar(
   'Edit tax rates' => $p. "edit/cust_main_county.cgi",
 )) %>
 
     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.
+%
+%my $conf = new FS::Conf;
+%my $enable_taxclasses = $conf->exists('enable_taxclasses');
+%
+%if ( $enable_taxclasses ) { 
 
-<%
-my $conf = new FS::Conf;
-my $enable_taxclasses = $conf->exists('enable_taxclasses');
-
-if ( $enable_taxclasses ) { %>
 
   <BR>Click on <u>expand taxclasses</u> to specify tax classes
+% } 
 
-<% } %>
 
 <BR><BR>
-<%= table() %>
+<% table() %>
 
   <TR>
     <TH><FONT SIZE=-1>Country</FONT></TH>
@@ -27,123 +27,140 @@ if ( $enable_taxclasses ) { %>
     <TH><FONT SIZE=-1>Tax</FONT></TH>
     <TH><FONT SIZE=-1>Exemption</TH>
   </TR>
+%
+%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;
+%
+%  
 
-<%
-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;
-
-  %>
       <TR>
-        <TD BGCOLOR="#ffffff"><%= $hashref->{country} %></TD>
-
-  <%
-
-  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;
-    }
-
-    %>
-
-    <TD ROWSPAN=<%= $j %><%=
+        <TD BGCOLOR="#ffffff"><% $hashref->{country} %></TD>
+%
+%
+%  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;
+%    }
+%
+%    
+
+
+    <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>!
       %>
-      <% if ( $j>1 ) { %>
-        <FONT SIZE=-1><A HREF="<%= $p %>edit/process/cust_main_county-collapse.cgi?<%= $hashref->{taxnum} %>">collapse state</A></FONT>
-      <% } %>
+% if ( $j>1 ) { 
+
+        <FONT SIZE=-1><A HREF="<% $p %>edit/process/cust_main_county-collapse.cgi?<% $hashref->{taxnum} %>">collapse state</A></FONT>
+% } 
+
 
     </TD>
-  <% } %>
-
-<% #  $sup=$newsup; %>
-
-    <TD<% if ( $hashref->{county} ) {
-            %> BGCOLOR="#ffffff"><%= $hashref->{county} %>
-       <% } else {
-            %> BGCOLOR="#cccccc">(ALL)
-            <% if ( $hashref->{state} ) { %>
-                 <FONT SIZE=-1><A HREF="<%= $p %>edit/cust_main_county-expand.cgi?<%= $hashref->{taxnum} %>">expand state</A></FONT>
-            <% } %>
-       <% } %>
+% } 
+% #  $sup=$newsup; 
+
+
+    <TD
+% if ( $hashref->{county} ) {
+%            
+ BGCOLOR="#ffffff"><% $hashref->{county} %>
+% } else {
+%            
+ BGCOLOR="#cccccc">(ALL)
+% if ( $hashref->{state} ) { 
+
+                 <FONT SIZE=-1><A HREF="<% $p %>edit/cust_main_county-expand.cgi?<% $hashref->{taxnum} %>">expand state</A></FONT>
+% } 
+% } 
+
     </TD>
 
-    <TD<% if ( $hashref->{taxclass} ) {
-            %> BGCOLOR="#ffffff"><%= $hashref->{taxclass} %>
-       <% } else {
-            %> BGCOLOR="#cccccc">(ALL)
-            <% if ( $enable_taxclasses ) { %>
-                 <FONT SIZE=-1><A HREF="<%= $p %>edit/cust_main_county-expand.cgi?taxclass<%= $hashref->{taxnum} %>">expand taxclasses</A></FONT>
-            <% } %>
-       <% } %>
+    <TD
+% if ( $hashref->{taxclass} ) {
+%            
+ BGCOLOR="#ffffff"><% $hashref->{taxclass} %>
+% } else {
+%            
+ BGCOLOR="#cccccc">(ALL)
+% if ( $enable_taxclasses ) { 
+
+                 <FONT SIZE=-1><A HREF="<% $p %>edit/cust_main_county-expand.cgi?taxclass<% $hashref->{taxnum} %>">expand taxclasses</A></FONT>
+% } 
+% } 
+
     </TD>
 
-    <TD<% if ( $hashref->{taxname} ) {
-            %> BGCOLOR="#ffffff"><%= $hashref->{taxname} %>
-       <% } else {
-            %> BGCOLOR="#cccccc">Tax
-       <% } %>
+    <TD
+% if ( $hashref->{taxname} ) {
+%            
+ BGCOLOR="#ffffff"><% $hashref->{taxname} %>
+% } else {
+%            
+ BGCOLOR="#cccccc">Tax
+% } 
+
     </TD>
 
-    <TD BGCOLOR="#ffffff"><%= $hashref->{tax} %>%</TD>
+    <TD BGCOLOR="#ffffff"><% $hashref->{tax} %>%</TD>
 
     <TD BGCOLOR="#ffffff">
+% if ( $hashref->{exempt_amount} > 0 ) { 
 
-      <% if ( $hashref->{exempt_amount} > 0 ) { %>
-        $<%= sprintf("%.2f", $hashref->{exempt_amount} ) %>&nbsp;per&nbsp;month<BR>
-      <% } %>
+        $<% sprintf("%.2f", $hashref->{exempt_amount} ) %>&nbsp;per&nbsp;month<BR>
+% } 
+% if ( $hashref->{setuptax} =~ /^Y$/i ) { 
 
-      <% if ( $hashref->{setuptax} =~ /^Y$/i ) { %>
         Setup&nbsp;fee<BR>
-      <% } %>
-      
-      <% if ( $hashref->{recurtax} =~ /^Y$/i ) { %>
+% } 
+% if ( $hashref->{recurtax} =~ /^Y$/i ) { 
+
         Recurring&nbsp;fee<BR>
-      <% } %>
+% } 
+
 
     </TD>
 
   </TR>
+% } 
 
-<% } %>
 
 </TABLE>
 
-<%= include('/elements/footer.html') %>
+<% include('/elements/footer.html') %>
index 98ea2f5..e40e958 100755 (executable)
@@ -1,27 +1,27 @@
 <!-- mason kludge -->
-<%= include("/elements/header.html","Credit card batch details", menubar( 'Main Menu' => $p,)) %>
+<% include("/elements/header.html","Credit card batch details", menubar( 'Main Menu' => $p,)) %>
+%
+%
+%die "No batch specified (bad URL)!" unless $cgi->keywords;
+%my($query) = $cgi->keywords;
+%$query =~ /^(\d+)$/;
+%my $batchnum = $1;
+%my $pay_batch = qsearchs('pay_batch',{'batchnum'=>$batchnum});
+%die "Batch not found!" unless $pay_batch;
+%
+%
 
-<%
 
-die "No batch specified (bad URL)!" unless $cgi->keywords;
-my($query) = $cgi->keywords;
-$query =~ /^(\d+)$/;
-my $batchnum = $1;
-my $pay_batch = qsearchs('pay_batch',{'batchnum'=>$batchnum});
-die "Batch not found!" unless $pay_batch;
-
-%>
-
-<FORM ACTION="<%=$p%>misc/download-batch.cgi" METHOD="POST">
+<FORM ACTION="<%$p%>misc/download-batch.cgi" METHOD="POST">
 Download batch in format <SELECT NAME="format">
 <OPTION VALUE="">Default batch mode</OPTION>
 <OPTION VALUE="csv-td_canada_trust-merchant_pc_batch">CSV file for TD Canada Trust Merchant PC Batch</OPTION>
 <OPTION VALUE="PAP">80 byte file for TD Canada Trust PAP Batch</OPTION>
 <OPTION VALUE="BoM">Bank of Montreal ECA batch</OPTION>
-</SELECT><INPUT TYPE="hidden" NAME="batchnum" VALUE="<%= $batchnum %>"><INPUT TYPE="submit" VALUE="Download"></FORM>
+</SELECT><INPUT TYPE="hidden" NAME="batchnum" VALUE="<% $batchnum %>"><INPUT TYPE="submit" VALUE="Download"></FORM>
 <BR><BR>
 
-<FORM ACTION="<%=$p%>misc/upload-batch.cgi" METHOD="POST" ENCTYPE="multipart/form-data">
+<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">
@@ -32,26 +32,26 @@ Format <SELECT NAME="format">
 </SELECT><BR>
 <INPUT TYPE="submit" VALUE="Upload"></FORM>
 <BR>
+%
+%  my $statement = "SELECT SUM(amount) from cust_pay_batch WHERE batchnum=".
+%                     $batchnum;
+%  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 WHERE batchnum=".
+%                       $batchnum;
+%  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];
+%
 
-<%
-  my $statement = "SELECT SUM(amount) from cust_pay_batch WHERE batchnum=".
-                     $batchnum;
-  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 WHERE batchnum=".
-                       $batchnum;
-  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 batch<BR>
+<% $cards %> credit card payments batched<BR>
+$<% sprintf("%.2f", $total) %> total in batch<BR>
 
 <BR>
-<%= &table() %>
+<% &table() %>
       <TR>
         <TH>#</TH>
         <TH><font size=-1>inv#</font></TH>
@@ -62,35 +62,35 @@ $<%= sprintf("%.2f", $total) %> total in batch<BR>
         <TH>Amount</TH>
         <TH>Status</TH>
       </TR>
+%
+%foreach my $cust_pay_batch ( sort { $a->paybatchnum <=> $b->paybatchnum }
+%                             qsearch('cust_pay_batch', {'batchnum'=>$batchnum} )
+%) {
+%  my $cardnum = $cust_pay_batch->payinfo;
+%  #$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";
+%
+%
 
-<%
-foreach my $cust_pay_batch ( sort { $a->paybatchnum <=> $b->paybatchnum }
-                             qsearch('cust_pay_batch', {'batchnum'=>$batchnum} )
-) {
-  my $cardnum = $cust_pay_batch->payinfo;
-  #$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>
-        <TD><%= $cust_pay_batch->status %></TD>
+        <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>
+        <TD><% $cust_pay_batch->status %></TD>
       </TR>
+% } 
 
-<% } %>
 
     </TABLE>
   </BODY>
index 6d146d3..2cc5a96 100644 (file)
@@ -1,4 +1,4 @@
-<%= include( '/search/elements/search.html',
+<% include( '/search/elements/search.html',
                @_,
                'disable_download'  => 1,
                'disable_nonefound' => 1,
index 4a15bf7..6d9424e 100644 (file)
@@ -1,27 +1,28 @@
-<%
-
-tie my %labels, 'Tie::IxHash',
-  'num_avail' => 'Available', #  <FONT SIZE="-1"><A HREF="eventually">(upload batch)</A></FONT>',
-  'num_used'  => 'In use', #'Used', #'Allocated',
-  'num_total' => 'Total',
-;
-
-my %link = (
-  'num_avail' => ';avail=1',
-  'num_used'  => ';used=1',
-  'num_total' => '',
-);
-
-my %inv_action_link = (
-  'num_avail' => [ 'upload batch',
-                   $p.'misc/inventory_item-import.html?classnum=',
-                   'classnum'
-                 ],
-);
-
-my $link = [ "${p}edit/inventory_class.html?", 'classnum' ];
-
-%><%= include( 'elements/browse.html',
+%
+%
+%tie my %labels, 'Tie::IxHash',
+%  'num_avail' => 'Available', #  <FONT SIZE="-1"><A HREF="eventually">(upload batch)</A></FONT>',
+%  'num_used'  => 'In use', #'Used', #'Allocated',
+%  'num_total' => 'Total',
+%;
+%
+%my %link = (
+%  'num_avail' => ';avail=1',
+%  'num_used'  => ';used=1',
+%  'num_total' => '',
+%);
+%
+%my %inv_action_link = (
+%  'num_avail' => [ 'upload batch',
+%                   $p.'misc/inventory_item-import.html?classnum=',
+%                   'classnum'
+%                 ],
+%);
+%
+%my $link = [ "${p}edit/inventory_class.html?", 'classnum' ];
+%
+%
+<% include( 'elements/browse.html',
                  'title'       => 'Inventory Classes',
                  'name'        => 'inventory classes',
                  'menubar'     => [ 'Add a new inventory class' =>
index 318ebfd..35ea069 100755 (executable)
@@ -1,40 +1,42 @@
-<%= include('/elements/header.html', "View Message catalog", menubar(
+<% include('/elements/header.html', "View Message catalog", menubar(
   'Edit message catalog' => $p. "edit/msgcat.cgi",
-)) %><%
+)) %>
+%
+%
+%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;
+%  },
+%
+%);
+%
 
-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;
-  },
-
-);
-%>
-
-<%=  $widget->html %>
-<%= include('/elements/footer.html') %>
+<%  $widget->html %>
+<% include('/elements/footer.html') %>
index 9ccbfe6..022c65e 100755 (executable)
@@ -1,80 +1,81 @@
 <!-- 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</
+%
 
-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</
-%>
index 91e31d8..2486c66 100755 (executable)
-<% 
-my %search;
-if ( $cgi->param('showdisabled') ) {
-  %search = ();
-} else {
-  %search = ( 'disabled' => '' );
-}
+% 
+%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);
+%
 
-my @part_bill_event = qsearch('part_bill_event', \%search );
-my $total = scalar(@part_bill_event);
-%>
 
-<%= include("/elements/header.html",'Invoice Event Listing', menubar( 'Main Menu' => $p) ) %>
+<% include("/elements/header.html",'Invoice Event Listing', menubar( 'Main Menu' => $p) ) %>
 
     Invoice events are actions taken on open invoices.<BR><BR>
 
-<A HREF="<%= $p %>edit/part_bill_event.cgi"><I>Add a new invoice event</I></A>
+<A HREF="<% $p %>edit/part_bill_event.cgi"><I>Add a new invoice event</I></A>
 <BR><BR>
 
-<%= $total %> events
-<%= $cgi->param('showdisabled')
+<% $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> )'; }
 %>
 <BR><BR>
+% tie my %payby, 'Tie::IxHash', FS::payby->cust_payby2longname;
+%   tie my %freq, 'Tie::IxHash', '1d' => 'daily', '1m' => 'monthly';
+%   foreach my $payby ( keys %payby ) {
+%     my $oldfreq = '';
+%
+%     my @payby_part_bill_event =
+%       grep { $payby eq $_->payby }
+%       sort {    ( $a->freq || '1d') cmp ( $b->freq || '1d' ) # for now
+%              ||   $a->seconds       <=>   $b->seconds
+%              ||   $a->weight        <=>   $b->weight
+%              ||   $a->eventpart     <=>   $b->eventpart
+%            }
+%       @part_bill_event;
+%
+%
+% if ( @payby_part_bill_event ) { 
 
-<% tie my %payby, 'Tie::IxHash', FS::payby->cust_payby2longname;
-   tie my %freq, 'Tie::IxHash', '1d' => 'daily', '1m' => 'monthly';
-   foreach my $payby ( keys %payby ) {
-     my $oldfreq = '';
-
-     my @payby_part_bill_event =
-       grep { $payby eq $_->payby }
-       sort {    ( $a->freq || '1d') cmp ( $b->freq || '1d' ) # for now
-              ||   $a->seconds       <=>   $b->seconds
-              ||   $a->weight        <=>   $b->weight
-              ||   $a->eventpart     <=>   $b->eventpart
-            }
-       @part_bill_event;
-
-%>
 
-  <% if ( @payby_part_bill_event ) { %>
+    <% include('/elements/table-grid.html') %>
+% my $bgcolor1 = '#eeeeee';
+%       my $bgcolor2 = '#ffffff';
+%       my $bgcolor;
+%    
+%
+%       foreach my $part_bill_event ( @payby_part_bill_event ) {
+%         my $url = "${p}edit/part_bill_event.cgi?". $part_bill_event->eventpart;
+%         my $delay = duration_exact($part_bill_event->seconds);
+%         ( my $plandata = $part_bill_event->plandata ) =~ s/\n/<BR>/go;
+%         my $freq = $part_bill_event->freq || '1d';
+%    
+% if ( $oldfreq ne $freq ) { 
 
-    <%= include('/elements/table-grid.html') %>
-  
-    <% my $bgcolor1 = '#eeeeee';
-       my $bgcolor2 = '#ffffff';
-       my $bgcolor;
-    %>
-  
-    <%
-       foreach my $part_bill_event ( @payby_part_bill_event ) {
-         my $url = "${p}edit/part_bill_event.cgi?". $part_bill_event->eventpart;
-         my $delay = duration_exact($part_bill_event->seconds);
-         ( my $plandata = $part_bill_event->plandata ) =~ s/\n/<BR>/go;
-         my $freq = $part_bill_event->freq || '1d';
-    %>
-  
-      <% if ( $oldfreq ne $freq ) { %>
   
         <TR>
-          <TH CLASS="grid" BGCOLOR="#999999" COLSPAN=<%= $cgi->param('showdisabled') ? 7 : 8 %>><%= ucfirst($freq{$freq}) %> event tests for <FONT SIZE="+1"><I><%= $payby{$payby} %> customers</I></FONT></TH>
+          <TH CLASS="grid" BGCOLOR="#999999" COLSPAN=<% $cgi->param('showdisabled') ? 7 : 8 %>><% ucfirst($freq{$freq}) %> event tests for <FONT SIZE="+1"><I><% $payby{$payby} %> customers</I></FONT></TH>
         </TR>
       
         <TR>
-          <TH CLASS="grid" BGCOLOR="#cccccc" COLSPAN=<%= $cgi->param('showdisabled') ? 2 : 3 %>>Event</TH>
+          <TH CLASS="grid" BGCOLOR="#cccccc" COLSPAN=<% $cgi->param('showdisabled') ? 2 : 3 %>>Event</TH>
           <TH CLASS="grid" BGCOLOR="#cccccc">After</TH>
           <TH CLASS="grid" BGCOLOR="#cccccc">Action</TH>
           <TH CLASS="grid" BGCOLOR="#cccccc">Options</TH>
           <TH CLASS="grid" BGCOLOR="#cccccc">Code</TH>
         </TR>
-  
-        <%
-           $oldfreq = $freq;
-           $bgcolor = '';
-        %>
-  
-      <% } %>
-  
-      <%
-         if ( $bgcolor eq $bgcolor1 ) {
-            $bgcolor = $bgcolor2;
-          } else {
-            $bgcolor = $bgcolor1;
-          }
-      %>
+%
+%           $oldfreq = $freq;
+%           $bgcolor = '';
+%        
+% } 
+%
+%         if ( $bgcolor eq $bgcolor1 ) {
+%            $bgcolor = $bgcolor2;
+%          } else {
+%            $bgcolor = $bgcolor1;
+%          }
+%      
+
   
       <TR>
-        <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><A HREF="<%= $url %>">
-          <%= $part_bill_event->eventpart %></A></TD>
-    <% unless ( $cgi->param('showdisabled') ) { %>
-        <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>">
-          <%= $part_bill_event->disabled ? 'DISABLED' : '' %></TD>
-    <% } %>
-        <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><A HREF="<%= $url %>">
-          <%= $part_bill_event->event %></A></TD>
-        <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>">
-          <%= $delay %></TD>
-        <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>">
-          <%= $part_bill_event->plan %></TD>
-        <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>">
-          <%= $plandata %></TD>
-        <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><FONT SIZE="-1">
-          <%= $part_bill_event->eventcode %></FONT></TD>
+        <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"><A HREF="<% $url %>">
+          <% $part_bill_event->eventpart %></A></TD>
+% unless ( $cgi->param('showdisabled') ) { 
+
+        <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
+          <% $part_bill_event->disabled ? 'DISABLED' : '' %></TD>
+% } 
+
+        <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"><A HREF="<% $url %>">
+          <% $part_bill_event->event %></A></TD>
+        <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
+          <% $delay %></TD>
+        <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
+          <% $part_bill_event->plan %></TD>
+        <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
+          <% $plandata %></TD>
+        <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"><FONT SIZE="-1">
+          <% $part_bill_event->eventcode %></FONT></TD>
       </TR>
-    <% } %>
+% } 
+
     </TABLE>
     <BR><BR>
+% } 
+% } 
 
-  <% } %>
-
-<% } %>
 
 </BODY>
 </HTML>
index 25a49cd..0f67317 100755 (executable)
@@ -1,7 +1,7 @@
 <!-- mason kludge -->
-<%= include("/elements/header.html","Export Listing", menubar( 'Main Menu' => "$p#sysadmin" )) %>
+<% include("/elements/header.html","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>
+<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)
@@ -9,30 +9,32 @@ function part_export_areyousure(href) {
 }
 </SCRIPT>
 
-<%= table() %>
+<% 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',{}) ) {
+%
 
-<% 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>&nbsp;|&nbsp;<A HREF="javascript:part_export_areyousure('<%= $p %>misc/delete-part_export.cgi?<%= $part_export->exportnum %>')">delete</A>)</TD>
+    <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>&nbsp;|&nbsp;<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>
-      <% } %>
+      <% 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>
index a5e212d..f2364b1 100755 (executable)
-<%
-
-#false laziness w/access_user.html
-my %search = ();
-my $search = '';
-unless ( $cgi->param('showdisabled') ) {
-  %search = ( 'disabled' => '' );
-  $search = "( disabled = '' OR disabled IS NULL )";
-}
-
-my $select = '*';
-my $orderby = 'pkgpart';
-if ( $cgi->param('active') ) {
-
-  $orderby = 'num_active DESC';
-}
-  $select = "
-
-    *,
-
-    ( SELECT COUNT(*) FROM cust_pkg WHERE cust_pkg.pkgpart = part_pkg.pkgpart
-       AND ( cancel IS NULL OR cancel = 0 )
-       AND ( susp IS NULL OR susp = 0 )
-    ) AS num_active,
-
-    ( SELECT COUNT(*) FROM cust_pkg WHERE cust_pkg.pkgpart = part_pkg.pkgpart
-        AND ( cancel IS NULL OR cancel = 0 )
-        AND susp IS NOT NULL AND susp != 0
-    ) AS num_suspended,
-
-    ( SELECT COUNT(*) FROM cust_pkg WHERE cust_pkg.pkgpart = part_pkg.pkgpart
-        AND cancel IS NOT NULL AND cancel != 0
-    ) AS num_cancelled
-
-  ";
-
-#}
-
-my $conf = new FS::Conf;
-my $taxclasses = $conf->exists('enable_taxclasses');
-
-my $html_init;
-#unless ( $cgi->param('active') ) {
-  $html_init = qq!
-    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>
-  !;
-#}
-
-my $posttotal;
-if ( $cgi->param('showdisabled') ) {
-  $cgi->param('showdisabled', 0);
-  $posttotal = '( <a href="'. $cgi->self_url. '">hide disabled packages</a> )';
-  $cgi->param('showdisabled', 1);
-} else {
-  $cgi->param('showdisabled', 1);
-  $posttotal = '( <a href="'. $cgi->self_url. '">show disabled packages</a> )';
-  $cgi->param('showdisabled', 0);
-}
-
-
-# ------
-
-my $link = [ $p.'edit/part_pkg.cgi?', 'pkgpart' ];
-
-my @header = ( '#', 'Package', 'Comment' );
-my @fields = ( 'pkgpart', 'pkg', 'comment' );
-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';
-  push @fields, sub { shift->disabled
-                        ? '<FONT COLOR="#FF0000">DISABLED</FONT>'
-                        : '<FONT COLOR="#00CC00">Active</FONT>'
-                    };
-  push @links, '';
-  $align .= 'c';
-  push @style, 'b';
-}
-
-unless ( 0 ) { #already showing only one class or something?
-  push @header, 'Class';
-  push @fields, sub { shift->classname || '(none)'; };
-  $align .= 'l';
-}
-
-#if ( $cgi->param('active') ) {
-  push @header, 'Customer<BR>packages';
-  my %col = (
-    'active'      => '00CC00',
-    'suspended'   => 'FF9900',
-    'cancelled'   => 'FF0000',
-  );
-  my $cust_pkg_link = $p. 'search/cust_pkg.cgi?pkgpart=';
-  push @fields, sub { my $part_pkg = shift;
-                      [
-                        map {
-                              [
-                                {
-                                 'data'  => '<B><FONT COLOR="#'. $col{$_}. '">'.
-                                            $part_pkg->get("num_$_").
-                                            '</FONT></B>',
-                                 'align' => 'right',
-                                },
-                                {
-                                 'data'  => $_,
-                                 'align' => 'left',
-                                 'link'  => ( $part_pkg->get("num_$_")
-                                                ? $cust_pkg_link.
-                                                  $part_pkg->pkgpart.
-                                                  ";magic=$_"
-                                                : ''
-                                            ),
-                                },
-                              ],
-                            } (qw( active suspended cancelled ))
-                      ]; };
-  $align .= 'r';
-#}
-
-push @header, 'Frequency';
-push @fields, sub { shift->freq_pretty; };
-$align .= 'l';
-
-if ( $taxclasses ) {
-  push @header, 'Taxclass';
-  push @fields, sub { shift->taxclass() || '&nbsp;'; };
-  $align .= 'l';
-}
-
-push @header, 'Plan',
-              'Data',
-              'Services';
-              #'Service', 'Quan', 'Primary';
-
-push @fields, sub { shift->plan || '(legacy)' }, 
-
-              sub {
-                    my $part_pkg = shift;
-                    if ( $part_pkg->plan ) {
-
-                      [ map { 
-                              /^(\w+)=(.*)$/; #or something;
-                              [
-                                { 'data'  => $1,
-                                  'align' => 'right',
-                                },
-                                { 'data'  => $2,
-                                  'align' => 'left',
-                                },
-                              ];
-                            }
-                        split(/\n/, $part_pkg->plandata)
-                      ];
-
-                    } else {
-
-                      [ map { [
-                                { 'data'  => uc($_),
-                                  'align' => 'right',
-                                },
-                                {
-                                  'data'  => $part_pkg->$_(),
-                                  'align' => 'left',
-                                },
-                              ];
-                            }
-                        (qw(setup recur))
-                      ];
-
-                    }
-
-                  },
-
-              sub {
-                    my $part_pkg = shift;
-
-                    [ map  {
-                             my $pkg_svc = $_;
-                             my $part_svc = $pkg_svc->part_svc;
-                             my $svc = $part_svc->svc;
-                             if ( $pkg_svc->primary_svc =~ /^Y/i ) {
-                               $svc = "<B>$svc (PRIMARY)</B>";
-                             }
-                             $svc =~ s/ +/&nbsp;/g;
-
-                             [
-                               {
-                                 'data'  => '<B>'. $pkg_svc->quantity. '</B>',
-                                 'align' => 'right'
-                               },
-                               {
-                                 'data'  => $svc,
-                                 'align' => 'left',
-                                 'link'  => $p. 'edit/part_svc.cgi?'.
-                                            $part_svc->svcpart,
-                               },
-                             ];
-                           }
-                      sort {     $b->primary_svc =~ /^Y/i
-                             <=> $a->primary_svc =~ /^Y/i
-                           }
-                           $part_pkg->pkg_svc
-
-                    ];
-
-                  };
-
-$align .= 'lrl'; #rr';
-
-# --------
-
-my $count_query = 'SELECT COUNT(*) FROM part_pkg';
-$count_query .= " WHERE $search"
-  if $search;
-
-%><%= include( 'elements/browse.html',
+%
+%
+%#false laziness w/access_user.html
+%my %search = ();
+%my $search = '';
+%unless ( $cgi->param('showdisabled') ) {
+%  %search = ( 'disabled' => '' );
+%  $search = "( disabled = '' OR disabled IS NULL )";
+%}
+%
+%my $select = '*';
+%my $orderby = 'pkgpart';
+%if ( $cgi->param('active') ) {
+%
+%  $orderby = 'num_active DESC';
+%}
+%  $select = "
+%
+%    *,
+%
+%    ( SELECT COUNT(*) FROM cust_pkg WHERE cust_pkg.pkgpart = part_pkg.pkgpart
+%       AND ( cancel IS NULL OR cancel = 0 )
+%       AND ( susp IS NULL OR susp = 0 )
+%    ) AS num_active,
+%
+%    ( SELECT COUNT(*) FROM cust_pkg WHERE cust_pkg.pkgpart = part_pkg.pkgpart
+%        AND ( cancel IS NULL OR cancel = 0 )
+%        AND susp IS NOT NULL AND susp != 0
+%    ) AS num_suspended,
+%
+%    ( SELECT COUNT(*) FROM cust_pkg WHERE cust_pkg.pkgpart = part_pkg.pkgpart
+%        AND cancel IS NOT NULL AND cancel != 0
+%    ) AS num_cancelled
+%
+%  ";
+%
+%#}
+%
+%my $conf = new FS::Conf;
+%my $taxclasses = $conf->exists('enable_taxclasses');
+%
+%my $html_init;
+%#unless ( $cgi->param('active') ) {
+%  $html_init = qq!
+%    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>
+%  !;
+%#}
+%
+%my $posttotal;
+%if ( $cgi->param('showdisabled') ) {
+%  $cgi->param('showdisabled', 0);
+%  $posttotal = '( <a href="'. $cgi->self_url. '">hide disabled packages</a> )';
+%  $cgi->param('showdisabled', 1);
+%} else {
+%  $cgi->param('showdisabled', 1);
+%  $posttotal = '( <a href="'. $cgi->self_url. '">show disabled packages</a> )';
+%  $cgi->param('showdisabled', 0);
+%}
+%
+%
+%# ------
+%
+%my $link = [ $p.'edit/part_pkg.cgi?', 'pkgpart' ];
+%
+%my @header = ( '#', 'Package', 'Comment' );
+%my @fields = ( 'pkgpart', 'pkg', 'comment' );
+%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';
+%  push @fields, sub { shift->disabled
+%                        ? '<FONT COLOR="#FF0000">DISABLED</FONT>'
+%                        : '<FONT COLOR="#00CC00">Active</FONT>'
+%                    };
+%  push @links, '';
+%  $align .= 'c';
+%  push @style, 'b';
+%}
+%
+%unless ( 0 ) { #already showing only one class or something?
+%  push @header, 'Class';
+%  push @fields, sub { shift->classname || '(none)'; };
+%  $align .= 'l';
+%}
+%
+%#if ( $cgi->param('active') ) {
+%  push @header, 'Customer<BR>packages';
+%  my %col = (
+%    'active'      => '00CC00',
+%    'suspended'   => 'FF9900',
+%    'cancelled'   => 'FF0000',
+%  );
+%  my $cust_pkg_link = $p. 'search/cust_pkg.cgi?pkgpart=';
+%  push @fields, sub { my $part_pkg = shift;
+%                      [
+%                        map {
+%                              [
+%                                {
+%                                 'data'  => '<B><FONT COLOR="#'. $col{$_}. '">'.
+%                                            $part_pkg->get("num_$_").
+%                                            '</FONT></B>',
+%                                 'align' => 'right',
+%                                },
+%                                {
+%                                 'data'  => $_,
+%                                 'align' => 'left',
+%                                 'link'  => ( $part_pkg->get("num_$_")
+%                                                ? $cust_pkg_link.
+%                                                  $part_pkg->pkgpart.
+%                                                  ";magic=$_"
+%                                                : ''
+%                                            ),
+%                                },
+%                              ],
+%                            } (qw( active suspended cancelled ))
+%                      ]; };
+%  $align .= 'r';
+%#}
+%
+%push @header, 'Frequency';
+%push @fields, sub { shift->freq_pretty; };
+%$align .= 'l';
+%
+%if ( $taxclasses ) {
+%  push @header, 'Taxclass';
+%  push @fields, sub { shift->taxclass() || '&nbsp;'; };
+%  $align .= 'l';
+%}
+%
+%push @header, 'Plan',
+%              'Data',
+%              'Services';
+%              #'Service', 'Quan', 'Primary';
+%
+%push @fields, sub { shift->plan || '(legacy)' }, 
+%
+%              sub {
+%                    my $part_pkg = shift;
+%                    if ( $part_pkg->plan ) {
+%
+%                      [ map { 
+%                              /^(\w+)=(.*)$/; #or something;
+%                              [
+%                                { 'data'  => $1,
+%                                  'align' => 'right',
+%                                },
+%                                { 'data'  => $2,
+%                                  'align' => 'left',
+%                                },
+%                              ];
+%                            }
+%                        split(/\n/, $part_pkg->plandata)
+%                      ];
+%
+%                    } else {
+%
+%                      [ map { [
+%                                { 'data'  => uc($_),
+%                                  'align' => 'right',
+%                                },
+%                                {
+%                                  'data'  => $part_pkg->$_(),
+%                                  'align' => 'left',
+%                                },
+%                              ];
+%                            }
+%                        (qw(setup recur))
+%                      ];
+%
+%                    }
+%
+%                  },
+%
+%              sub {
+%                    my $part_pkg = shift;
+%
+%                    [ map  {
+%                             my $pkg_svc = $_;
+%                             my $part_svc = $pkg_svc->part_svc;
+%                             my $svc = $part_svc->svc;
+%                             if ( $pkg_svc->primary_svc =~ /^Y/i ) {
+%                               $svc = "<B>$svc (PRIMARY)</B>";
+%                             }
+%                             $svc =~ s/ +/&nbsp;/g;
+%
+%                             [
+%                               {
+%                                 'data'  => '<B>'. $pkg_svc->quantity. '</B>',
+%                                 'align' => 'right'
+%                               },
+%                               {
+%                                 'data'  => $svc,
+%                                 'align' => 'left',
+%                                 'link'  => $p. 'edit/part_svc.cgi?'.
+%                                            $part_svc->svcpart,
+%                               },
+%                             ];
+%                           }
+%                      sort {     $b->primary_svc =~ /^Y/i
+%                             <=> $a->primary_svc =~ /^Y/i
+%                           }
+%                           $part_pkg->pkg_svc
+%
+%                    ];
+%
+%                  };
+%
+%$align .= 'lrl'; #rr';
+%
+%# --------
+%
+%my $count_query = 'SELECT COUNT(*) FROM part_pkg';
+%$count_query .= " WHERE $search"
+%  if $search;
+%
+%
+<% include( 'elements/browse.html',
                  'title'          => 'Package Definitions',
                  'menubar'        => [ 'Main Menu' => $p ],
                  'html_init'      => $html_init,
index c50a406..0e61a90 100755 (executable)
-<%= include("/elements/header.html","Advertising source Listing" ) %>
+<% 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.html"><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>
+%
+%  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 $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 = '';
+%
 
-<%
-  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 $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 = '';
-%>
 
 <TR>
   <TH CLASS="grid" BGCOLOR="#cccccc" COLSPAN=2 ROWSPAN=2>Advertising source</TH>
-  <% if ( $show_agentnums ) { %>
+% if ( $show_agentnums ) { 
+
     <TH CLASS="grid" BGCOLOR="#cccccc" ROWSPAN=2>Agent</TH>
-  <% } %>
-  <TH CLASS="grid" BGCOLOR="#cccccc" COLSPAN=<%= scalar(keys %after) %>>Customers</TH>
+% } 
+
+  <TH CLASS="grid" BGCOLOR="#cccccc" COLSPAN=<% scalar(keys %after) %>>Customers</TH>
 </TR>
-<% for my $period ( keys %after ) { %>
-  <TH CLASS="grid" BGCOLOR="#cccccc"><FONT SIZE=-1><%= $period %></FONT></TH>
-<% } %>
+% for my $period ( keys %after ) { 
+
+  <TH CLASS="grid" BGCOLOR="#cccccc"><FONT SIZE=-1><% $period %></FONT></TH>
+% } 
+
 </TR>
+%
+%foreach my $part_referral ( FS::part_referral->all_part_referral(1) ) {
+%
+%  if ( $bgcolor eq $bgcolor1 ) {
+%    $bgcolor = $bgcolor2;
+%  } else {
+%    $bgcolor = $bgcolor1;
+%  }
+%
+%  $a = 0;
+%
+%
 
-<%
-foreach my $part_referral ( FS::part_referral->all_part_referral(1) ) {
+      <TR>
 
-  if ( $bgcolor eq $bgcolor1 ) {
-    $bgcolor = $bgcolor2;
-  } else {
-    $bgcolor = $bgcolor1;
-  }
+        <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
+% if ( $part_referral->agentnum || $curuser->access_right('Edit global advertising sources') ) { 
+%            $a++;
+%          
 
-  $a = 0;
+            <A HREF="<% $p %>edit/part_referral.html?<% $part_referral->refnum %>">
+% } 
 
-%>
-      <TR>
+          <% $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},
+%                         $today+$before{$period},
+%          ) or die $sth->errstr;
+%          my $number = $sth->fetchrow_arrayref->[0];
+%        
+
+          <TD CLASS="grid" BGCOLOR="<% $bgcolor %>" ALIGN="right"><% $number %></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},
-                         $today+$before{$period},
-          ) or die $sth->errstr;
-          my $number = $sth->fetchrow_arrayref->[0];
-        %>
-          <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>" ALIGN="right"><%= $number %></TD>
-        <% } %>
       </TR>
-<% } %>
+% } 
+%
+%  $statement =~ s/AND refnum = \?//;
+%  $sth = dbh->prepare($statement)
+%    or die dbh->errstr;
+%
 
-<%
-  $statement =~ s/AND refnum = \?//;
-  $sth = dbh->prepare($statement)
-    or die dbh->errstr;
-%>
       <TR>
         <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 BGCOLOR="#dddddd" ALIGN="right"><B><%= $number %><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 BGCOLOR="#dddddd" ALIGN="right"><B><% $number %><B></TD>
+% } 
+
       </TR>
     </TABLE>
   </BODY>
index 805bd88..0113263 100755 (executable)
@@ -1,42 +1,43 @@
-<% 
-
-#code duplication w/ edit/part_svc.cgi, should move this hash to part_svc.pm
-my %flag = (
-  ''  => '',
-  'D' => 'Default',
-  'F' => 'Fixed (unchangeable)',
-  #'M' => 'Manual selection from inventory',
-  'M' => 'Manual selected from inventory',
-  #'A' => 'Automatically fill in from inventory',
-  'A' => 'Automatically filled in from inventory',
-  'X' => 'Excluded',
-);
-
-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;
-}
-
-my %inventory_class = ();
-
-%>
-<%= include("/elements/header.html",'Service Definition Listing', menubar( 'Main Menu' => $p) ) %>
+% 
+%
+%#code duplication w/ edit/part_svc.cgi, should move this hash to part_svc.pm
+%my %flag = (
+%  ''  => '',
+%  'D' => 'Default',
+%  'F' => 'Fixed (unchangeable)',
+%  #'M' => 'Manual selection from inventory',
+%  'M' => 'Manual selected from inventory',
+%  #'A' => 'Automatically fill in from inventory',
+%  'A' => 'Automatically filled in from inventory',
+%  'X' => 'Excluded',
+%);
+%
+%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;
+%}
+%
+%my %inventory_class = ();
+%
+%
+
+<% include("/elements/header.html",'Service Definition Listing', menubar( 'Main Menu' => $p) ) %>
 
 <SCRIPT>
 function part_export_areyousure(href) {
@@ -47,113 +48,130 @@ function part_export_areyousure(href) {
 
     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 ) { %>&nbsp;or&nbsp;<SELECT NAME="clone"><OPTION></OPTION>
-<% foreach my $part_svc ( @part_svc ) { %>
-  <OPTION VALUE="<%= $part_svc->svcpart %>"><%= $part_svc->svc %></OPTION>
-<% } %>
+<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 ) { 
+&nbsp;or&nbsp;<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')
+<% $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() %>
+% $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><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><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><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;
+%
 
-<% 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
+    <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>&nbsp;<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 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>&nbsp;<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 } )
-  ) {
-%>
+    <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 %>:&nbsp;<%= $part_export->exporttype %>&nbsp;to&nbsp;<%= $part_export->machine %></A></TD></TR>
-<%  } %>
+        <TD><A HREF="<% $p %>edit/part_export.cgi?<% $part_export->exportnum %>"><% $part_export->exportnum %>:&nbsp;<% $part_export->exporttype %>&nbsp;to&nbsp;<% $part_export->machine %></A></TD></TR>
+%  } 
+
       </TABLE></TD>
+%   my($n1)='';
+%     foreach my $field ( @fields ) {
+%       my $flag = $part_svc->part_svc_column($field)->columnflag;
+%
 
-<%   my($n1)='';
-     foreach my $field ( @fields ) {
-       my $flag = $part_svc->part_svc_column($field)->columnflag;
-%>
-     <%= $n1 %>
-     <TD><%= $field %></TD>
-     <TD><%= $flag{$flag} %></TD>
+     <% $n1 %>
+     <TD><% $field %></TD>
+     <TD><% $flag{$flag} %></TD>
 
      <TD>
-       <% my $value = $part_svc->part_svc_column($field)->columnvalue;
-          if ( $flag =~ /^[MA]$/ ) { 
-            $inventory_class{$value}
-              ||= qsearchs('inventory_class', { 'classnum' => $value } );
-       %>
-            <%= $inventory_class{$value}
+% my $value = $part_svc->part_svc_column($field)->columnvalue;
+%          if ( $flag =~ /^[MA]$/ ) { 
+%            $inventory_class{$value}
+%              ||= qsearchs('inventory_class', { 'classnum' => $value } );
+%       
+
+            <% $inventory_class{$value}
                   ? $inventory_class{$value}->classname
                   : "WARNING: inventory_class.classnum $value not found" %>
-       <% } else { %>
-            <%= $value %>
-       <% } %>
-     </TD>
+% } else { 
 
+            <% $value %>
+% } 
+
+     </TD>
+%     $n1="</TR><TR>";
+%     }
+%
 
-<%     $n1="</TR><TR>";
-     }
-%>
   </TR>
-<% } %>
+% } 
+
 </TABLE>
 </BODY>
 </HTML>
index 5557988..7dcb58a 100644 (file)
@@ -1,39 +1,43 @@
-<%= include("/elements/header.html",'Virtual field definitions', menubar('Main Menu'   => $p)) %>
-<%
+<% include("/elements/header.html",'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')) { 
 
-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>
+   <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>
+<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)) { 
 
-<% foreach $dbtable (sort { $a cmp $b } keys (%pvfs)) { %>
-<H3><%=$dbtable%></H3>
+<H3><%$dbtable%></H3>
 
-<%=table()%>
+<%table()%>
 <TH><TD>Field name</TD><TD>Description</TD></TH>
-<% foreach my $pvf (sort {$a->name cmp $b->name} @{ $pvfs{$dbtable} }) { %>
+% 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>
+      <A HREF="<%$p2%>edit/part_virtual_field.cgi?<%$pvf->vfieldpart%>">
+        <%$pvf->name%></A></TD>
+    <TD><%$pvf->label%></TD>
   </TR>
-<%   } %>
+%   } 
+
 </TABLE>
-<% } %>
+% } 
+
 </BODY>
 </HTML>
 
index 791906b..6c14a10 100644 (file)
@@ -1,71 +1,76 @@
-<%
+%
+%
+%  my %search;
+%  if ( $cgi->param('showdisabled') ) {
+%    %search = ();
+%  } else {
+%    %search = ( 'disabled' => '' );
+%  }
+%
+%
 
-  my %search;
-  if ( $cgi->param('showdisabled') ) {
-    %search = ();
-  } else {
-    %search = ( 'disabled' => '' );
-  }
-
-%>
-<%= include("/elements/header.html",'Payment gateways', menubar(
+<% include("/elements/header.html",'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>
+<A HREF="<% $p %>edit/payment_gateway.html"><I>Add a new payment gateway</I></A><BR><BR>
 
-<%= $cgi->param('showdisabled')
+<% $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() %>
+<% table() %>
 <TR>
-  <TH COLSPAN=<%= $cgi->param('showdisabled') ? 1 : 2 %>>#</TH>
+  <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 ) ) { 
 
-<% 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 %>
+    <TD><% $payment_gateway->gatewaynum %></TD>
+% if ( !$cgi->param('showdisabled') ) { 
+
+      <TD><% $payment_gateway->disabled ? 'DISABLED' : '' %></TD>
+% } 
+
+    <TD><% $payment_gateway->gateway_module %>
       <FONT SIZE="-1">
-        <A HREF="<%=$p%>edit/payment_gateway.html?<%= $payment_gateway->gatewaynum %>">(edit)</A>
-        <%= !$payment_gateway->disabled 
+        <A HREF="<%$p%>edit/payment_gateway.html?<% $payment_gateway->gatewaynum %>">(edit)</A>
+        <% !$payment_gateway->disabled 
               ? '<A HREF="'. $p. 'misc/disable-payment_gateway.cgi?'. $payment_gateway->gatewaynum.'">(disable)</A>'
               : ''
         %>
       </FONT>
     </TD>
-    <TD><%= $payment_gateway->gateway_username %></TD>
+    <TD><% $payment_gateway->gateway_username %></TD>
     <TD> - </TD>
-    <TD><%= $payment_gateway->gateway_action %></TD>
+    <TD><% $payment_gateway->gateway_action %></TD>
     <TD>
       <TABLE CELLSPACING=0 CELLPADDING=0>
-        <% my %options = $payment_gateway->options;
-           foreach my $option ( keys %options ) {
-        %>
+% my %options = $payment_gateway->options;
+%           foreach my $option ( keys %options ) {
+%        
+
           <TR>
-            <TH><%= $option %>:</TH>
-            <TD><%= $options{$option} %></TD>
+            <TH><% $option %>:</TH>
+            <TD><% $options{$option} %></TD>
           </TR>
-        <% } %>
+% } 
+
       </TABLE>
     </TD>
   </TR>
+% } 
 
-<% } %>
 
 </TABLE>
 </BODY>
index d4f8f02..3ec5e55 100644 (file)
@@ -1,15 +1,16 @@
-<%
-
-my $html_init = 
-  'Package classes define groups of packages, for reporting and '.
-  'convenience purposes.<BR><BR>'.
-  qq!<A HREF="${p}edit/pkg_class.html"><I>Add a package class</I></A><BR><BR>!;
-
-my $count_query = 'SELECT COUNT(*) FROM pkg_class';
-
-my $link = [ $p.'edit/pkg_class.html?', 'classnum' ];
-
-%><%= include( 'elements/browse.html',
+%
+%
+%my $html_init = 
+%  'Package classes define groups of packages, for reporting and '.
+%  'convenience purposes.<BR><BR>'.
+%  qq!<A HREF="${p}edit/pkg_class.html"><I>Add a package class</I></A><BR><BR>!;
+%
+%my $count_query = 'SELECT COUNT(*) FROM pkg_class';
+%
+%my $link = [ $p.'edit/pkg_class.html?', 'classnum' ];
+%
+%
+<% include( 'elements/browse.html',
                  'title'       => 'Package classes',
                  'menubar'     => [ 'Main menu' => $p, ],
                  'html_init'   => $html_init,
index c4ae2f0..9bdbe2d 100644 (file)
@@ -1,22 +1,23 @@
-<%
-
-my $html_init = 
-  'Rate plans, regions and prefixes for VoIP and call billing.<BR><BR>'.
-  qq!<A HREF="${p}edit/rate.cgi"><I>Add a rate plan</I></A>!.
-  qq! | <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>';
-
-my $count_query = 'SELECT COUNT(*) FROM rate';
-
-my $link = [ $p.'edit/rate.cgi?', 'ratenum' ];
-
-%><%= include( 'elements/browse.html',
+%
+%
+%my $html_init = 
+%  'Rate plans, regions and prefixes for VoIP and call billing.<BR><BR>'.
+%  qq!<A HREF="${p}edit/rate.cgi"><I>Add a rate plan</I></A>!.
+%  qq! | <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>';
+%
+%my $count_query = 'SELECT COUNT(*) FROM rate';
+%
+%my $link = [ $p.'edit/rate.cgi?', 'ratenum' ];
+%
+%
+<% include( 'elements/browse.html',
                  'title'       => 'Rate plans',
                  'menubar'     => [ 'Main menu' => $p, ],
                  'html_init'   => $html_init,
index 410037d..7309388 100644 (file)
@@ -1,56 +1,60 @@
-<%= include("/elements/header.html",'Routers', menubar('Main Menu'   => $p)) %>
-<%
+<% include("/elements/header.html",'Routers', menubar('Main Menu'   => $p)) %>
+%
+%
+%my @router = qsearch('router', {});
+%my $p2 = popurl(2);
+%
+%
+% if ($cgi->param('error')) { 
 
-my @router = qsearch('router', {});
-my $p2 = popurl(2);
+   <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>';
+%}
+%
 
-%>
 
-<% 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>&nbsp;|&nbsp;<%=$hideurl%>
-
-<%=table()%>
+<A HREF="<%$p2%>edit/router.cgi">Add a new router</A>&nbsp;|&nbsp;<%$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, '&nbsp;';
-     }
-%>
+% 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, '&nbsp;';
+%     }
+%
+
   <TR>
-    <TD ROWSPAN="<%=scalar(@addr_block)+1%>">
-      <A HREF="<%=$p2%>edit/router.cgi?<%=$router->routernum%>"><%=$router->routername%></A>
+    <TD ROWSPAN="<%scalar(@addr_block)+1%>">
+      <A HREF="<%$p2%>edit/router.cgi?<%$router->routernum%>"><%$router->routername%></A>
     </TD>
   </TR>
-  <% foreach my $block ( @addr_block ) { %>
+% foreach my $block ( @addr_block ) { 
+
   <TR>
-    <TD><%=UNIVERSAL::isa($block, 'FS::addr_block') ? $block->NetAddr : '&nbsp;'%></TD>
+    <TD><%UNIVERSAL::isa($block, 'FS::addr_block') ? $block->NetAddr : '&nbsp;'%></TD>
   </TR>
-  <% } %>
+% } 
+
   </TR>
-<% } %>
+% } 
+
 </TABLE>
 </BODY>
 </HTML>
index 73de6ac..949bfa7 100755 (executable)
@@ -1,13 +1,14 @@
 <!-- mason kludge -->
-<%
-  my $accounts_sth = dbh->prepare("SELECT COUNT(*) FROM svc_acct
-                                     WHERE popnum = ?           ")
-    or die dbh->errstr;
-%>
-<%= include("/elements/header.html",'Access Number Listing', menubar( 'Main Menu' => $p )) %>
+%
+%  my $accounts_sth = dbh->prepare("SELECT COUNT(*) FROM svc_acct
+%                                     WHERE popnum = ?           ")
+%    or die dbh->errstr;
+%
+
+<% include("/elements/header.html",'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() %>
+<A HREF="<% $p %>edit/svc_acct_pop.cgi"><I>Add new Access Number</I></A><BR><BR>
+<% table() %>
       <TR>
         <TH></TH>
         <TH>City</TH>
@@ -17,43 +18,50 @@ Points of Presence<BR><BR>
         <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;
+%
+%
 
-<%
-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><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 %>"><% } %>
+          <FONT COLOR="#00CC00"><B><% $num_accounts %></B></FONT>
+% if ( $num_accounts ) { 
+<A HREF="<% $svc_acct_link %>">
+% } 
+
             active
-            <% if ( $num_accounts ) { %></A><% } %>
+% if ( $num_accounts ) { 
+</A>
+% } 
+
         </TD>
       </TR>
-<% } %>
+% } 
+
 
       <TR>
       </TR>
index 2597132..fe04b32 100644 (file)
@@ -1,51 +1,52 @@
-<%
-  my $conf = new FS::Conf;
-  $FS::Conf::DEBUG = 1;
-  my @config_items = $conf->config_items;
+%
+%  my $conf = new FS::Conf;
+%  $FS::Conf::DEBUG = 1;
+%  my @config_items = $conf->config_items;
+%
+%  foreach my $i ( @config_items ) {
+%    my @touch = ();
+%    my @delete = ();
+%    my $n = 0;
+%    foreach my $type ( ref($i->type) ? @{$i->type} : $i->type ) {
+%      if ( $type eq '' ) {
+%      } elsif ( $type eq 'textarea' ) {
+%        if ( $cgi->param($i->key. $n) ne '' ) {
+%          my $value = $cgi->param($i->key. $n);
+%          $value =~ s/\r\n/\n/g; #browsers?
+%          $conf->set($i->key, $value);
+%        } else {
+%          $conf->delete($i->key);
+%        }
+%      } elsif ( $type eq 'checkbox' ) {
+%#        if ( defined($cgi->param($i->key. $n)) && $cgi->param($i->key. $n) ) {
+%        if ( defined $cgi->param($i->key. $n) ) {
+%          #$conf->touch($i->key);
+%          push @touch, $i->key;
+%        } else {
+%          #$conf->delete($i->key);
+%          push @delete, $i->key;
+%        }
+%      } elsif ( $type eq 'text' || $type eq 'select' )  {
+%        if ( $cgi->param($i->key. $n) ne '' ) {
+%          $conf->set($i->key, $cgi->param($i->key. $n));
+%        } else {
+%          $conf->delete($i->key);
+%        }
+%      } elsif ( $type eq 'editlist' || $type eq 'selectmultiple' )  {
+%        if ( scalar(@{[ $cgi->param($i->key. $n) ]}) ) {
+%          $conf->set($i->key, join("\n", @{[ $cgi->param($i->key. $n) ]} ));
+%        } else {
+%          $conf->delete($i->key);
+%        }
+%      } else {
+%      }
+%      $n++;
+%    }
+%   # warn @touch;
+%    $conf->touch($_) foreach @touch;
+%    $conf->delete($_) foreach @delete;
+%  }
+%
+%
 
-  foreach my $i ( @config_items ) {
-    my @touch = ();
-    my @delete = ();
-    my $n = 0;
-    foreach my $type ( ref($i->type) ? @{$i->type} : $i->type ) {
-      if ( $type eq '' ) {
-      } elsif ( $type eq 'textarea' ) {
-        if ( $cgi->param($i->key. $n) ne '' ) {
-          my $value = $cgi->param($i->key. $n);
-          $value =~ s/\r\n/\n/g; #browsers?
-          $conf->set($i->key, $value);
-        } else {
-          $conf->delete($i->key);
-        }
-      } elsif ( $type eq 'checkbox' ) {
-#        if ( defined($cgi->param($i->key. $n)) && $cgi->param($i->key. $n) ) {
-        if ( defined $cgi->param($i->key. $n) ) {
-          #$conf->touch($i->key);
-          push @touch, $i->key;
-        } else {
-          #$conf->delete($i->key);
-          push @delete, $i->key;
-        }
-      } elsif ( $type eq 'text' || $type eq 'select' )  {
-        if ( $cgi->param($i->key. $n) ne '' ) {
-          $conf->set($i->key, $cgi->param($i->key. $n));
-        } else {
-          $conf->delete($i->key);
-        }
-      } elsif ( $type eq 'editlist' || $type eq 'selectmultiple' )  {
-        if ( scalar(@{[ $cgi->param($i->key. $n) ]}) ) {
-          $conf->set($i->key, join("\n", @{[ $cgi->param($i->key. $n) ]} ));
-        } else {
-          $conf->delete($i->key);
-        }
-      } else {
-      }
-      $n++;
-    }
-   # warn @touch;
-    $conf->touch($_) foreach @touch;
-    $conf->delete($_) foreach @delete;
-  }
-
-%>
-<%= $cgi->redirect("config-view.cgi") %>
+<% $cgi->redirect("config-view.cgi") %>
index bf51f15..ff7913d 100644 (file)
@@ -1,80 +1,92 @@
 <!-- mason kludge -->
-<%= include("/elements/header.html",'View Configuration', menubar( 'Main Menu' => $p,
+<% include("/elements/header.html",'View Configuration', menubar( 'Main Menu' => $p,
                                      'Edit Configuration' => 'config.cgi' ) ) %>
+% my $conf = new FS::Conf; my @config_items = $conf->config_items; 
+% foreach my $section ( qw(required billing username password UI session
+%                            shell BIND
+%                           ),
+%                         '', 'deprecated') { 
 
-<% my $conf = new FS::Conf; my @config_items = $conf->config_items; %>
-
-<% foreach my $section ( qw(required billing username password UI session
-                            shell BIND
-                           ),
-                         '', 'deprecated') { %>
-  <A NAME="<%= $section || 'unclassified' %>"></A>
+  <A NAME="<% $section || 'unclassified' %>"></A>
   <FONT SIZE="-2">
-  <% foreach my $nav_section ( qw(required billing username password UI session
-                                  shell BIND
-                                 ),
-                               '', 'deprecated') { %>
-    <% if ( $section eq $nav_section ) { %>
-      [<A NAME="not<%= $nav_section || 'unclassified' %>" style="background-color: #cccccc"><%= ucfirst($nav_section || 'unclassified') %></A>]
-    <% } else { %>
-      [<A HREF="#<%= $nav_section || 'unclassified' %>"><%= ucfirst($nav_section || 'unclassified') %></A>]
-    <% } %>
-  <% } %>
+% foreach my $nav_section ( qw(required billing username password UI session
+%                                  shell BIND
+%                                 ),
+%                               '', 'deprecated') { 
+% if ( $section eq $nav_section ) { 
+
+      [<A NAME="not<% $nav_section || 'unclassified' %>" style="background-color: #cccccc"><% ucfirst($nav_section || 'unclassified') %></A>]
+% } else { 
+
+      [<A HREF="#<% $nav_section || 'unclassified' %>"><% ucfirst($nav_section || 'unclassified') %></A>]
+% } 
+% } 
+
   </FONT><BR>
-  <%= table("#cccccc", 2) %>
+  <% table("#cccccc", 2) %>
   <tr>
     <th colspan="2" bgcolor="#dcdcdc">
-      <%= ucfirst($section || 'unclassified') %> configuration options
+      <% ucfirst($section || 'unclassified') %> configuration options
     </th>
   </tr>
-  <% foreach my $i (grep $_->section eq $section, @config_items) { %>
+% foreach my $i (grep $_->section eq $section, @config_items) { 
+
     <tr>
-      <td><a name="<%= $i->key %>">
-        <b><%= $i->key %></b>&nbsp;-&nbsp;<%= $i->description %>
+      <td><a name="<% $i->key %>">
+        <b><% $i->key %></b>&nbsp;-&nbsp;<% $i->description %>
       </a></td>
       <td><table border=0>
-        <% foreach my $type ( ref($i->type) ? @{$i->type} : $i->type ) {
-             my $n = 0; %>
-          <% if ( $type eq '' ) { %>
+% foreach my $type ( ref($i->type) ? @{$i->type} : $i->type ) {
+%             my $n = 0; 
+% if ( $type eq '' ) { 
+
             <tr>
               <td><font color="#ff0000">no type</font></td>
             </tr>
-          <% } elsif (   $type eq 'textarea'
-                      || $type eq 'editlist'
-                      || $type eq 'selectmultiple' ) { %>
+% } elsif (   $type eq 'textarea'
+%                      || $type eq 'editlist'
+%                      || $type eq 'selectmultiple' ) { 
+
             <tr>
               <td bgcolor="#ffffff">
 <pre>
-<%= encode_entities(join("\n", $conf->config($i->key) ) ) %>
+<% encode_entities(join("\n", $conf->config($i->key) ) ) %>
 </pre>
               </td>
             </tr>
-          <% } elsif ( $type eq 'checkbox' ) { %>
+% } elsif ( $type eq 'checkbox' ) { 
+
             <tr>
-              <td bgcolor="#<%= $conf->exists($i->key) ? '00ff00">YES' : 'ff0000">NO' %></td>
+              <td bgcolor="#<% $conf->exists($i->key) ? '00ff00">YES' : 'ff0000">NO' %></td>
             </tr>
-          <% } elsif ( $type eq 'text' || $type eq 'select' )  { %>
+% } elsif ( $type eq 'text' || $type eq 'select' )  { 
+
             <tr>
               <td bgcolor="#ffffff">
-                <%= $conf->exists($i->key) ? $conf->config($i->key) : '' %>
+                <% $conf->exists($i->key) ? $conf->config($i->key) : '' %>
               </td></tr>
-          <% } elsif ( $type eq 'select-sub' ) { %>
+% } elsif ( $type eq 'select-sub' ) { 
+
             <tr>
               <td bgcolor="#ffffff">
-                <%= $conf->config($i->key) %>: 
-                <%= &{ $i->option_sub }( $conf->config($i->key) ) %>
+                <% $conf->config($i->key) %>: 
+                <% &{ $i->option_sub }( $conf->config($i->key) ) %>
               </td>
             </tr>
-          <% } else { %>
+% } else { 
+
             <tr><td>
-              <font color="#ff0000">unknown type <%= $type %></font>
+              <font color="#ff0000">unknown type <% $type %></font>
             </td></tr>
-          <% } %>
-        <% $n++; } %>
+% } 
+% $n++; } 
+
       </table></td>
     </tr>
-  <% } %>
+% } 
+
   </table><br><br>
-<% } %>
+% } 
+
 
 </body></html>
index cf228db..369314d 100644 (file)
@@ -1,5 +1,5 @@
 <!-- mason kludge -->
-<%= include("/elements/header.html",'Edit Configuration', menubar( 'Main Menu' => $p ) ) %>
+<% include("/elements/header.html",'Edit Configuration', menubar( 'Main Menu' => $p ) ) %>
 <SCRIPT>
 var gSafeOnload = new Array();
 var gSafeOnsubmit = new Array();
@@ -19,218 +19,241 @@ function SafeOnsubmit() {
     gSafeOnsubmit[i]();
 }
 </SCRIPT>
+% my $conf = new FS::Conf; my @config_items = $conf->config_items; 
 
-<% my $conf = new FS::Conf; my @config_items = $conf->config_items; %>
 
 <form name="OneTrueForm" action="config-process.cgi" METHOD="POST" onSubmit="SafeOnsubmit()">
+% foreach my $section ( qw(required billing username password UI session
+%                            shell BIND
+%                           ),
+%                         '', 'deprecated') { 
 
-<% foreach my $section ( qw(required billing username password UI session
-                            shell BIND
-                           ),
-                         '', 'deprecated') { %>
-  <A NAME="<%= $section || 'unclassified' %>"></A>
+  <A NAME="<% $section || 'unclassified' %>"></A>
   <FONT SIZE="-2">
-  <% foreach my $nav_section ( qw(required billing username password UI session
-                                  shell BIND
-                                 ),
-                               '', 'deprecated') { %>
-    <% if ( $section eq $nav_section ) { %>
-      [<A NAME="not<%= $nav_section || 'unclassified' %>" style="background-color: #cccccc"><%= ucfirst($nav_section || 'unclassified') %></A>]
-    <% } else { %>
-      [<A HREF="#<%= $nav_section || 'unclassified' %>"><%= ucfirst($nav_section || 'unclassified') %></A>]
-    <% } %>
-  <% } %>
+% foreach my $nav_section ( qw(required billing username password UI session
+%                                  shell BIND
+%                                 ),
+%                               '', 'deprecated') { 
+% if ( $section eq $nav_section ) { 
+
+      [<A NAME="not<% $nav_section || 'unclassified' %>" style="background-color: #cccccc"><% ucfirst($nav_section || 'unclassified') %></A>]
+% } else { 
+
+      [<A HREF="#<% $nav_section || 'unclassified' %>"><% ucfirst($nav_section || 'unclassified') %></A>]
+% } 
+% } 
+
   </FONT><BR>
-  <%= table("#cccccc", 2) %>
+  <% table("#cccccc", 2) %>
   <tr>
     <th colspan="2" bgcolor="#dcdcdc">
-      <%= ucfirst($section || 'unclassified') %> configuration options
+      <% ucfirst($section || 'unclassified') %> configuration options
     </th>
   </tr>
-  <% foreach my $i (grep $_->section eq $section, @config_items) { %>
+% foreach my $i (grep $_->section eq $section, @config_items) { 
+
     <tr>
       <td>
-        <% my $n = 0;
-           foreach my $type ( ref($i->type) ? @{$i->type} : $i->type ) {
-             #warn $i->key unless defined($type);
-        %>
-          <% if ( $type eq '' ) { %>
+% my $n = 0;
+%           foreach my $type ( ref($i->type) ? @{$i->type} : $i->type ) {
+%             #warn $i->key unless defined($type);
+%        
+% if ( $type eq '' ) { 
+
 
                <font color="#ff0000">no type</font>
+% } elsif ( $type eq 'textarea' ) { 
 
-          <% } elsif ( $type eq 'textarea' ) { %>
 
-               <textarea name="<%= $i->key. $n %>" rows=5><%= "\n". join("\n", $conf->config($i->key) ) %></textarea>
+               <textarea name="<% $i->key. $n %>" rows=5><% "\n". join("\n", $conf->config($i->key) ) %></textarea>
+% } elsif ( $type eq 'checkbox' ) { 
 
-          <% } elsif ( $type eq 'checkbox' ) { %>
 
-               <input name="<%= $i->key. $n %>" type="checkbox" value="1"<%= $conf->exists($i->key) ? ' CHECKED' : '' %>>
+               <input name="<% $i->key. $n %>" type="checkbox" value="1"<% $conf->exists($i->key) ? ' CHECKED' : '' %>>
+% } elsif ( $type eq 'text' )  { 
 
-          <% } elsif ( $type eq 'text' )  { %>
 
-               <input name="<%= $i->key. $n %>" type="<%= $type %>" value="<%= $conf->exists($i->key) ? $conf->config($i->key) : '' %>">
+               <input name="<% $i->key. $n %>" type="<% $type %>" value="<% $conf->exists($i->key) ? $conf->config($i->key) : '' %>">
+% } elsif ( $type eq 'select' || $type eq 'selectmultiple' )  { 
 
-          <% } elsif ( $type eq 'select' || $type eq 'selectmultiple' )  { %>
           
-               <select name="<%= $i->key. $n %>" <%= $type eq 'selectmultiple' ? 'MULTIPLE' : '' %>>
-               <
-                  my %hash = ();
-                  if ( $i->select_enum ) {
-                    tie %hash, 'Tie::IxHash',
-                      '' => '', map { $_ => $_ } @{ $i->select_enum };
-                  } elsif ( $i->select_hash ) {
-                    if ( ref($i->select_hash) eq 'ARRAY' ) {
-                      tie %hash, 'Tie::IxHash',
-                        '' => '', @{ $i->select_hash };
-                    } else {
-                      tie %hash, 'Tie::IxHash',
-                        '' => '', %{ $i->select_hash };
-                    }
-                  } else {
-                    %hash = ( '' => 'WARNING: neither select_enum nor select_hash specified in Conf.pm for configuration option "'. $i->key. '"' );
-                  }
-
-                  my %saw = ();
-                  foreach my $value ( keys %hash ) {
-                    local($^W)=0; next if $saw{$value}++;
-                    my $label = $hash{$value};
-               %>
-
-                    <option value="<%= $value %>"<%= $value eq $conf->config($i->key) || ( $type eq 'selectmultiple' && grep { $_ eq $value } $conf->config($i->key) ) ? ' SELECTED' : '' %>><%= $label %>
-
-               <% } %>
-
-              <% my $curvalue = $conf->config($i->key);
-                 if ( $conf->exists($i->key) && $curvalue
-                      && ! $hash{$curvalue}
-                    ) {
-              %>
+               <select name="<% $i->key. $n %>" <% $type eq 'selectmultiple' ? 'MULTIPLE' : '' %>>
+% 
+%                  my %hash = ();
+%                  if ( $i->select_enum ) {
+%                    tie %hash, 'Tie::IxHash',
+%                      '' => '', map { $_ => $_ } @{ $i->select_enum };
+%                  } elsif ( $i->select_hash ) {
+%                    if ( ref($i->select_hash) eq 'ARRAY' ) {
+%                      tie %hash, 'Tie::IxHash',
+%                        '' => '', @{ $i->select_hash };
+%                    } else {
+%                      tie %hash, 'Tie::IxHash',
+%                        '' => '', %{ $i->select_hash };
+%                    }
+%                  } else {
+%                    %hash = ( '' => 'WARNING: neither select_enum nor select_hash specified in Conf.pm for configuration option "'. $i->key. '"' );
+%                  }
+%
+%                  my %saw = ();
+%                  foreach my $value ( keys %hash ) {
+%                    local($^W)=0; next if $saw{$value}++;
+%                    my $label = $hash{$value};
+%               
+
+
+                    <option value="<% $value %>"<% $value eq $conf->config($i->key) || ( $type eq 'selectmultiple' && grep { $_ eq $value } $conf->config($i->key) ) ? ' SELECTED' : '' %>><% $label %>
+% } 
+% my $curvalue = $conf->config($i->key);
+%                 if ( $conf->exists($i->key) && $curvalue
+%                      && ! $hash{$curvalue}
+%                    ) {
+%              
+
               
-                   <option value="<%= $conf->config($i->key) %>" SELECTED><%= exists( $hash{ $conf->config($i->key) } ) ? $hash{ $conf->config($i->key) } : $conf->config($i->key) %>
+                   <option value="<% $conf->config($i->key) %>" SELECTED><% exists( $hash{ $conf->config($i->key) } ) ? $hash{ $conf->config($i->key) } : $conf->config($i->key) %>
+% } 
 
-              <% } %>
 
             </select>
+% } elsif ( $type eq 'select-sub' ) { 
 
-          <% } elsif ( $type eq 'select-sub' ) { %>
 
-            <select name="<%= $i->key. $n %>">
+            <select name="<% $i->key. $n %>">
               <option value="">
-              <% my %options = &{$i->options_sub};
-                 my @options = sort { $a <=> $b } keys %options;
-                 my %saw;
-                 foreach my $value ( @options ) {
-                    local($^W)=0; next if $saw{$value}++;
-              %>
-                <option value="<%= $value %>"<%= $value eq $conf->config($i->key) ? ' SELECTED' : '' %>><%= $value %>: <%= $options{$value} %>
-              <% } %>
-              <% if ( $conf->exists($i->key) && $conf->config($i->key) && ! exists $options{$conf->config($i->key)} ) { %>
-                <option value=<%= $conf->config($i->key) %> SELECTED><%= $conf->config($i->key) %>: <%= &{ $i->option_sub }( $conf->config($i->key) ) %>
-              <% } %>
+% my %options = &{$i->options_sub};
+%                 my @options = sort { $a <=> $b } keys %options;
+%                 my %saw;
+%                 foreach my $value ( @options ) {
+%                    local($^W)=0; next if $saw{$value}++;
+%              
+
+                <option value="<% $value %>"<% $value eq $conf->config($i->key) ? ' SELECTED' : '' %>><% $value %>: <% $options{$value} %>
+% } 
+% if ( $conf->exists($i->key) && $conf->config($i->key) && ! exists $options{$conf->config($i->key)} ) { 
+
+                <option value=<% $conf->config($i->key) %> SELECTED><% $conf->config($i->key) %>: <% &{ $i->option_sub }( $conf->config($i->key) ) %>
+% } 
+
             </select>
+% } elsif ( $type eq 'editlist' ) { 
 
-          <% } elsif ( $type eq 'editlist' ) { %>
 
             <script>
-              function doremove<%= $i->key. $n %>() {
-                fromObject = document.OneTrueForm.<%= $i->key. $n %>;
+              function doremove<% $i->key. $n %>() {
+                fromObject = document.OneTrueForm.<% $i->key. $n %>;
                 for (var i=fromObject.options.length-1;i>-1;i--) {
                   if (fromObject.options[i].selected)
-                    deleteOption<%= $i->key. $n %>(fromObject,i);
+                    deleteOption<% $i->key. $n %>(fromObject,i);
                 }
               }
-              function deleteOption<%= $i->key. $n %>(object,index) {
+              function deleteOption<% $i->key. $n %>(object,index) {
                 object.options[index] = null;
               }
-              function selectall<%= $i->key. $n %>() {
-                fromObject = document.OneTrueForm.<%= $i->key. $n %>;
+              function selectall<% $i->key. $n %>() {
+                fromObject = document.OneTrueForm.<% $i->key. $n %>;
                 for (var i=fromObject.options.length-1;i>-1;i--) {
                   fromObject.options[i].selected = true;
                 }
               }
-              function doadd<%= $i->key. $n %>(object) {
+              function doadd<% $i->key. $n %>(object) {
                 var myvalue = "";
-                <% if ( defined($i->editlist_parts) ) { %>
+% if ( defined($i->editlist_parts) ) { 
+% foreach my $pnum ( 0 .. scalar(@{$i->editlist_parts})-1 ) { 
 
-                  <% foreach my $pnum ( 0 .. scalar(@{$i->editlist_parts})-1 ) { %>
 
                     if ( myvalue != "" ) { myvalue = myvalue + " "; }
-                    <% if ( $i->editlist_parts->[$pnum]{type} eq 'select' ) { %>
-                      myvalue = myvalue + object.add<%= $i->key. $n . "_$pnum" %>.options[object.add<%= $i->key. $n . "_$pnum" %>.selectedIndex].value;
+% if ( $i->editlist_parts->[$pnum]{type} eq 'select' ) { 
+
+                      myvalue = myvalue + object.add<% $i->key. $n . "_$pnum" %>.options[object.add<% $i->key. $n . "_$pnum" %>.selectedIndex].value;
                       <!-- #RESET SELECT??  maybe not... -->
-                    <% } elsif ( $i->editlist_parts->[$pnum]{type} eq 'immutable' ) { %>
-                      myvalue = myvalue + object.add<%= $i->key. $n . "_$pnum" %>.value;
-                    <% } else { %>
-                      myvalue = myvalue + object.add<%= $i->key. $n . "_$pnum" %>.value;
-                      object.add<%= $i->key. $n. "_$pnum" %>.value = "";
-                    <% } %>
-
-
-                  <% } %>
-                <% } else { %>
-                  myvalue = object.add<%= $i->key. $n. "_1" %>.value;
-                <% } %>
+% } elsif ( $i->editlist_parts->[$pnum]{type} eq 'immutable' ) { 
+
+                      myvalue = myvalue + object.add<% $i->key. $n . "_$pnum" %>.value;
+% } else { 
+
+                      myvalue = myvalue + object.add<% $i->key. $n . "_$pnum" %>.value;
+                      object.add<% $i->key. $n. "_$pnum" %>.value = "";
+% } 
+% } 
+% } else { 
+
+                  myvalue = object.add<% $i->key. $n. "_1" %>.value;
+% } 
+
                 var optionName = new Option(myvalue, myvalue);
-                var length = object.<%= $i->key. $n %>.length;
-                object.<%= $i->key. $n %>.options[length] = optionName;
+                var length = object.<% $i->key. $n %>.length;
+                object.<% $i->key. $n %>.options[length] = optionName;
               }
             </script>
-            <select multiple size=5 name="<%= $i->key. $n %>">
+            <select multiple size=5 name="<% $i->key. $n %>">
             <option selected>----------------------------------------------------------------</option>
-            <% foreach my $line ( $conf->config($i->key) ) { %>
-              <option value="<%= $line %>"><%= $line %></option>
-            <% } %>
+% foreach my $line ( $conf->config($i->key) ) { 
+
+              <option value="<% $line %>"><% $line %></option>
+% } 
+
             </select><br>
-            <input type="button" value="remove selected" onClick="doremove<%= $i->key. $n %>()">
-            <script>SafeAddOnLoad(doremove<%= $i->key. $n %>);
-                    SafeAddOnSubmit(selectall<%= $i->key. $n %>);</script>
+            <input type="button" value="remove selected" onClick="doremove<% $i->key. $n %>()">
+            <script>SafeAddOnLoad(doremove<% $i->key. $n %>);
+                    SafeAddOnSubmit(selectall<% $i->key. $n %>);</script>
             <br>
-            <%= itable() %><tr>
-            <% if ( defined $i->editlist_parts ) { %>
-              <% my $pnum=0; foreach my $part ( @{$i->editlist_parts} ) { %>
+            <% itable() %><tr>
+% if ( defined $i->editlist_parts ) { 
+% my $pnum=0; foreach my $part ( @{$i->editlist_parts} ) { 
+
                 <td>
-                <% if ( $part->{type} eq 'text' ) { %>
-                  <input type="text" name="add<%= $i->key. $n."_$pnum" %>">
-                <% } elsif ( $part->{type} eq 'immutable' ) { %>
-                  <%= $part->{value} %><input type="hidden" name="add<%= $i->key. $n. "_$pnum" %>" value="<%= $part->{value} %>">
-                <% } elsif ( $part->{type} eq 'select' ) { %>
-                  <select name="add<%= $i->key. $n. "_$pnum" %>">
-                  <% foreach my $key ( keys %{$part->{select_enum}} ) { %>
-                    <option value="<%= $key %>"><%= $part->{select_enum}{$key} %></option>
-                  <% } %>
+% if ( $part->{type} eq 'text' ) { 
+
+                  <input type="text" name="add<% $i->key. $n."_$pnum" %>">
+% } elsif ( $part->{type} eq 'immutable' ) { 
+
+                  <% $part->{value} %><input type="hidden" name="add<% $i->key. $n. "_$pnum" %>" value="<% $part->{value} %>">
+% } elsif ( $part->{type} eq 'select' ) { 
+
+                  <select name="add<% $i->key. $n. "_$pnum" %>">
+% foreach my $key ( keys %{$part->{select_enum}} ) { 
+
+                    <option value="<% $key %>"><% $part->{select_enum}{$key} %></option>
+% } 
+
                   </select>
-                <% } else { %>
-                  <font color="#ff0000">unknown type <%= $part->type %></font>
-                <% } %>
+% } else { 
+
+                  <font color="#ff0000">unknown type <% $part->type %></font>
+% } 
+
                 </td>
-              <% $pnum++; } %>
-            <% } else { %>
-              <td><input type="text" name="add<%= $i->key. $n %>_0"></td>
-            <% } %>
-            <td><input type="button" value="add" onClick="doadd<%= $i->key. $n %>(this.form)"></td>
-            </tr></table>
+% $pnum++; } 
+% } else { 
 
-          <% } else { %>
+              <td><input type="text" name="add<% $i->key. $n %>_0"></td>
+% } 
+
+            <td><input type="button" value="add" onClick="doadd<% $i->key. $n %>(this.form)"></td>
+            </tr></table>
+% } else { 
 
-            <font color="#ff0000">unknown type <%= $type %></font>
 
-          <% } %>
+            <font color="#ff0000">unknown type <% $type %></font>
+% } 
+% $n++; } 
 
-        <% $n++; } %>
       </td>
-      <td><a name="<%= $i->key %>">
-        <b><%= $i->key %></b> - <%= $i->description %>
+      <td><a name="<% $i->key %>">
+        <b><% $i->key %></b> - <% $i->description %>
       </a></td>
     </tr>
-  <% } %>
+% } 
+
   </table><br>
 
   You may need to restart Apache and/or freeside-queued for configuration
   changes to take effect.<br>
 
   <input type="submit" value="Apply changes"><br><br>
+% } 
 
-<% } %>
 
 </form>
 
diff --git a/httemplate/docs/trouble.html b/httemplate/docs/trouble.html
deleted file mode 100755 (executable)
index fce7439..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<head>
-  <title>Troubleshooting</title>
-</head>
-<body>
-  <h1>Troubleshooting</h1>
-  <ul>
-    <li>When troubleshooting the web interface, helpful information is often in your web server's error log.
-    <li>If bin/svc_acct.import fails with an "Out of memory!" error using MySQL, upgrede MySQL and recompile the Perl DBD.  There was a memory leak in some older versions of MySQL.
-    <li>If you get tons of errors in your web server's error log like this:
-<pre>
-Ambiguous use of value => resolved to "value" =>
-at /usr/lib/perl5/site_perl/File/CounterFile.pm line 132.
-</pre>
-        This clutters up your log files but is otherwise harmless.  Upgrade to the latest File::CounterFile. 
-    <li>If you get errors like this:
-<pre>
-UID.pm: Can't open /var/spool/freeside/conf/secrets: Permission denied 
-at <i>/your/path</i>/site_perl/FS/UID.pm line 26.
-BEGIN failed--compilation aborted at
-<i>/your/path</i>/edit/process/part_svc.cgi line 15.
-</pre>
-        Then the scripts are not running as the freeside freeside user.  See
-the <a href="install.html">New Installation</a> section of the documentation.
-  <li>If you receive `can not connect to server' errors using MySQL on a system that doesn't support native threading, you may need to specify the full hostname in your DBI datasource.  See the <a href="http://www.mysql.com/Manual_chapter/manual_Problems.html#Can_not_connect_to_server">MySQL documentation</a>, DBI manpage and the DBD::mysql manpage for details.
-  </ul>
-</body>
index 1eefcfe..69bbb9b 100755 (executable)
-<%
-
-my $error ='';
-my $pkgnum = '';
-if ( $cgi->param('error') ) {
-  $error = $cgi->param('error');
-  $pkgnum = $cgi->param('pkgnum');
-  if ( $error eq '_bill_areyousure' ) {
-    my $bill = $cgi->param('bill');
-    $error = "You are attempting to set the next bill date to $bill, which is
-              in the past.  This will charge the customer for the interval
-              from $bill until now.  Are you sure you want to do this? ".
-           '<INPUT TYPE="checkbox" NAME="bill_areyousure" VALUE="1">';
-  }
-} else {
-  my($query) = $cgi->keywords;
-  $query =~ /^(\d+)$/ or die "no pkgnum";
-  $pkgnum = $1;
-}
-
-#get package record
-my $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
-die "No package!" unless $cust_pkg;
-my $part_pkg = qsearchs('part_pkg',{'pkgpart'=>$cust_pkg->getfield('pkgpart')});
-
-if ( $error ) {
-  #$cust_pkg->$_(str2time($cgi->param($_)) foreach qw(setup bill);
-  $cust_pkg->setup(str2time($cgi->param('setup')));
-  $cust_pkg->bill(str2time($cgi->param('bill')));
-  $cust_pkg->last_bill(str2time($cgi->param('last_bill')));
-}
-
-#my $custnum = $cust_pkg->getfield('custnum');
-%>
-
-<%= include("/elements/header.html",'Customer package - Edit dates') %>
-<%
-#, menubar(
-#  "View this customer (#$custnum)" => popurl(2). "view/cust_main.cgi?$custnum",
-#  'Main Menu' => popurl(2)
-#));
-%>
+%
+%
+%my $error ='';
+%my $pkgnum = '';
+%if ( $cgi->param('error') ) {
+%  $error = $cgi->param('error');
+%  $pkgnum = $cgi->param('pkgnum');
+%  if ( $error eq '_bill_areyousure' ) {
+%    my $bill = $cgi->param('bill');
+%    $error = "You are attempting to set the next bill date to $bill, which is
+%              in the past.  This will charge the customer for the interval
+%              from $bill until now.  Are you sure you want to do this? ".
+%           '<INPUT TYPE="checkbox" NAME="bill_areyousure" VALUE="1">';
+%  }
+%} else {
+%  my($query) = $cgi->keywords;
+%  $query =~ /^(\d+)$/ or die "no pkgnum";
+%  $pkgnum = $1;
+%}
+%
+%#get package record
+%my $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
+%die "No package!" unless $cust_pkg;
+%my $part_pkg = qsearchs('part_pkg',{'pkgpart'=>$cust_pkg->getfield('pkgpart')});
+%
+%if ( $error ) {
+%  #$cust_pkg->$_(str2time($cgi->param($_)) foreach qw(setup bill);
+%  $cust_pkg->setup(str2time($cgi->param('setup')));
+%  $cust_pkg->bill(str2time($cgi->param('bill')));
+%  $cust_pkg->last_bill(str2time($cgi->param('last_bill')));
+%}
+%
+%#my $custnum = $cust_pkg->getfield('custnum');
+%
+
+
+<% include("/elements/header.html",'Customer package - Edit dates') %>
+%
+%#, menubar(
+%#  "View this customer (#$custnum)" => popurl(2). "view/cust_main.cgi?$custnum",
+%#  'Main Menu' => popurl(2)
+%#));
+%
+
 
 <LINK REL="stylesheet" TYPE="text/css" HREF="../elements/calendar-win2k-2.css" TITLE="win2k-2">
 <SCRIPT TYPE="text/javascript" SRC="../elements/calendar_stripped.js"></SCRIPT>
 <SCRIPT TYPE="text/javascript" SRC="../elements/calendar-en.js"></SCRIPT>
 <SCRIPT TYPE="text/javascript" SRC="../elements/calendar-setup.js"></SCRIPT>
+%
+%
+%#print info
+%my($susp,$cancel,$expire)=(
+%  $cust_pkg->getfield('susp'),
+%  $cust_pkg->getfield('cancel'),
+%  $cust_pkg->getfield('expire'),
+%);
+%my($pkg,$comment)=($part_pkg->getfield('pkg'),$part_pkg->getfield('comment'));
+%my($setup,$bill)=($cust_pkg->getfield('setup'),$cust_pkg->getfield('bill'));
+%my $otaker = $cust_pkg->getfield('otaker');
+%
+%
 
-<%
-
-#print info
-my($susp,$cancel,$expire)=(
-  $cust_pkg->getfield('susp'),
-  $cust_pkg->getfield('cancel'),
-  $cust_pkg->getfield('expire'),
-);
-my($pkg,$comment)=($part_pkg->getfield('pkg'),$part_pkg->getfield('comment'));
-my($setup,$bill)=($cust_pkg->getfield('setup'),$cust_pkg->getfield('bill'));
-my $otaker = $cust_pkg->getfield('otaker');
-
-%>
 
 <FORM NAME="formname" ACTION="process/REAL_cust_pkg.cgi" METHOD="POST">
-<INPUT TYPE="hidden" NAME="pkgnum" VALUE="<%= $pkgnum %>">
-
-<% if ( $error ) { %>
-  <FONT SIZE="+1" COLOR="#ff0000">Error: <%= $error %></FONT>
-<% } %>
-
-<%
-
-#my $format = "%c %z (%Z)";
-my $format = "%m/%d/%Y %T %z (%Z)";
-
-#false laziness w/view/cust_main/packages.html
-#my( $billed_or_prepaid,
-my( $last_bill_or_renewed, $next_bill_or_prepaid_until );
-unless ( $part_pkg->is_prepaid ) {
-  #$billed_or_prepaid = 'billed';
-  $last_bill_or_renewed = 'Last bill';
-  $next_bill_or_prepaid_until = 'Next bill';
-} else {
-  #$billed_or_prepaid = 'prepaid';
-  $last_bill_or_renewed = 'Renewed';
-  $next_bill_or_prepaid_until = 'Prepaid until';
-}
-
-%>
-
-<%= ntable("#cccccc",2) %>
+<INPUT TYPE="hidden" NAME="pkgnum" VALUE="<% $pkgnum %>">
+% if ( $error ) { 
+
+  <FONT SIZE="+1" COLOR="#ff0000">Error: <% $error %></FONT>
+% } 
+%
+%
+%#my $format = "%c %z (%Z)";
+%my $format = "%m/%d/%Y %T %z (%Z)";
+%
+%#false laziness w/view/cust_main/packages.html
+%#my( $billed_or_prepaid,
+%my( $last_bill_or_renewed, $next_bill_or_prepaid_until );
+%unless ( $part_pkg->is_prepaid ) {
+%  #$billed_or_prepaid = 'billed';
+%  $last_bill_or_renewed = 'Last bill';
+%  $next_bill_or_prepaid_until = 'Next bill';
+%} else {
+%  #$billed_or_prepaid = 'prepaid';
+%  $last_bill_or_renewed = 'Renewed';
+%  $next_bill_or_prepaid_until = 'Prepaid until';
+%}
+%
+%
+
+
+<% ntable("#cccccc",2) %>
 
   <TR>
     <TD ALIGN="right">Package number</TD>
-    <TD BGCOLOR="#ffffff"><%= $pkgnum %></TD>
+    <TD BGCOLOR="#ffffff"><% $pkgnum %></TD>
   </TR>
 
   <TR>
     <TD ALIGN="right">Package</TD>
-    <TD BGCOLOR="#ffffff"><%= $pkg %></TD>
+    <TD BGCOLOR="#ffffff"><% $pkg %></TD>
   </TR>
 
   <TR>
     <TD ALIGN="right">Comment</TD>
-    <TD BGCOLOR="#ffffff"><%= $comment %></TD>
+    <TD BGCOLOR="#ffffff"><% $comment %></TD>
   </TR>
 
   <TR>
     <TD ALIGN="right">Order taker</TD>
-    <TD BGCOLOR="#ffffff"><%= $otaker %></TD>
+    <TD BGCOLOR="#ffffff"><% $otaker %></TD>
   </TR>
 
   <TR>
     <TD ALIGN="right">Setup date</TD>
     <TD>
-      <INPUT TYPE="text" NAME="setup" SIZE=32 ID="setup_text" VALUE="<%= ( $setup ? time2str($format, $setup) : "" ) %>">
+      <INPUT TYPE="text" NAME="setup" SIZE=32 ID="setup_text" VALUE="<% ( $setup ? time2str($format, $setup) : "" ) %>">
       <IMG SRC="../images/calendar.png" ID="setup_button" STYLE="cursor: pointer" TITLE="Select date">
     </TD>
   </TR>
 
   <TR>
-    <TD ALIGN="right"><%= $last_bill_or_renewed %> date</TD>
+    <TD ALIGN="right"><% $last_bill_or_renewed %> date</TD>
     <TD>
-      <INPUT TYPE="text" NAME="last_bill" SIZE=32 ID="last_bill_text" VALUE="<%= ( $cust_pkg->last_bill ? time2str($format, $cust_pkg->last_bill) : "" ) %>">
+      <INPUT TYPE="text" NAME="last_bill" SIZE=32 ID="last_bill_text" VALUE="<% ( $cust_pkg->last_bill ? time2str($format, $cust_pkg->last_bill) : "" ) %>">
       <IMG SRC="../images/calendar.png" ID="last_bill_button" STYLE="cursor: pointer" TITLE="Select date">
     </TD>
   </TR>
 
   <TR>
-    <TD ALIGN="right"><%= $next_bill_or_prepaid_until %> date</TD>
+    <TD ALIGN="right"><% $next_bill_or_prepaid_until %> date</TD>
     <TD>
-      <INPUT TYPE="text" NAME="bill" SIZE=32 ID="bill_text" VALUE="<%= ( $bill ? time2str($format, $bill) : "" ) %>">
+      <INPUT TYPE="text" NAME="bill" SIZE=32 ID="bill_text" VALUE="<% ( $bill ? time2str($format, $bill) : "" ) %>">
       <IMG SRC="../images/calendar.png" ID="bill_button" STYLE="cursor: pointer" TITLE="Select date">
     </TD>
   </TR>
+% if ( $susp ) { 
 
-  <% if ( $susp ) { %>
     <TR>
       <TD ALIGN="right">Suspension date</TD>
-      <TD BGCOLOR="#ffffff"><%= time2str($format, $susp) %></TD>
+      <TD BGCOLOR="#ffffff"><% time2str($format, $susp) %></TD>
     </TR>
-  <% } %>
+% } 
+
 
   <TR>
     <TD ALIGN="right">Expiration date</TD>
     <TD>
-      <INPUT TYPE="text" NAME="expire" SIZE=32 ID="expire_text" VALUE="<%= ( $expire ? time2str($format, $expire) : "" ) %>">
+      <INPUT TYPE="text" NAME="expire" SIZE=32 ID="expire_text" VALUE="<% ( $expire ? time2str($format, $expire) : "" ) %>">
       <IMG SRC="../images/calendar.png" ID="expire_button" STYLE="cursor: pointer" TITLE="Select date">
       <BR><FONT SIZE=-1>(will <b>cancel</b> this package when the date is reached)</FONT>
     </TD>
   </TR>
+% if ( $cancel ) { 
 
-  <% if ( $cancel ) { %>
     <TR>
       <TD ALIGN="right">Cancellation date</TD>
-      <TD BGCOLOR="#ffffff"><%= time2str($format, $cancel) %></TD>
+      <TD BGCOLOR="#ffffff"><% time2str($format, $cancel) %></TD>
     </TR>
-  <% } %>
+% } 
+
 
 </TABLE>
 
 <SCRIPT TYPE="text/javascript">
-<%
-  my @cal = qw( setup bill expire );
-  push @cal, 'last_bill'
-    if $cust_pkg->dbdef_table->column('last_bill');
-  foreach my $cal (@cal) {
-%>
+%
+%  my @cal = qw( setup bill expire );
+%  push @cal, 'last_bill'
+%    if $cust_pkg->dbdef_table->column('last_bill');
+%  foreach my $cal (@cal) {
+%
+
   Calendar.setup({
-    inputField: "<%= $cal %>_text",
+    inputField: "<% $cal %>_text",
     ifFormat:   "%m/%d/%Y",
-    button:     "<%= $cal %>_button",
+    button:     "<% $cal %>_button",
     align:      "BR"
   });
-<% } %>
+% } 
+
 </SCRIPT>
 <BR><INPUT TYPE="submit" VALUE="Apply Changes">
 </FORM>
index d7f7667..d447512 100644 (file)
@@ -1,4 +1,4 @@
-<%= include( 'elements/edit.html',
+<% include( 'elements/edit.html',
                  'name'   => 'Internal Access Group',
                  'table'  => 'access_group',
                  'labels' => { 
index fb2a971..df580a2 100644 (file)
@@ -1,4 +1,4 @@
-<%= include( 'elements/edit.html',
+<% include( 'elements/edit.html',
                  'name'   => 'Internal User',
                  'table'  => 'access_user',
                  'fields' => [
index 40115a9..ce514a6 100755 (executable)
-<%
-
-my $agent;
-if ( $cgi->param('error') ) {
-  $agent = new FS::agent ( {
-    map { $_, scalar($cgi->param($_)) } fields('agent')
-  } );
-} elsif ( $cgi->keywords ) {
-  my($query) = $cgi->keywords;
-  $query =~ /^(\d+)$/;
-  $agent = qsearchs( 'agent', { 'agentnum' => $1 } );
-} else { #adding
-  $agent = new FS::agent {};
-}
-my $action = $agent->agentnum ? 'Edit' : 'Add';
-my $hashref = $agent->hashref;
-
-my $conf = new FS::Conf;
-
-%>
-
-<%= include("/elements/header.html","$action Agent", menubar(
+%
+%
+%my $agent;
+%if ( $cgi->param('error') ) {
+%  $agent = new FS::agent ( {
+%    map { $_, scalar($cgi->param($_)) } fields('agent')
+%  } );
+%} elsif ( $cgi->keywords ) {
+%  my($query) = $cgi->keywords;
+%  $query =~ /^(\d+)$/;
+%  $agent = qsearchs( 'agent', { 'agentnum' => $1 } );
+%} else { #adding
+%  $agent = new FS::agent {};
+%}
+%my $action = $agent->agentnum ? 'Edit' : 'Add';
+%my $hashref = $agent->hashref;
+%
+%my $conf = new FS::Conf;
+%
+%
+
+
+<% include("/elements/header.html","$action Agent", menubar(
   'Main Menu' => $p,
   'View all agents' => $p. 'browse/agent.cgi',
 )) %>
+% if ( $cgi->param('error') ) { 
+
+<FONT SIZE="+1" COLOR="#ff0000">Error: <% $cgi->param('error') %></FONT>
+% } 
 
-<% if ( $cgi->param('error') ) { %>
-<FONT SIZE="+1" COLOR="#ff0000">Error: <%= $cgi->param('error') %></FONT>
-<% } %>
 
-<FORM ACTION="<%=popurl(1)%>process/agent.cgi" METHOD=POST>
-<INPUT TYPE="hidden" NAME="agentnum" VALUE="<%= $hashref->{agentnum} %>">
-Agent #<%= $hashref->{agentnum} ? $hashref->{agentnum} : "(NEW)" %>
+<FORM ACTION="<%popurl(1)%>process/agent.cgi" METHOD=POST>
+<INPUT TYPE="hidden" NAME="agentnum" VALUE="<% $hashref->{agentnum} %>">
+Agent #<% $hashref->{agentnum} ? $hashref->{agentnum} : "(NEW)" %>
 
-<%= &ntable("#cccccc", 2, '') %>
+<% &ntable("#cccccc", 2, '') %>
 
 <TR>
   <TH ALIGN="right">Agent</TH>
-  <TD><INPUT TYPE="text" NAME="agent" SIZE=32 VALUE="<%= $hashref->{agent} %>"></TD>
+  <TD><INPUT TYPE="text" NAME="agent" SIZE=32 VALUE="<% $hashref->{agent} %>"></TD>
 </TR>
 
   <TR>
     <TH ALIGN="right">Agent type</TH>
     <TD><SELECT NAME="typenum" SIZE=1>
-  
-  <% foreach my $agent_type (qsearch('agent_type',{})) { %>
-    <OPTION VALUE="<%= $agent_type->typenum %>"<%= ( $hashref->{typenum} && ( $hashref->{typenum} == $agent_type->typenum ) ) ? ' SELECTED' : '' %>>
-    <%= $agent_type->getfield('typenum') %>: <%= $agent_type->getfield('atype') %>
-  <% } %>
+% foreach my $agent_type (qsearch('agent_type',{})) { 
+
+    <OPTION VALUE="<% $agent_type->typenum %>"<% ( $hashref->{typenum} && ( $hashref->{typenum} == $agent_type->typenum ) ) ? ' SELECTED' : '' %>>
+    <% $agent_type->getfield('typenum') %>: <% $agent_type->getfield('atype') %>
+% } 
+
   
   </SELECT></TD>
   </TR>
   
   <TR>
     <TD ALIGN="right">Disable</TD>
-    <TD><INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<%= $hashref->{disabled} eq 'Y' ? ' CHECKED' : '' %>></TD>
+    <TD><INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<% $hashref->{disabled} eq 'Y' ? ' CHECKED' : '' %>></TD>
   </TR>
   
   <TR>
     <TD ALIGN="right"><!--Frequency--></TD>
-    <TD><INPUT TYPE="hidden" NAME="freq" VALUE="<%= $hashref->{freq} %>"></TD>
+    <TD><INPUT TYPE="hidden" NAME="freq" VALUE="<% $hashref->{freq} %>"></TD>
   </TR>
   
   <TR>
     <TD ALIGN="right"><!--Program--></TD>
-    <TD><INPUT TYPE="hidden" NAME="prog" VALUE="<%= $hashref->{prog} %>"></TD>
+    <TD><INPUT TYPE="hidden" NAME="prog" VALUE="<% $hashref->{prog} %>"></TD>
   </TR>
+% if ( $conf->config('ticket_system') ) {
+%    my $default_queueid = $conf->config('ticket_system-default_queueid');
+%    my $default_queue = FS::TicketSystem->queue($default_queueid);
+%    $default_queue = "(default) $default_queueid: $default_queue"
+%      if $default_queueid;
+%    my %queues = FS::TicketSystem->queues();
+%    my @queueids = sort { $a <=> $b } keys %queues;
+%  
 
-  <% if ( $conf->config('ticket_system') ) {
-    my $default_queueid = $conf->config('ticket_system-default_queueid');
-    my $default_queue = FS::TicketSystem->queue($default_queueid);
-    $default_queue = "(default) $default_queueid: $default_queue"
-      if $default_queueid;
-    my %queues = FS::TicketSystem->queues();
-    my @queueids = sort { $a <=> $b } keys %queues;
-  %>
     <TR>
       <TD ALIGN="right">Ticketing queue</TD>
       <TD>
         <SELECT NAME="ticketing_queueid">
-          <OPTION VALUE=""><%= $default_queue %>
-          <% foreach my $queueid ( @queueids ) { %>
-            <OPTION VALUE="<%= $queueid %>" <%= $agent->ticketing_queueid == $queueid ? ' SELECTED' : '' %>><%= $queueid %>: <%= $queues{$queueid} %>
-          <% } %>
+          <OPTION VALUE=""><% $default_queue %>
+% foreach my $queueid ( @queueids ) { 
+
+            <OPTION VALUE="<% $queueid %>" <% $agent->ticketing_queueid == $queueid ? ' SELECTED' : '' %>><% $queueid %>: <% $queues{$queueid} %>
+% } 
+
         </SELECT>
       </TD>
     </TR>
-  <% } %>
+% } 
+
   
   <TR>
     <TD ALIGN="right">Agent interface username</TD>
     <TD>
-      <INPUT TYPE="text" NAME="username" VALUE="<%= $hashref->{username} %>">
+      <INPUT TYPE="text" NAME="username" VALUE="<% $hashref->{username} %>">
     </TD>
   </TR>
   
   <TR>
     <TD ALIGN="right">Agent interface password</TD>
     <TD>
-      <INPUT TYPE="text" NAME="_password" VALUE="<%= $hashref->{_password} %>">
+      <INPUT TYPE="text" NAME="_password" VALUE="<% $hashref->{_password} %>">
     </TD>
   </TR>
 
 </TABLE>
 
-<BR><INPUT TYPE="submit" VALUE="<%= $hashref->{agentnum} ? "Apply changes" : "Add agent" %>">
+<BR><INPUT TYPE="submit" VALUE="<% $hashref->{agentnum} ? "Apply changes" : "Add agent" %>">
     </FORM>
   </BODY>
 </HTML>
index db4331b..08a2fa6 100644 (file)
@@ -1,57 +1,63 @@
-<%
+%
+%
+%$cgi->param('agentnum') =~ /(\d+)$/ or die "illegal agentnum";
+%my $agent = qsearchs('agent', { 'agentnum' => $1 } );
+%die "agentnum $1 not found" unless $agent;
+%
+%#my @agent_payment_gateway;
+%if ( $cgi->param('error') ) {
+%}
+%
+%my $action = 'Add';
+%
+%
 
-$cgi->param('agentnum') =~ /(\d+)$/ or die "illegal agentnum";
-my $agent = qsearchs('agent', { 'agentnum' => $1 } );
-die "agentnum $1 not found" unless $agent;
 
-#my @agent_payment_gateway;
-if ( $cgi->param('error') ) {
-}
-
-my $action = 'Add';
-
-%>
-
-<%= include("/elements/header.html","$action payment gateway override for ". $agent->agent,  menubar(
+<% include("/elements/header.html","$action payment gateway override for ". $agent->agent,  menubar(
   'Main Menu' => $p,
   #'View all payment gateways' => $p. 'browse/payment_gateway.html',
   'View all agents' => $p. 'browse/agent.html',
 )) %>
+% if ( $cgi->param('error') ) { 
+
+<FONT SIZE="+1" COLOR="#ff0000">Error: <% $cgi->param('error') %></FONT>
+% } 
 
-<% if ( $cgi->param('error') ) { %>
-<FONT SIZE="+1" COLOR="#ff0000">Error: <%= $cgi->param('error') %></FONT>
-<% } %>
 
-<FORM ACTION="<%=popurl(1)%>process/agent_payment_gateway.html" METHOD=POST>
-<INPUT TYPE="hidden" NAME="agentnum" VALUE="<%= $agent->agentnum %>">
+<FORM ACTION="<%popurl(1)%>process/agent_payment_gateway.html" METHOD=POST>
+<INPUT TYPE="hidden" NAME="agentnum" VALUE="<% $agent->agentnum %>">
 
 Use gateway <SELECT NAME="gatewaynum">
-<% foreach my $payment_gateway (
-      qsearch('payment_gateway', { 'disabled' => '' } )
-    ) {
-%>
-  <OPTION VALUE="<%= $payment_gateway->gatewaynum %>"><%= $payment_gateway->gateway_module %> (<%= $payment_gateway->gateway_username %>)
-<% } %>
+% foreach my $payment_gateway (
+%      qsearch('payment_gateway', { 'disabled' => '' } )
+%    ) {
+%
+
+  <OPTION VALUE="<% $payment_gateway->gatewaynum %>"><% $payment_gateway->gateway_module %> (<% $payment_gateway->gateway_username %>)
+% } 
+
 </SELECT>
 <BR><BR>
 
 for <SELECT NAME="cardtype" MULTIPLE>
-<% foreach my $cardtype (
-  "",
-  "VISA card",
-  "MasterCard",
-  "Discover card",
-  "American Express card",
-  "Diner's Club/Carte Blanche",
-  "enRoute",
-  "JCB",
-  "BankCard",
-  "Switch",
-  "Solo",
-  'ACH',
-) { %>
-  <OPTION VALUE="<%= $cardtype %>"><%= $cardtype || '(Default fallback)' %>
-<% } %>
+% foreach my $cardtype (
+%  "",
+%  "VISA card",
+%  "MasterCard",
+%  "Discover card",
+%  "American Express card",
+%  "Diner's Club/Carte Blanche",
+%  "enRoute",
+%  "JCB",
+%  "BankCard",
+%  "Switch",
+%  "Solo",
+%  'ACH',
+%) { 
+
+  <OPTION VALUE="<% $cardtype %>"><% $cardtype || '(Default fallback)' %>
+% } 
+
 </SELECT>
 <BR><BR>
 
index f5afd3a..5438e5c 100755 (executable)
@@ -1,41 +1,43 @@
-<%
-
-my($agent_type);
-if ( $cgi->param('error') ) {
-  $agent_type = new FS::agent_type ( {
-    map { $_, scalar($cgi->param($_)) } fields('agent')
-  } );
-} elsif ( $cgi->keywords ) { #editing
-  my( $query ) = $cgi->keywords;
-  $query =~ /^(\d+)$/;
-  $agent_type=qsearchs('agent_type',{'typenum'=>$1});
-} else { #adding
-  $agent_type = new FS::agent_type {};
-}
-my $action = $agent_type->typenum ? 'Edit' : 'Add';
-
-%><%= include("/elements/header.html","$action Agent Type", menubar(
+%
+%
+%my($agent_type);
+%if ( $cgi->param('error') ) {
+%  $agent_type = new FS::agent_type ( {
+%    map { $_, scalar($cgi->param($_)) } fields('agent')
+%  } );
+%} elsif ( $cgi->keywords ) { #editing
+%  my( $query ) = $cgi->keywords;
+%  $query =~ /^(\d+)$/;
+%  $agent_type=qsearchs('agent_type',{'typenum'=>$1});
+%} else { #adding
+%  $agent_type = new FS::agent_type {};
+%}
+%my $action = $agent_type->typenum ? 'Edit' : 'Add';
+%
+%
+<% include("/elements/header.html","$action Agent Type", menubar(
   'Main Menu' => "$p",
   'View all agent types' => "${p}browse/agent_type.cgi",
 ))
 %>
+% if ( $cgi->param('error') ) { 
 
-<% if ( $cgi->param('error') ) { %>
-  <FONT SIZE="+1" COLOR="#ff0000">Error: <%= $cgi->param('error') %></FONT>
-<% } %>
+  <FONT SIZE="+1" COLOR="#ff0000">Error: <% $cgi->param('error') %></FONT>
+% } 
 
-<FORM ACTION="<%= popurl(1) %>process/agent_type.cgi" METHOD=POST>
-<INPUT TYPE="hidden" NAME="typenum" VALUE="<%= $agent_type->typenum %>">
-Agent Type #<%= $agent_type->typenum || "(NEW)" %>
+
+<FORM ACTION="<% popurl(1) %>process/agent_type.cgi" METHOD=POST>
+<INPUT TYPE="hidden" NAME="typenum" VALUE="<% $agent_type->typenum %>">
+Agent Type #<% $agent_type->typenum || "(NEW)" %>
 <BR>
 
 Agent Type
-<INPUT TYPE="text" NAME="atype" SIZE=32 VALUE="<%= $agent_type->atype %>">
+<INPUT TYPE="text" NAME="atype" SIZE=32 VALUE="<% $agent_type->atype %>">
 <BR><BR>
 
 Select which packages agents of this type may sell to customers<BR>
-<%= ntable("#cccccc", 2) %><TR><TD>
-<%= include('/elements/checkboxes-table.html',
+<% ntable("#cccccc", 2) %><TR><TD>
+<% include('/elements/checkboxes-table.html',
               'source_obj'    => $agent_type,
               'link_table'    => 'type_pkgs',
               'target_table'  => 'part_pkg',
@@ -48,8 +50,8 @@ Select which packages agents of this type may sell to customers<BR>
 </TD></TR></TABLE>
 <BR>
 
-<INPUT TYPE="submit" VALUE="<%= $agent_type->typenum ? "Apply changes" : "Add agent type" %>">
+<INPUT TYPE="submit" VALUE="<% $agent_type->typenum ? "Apply changes" : "Add agent type" %>">
 
     </FORM>
 
-<%= include('/elements/footer.html') %>
+<% include('/elements/footer.html') %>
index be247ba..f2efc3f 100644 (file)
@@ -1,4 +1,4 @@
-<%= include("/elements/header.html", 'Bulk customer service change',
+<% include("/elements/header.html", 'Bulk customer service change',
             menubar(
                      'Main Menu' => $p,
                    ),
@@ -9,7 +9,7 @@
 <SCRIPT TYPE="text/javascript" SRC="../elements/overlibmws_iframe.js"></SCRIPT>
 <SCRIPT TYPE="text/javascript" SRC="../elements/overlibmws_draggable.js"></SCRIPT>
 
-<%= include('/elements/progress-init.html',
+<% include('/elements/progress-init.html',
               'OneTrueForm',
               [qw( old_svcpart new_svcpart pkgpart )],
               'process/bulk-cust_svc.cgi',
 %>
 
 <FORM NAME="OneTrueForm">
+%
+%  $cgi->param('svcpart') =~ /^(\d+)$/
+%    or die "illegal svcpart: ". $cgi->param('svcpart');
+%
+%  my $old_svcpart = $1;
+%  my $src_part_svc = qsearchs('part_svc', { 'svcpart' => $old_svcpart } )
+%    or die "unknown svcpart: $old_svcpart";
+%
 
-<%
-  $cgi->param('svcpart') =~ /^(\d+)$/
-    or die "illegal svcpart: ". $cgi->param('svcpart');
 
-  my $old_svcpart = $1;
-  my $src_part_svc = qsearchs('part_svc', { 'svcpart' => $old_svcpart } )
-    or die "unknown svcpart: $old_svcpart";
-%>
-
-<INPUT NAME="old_svcpart" TYPE="hidden" VALUE="<%= $old_svcpart %>">
+<INPUT NAME="old_svcpart" TYPE="hidden" VALUE="<% $old_svcpart %>">
 Change <!-- customer
-<B><%= $src_part_svc->svcpart %>: <%= $src_part_svc->svc %></B> services
+<B><% $src_part_svc->svcpart %>: <% $src_part_svc->svc %></B> services
 <BR>
 -->
 
 <SELECT NAME="pkgpart">
+% my $num_cust_svc = $src_part_svc->num_cust_svc; 
+% if ( $num_cust_svc > 1 ) { 
+
+  <OPTION VALUE="">all <% $num_cust_svc %> <% $src_part_svc->svc %> services
+% } else { 
+
+  <OPTION VALUE="">the <% $num_cust_svc %> <% $src_part_svc->svc %> service
+% } 
+%
+%  my $num_unlinked = $src_part_svc->num_cust_svc(0);
+%  if ( $num_unlinked ) {
+%
+
+  <OPTION VALUE="0">the <% $num_unlinked %> unlinked <% $src_part_svc->svc %> services
+% } 
+% foreach my $schwartz (
+%     grep { $_->[1] }
+%     map  { [ $_, $src_part_svc->num_cust_svc($_->pkgpart) ] }
+%          qsearch('part_pkg', {} )
+%   ) {
+%     my( $part_pkg, $num_cust_svc ) = @$schwartz;
+%
+
+  <OPTION VALUE="<% $part_pkg->pkgpart %>">the <% $num_cust_svc %>
+    <% $src_part_svc->svc %> service<% $num_cust_svc > 1 ? 's in' : ' in a' %>
+    <% $part_pkg->pkg %> package<% $num_cust_svc > 1 ? 's' : '' %>
+% } 
 
-<% my $num_cust_svc = $src_part_svc->num_cust_svc; %>
-<% if ( $num_cust_svc > 1 ) { %>
-  <OPTION VALUE="">all <%= $num_cust_svc %> <%= $src_part_svc->svc %> services
-<% } else { %>
-  <OPTION VALUE="">the <%= $num_cust_svc %> <%= $src_part_svc->svc %> service
-<% } %>
-
-<%
-  my $num_unlinked = $src_part_svc->num_cust_svc(0);
-  if ( $num_unlinked ) {
-%>
-  <OPTION VALUE="0">the <%= $num_unlinked %> unlinked <%= $src_part_svc->svc %> services
-
-<% } %>
-
-<% foreach my $schwartz (
-     grep { $_->[1] }
-     map  { [ $_, $src_part_svc->num_cust_svc($_->pkgpart) ] }
-          qsearch('part_pkg', {} )
-   ) {
-     my( $part_pkg, $num_cust_svc ) = @$schwartz;
-%>
-  <OPTION VALUE="<%= $part_pkg->pkgpart %>">the <%= $num_cust_svc %>
-    <%= $src_part_svc->svc %> service<%= $num_cust_svc > 1 ? 's in' : ' in a' %>
-    <%= $part_pkg->pkg %> package<%= $num_cust_svc > 1 ? 's' : '' %>
-<% } %>
 </SELECT>
 <BR>
 
 to new service definition
 <SELECT NAME="new_svcpart">
-<% foreach my $dest_part_svc (
-     grep {    $_->svcpart != $old_svcpart
-            && $_->svcdb   eq $src_part_svc->svcdb
-          }
-          qsearch('part_svc', { 'disabled' => '' } )
-   ) {
-%>
-  <OPTION VALUE="<%= $dest_part_svc->svcpart %>"><%= $dest_part_svc->svcpart %>: <%= $dest_part_svc->svc %>
+% foreach my $dest_part_svc (
+%     grep {    $_->svcpart != $old_svcpart
+%            && $_->svcdb   eq $src_part_svc->svcdb
+%          }
+%          qsearch('part_svc', { 'disabled' => '' } )
+%   ) {
+%
+
+  <OPTION VALUE="<% $dest_part_svc->svcpart %>"><% $dest_part_svc->svcpart %>: <% $dest_part_svc->svc %>
+% } 
 
-<% } %>
 </SELECT>
 <BR>
 
index 9d3bdd8..2035e4b 100755 (executable)
@@ -1,87 +1,90 @@
-<%
-
-my($paynum, $amount, $invnum);
-if ( $cgi->param('error') ) {
-  $paynum = $cgi->param('paynum');
-  $amount = $cgi->param('amount');
-  $invnum = $cgi->param('invnum');
-} else {
-  my($query) = $cgi->keywords;
-  $query =~ /^(\d+)$/;
-  $paynum = $1;
-  $amount = '';
-  $invnum = '';
-}
-
-my $otaker = getotaker;
-
-my $p1 = popurl(1);
-
-%><%= header("Apply Payment", '') %>
-
-<% if ( $cgi->param('error') ) { %>
-  <FONT SIZE="+1" COLOR="#ff0000">Error: <%= $cgi->param('error') %></FONT>
+%
+%
+%my($paynum, $amount, $invnum);
+%if ( $cgi->param('error') ) {
+%  $paynum = $cgi->param('paynum');
+%  $amount = $cgi->param('amount');
+%  $invnum = $cgi->param('invnum');
+%} else {
+%  my($query) = $cgi->keywords;
+%  $query =~ /^(\d+)$/;
+%  $paynum = $1;
+%  $amount = '';
+%  $invnum = '';
+%}
+%
+%my $otaker = getotaker;
+%
+%my $p1 = popurl(1);
+%
+%
+<% header("Apply Payment", '') %>
+% if ( $cgi->param('error') ) { 
+
+  <FONT SIZE="+1" COLOR="#ff0000">Error: <% $cgi->param('error') %></FONT>
   <BR><BR>
-<% } %>
-
-<FORM ACTION="<%= $p1 %>process/cust_bill_pay.cgi" METHOD=POST>
+% } 
 
-<%
-my $cust_pay = qsearchs('cust_pay', { 'paynum' => $paynum } );
-die "payment $paynum not found!" unless $cust_pay;
 
-my $unapplied = $cust_pay->unapplied;
-%>
+<FORM ACTION="<% $p1 %>process/cust_bill_pay.cgi" METHOD=POST>
+%
+%my $cust_pay = qsearchs('cust_pay', { 'paynum' => $paynum } );
+%die "payment $paynum not found!" unless $cust_pay;
+%
+%my $unapplied = $cust_pay->unapplied;
+%
 
-Payment #<B><%= $paynum %></B>
-<INPUT TYPE="hidden" NAME="paynum" VALUE="<%= $paynum %>">
 
-<BR>Date: <B><%= time2str("%D", $cust_pay->_date) %></B>
+Payment #<B><% $paynum %></B>
+<INPUT TYPE="hidden" NAME="paynum" VALUE="<% $paynum %>">
 
-<BR>Amount: $<B><%= $cust_pay->paid %></B>
+<BR>Date: <B><% time2str("%D", $cust_pay->_date) %></B>
 
-<BR>Unapplied amount: $<B><%= $unapplied %></B>
+<BR>Amount: $<B><% $cust_pay->paid %></B>
 
-<%
-my @cust_bill = grep $_->owed != 0,
-                qsearch('cust_bill', { 'custnum' => $cust_pay->custnum } );
+<BR>Unapplied amount: $<B><% $unapplied %></B>
+%
+%my @cust_bill = grep $_->owed != 0,
+%                qsearch('cust_bill', { 'custnum' => $cust_pay->custnum } );
+%
+%
 
-%>
 
 <SCRIPT>
 function changed(what) {
   cust_bill = what.options[what.selectedIndex].value;
+% foreach my $cust_bill ( @cust_bill ) {
+%  my $invnum = $cust_bill->invnum;
+%  my $changeto = $cust_bill->owed < $unapplied
+%                   ? $cust_bill->owed 
+%                   : $unapplied;
+%
 
-<% foreach my $cust_bill ( @cust_bill ) {
-  my $invnum = $cust_bill->invnum;
-  my $changeto = $cust_bill->owed < $unapplied
-                   ? $cust_bill->owed 
-                   : $unapplied;
-%>
   if ( cust_bill == $invnum ) {
-    what.form.amount.value = "<%= $changeto %>";
+    what.form.amount.value = "<% $changeto %>";
   }
-<% } %>
+% } 
+
 
   if ( cust_bill == "Refund" ) {
-    what.form.amount.value = "<%= $unapplied %>";
+    what.form.amount.value = "<% $unapplied %>";
   }
 }
 </SCRIPT>
 
 <BR>Invoice #<SELECT NAME="invnum" SIZE=1 onChange="changed(this)">
 <OPTION VALUE="">
+% foreach my $cust_bill ( @cust_bill ) { 
 
-<% foreach my $cust_bill ( @cust_bill ) { %>
 
-  <OPTION<%= $cust_bill->invnum eq $invnum ? ' SELECTED' : '' %> VALUE="<%= $cust_bill->invnum %>"><%= $cust_bill->invnum %> - <%= time2str("%D", $cust_bill->_date) %> - $<%= $cust_bill->owed %>
+  <OPTION<% $cust_bill->invnum eq $invnum ? ' SELECTED' : '' %> VALUE="<% $cust_bill->invnum %>"><% $cust_bill->invnum %> - <% time2str("%D", $cust_bill->_date) %> - $<% $cust_bill->owed %>
+% } 
 
-<% } %>
 
 <OPTION VALUE="Refund">Refund
 </SELECT>
 
-<BR>Amount $<INPUT TYPE="text" NAME="amount" VALUE="<%= $amount %>" SIZE=8 MAXLENGTH=8>
+<BR>Amount $<INPUT TYPE="text" NAME="amount" VALUE="<% $amount %>" SIZE=8 MAXLENGTH=8>
 
 <BR>
 <CENTER><INPUT TYPE="submit" VALUE="Apply"></CENTER>
index 8de627d..c54fb81 100755 (executable)
@@ -1,67 +1,69 @@
-<%
-
-my $conf = new FS::Conf;
-my($custnum, $amount, $reason);
-if ( $cgi->param('error') ) {
-  #$cust_credit = new FS::cust_credit ( {
-  #  map { $_, scalar($cgi->param($_)) } fields('cust_credit')
-  #} );
-  $custnum = $cgi->param('custnum');
-  $amount = $cgi->param('amount');
-  #$refund = $cgi->param('refund');
-  $reason = $cgi->param('reason');
-} else {
-  my($query) = $cgi->keywords;
-  $query =~ /^(\d+)$/;
-  $custnum = $1;
-  $amount = '';
-  #$refund = 'yes';
-  $reason = '';
-}
-my $_date = time;
-
-my $otaker = getotaker;
-
-my $p1 = popurl(1);
-
-%><%= include('/elements/header-popup.html', 'Enter Credit') %>
-
-<% if ( $cgi->param('error') ) { %>
-  <FONT SIZE="+1" COLOR="#ff0000">Error: <%= $cgi->param('error') %></FONT>
+%
+%
+%my $conf = new FS::Conf;
+%my($custnum, $amount, $reason);
+%if ( $cgi->param('error') ) {
+%  #$cust_credit = new FS::cust_credit ( {
+%  #  map { $_, scalar($cgi->param($_)) } fields('cust_credit')
+%  #} );
+%  $custnum = $cgi->param('custnum');
+%  $amount = $cgi->param('amount');
+%  #$refund = $cgi->param('refund');
+%  $reason = $cgi->param('reason');
+%} else {
+%  my($query) = $cgi->keywords;
+%  $query =~ /^(\d+)$/;
+%  $custnum = $1;
+%  $amount = '';
+%  #$refund = 'yes';
+%  $reason = '';
+%}
+%my $_date = time;
+%
+%my $otaker = getotaker;
+%
+%my $p1 = popurl(1);
+%
+%
+<% include('/elements/header-popup.html', 'Enter Credit') %>
+% if ( $cgi->param('error') ) { 
+
+  <FONT SIZE="+1" COLOR="#ff0000">Error: <% $cgi->param('error') %></FONT>
   <BR><BR>
-<% } %>
+% } 
+
 
-<!-- <%= small_custview($custnum, $conf->config('countrydefault')) %> -->
+<!-- <% small_custview($custnum, $conf->config('countrydefault')) %> -->
 
-<FORM ACTION="<%= $p1 %>process/cust_credit.cgi" METHOD=POST>
+<FORM ACTION="<% $p1 %>process/cust_credit.cgi" METHOD=POST>
 <INPUT TYPE="hidden" NAME="crednum" VALUE="">
-<INPUT TYPE="hidden" NAME="custnum" VALUE="<%= $custnum %>">
+<INPUT TYPE="hidden" NAME="custnum" VALUE="<% $custnum %>">
 <INPUT TYPE="hidden" NAME="paybatch" VALUE="">
-<INPUT TYPE="hidden" NAME="_date" VALUE="<%= $_date %>">
+<INPUT TYPE="hidden" NAME="_date" VALUE="<% $_date %>">
 <INPUT TYPE="hidden" NAME="credited" VALUE="">
-<INPUT TYPE="hidden" NAME="otaker" VALUE="<%= $otaker %>">
+<INPUT TYPE="hidden" NAME="otaker" VALUE="<% $otaker %>">
 
 Credit
 
-<%= ntable("#cccccc", 2) %>
+<% ntable("#cccccc", 2) %>
 
   <TR>
     <TD ALIGN="right">Date</TD>
-    <TD BGCOLOR="#ffffff"><%= time2str("%D",$_date) %></TD>
+    <TD BGCOLOR="#ffffff"><% time2str("%D",$_date) %></TD>
   </TR>
 
   <TR>
     <TD ALIGN="right">Amount</TD>
-    <TD BGCOLOR="#ffffff">$<INPUT TYPE="text" NAME="amount" VALUE="<%= $amount %>" SIZE=8 MAXLENGTH=8></TD>
+    <TD BGCOLOR="#ffffff">$<INPUT TYPE="text" NAME="amount" VALUE="<% $amount %>" SIZE=8 MAXLENGTH=8></TD>
   </TR>
+%
+%#print qq! <INPUT TYPE="checkbox" NAME="refund" VALUE="$refund">Also post refund!;
+%
 
-<%
-#print qq! <INPUT TYPE="checkbox" NAME="refund" VALUE="$refund">Also post refund!;
-%>
 
   <TR>
     <TD ALIGN="right">Reason</TD>
-    <TD BGCOLOR="#ffffff"><INPUT TYPE="text" NAME="reason" VALUE="<%= $reason %>" SIZE=32></TD>
+    <TD BGCOLOR="#ffffff"><INPUT TYPE="text" NAME="reason" VALUE="<% $reason %>" SIZE=32></TD>
   </TR>
 
   <TR>
index 409ea3c..5fdc0ba 100755 (executable)
@@ -1,94 +1,97 @@
-<%
-
-my($crednum, $amount, $invnum);
-if ( $cgi->param('error') ) {
-  #$cust_credit_bill = new FS::cust_credit_bill ( {
-  #  map { $_, scalar($cgi->param($_)) } fields('cust_credit_bill')
-  #} );
-  $crednum = $cgi->param('crednum');
-  $amount = $cgi->param('amount');
-  #$refund = $cgi->param('refund');
-  $invnum = $cgi->param('invnum');
-} else {
-  my($query) = $cgi->keywords;
-  $query =~ /^(\d+)$/;
-  $crednum = $1;
-  $amount = '';
-  #$refund = 'yes';
-  $invnum = '';
-}
-
-my $otaker = getotaker;
-
-my $p1 = popurl(1);
-
-%><%=  header("Apply Credit", '') %>
-
-<% if ( $cgi->param('error') ) { %>
-  <FONT SIZE="+1" COLOR="#ff0000">Error: <%= $cgi->param('error') %></FONT>
+%
+%
+%my($crednum, $amount, $invnum);
+%if ( $cgi->param('error') ) {
+%  #$cust_credit_bill = new FS::cust_credit_bill ( {
+%  #  map { $_, scalar($cgi->param($_)) } fields('cust_credit_bill')
+%  #} );
+%  $crednum = $cgi->param('crednum');
+%  $amount = $cgi->param('amount');
+%  #$refund = $cgi->param('refund');
+%  $invnum = $cgi->param('invnum');
+%} else {
+%  my($query) = $cgi->keywords;
+%  $query =~ /^(\d+)$/;
+%  $crednum = $1;
+%  $amount = '';
+%  #$refund = 'yes';
+%  $invnum = '';
+%}
+%
+%my $otaker = getotaker;
+%
+%my $p1 = popurl(1);
+%
+%
+<%  header("Apply Credit", '') %>
+% if ( $cgi->param('error') ) { 
+
+  <FONT SIZE="+1" COLOR="#ff0000">Error: <% $cgi->param('error') %></FONT>
   <BR><BR>
-<% } %>
-
-<FORM ACTION="<%= $p1 %>process/cust_credit_bill.cgi" METHOD=POST>
+% } 
 
-<%
-my $cust_credit = qsearchs('cust_credit', { 'crednum' => $crednum } );
-die "credit $crednum not found!" unless $cust_credit;
 
-my $credited = $cust_credit->credited;
-%>
+<FORM ACTION="<% $p1 %>process/cust_credit_bill.cgi" METHOD=POST>
+%
+%my $cust_credit = qsearchs('cust_credit', { 'crednum' => $crednum } );
+%die "credit $crednum not found!" unless $cust_credit;
+%
+%my $credited = $cust_credit->credited;
+%
 
-Credit #<B><%= $crednum %></B>
-<INPUT TYPE="hidden" NAME="crednum" VALUE="<%= $crednum %>">
 
-<BR>Date: <B><%= time2str("%D", $cust_credit->_date) %></B>
+Credit #<B><% $crednum %></B>
+<INPUT TYPE="hidden" NAME="crednum" VALUE="<% $crednum %>">
 
-<BR>Amount: $<B><%= $cust_credit->amount %></B>
+<BR>Date: <B><% time2str("%D", $cust_credit->_date) %></B>
 
-<BR>Unapplied amount: $<B><%= $credited %></B>
+<BR>Amount: $<B><% $cust_credit->amount %></B>
 
-<BR>Reason: <B><%= $cust_credit->reason %></B>
+<BR>Unapplied amount: $<B><% $credited %></B>
 
-<%
-my @cust_bill = grep $_->owed != 0,
-                qsearch('cust_bill', { 'custnum' => $cust_credit->custnum } );
+<BR>Reason: <B><% $cust_credit->reason %></B>
+%
+%my @cust_bill = grep $_->owed != 0,
+%                qsearch('cust_bill', { 'custnum' => $cust_credit->custnum } );
+%
+%
 
-%>
 
 <SCRIPT>
 function changed(what) {
   cust_bill = what.options[what.selectedIndex].value;
+% foreach my $cust_bill ( @cust_bill ) {
+%  my $invnum = $cust_bill->invnum;
+%  my $changeto = $cust_bill->owed < $cust_credit->credited
+%                   ? $cust_bill->owed 
+%                   : $cust_credit->credited;
+%
 
-<% foreach my $cust_bill ( @cust_bill ) {
-  my $invnum = $cust_bill->invnum;
-  my $changeto = $cust_bill->owed < $cust_credit->credited
-                   ? $cust_bill->owed 
-                   : $cust_credit->credited;
-%>
   if ( cust_bill == $invnum ) {
-    what.form.amount.value = "<%= $changeto %>";
+    what.form.amount.value = "<% $changeto %>";
   }
-<% } %>
+% } 
+
 
   if ( cust_bill == "Refund" ) {
-    what.form.amount.value = "<%= $credited %>";
+    what.form.amount.value = "<% $credited %>";
   }
 }
 </SCRIPT>
 
 <BR>Invoice #<SELECT NAME="invnum" SIZE=1 onChange="changed(this)">
 <OPTION VALUE="">
+% foreach my $cust_bill ( @cust_bill ) { 
 
-<% foreach my $cust_bill ( @cust_bill ) { %>
 
-<OPTION<%= $cust_bill->invnum eq $invnum ? ' SELECTED' : '' %> VALUE="<%= $cust_bill->invnum %>"><%= $cust_bill->invnum %> - <%= time2str("%D",$cust_bill->_date) %> - $<%= $cust_bill->owed %>
+<OPTION<% $cust_bill->invnum eq $invnum ? ' SELECTED' : '' %> VALUE="<% $cust_bill->invnum %>"><% $cust_bill->invnum %> - <% time2str("%D",$cust_bill->_date) %> - $<% $cust_bill->owed %>
+% } 
 
-<% } %>
 
 <OPTION VALUE="Refund">Refund
 </SELECT>
 
-<BR>Amount $<INPUT TYPE="text" NAME="amount" VALUE="<%= $amount %>" SIZE=8 MAXLENGTH=8>
+<BR>Amount $<INPUT TYPE="text" NAME="amount" VALUE="<% $amount %>" SIZE=8 MAXLENGTH=8>
 
 <BR>
 <CENTER><INPUT TYPE="submit" VALUE="Apply"></CENTER>
index c3d1804..dfcd040 100755 (executable)
-<%
-
-  #for misplaced logic below
-  #use FS::part_pkg;
-
-  #for false laziness below (now more properly lazy)
-  #use FS::svc_acct_pop;
-
-  #for (other) false laziness below
-  #use FS::agent;
-  #use FS::type_pkgs;
-
-my $conf = new FS::Conf;
-
-#get record
-
-my $error = '';
-my($custnum, $username, $password, $popnum, $cust_main, $saved_pkgpart);
-my(@invoicing_list);
-my $same = '';
-if ( $cgi->param('error') ) {
-  $error = $cgi->param('error');
-  $cust_main = new FS::cust_main ( {
-    map { $_, scalar($cgi->param($_)) } fields('cust_main')
-  } );
-  $custnum = $cust_main->custnum;
-  $saved_pkgpart = $cgi->param('pkgpart_svcpart') || '';
-  if ( $saved_pkgpart =~ /^(\d+)_/ ) {
-    $saved_pkgpart = $1;
-  } else {
-    $saved_pkgpart = '';
-  }
-  $username = $cgi->param('username');
-  $password = $cgi->param('_password');
-  $popnum = $cgi->param('popnum');
-  @invoicing_list = split( /\s*,\s*/, $cgi->param('invoicing_list') );
-  $same = $cgi->param('same');
-  $cust_main->setfield('paid' => $cgi->param('paid')) if $cgi->param('paid');
-} elsif ( $cgi->keywords ) { #editing
-  my( $query ) = $cgi->keywords;
-  $query =~ /^(\d+)$/;
-  $custnum=$1;
-  $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } );
-  if ( $cust_main->dbdef_table->column('paycvv')
-       && length($cust_main->paycvv)             ) {
-    my $paycvv = $cust_main->paycvv;
-    $paycvv =~ s/./*/g;
-    $cust_main->paycvv($paycvv);
-  }
-  $saved_pkgpart = 0;
-  $username = '';
-  $password = '';
-  $popnum = 0;
-  @invoicing_list = $cust_main->invoicing_list;
-} else {
-  $custnum='';
-  $cust_main = new FS::cust_main ( {} );
-  $cust_main->otaker( &getotaker );
-  $cust_main->referral_custnum( $cgi->param('referral_custnum') );
-  $saved_pkgpart = 0;
-  $username = '';
-  $password = '';
-  $popnum = 0;
-  @invoicing_list = ();
-}
-$cgi->delete_all();
-
-my $action = $custnum ? 'Edit' : 'Add';
-$action .= ": ". $cust_main->name if $custnum;
+%
+%
+%  #for misplaced logic below
+%  #use FS::part_pkg;
+%
+%  #for false laziness below (now more properly lazy)
+%  #use FS::svc_acct_pop;
+%
+%  #for (other) false laziness below
+%  #use FS::agent;
+%  #use FS::type_pkgs;
+%
+%my $conf = new FS::Conf;
+%
+%#get record
+%
+%my $error = '';
+%my($custnum, $username, $password, $popnum, $cust_main, $saved_pkgpart);
+%my(@invoicing_list);
+%my $same = '';
+%if ( $cgi->param('error') ) {
+%  $error = $cgi->param('error');
+%  $cust_main = new FS::cust_main ( {
+%    map { $_, scalar($cgi->param($_)) } fields('cust_main')
+%  } );
+%  $custnum = $cust_main->custnum;
+%  $saved_pkgpart = $cgi->param('pkgpart_svcpart') || '';
+%  if ( $saved_pkgpart =~ /^(\d+)_/ ) {
+%    $saved_pkgpart = $1;
+%  } else {
+%    $saved_pkgpart = '';
+%  }
+%  $username = $cgi->param('username');
+%  $password = $cgi->param('_password');
+%  $popnum = $cgi->param('popnum');
+%  @invoicing_list = split( /\s*,\s*/, $cgi->param('invoicing_list') );
+%  $same = $cgi->param('same');
+%  $cust_main->setfield('paid' => $cgi->param('paid')) if $cgi->param('paid');
+%} elsif ( $cgi->keywords ) { #editing
+%  my( $query ) = $cgi->keywords;
+%  $query =~ /^(\d+)$/;
+%  $custnum=$1;
+%  $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } );
+%  if ( $cust_main->dbdef_table->column('paycvv')
+%       && length($cust_main->paycvv)             ) {
+%    my $paycvv = $cust_main->paycvv;
+%    $paycvv =~ s/./*/g;
+%    $cust_main->paycvv($paycvv);
+%  }
+%  $saved_pkgpart = 0;
+%  $username = '';
+%  $password = '';
+%  $popnum = 0;
+%  @invoicing_list = $cust_main->invoicing_list;
+%} else {
+%  $custnum='';
+%  $cust_main = new FS::cust_main ( {} );
+%  $cust_main->otaker( &getotaker );
+%  $cust_main->referral_custnum( $cgi->param('referral_custnum') );
+%  $saved_pkgpart = 0;
+%  $username = '';
+%  $password = '';
+%  $popnum = 0;
+%  @invoicing_list = ();
+%}
+%$cgi->delete_all();
+%
+%my $action = $custnum ? 'Edit' : 'Add';
+%$action .= ": ". $cust_main->name if $custnum;
+%
+%my $r = qq!<font color="#ff0000">*</font>&nbsp;!;
+%
+%
 
-my $r = qq!<font color="#ff0000">*</font>&nbsp;!;
-
-%>
 
 <!-- top -->
 
-<%= include('/elements/header.html',
+<% include('/elements/header.html',
       "Customer $action",
       '',
       ' onUnload="myclose()"'
 ) %>
+% if ( $error ) { 
+
+<FONT SIZE="+1" COLOR="#ff0000">Error: <% $error %></FONT><BR><BR>
+% } 
 
-<% if ( $error ) { %>
-<FONT SIZE="+1" COLOR="#ff0000">Error: <%= $error %></FONT><BR><BR>
-<% } %>
 
 <FORM NAME="topform" STYLE="margin-bottom: 0">
-<INPUT TYPE="hidden" NAME="custnum" VALUE="<%= $custnum %>">
-<% if ( $custnum ) { %>
-  Customer #<B><%= $custnum %></B> - 
-  <B><FONT COLOR="<%= $cust_main->statuscolor %>">
-    <%= ucfirst($cust_main->status) %>
+<INPUT TYPE="hidden" NAME="custnum" VALUE="<% $custnum %>">
+% if ( $custnum ) { 
+
+  Customer #<B><% $custnum %></B> - 
+  <B><FONT COLOR="<% $cust_main->statuscolor %>">
+    <% ucfirst($cust_main->status) %>
   </FONT></B>
   <BR><BR>
-<% } %>
+% } 
+
 
-<%= &ntable("#cccccc") %>
+<% &ntable("#cccccc") %>
 
 <!-- agent -->
 
-<%= include('/elements/tr-select-agent.html', $cust_main->agentnum,
+<% include('/elements/tr-select-agent.html', $cust_main->agentnum,
               'label'       => "<B>${r}Agent</B>",
               'empty_label' => 'Select agent',
            )
 %>
 
 <!-- referral (advertising source) -->
+%
+%my $refnum = $cust_main->refnum || $conf->config('referraldefault') || 0;
+%if ( $custnum && ! $conf->exists('editreferrals') ) {
+%
 
-<%
-my $refnum = $cust_main->refnum || $conf->config('referraldefault') || 0;
-if ( $custnum && ! $conf->exists('editreferrals') ) {
-%>
 
-  <INPUT TYPE="hidden" NAME="refnum" VALUE="<%= $refnum %>">
+  <INPUT TYPE="hidden" NAME="refnum" VALUE="<% $refnum %>">
+% } else { 
 
-<% } else { %>
 
-   <%= include('/elements/tr-select-part_referral.html') %>
+   <% include('/elements/tr-select-part_referral.html') %>
+% } 
 
-<% } %>
 
 <!-- referring customer -->
+%
+%my $referring_cust_main = '';
+%if ( $cust_main->referral_custnum
+%     and $referring_cust_main =
+%           qsearchs('cust_main', { custnum => $cust_main->referral_custnum } )
+%) {
+%
 
-<%
-my $referring_cust_main = '';
-if ( $cust_main->referral_custnum
-     and $referring_cust_main =
-           qsearchs('cust_main', { custnum => $cust_main->referral_custnum } )
-) {
-%>
 
   <TR>
     <TD ALIGN="right">Referring customer</TD>
     <TD>
-      <A HREF="<%= popurl(1) %>/cust_main.cgi?<%= $cust_main->referral_custnum %>"><%= $cust_main->referral_custnum %>: <%= $referring_cust_main->name %></A>
+      <A HREF="<% popurl(1) %>/cust_main.cgi?<% $cust_main->referral_custnum %>"><% $cust_main->referral_custnum %>: <% $referring_cust_main->name %></A>
     </TD>
   </TR>
-  <INPUT TYPE="hidden" NAME="referral_custnum" VALUE="<%= $cust_main->referral_custnum %>">
+  <INPUT TYPE="hidden" NAME="referral_custnum" VALUE="<% $cust_main->referral_custnum %>">
+% } elsif ( ! $conf->exists('disable_customer_referrals') ) { 
 
-<% } elsif ( ! $conf->exists('disable_customer_referrals') ) { %>
 
   <TR>
     <TD ALIGN="right">Referring customer</TD>
     <TD>
       <!-- <INPUT TYPE="text" NAME="referral_custnum" VALUE=""> -->
-      <%= include('/elements/search-cust_main.html',
+      <% include('/elements/search-cust_main.html',
                     'field_name' => 'referral_custnum',
                  )
       %>
     </TD>
   </TR>
+% } else { 
 
-<% } else { %>
 
   <INPUT TYPE="hidden" NAME="referral_custnum" VALUE="">
+% } 
 
-<% } %>
 
 </TABLE>
 
@@ -162,18 +166,20 @@ if ( $cust_main->referral_custnum
 
 <BR><BR>
 Billing address
-<%= include('cust_main/contact.html', $cust_main, '', 'bill_changed(this)', '' ) %>
+<% include('cust_main/contact.html', $cust_main, '', 'bill_changed(this)', '' ) %>
 
 <!-- service address -->
+% if ( defined $cust_main->dbdef_table->column('ship_last') ) { 
 
-<% if ( defined $cust_main->dbdef_table->column('ship_last') ) { %>
 
 <SCRIPT>
 function bill_changed(what) {
   if ( what.form.same.checked ) {
-<% for (qw( last first company address1 address2 city zip daytime night fax )) { %>
-    what.form.ship_<%=$_%>.value = what.form.<%=$_%>.value;
-<% } %>
+% for (qw( last first company address1 address2 city zip daytime night fax )) { 
+
+    what.form.ship_<%$_%>.value = what.form.<%$_%>.value;
+% } 
+
 
     what.form.ship_country.selectedIndex = what.form.country.selectedIndex;
     function fix_ship_state() {
@@ -190,45 +196,49 @@ function bill_changed(what) {
 function samechanged(what) {
   if ( what.checked ) {
     bill_changed(what);
-<% for (qw( last first company address1 address2 city county state zip country daytime night fax )) { %>
-    what.form.ship_<%=$_%>.disabled = true;
-    what.form.ship_<%=$_%>.style.backgroundColor = '#dddddd';
-<% } %>
+% for (qw( last first company address1 address2 city county state zip country daytime night fax )) { 
+
+    what.form.ship_<%$_%>.disabled = true;
+    what.form.ship_<%$_%>.style.backgroundColor = '#dddddd';
+% } 
+
   } else {
-<% for (qw( last first company address1 address2 city county state zip country daytime night fax )) { %>
-    what.form.ship_<%=$_%>.disabled = false;
-    what.form.ship_<%=$_%>.style.backgroundColor = '#ffffff';
-<% } %>
+% for (qw( last first company address1 address2 city county state zip country daytime night fax )) { 
+
+    what.form.ship_<%$_%>.disabled = false;
+    what.form.ship_<%$_%>.style.backgroundColor = '#ffffff';
+% } 
+
   }
 }
 </SCRIPT>
+%
+%  my $checked = '';
+%  my $disabled = '';
+%  my $disabledselect = '';
+%  unless ( $cust_main->ship_last && $same ne 'Y' ) {
+%    $checked = 'CHECKED';
+%    $disabled = 'DISABLED style="background-color: #dddddd"';
+%    foreach (
+%      qw( last first company address1 address2 city county state zip country
+%          daytime night fax )
+%    ) {
+%      $cust_main->set("ship_$_", $cust_main->get($_) );
+%    }
+%  }
+%
 
-<%
-  my $checked = '';
-  my $disabled = '';
-  my $disabledselect = '';
-  unless ( $cust_main->ship_last && $same ne 'Y' ) {
-    $checked = 'CHECKED';
-    $disabled = 'DISABLED style="background-color: #dddddd"';
-    foreach (
-      qw( last first company address1 address2 city county state zip country
-          daytime night fax )
-    ) {
-      $cust_main->set("ship_$_", $cust_main->get($_) );
-    }
-  }
-%>
 
 <BR>
 Service address 
-(<INPUT TYPE="checkbox" NAME="same" VALUE="Y" onClick="samechanged(this)" <%=$checked%>>same as billing address)
-<%= include('cust_main/contact.html', $cust_main, 'ship_', '', $disabled ) %>
+(<INPUT TYPE="checkbox" NAME="same" VALUE="Y" onClick="samechanged(this)" <%$checked%>>same as billing address)
+<% include('cust_main/contact.html', $cust_main, 'ship_', '', $disabled ) %>
+% } 
 
-<% } %>
 
 <!-- billing info -->
 
-<%= include( 'cust_main/billing.html', $cust_main,
+<% include( 'cust_main/billing.html', $cust_main,
                'invoicing_list' => \@invoicing_list,
            )
 %>
@@ -317,136 +327,136 @@ function copyelement(from, to) {
 
 </SCRIPT>
 
-<FORM ACTION="<%= popurl(1) %>process/cust_main.cgi" METHOD=POST NAME="bottomform" onSubmit="document.bottomform.submit.disabled=true; bottomfixup(this.form);" STYLE="margin-top: 0; margin-bottom: 0">
-
-<% foreach my $hidden (
-     'custnum', 'agentnum', 'refnum', 'referral_custnum',
-     'last', 'first', 'ss', 'company',
-     'address1', 'address2', 'city',
-     'county', 'state', 'zip', 'country',
-     'daytime', 'night', 'fax',
-     
-     'same',
-     
-     'ship_last', 'ship_first', 'ship_company',
-     'ship_address1', 'ship_address2', 'ship_city',
-     'ship_county', 'ship_state', 'ship_zip', 'ship_country',
-     'ship_daytime','ship_night', 'ship_fax',
-     
-     'select', #XXX key
-
-     'payauto',
-     'payinfo', 'payinfo1', 'payinfo2',
-     'payname', 'exp_month', 'exp_year', 'paycvv',
-     'paystart_month', 'paystart_year', 'payissue',
-     'payip',
-     'paid',
-     
-     'tax',
-     'invoicing_list', 'invoicing_list_POST', 'invoicing_list_FAX',
-     'spool_cdr'
-   ) {
-%>
-  <INPUT TYPE="hidden" NAME="<%= $hidden %>" VALUE="">
-<% } %>
+<FORM ACTION="<% popurl(1) %>process/cust_main.cgi" METHOD=POST NAME="bottomform" onSubmit="document.bottomform.submit.disabled=true; bottomfixup(this.form);" STYLE="margin-top: 0; margin-bottom: 0">
+% foreach my $hidden (
+%     'custnum', 'agentnum', 'refnum', 'referral_custnum',
+%     'last', 'first', 'ss', 'company',
+%     'address1', 'address2', 'city',
+%     'county', 'state', 'zip', 'country',
+%     'daytime', 'night', 'fax',
+%     
+%     'same',
+%     
+%     'ship_last', 'ship_first', 'ship_company',
+%     'ship_address1', 'ship_address2', 'ship_city',
+%     'ship_county', 'ship_state', 'ship_zip', 'ship_country',
+%     'ship_daytime','ship_night', 'ship_fax',
+%     
+%     'select', #XXX key
+%
+%     'payauto',
+%     'payinfo', 'payinfo1', 'payinfo2',
+%     'payname', 'exp_month', 'exp_year', 'paycvv',
+%     'paystart_month', 'paystart_year', 'payissue',
+%     'payip',
+%     'paid',
+%     
+%     'tax',
+%     'invoicing_list', 'invoicing_list_POST', 'invoicing_list_FAX',
+%     'spool_cdr'
+%   ) {
+%
+
+  <INPUT TYPE="hidden" NAME="<% $hidden %>" VALUE="">
+% } 
+
 
 <BR>Comments
-<%= &ntable("#cccccc") %>
+<% &ntable("#cccccc") %>
   <TR>
     <TD>
-      <TEXTAREA COLS=80 ROWS=5 WRAP="HARD" NAME="comments"><%= $cust_main->comments %></TEXTAREA>
+      <TEXTAREA COLS=80 ROWS=5 WRAP="HARD" NAME="comments"><% $cust_main->comments %></TEXTAREA>
     </TD>
   </TR>
 </TABLE>
+%
+%
+%unless ( $custnum ) {
+%  # pry the wrong place for this logic.  also pretty expensive
+%  #use FS::part_pkg;
+%
+%  #false laziness, copied from FS::cust_pkg::order
+%  my $pkgpart;
+%  my @agents = $FS::CurrentUser::CurrentUser->agents;
+%  if ( scalar(@agents) == 1 ) {
+%    # $pkgpart->{PKGPART} is true iff $custnum may purchase PKGPART
+%    $pkgpart = $agents[0]->pkgpart_hashref;
+%  } else {
+%    #can't know (agent not chosen), so, allow all
+%    my %typenum;
+%    foreach my $agent ( @agents ) {
+%      next if $typenum{$agent->typenum}++;
+%      #fixed in 5.004_05 #$pkgpart->{$_}++ foreach keys %{ $agent->pkgpart_hashref }
+%      foreach ( keys %{ $agent->pkgpart_hashref } ) { $pkgpart->{$_}++; } #5.004_04 workaround
+%    }
+%  }
+%  #eslaf
+%
+%  my @part_pkg = grep { $_->svcpart('svc_acct') && $pkgpart->{ $_->pkgpart } }
+%    qsearch( 'part_pkg', { 'disabled' => '' } );
+%
+%  if ( @part_pkg ) {
+%
+%    #    print "<BR><BR>First package", &itable("#cccccc", "0 ALIGN=LEFT"),
+%    #apiabuse & undesirable wrapping
+%
+%    
 
-<%
-
-unless ( $custnum ) {
-  # pry the wrong place for this logic.  also pretty expensive
-  #use FS::part_pkg;
-
-  #false laziness, copied from FS::cust_pkg::order
-  my $pkgpart;
-  my @agents = $FS::CurrentUser::CurrentUser->agents;
-  if ( scalar(@agents) == 1 ) {
-    # $pkgpart->{PKGPART} is true iff $custnum may purchase PKGPART
-    $pkgpart = $agents[0]->pkgpart_hashref;
-  } else {
-    #can't know (agent not chosen), so, allow all
-    my %typenum;
-    foreach my $agent ( @agents ) {
-      next if $typenum{$agent->typenum}++;
-      #fixed in 5.004_05 #$pkgpart->{$_}++ foreach keys %{ $agent->pkgpart_hashref }
-      foreach ( keys %{ $agent->pkgpart_hashref } ) { $pkgpart->{$_}++; } #5.004_04 workaround
-    }
-  }
-  #eslaf
-
-  my @part_pkg = grep { $_->svcpart('svc_acct') && $pkgpart->{ $_->pkgpart } }
-    qsearch( 'part_pkg', { 'disabled' => '' } );
-
-  if ( @part_pkg ) {
-
-    #    print "<BR><BR>First package", &itable("#cccccc", "0 ALIGN=LEFT"),
-    #apiabuse & undesirable wrapping
-
-    %>
     <BR>First package
-    <%= ntable("#cccccc") %>
+    <% ntable("#cccccc") %>
     
       <TR>
         <TD COLSPAN=2>
           <SELECT NAME="pkgpart_svcpart">
             <OPTION VALUE="">(none)
+% foreach my $part_pkg ( @part_pkg ) { 
+
     
-            <% foreach my $part_pkg ( @part_pkg ) { %>
-    
-              <OPTION VALUE="<%= $part_pkg->pkgpart. "_". $part_pkg->svcpart('svc_acct') %>"<%= ( $saved_pkgpart && $part_pkg->pkgpart == $saved_pkgpart ) ? ' SELECTED' : '' %>><%= $part_pkg->pkg. " - ". $part_pkg->comment %>
-    
-            <% } %>
+              <OPTION VALUE="<% $part_pkg->pkgpart. "_". $part_pkg->svcpart('svc_acct') %>"<% ( $saved_pkgpart && $part_pkg->pkgpart == $saved_pkgpart ) ? ' SELECTED' : '' %>><% $part_pkg->pkg. " - ". $part_pkg->comment %>
+% } 
+
           </SELECT>
         </TD>
       </TR>
-    
-      <% 
-        #false laziness: (mostly) copied from edit/svc_acct.cgi
-        #$ulen = $svc_acct->dbdef_table->column('username')->length;
-        my $ulen = dbdef->table('svc_acct')->column('username')->length;
-        my $ulen2 = $ulen+2;
-        my $passwordmax = $conf->config('passwordmax') || 8;
-        my $pmax2 = $passwordmax + 2;
-      %>
+% 
+%        #false laziness: (mostly) copied from edit/svc_acct.cgi
+%        #$ulen = $svc_acct->dbdef_table->column('username')->length;
+%        my $ulen = dbdef->table('svc_acct')->column('username')->length;
+%        my $ulen2 = $ulen+2;
+%        my $passwordmax = $conf->config('passwordmax') || 8;
+%        my $pmax2 = $passwordmax + 2;
+%      
+
     
       <TR>
         <TD ALIGN="right">Username</TD>
         <TD>
-          <INPUT TYPE="text" NAME="username" VALUE="<%= $username %>" SIZE=<%= $ulen2 %> MAXLENGTH=<%= $ulen %>>
+          <INPUT TYPE="text" NAME="username" VALUE="<% $username %>" SIZE=<% $ulen2 %> MAXLENGTH=<% $ulen %>>
         </TD>
       </TR>
     
       <TR>
         <TD ALIGN="right">Password</TD>
         <TD>
-          <INPUT TYPE="text" NAME="_password" VALUE="<%= $password %>" SIZE=<%= $pmax2 %> MAXLENGTH=<%= $passwordmax %>>
+          <INPUT TYPE="text" NAME="_password" VALUE="<% $password %>" SIZE=<% $pmax2 %> MAXLENGTH=<% $passwordmax %>>
           (blank to generate)
         </TD>
       </TR>
     
       <TR>
         <TD ALIGN="right">Access number</TD>
-        <TD><%= FS::svc_acct_pop::popselector($popnum) %></TD>
+        <TD><% FS::svc_acct_pop::popselector($popnum) %></TD>
       </TR>
     </TABLE>
-    
-  <% } %>
+% } 
+% } 
 
-<% } %>
 
-<INPUT TYPE="hidden" NAME="otaker" VALUE="<%= $cust_main->otaker %>">
+<INPUT TYPE="hidden" NAME="otaker" VALUE="<% $cust_main->otaker %>">
 <BR>
-<INPUT TYPE="submit" NAME="submit" VALUE="<%= $custnum ?  "Apply Changes" : "Add Customer" %>">
+<INPUT TYPE="submit" NAME="submit" VALUE="<% $custnum ?  "Apply Changes" : "Add Customer" %>">
 <BR>
 </FORM>
 
-<%= include('/elements/footer.html') %>
+<% include('/elements/footer.html') %>
 
index 790f41f..78a2002 100644 (file)
@@ -1,70 +1,71 @@
-<%
-
-my( $cust_main, %options ) = @_;
-my @invoicing_list = @{ $options{'invoicing_list'} };
-my $conf = new FS::Conf;
-my $payby_default = $conf->config('payby-default');
-
-my @payby = grep /\w/, $conf->config('payby');
-#@payby = (qw( CARD DCRD CHEK DCHK LECB BILL CASH WEST COMP ))
-@payby = (qw( CARD DCRD CHEK DCHK LECB BILL CASH COMP ))
-  unless @payby;
-
-if ( $payby_default eq 'HIDE' ) {
-
-  $cust_main->payby('BILL') unless $cust_main->payby;
-
-%>
-
-  <INPUT TYPE="hidden" NAME="select" VALUE="<%= $cust_main->payby %>">
+%
+%
+%my( $cust_main, %options ) = @_;
+%my @invoicing_list = @{ $options{'invoicing_list'} };
+%my $conf = new FS::Conf;
+%my $payby_default = $conf->config('payby-default');
+%
+%my @payby = grep /\w/, $conf->config('payby');
+%#@payby = (qw( CARD DCRD CHEK DCHK LECB BILL CASH WEST COMP ))
+%@payby = (qw( CARD DCRD CHEK DCHK LECB BILL CASH COMP ))
+%  unless @payby;
+%
+%if ( $payby_default eq 'HIDE' ) {
+%
+%  $cust_main->payby('BILL') unless $cust_main->payby;
+%
+%
+
+
+  <INPUT TYPE="hidden" NAME="select" VALUE="<% $cust_main->payby %>">
 
   </FORM>
 
-  <FORM NAME="<%= $cust_main->payby %>" STYLE="margin-top: 0; margin-bottom: 0"> <% # XXX key %>
-
-  <% foreach my $field (qw( payinfo payname paycvv paystart_month paystart_year payissue payip )) { %>
+  <FORM NAME="<% $cust_main->payby %>" STYLE="margin-top: 0; margin-bottom: 0"> 
+% # XXX key 
+% foreach my $field (qw( payinfo payname paycvv paystart_month paystart_year payissue payip )) { 
 
-    <INPUT TYPE="hidden" NAME="<%= $field %>" VALUE="<%= $cust_main->getfield($field) %>">
 
-  <% } %>
+    <INPUT TYPE="hidden" NAME="<% $field %>" VALUE="<% $cust_main->getfield($field) %>">
+% } 
+%
+%  #false laziness w/elements/select-month_year.html & view/cust_main/billing.html
+%  my( $mon, $year );
+%  my $date = $cust_main->paydate || '12-2037';
+%  if ( $date  =~ /^(\d{4})-(\d{1,2})-\d{1,2}$/ ) { #PostgreSQL date format
+%    ( $mon, $year ) = ( $2, $1 );
+%  } elsif ( $date =~ /^(\d{1,2})-(\d{1,2}-)?(\d{4}$)/ ) {
+%    ( $mon, $year ) = ( $1, $3 );
+%  } else {
+%    die "unrecognized expiration date format: $date";
+%  }
+%  
 
-  <%
-  #false laziness w/elements/select-month_year.html & view/cust_main/billing.html
-  my( $mon, $year );
-  my $date = $cust_main->paydate || '12-2037';
-  if ( $date  =~ /^(\d{4})-(\d{1,2})-\d{1,2}$/ ) { #PostgreSQL date format
-    ( $mon, $year ) = ( $2, $1 );
-  } elsif ( $date =~ /^(\d{1,2})-(\d{1,2}-)?(\d{4}$)/ ) {
-    ( $mon, $year ) = ( $1, $3 );
-  } else {
-    die "unrecognized expiration date format: $date";
-  }
-  %>
 
-  <INPUT TYPE="hidden" NAME="exp_month" VALUE="<%= $mon %>">
-  <INPUT TYPE="hidden" NAME="exp_year"  VALUE="<%= $year %>">
+  <INPUT TYPE="hidden" NAME="exp_month" VALUE="<% $mon %>">
+  <INPUT TYPE="hidden" NAME="exp_year"  VALUE="<% $year %>">
 
   </FORM>
 
   <FORM NAME="billing_bottomform" STYLE="margin-top: 0; margin-bottom: 0">
 
-  <INPUT TYPE="hidden" NAME="tax" VALUE="<%= $cust_main->tax %>">
+  <INPUT TYPE="hidden" NAME="tax" VALUE="<% $cust_main->tax %>">
 
-  <INPUT TYPE="hidden" NAME="invoicing_list" VALUE="<%= join(', ', @invoicing_list) %>">
+  <INPUT TYPE="hidden" NAME="invoicing_list" VALUE="<% join(', ', @invoicing_list) %>">
 
   </FORM>
+% } else {
+%
+%  my $r = qq!<font color="#ff0000">*</font>&nbsp;!;
+%
+%
 
-<% } else {
-
-  my $r = qq!<font color="#ff0000">*</font>&nbsp;!;
-
-%>
 
   <BR>Billing information
-  <%= &ntable("#cccccc") %>
+  <% &ntable("#cccccc") %>
 
     <TR>
-      <TD ALIGN="right" WIDTH="200"><%=$r%>Billing type</TD>
+      <TD ALIGN="right" WIDTH="200"><%$r%>Billing type</TD>
 
   <SCRIPT>
 
@@ -133,274 +134,274 @@ if ( $payby_default eq 'HIDE' ) {
      +'<div>[iframe not supported]</div></iframe>');
   }
   </SCRIPT>
-
-  <%
-
-  my($payby, $payinfo, $payname)=(
-    $cust_main->payby,
-    $cust_main->payinfo,
-    $cust_main->payname,
-  );
-  my( $account, $aba ) = split('@', $payinfo);
-
-  my $disabled = 'DISABLED style="background-color: #dddddd"';
-  my $text_disabled = 'style="color: #999999"';
-  if ( $payby =~ /^(CARD|DCRD)$/ && cardtype($payinfo) =~ /^(Switch|Solo)$/ ) {
-    $disabled = 'style="background-color: #ffffff"';
-    $text_disabled = 'style="color: #000000";'
-  }
-
-  my %payby = (
-
-    'CARD' =>
-
-      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
-
-        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Card number </TD>!.
-          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="payinfo" VALUE="!. ( $payby =~ /^(CARD|DCRD)$/ ? $payinfo : '' ). qq!" MAXLENGTH=19 onChange="card_changed(this)" onKeyUp="card_changed(this)"></TD></TR>!.
-
-        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Expiration </TD>!.
-          '<TD WIDTH="408">'.
-
-          include('/elements/select-month_year.html',
-                    'prefix' => 'exp',
-                    'selected_date' =>
-                      ( $payby =~ /^(CARD|DCRD)$/ ? $cust_main->paydate : '' ),
-                 ).
-
-          '</TD></TR>'.
-
-        qq!<TR><TD ALIGN="right" WIDTH="200">CVV2&nbsp;!.
-
-          qq!(<A HREF="javascript:void(0);" onClick="overlib( OLiframeContent('../docs/cvv2.html', 480, 352, 'cvv2_popup' ), CAPTION, 'CVV2 Help', STICKY, AUTOSTATUSCAP, CLOSECLICK, DRAGGABLE ); return false;">help</A>)!.
-          qq!</TD>!.
-          '<TD WIDTH="408"><INPUT TYPE="text" NAME="paycvv" VALUE="'. ( $payby =~ /^(CARD|DCRD)$/ ? $cust_main->paycvv : '' ). '" SIZE=4 MAXLENGTH=4>'.
-
-
-        qq!<TR><TD ALIGN="right" WIDTH="200"><SPAN ID="paystart_label" $text_disabled>Start date </SPAN></TD>!.
-          '<TD WIDTH="408">'.
-
-          include('/elements/select-month_year.html',
-                    'prefix' => 'paystart',
-                    'disabled' => $disabled,
-                    'empty_option' => 1,
-                    'start_year' => 2000,
-                    'end_year'   => (localtime())[5] + 1900,
-                    'selected_date' => (
-                      ( $payby =~ /^(CARD|DCRD)$/
-                        && cardtype($payinfo) =~ /^(Switch|Solo)$/ )
-                          ? $cust_main->paystart_month. '-'.
-                            $cust_main->paystart_year 
-                          : ''
-                    )
-                 ).
-
-        qq!<SPAN ID="payissue_label" $text_disabled> or Issue number </SPAN>!.
-          '<INPUT TYPE="text" NAME="payissue" VALUE="'. ( $payby =~ /^(CARD|DCRD)$/ ? $cust_main->payissue : '' ). qq!" SIZE=3 MAXLENGTH=2 $disabled></TD></TR>!.
-
-        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Exact name on card </TD>!.
-          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="payname" VALUE="!. ( $payby =~ /^(CARD|DCRD)$/ ? $cust_main->payname : '' ). qq!"></TD></TR>!.
-
-        qq!<TR><TD COLSPAN=2 WIDTH="608"><INPUT TYPE="checkbox" NAME="payauto" !. ( $payby eq 'DCRD' ? '' : 'CHECKED' ). '> Charge future payments to this card automatically</TD></TR>'.
-
-      '</TABLE>',
-
-    'CHEK' => 
-
-      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
-
-        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Account number </TD>!.
-          qq!<TD WIDTH="408"><INPUT TYPE="text" SIZE=10 NAME="payinfo1" VALUE="!. ( $payby =~ /^(CHEK|DCHK)$/ ? $account : '' ). '"></TD></TR>'.
-
-        qq!<TR><TD ALIGN="right" WIDTH="200">${r}ABA/Routing number </TD>!.
-          qq!<TD WIDTH="408"><INPUT TYPE="text" SIZE=10 MAXLENGTH=9 NAME="payinfo2" VALUE="!. ( $payby =~ /^(CHEK|DCHK)$/ ? $aba : '' ). qq!" SIZE=10 MAXLENGTH=9> !.
-          qq!(<A HREF="javascript:void(0);" onClick="overlib( OLiframeContent('../docs/ach.html', 380, 240, 'ach_popup' ), CAPTION, 'ACH Help', STICKY, AUTOSTATUSCAP, CLOSECLICK, DRAGGABLE ); return false;">help</A>)!.
-          qq!</TD></TR>!.
-
-        qq!<INPUT TYPE="hidden" NAME="exp_month" VALUE="12">!.
-        qq!<INPUT TYPE="hidden" NAME="exp_year" VALUE="2037">!.
-
-        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Bank name </TD>!.
-          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="payname" VALUE="!. ( $payby =~ /^(CHEK|DCHK)$/ ? $cust_main->payname : '' ). qq!"></TD></TR>!.
-
-        qq!<TR><TD COLSPAN=2 WIDTH="608"><INPUT TYPE="checkbox" NAME="payauto" !. ( $payby eq 'DCHK' ? '' : 'CHECKED' ). '> Charge future payments to this electronic check automatically</TD></TR>'.
-
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-
-      '</TABLE>',
-
-    'LECB' =>  
-
-      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
-
-        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Phone number </TD>!.
-          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="payinfo" VALUE="!. ( $payby eq 'LECB' ? $cust_main->payinfo : '' ). qq!" MAXLENGTH=15 SIZE=16></TD></TR>!.
-
-        qq!<INPUT TYPE="hidden" NAME="exp_month" VALUE="12">!.
-        qq!<INPUT TYPE="hidden" NAME="exp_year" VALUE="2037">!.
-        qq!<INPUT TYPE="hidden" NAME="payname" VALUE="">!.
-
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-
-      '</TABLE>',
-
-    'BILL' =>  
-
-      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
-
-        qq!<TR><TD ALIGN="right" WIDTH="200">P.O. </TD>!.
-          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="payinfo" VALUE="!. ( $payby eq 'BILL' ? $cust_main->payinfo : '' ). qq!"></TD></TR>!.
-
-        qq!<INPUT TYPE="hidden" NAME="exp_month" VALUE="12">!.
-        qq!<INPUT TYPE="hidden" NAME="exp_year" VALUE="2037">!.
-
-        qq!<TR><TD ALIGN="right" WIDTH="200">Attention </TD>!.
-          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="payname" VALUE="!. ( $payby eq 'BILL' ? $cust_main->payname : '' ). qq!"></TD></TR>!.
-
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-
-      '</TABLE>',
-
-    'COMP' =>   
-
-      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
-
-        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Approved by </TD>!.
-          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="payinfo" VALUE=""></TD></TR>!.
-
-        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Expiration </TD>!.
-          '<TD WIDTH="408">'.
-
-          include('/elements/select-month_year.html',
-                    'prefix' => 'exp',
-                    'selected_date' =>
-                      ( $payby eq 'COMP' ? $cust_main->paydate : '' ),
-                 ).
-
-          '</TD></TR>'.
-
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-
-      '</TABLE>',
-
-    'CASH' =>
-
-      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
-
-        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Amount </TD>!.
-          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="paid" VALUE="!. ( $payby eq 'CASH' ? $cust_main->paid : '' ). qq!"></TD></TR>!.
-
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-
-      '</TABLE>',
-
-    'WEST' =>
-
-      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
-
-        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Amount </TD>!.
-          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="paid" VALUE="!. ( $payby eq 'WEST' ? $cust_main->paid : '' ). qq!"></TD></TR>!.
-
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-
-      '</TABLE>',
-
-    'MCRD' =>
-
-      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
-
-        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Amount </TD>!.
-          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="paid" VALUE="!. ( $payby eq 'MCRD' ? $cust_main->paid : '' ). qq!"></TD></TR>!.
-
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-        '<TR><TD>&nbsp;</TD></TR>'.
-
-      '</TABLE>',
-
-  );
-
-  #this should use FS::payby
-  my %allopt = (
-    'CARD' => 'Credit card',
-    'CHEK' => 'Electronic check',
-    'LECB' => 'Phone bill billing',
-    'BILL' => 'Billing',
-    'CASH' => 'Cash', # initial payment, then billing',
-    'WEST' => 'Western Union', # initial payment, then billing',
-    'MCRD' => 'Manual credit card', # initial payment, then billing',
-    'COMP' => 'Complimentary',
-  );
-  if ( $cust_main->custnum ) { #don't offer CASH/WEST/MCRD initial payment types
-                               # when editing customer
-    delete $allopt{$_} for qw(CASH WEST MCRD);
-  }
-  
-  tie my %options, 'Tie::IxHash',
-    map  { $_ => $allopt{$_} }
-    grep { exists $allopt{$_} }
-         @payby;
-
-  my %payby2option = (
-    ( map { $_ => $_ } keys %options ),
-    'DCRD' => 'CARD',
-    'DCHK' => 'CHEK',
-  );
-
-  my $widget = new HTML::Widgets::SelectLayers(
-    'options'        => \%options,
-    #'form_name'      => 'dummy',
-    #'form_action'    => 'nothingyet',
-    #chops bottom of page in IE# 'under_position' => 'absolute',
-    'html_between'   => '</TD></TR></TABLE>',
-    'selected_layer' => $payby2option{$payby || $payby_default || $payby[0] },
-    'layer_callback' => sub { my $layer = shift; $payby{$layer}; },
-  );
-
-  %>
-
-  <TD WIDTH="408"><%= $widget->html %>
+%
+%
+%  my($payby, $payinfo, $payname)=(
+%    $cust_main->payby,
+%    $cust_main->payinfo,
+%    $cust_main->payname,
+%  );
+%  my( $account, $aba ) = split('@', $payinfo);
+%
+%  my $disabled = 'DISABLED style="background-color: #dddddd"';
+%  my $text_disabled = 'style="color: #999999"';
+%  if ( $payby =~ /^(CARD|DCRD)$/ && cardtype($payinfo) =~ /^(Switch|Solo)$/ ) {
+%    $disabled = 'style="background-color: #ffffff"';
+%    $text_disabled = 'style="color: #000000";'
+%  }
+%
+%  my %payby = (
+%
+%    'CARD' =>
+%
+%      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
+%
+%        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Card number </TD>!.
+%          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="payinfo" VALUE="!. ( $payby =~ /^(CARD|DCRD)$/ ? $payinfo : '' ). qq!" MAXLENGTH=19 onChange="card_changed(this)" onKeyUp="card_changed(this)"></TD></TR>!.
+%
+%        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Expiration </TD>!.
+%          '<TD WIDTH="408">'.
+%
+%          include('/elements/select-month_year.html',
+%                    'prefix' => 'exp',
+%                    'selected_date' =>
+%                      ( $payby =~ /^(CARD|DCRD)$/ ? $cust_main->paydate : '' ),
+%                 ).
+%
+%          '</TD></TR>'.
+%
+%        qq!<TR><TD ALIGN="right" WIDTH="200">CVV2&nbsp;!.
+%
+%          qq!(<A HREF="javascript:void(0);" onClick="overlib( OLiframeContent('../docs/cvv2.html', 480, 352, 'cvv2_popup' ), CAPTION, 'CVV2 Help', STICKY, AUTOSTATUSCAP, CLOSECLICK, DRAGGABLE ); return false;">help</A>)!.
+%          qq!</TD>!.
+%          '<TD WIDTH="408"><INPUT TYPE="text" NAME="paycvv" VALUE="'. ( $payby =~ /^(CARD|DCRD)$/ ? $cust_main->paycvv : '' ). '" SIZE=4 MAXLENGTH=4>'.
+%
+%
+%        qq!<TR><TD ALIGN="right" WIDTH="200"><SPAN ID="paystart_label" $text_disabled>Start date </SPAN></TD>!.
+%          '<TD WIDTH="408">'.
+%
+%          include('/elements/select-month_year.html',
+%                    'prefix' => 'paystart',
+%                    'disabled' => $disabled,
+%                    'empty_option' => 1,
+%                    'start_year' => 2000,
+%                    'end_year'   => (localtime())[5] + 1900,
+%                    'selected_date' => (
+%                      ( $payby =~ /^(CARD|DCRD)$/
+%                        && cardtype($payinfo) =~ /^(Switch|Solo)$/ )
+%                          ? $cust_main->paystart_month. '-'.
+%                            $cust_main->paystart_year 
+%                          : ''
+%                    )
+%                 ).
+%
+%        qq!<SPAN ID="payissue_label" $text_disabled> or Issue number </SPAN>!.
+%          '<INPUT TYPE="text" NAME="payissue" VALUE="'. ( $payby =~ /^(CARD|DCRD)$/ ? $cust_main->payissue : '' ). qq!" SIZE=3 MAXLENGTH=2 $disabled></TD></TR>!.
+%
+%        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Exact name on card </TD>!.
+%          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="payname" VALUE="!. ( $payby =~ /^(CARD|DCRD)$/ ? $cust_main->payname : '' ). qq!"></TD></TR>!.
+%
+%        qq!<TR><TD COLSPAN=2 WIDTH="608"><INPUT TYPE="checkbox" NAME="payauto" !. ( $payby eq 'DCRD' ? '' : 'CHECKED' ). '> Charge future payments to this card automatically</TD></TR>'.
+%
+%      '</TABLE>',
+%
+%    'CHEK' => 
+%
+%      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
+%
+%        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Account number </TD>!.
+%          qq!<TD WIDTH="408"><INPUT TYPE="text" SIZE=10 NAME="payinfo1" VALUE="!. ( $payby =~ /^(CHEK|DCHK)$/ ? $account : '' ). '"></TD></TR>'.
+%
+%        qq!<TR><TD ALIGN="right" WIDTH="200">${r}ABA/Routing number </TD>!.
+%          qq!<TD WIDTH="408"><INPUT TYPE="text" SIZE=10 MAXLENGTH=9 NAME="payinfo2" VALUE="!. ( $payby =~ /^(CHEK|DCHK)$/ ? $aba : '' ). qq!" SIZE=10 MAXLENGTH=9> !.
+%          qq!(<A HREF="javascript:void(0);" onClick="overlib( OLiframeContent('../docs/ach.html', 380, 240, 'ach_popup' ), CAPTION, 'ACH Help', STICKY, AUTOSTATUSCAP, CLOSECLICK, DRAGGABLE ); return false;">help</A>)!.
+%          qq!</TD></TR>!.
+%
+%        qq!<INPUT TYPE="hidden" NAME="exp_month" VALUE="12">!.
+%        qq!<INPUT TYPE="hidden" NAME="exp_year" VALUE="2037">!.
+%
+%        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Bank name </TD>!.
+%          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="payname" VALUE="!. ( $payby =~ /^(CHEK|DCHK)$/ ? $cust_main->payname : '' ). qq!"></TD></TR>!.
+%
+%        qq!<TR><TD COLSPAN=2 WIDTH="608"><INPUT TYPE="checkbox" NAME="payauto" !. ( $payby eq 'DCHK' ? '' : 'CHECKED' ). '> Charge future payments to this electronic check automatically</TD></TR>'.
+%
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%
+%      '</TABLE>',
+%
+%    'LECB' =>  
+%
+%      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
+%
+%        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Phone number </TD>!.
+%          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="payinfo" VALUE="!. ( $payby eq 'LECB' ? $cust_main->payinfo : '' ). qq!" MAXLENGTH=15 SIZE=16></TD></TR>!.
+%
+%        qq!<INPUT TYPE="hidden" NAME="exp_month" VALUE="12">!.
+%        qq!<INPUT TYPE="hidden" NAME="exp_year" VALUE="2037">!.
+%        qq!<INPUT TYPE="hidden" NAME="payname" VALUE="">!.
+%
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%
+%      '</TABLE>',
+%
+%    'BILL' =>  
+%
+%      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
+%
+%        qq!<TR><TD ALIGN="right" WIDTH="200">P.O. </TD>!.
+%          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="payinfo" VALUE="!. ( $payby eq 'BILL' ? $cust_main->payinfo : '' ). qq!"></TD></TR>!.
+%
+%        qq!<INPUT TYPE="hidden" NAME="exp_month" VALUE="12">!.
+%        qq!<INPUT TYPE="hidden" NAME="exp_year" VALUE="2037">!.
+%
+%        qq!<TR><TD ALIGN="right" WIDTH="200">Attention </TD>!.
+%          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="payname" VALUE="!. ( $payby eq 'BILL' ? $cust_main->payname : '' ). qq!"></TD></TR>!.
+%
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%
+%      '</TABLE>',
+%
+%    'COMP' =>   
+%
+%      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
+%
+%        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Approved by </TD>!.
+%          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="payinfo" VALUE=""></TD></TR>!.
+%
+%        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Expiration </TD>!.
+%          '<TD WIDTH="408">'.
+%
+%          include('/elements/select-month_year.html',
+%                    'prefix' => 'exp',
+%                    'selected_date' =>
+%                      ( $payby eq 'COMP' ? $cust_main->paydate : '' ),
+%                 ).
+%
+%          '</TD></TR>'.
+%
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%
+%      '</TABLE>',
+%
+%    'CASH' =>
+%
+%      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
+%
+%        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Amount </TD>!.
+%          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="paid" VALUE="!. ( $payby eq 'CASH' ? $cust_main->paid : '' ). qq!"></TD></TR>!.
+%
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%
+%      '</TABLE>',
+%
+%    'WEST' =>
+%
+%      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
+%
+%        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Amount </TD>!.
+%          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="paid" VALUE="!. ( $payby eq 'WEST' ? $cust_main->paid : '' ). qq!"></TD></TR>!.
+%
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%
+%      '</TABLE>',
+%
+%    'MCRD' =>
+%
+%      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
+%
+%        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Amount </TD>!.
+%          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="paid" VALUE="!. ( $payby eq 'MCRD' ? $cust_main->paid : '' ). qq!"></TD></TR>!.
+%
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%        '<TR><TD>&nbsp;</TD></TR>'.
+%
+%      '</TABLE>',
+%
+%  );
+%
+%  #this should use FS::payby
+%  my %allopt = (
+%    'CARD' => 'Credit card',
+%    'CHEK' => 'Electronic check',
+%    'LECB' => 'Phone bill billing',
+%    'BILL' => 'Billing',
+%    'CASH' => 'Cash', # initial payment, then billing',
+%    'WEST' => 'Western Union', # initial payment, then billing',
+%    'MCRD' => 'Manual credit card', # initial payment, then billing',
+%    'COMP' => 'Complimentary',
+%  );
+%  if ( $cust_main->custnum ) { #don't offer CASH/WEST/MCRD initial payment types
+%                               # when editing customer
+%    delete $allopt{$_} for qw(CASH WEST MCRD);
+%  }
+%  
+%  tie my %options, 'Tie::IxHash',
+%    map  { $_ => $allopt{$_} }
+%    grep { exists $allopt{$_} }
+%         @payby;
+%
+%  my %payby2option = (
+%    ( map { $_ => $_ } keys %options ),
+%    'DCRD' => 'CARD',
+%    'DCHK' => 'CHEK',
+%  );
+%
+%  my $widget = new HTML::Widgets::SelectLayers(
+%    'options'        => \%options,
+%    #'form_name'      => 'dummy',
+%    #'form_action'    => 'nothingyet',
+%    #chops bottom of page in IE# 'under_position' => 'absolute',
+%    'html_between'   => '</TD></TR></TABLE>',
+%    'selected_layer' => $payby2option{$payby || $payby_default || $payby[0] },
+%    'layer_callback' => sub { my $layer = shift; $payby{$layer}; },
+%  );
+%
+%  
+
+
+  <TD WIDTH="408"><% $widget->html %>
 
   <FORM NAME="billing_bottomform" STYLE="margin-top: 0; margin-bottom: 0">
 
-  <%= &ntable("#cccccc") %>
+  <% &ntable("#cccccc") %>
 
     <TR><TD>&nbsp;</TD></TR>
 
     <TR>
-      <TD WIDTH="608" COLSPAN="2"><INPUT TYPE="checkbox" NAME="tax" VALUE="Y" <%= $cust_main->tax eq "Y" ? 'CHECKED' : '' %>> Tax Exempt</TD>
+      <TD WIDTH="608" COLSPAN="2"><INPUT TYPE="checkbox" NAME="tax" VALUE="Y" <% $cust_main->tax eq "Y" ? 'CHECKED' : '' %>> Tax Exempt</TD>
     </TR>
 
     <TR>
-      <TD WIDTH="608" COLSPAN="2"><INPUT TYPE="checkbox" NAME="invoicing_list_POST" VALUE="POST" <%=
+      <TD WIDTH="608" COLSPAN="2"><INPUT TYPE="checkbox" NAME="invoicing_list_POST" VALUE="POST" <%
 
         ( (    ! @invoicing_list
             && ! $conf->exists('disablepostalinvoicedefault')
@@ -417,7 +418,7 @@ if ( $payby_default eq 'HIDE' ) {
     </TR>
 
     <TR>
-      <TD WIDTH="608" COLSPAN="2"><INPUT TYPE="checkbox" NAME="invoicing_list_FAX" VALUE="FAX" <%=
+      <TD WIDTH="608" COLSPAN="2"><INPUT TYPE="checkbox" NAME="invoicing_list_FAX" VALUE="FAX" <%
 
         ( grep { $_ eq 'FAX' } @invoicing_list )
           ? 'CHECKED'
@@ -430,22 +431,24 @@ if ( $payby_default eq 'HIDE' ) {
 
     <TR>
       <TD ALIGN="right" WIDTH="200">Email invoice </TD>
-      <TD WIDTH="408"><INPUT TYPE="text" NAME="invoicing_list" VALUE="<%= join(', ', grep { $_ !~ /^(POST|FAX)$/ } @invoicing_list ) %>"></TD>
+      <TD WIDTH="408"><INPUT TYPE="text" NAME="invoicing_list" VALUE="<% join(', ', grep { $_ !~ /^(POST|FAX)$/ } @invoicing_list ) %>"></TD>
     </TR>
+% if ( $conf->exists('voip-cust_cdr_spools') ) { 
 
-    <% if ( $conf->exists('voip-cust_cdr_spools') ) { %>
       <TR>
-       <TD COLSPAN="2"><INPUT TYPE="checkbox" NAME="spool_cdr" VALUE="Y" <%= $cust_main->spool_cdr eq "Y" ? 'CHECKED' : '' %>> Spool CDRs</TD>
+       <TD COLSPAN="2"><INPUT TYPE="checkbox" NAME="spool_cdr" VALUE="Y" <% $cust_main->spool_cdr eq "Y" ? 'CHECKED' : '' %>> Spool CDRs</TD>
       </TR>
-    <% } else { %>
-      <INPUT TYPE="hidden" NAME="spool_cdr" VALUE="<%= $cust_main->spool_cdr %>">
-    <% } %>
+% } else { 
+
+      <INPUT TYPE="hidden" NAME="spool_cdr" VALUE="<% $cust_main->spool_cdr %>">
+% } 
+
 
   </TABLE>
 
   </FORM>
 
-  <%= $r %> required fields
+  <% $r %> required fields
+% } 
 
-<% } %>
 
index 6e4f089..a001634 100644 (file)
-<%
-
-my( $cust_main, $pre, $onchange, $disabled ) = @_;
-my $conf = new FS::Conf;
-
-#false laziness with ship state
-my $countrydefault = $conf->config('countrydefault') || 'US';
-$cust_main->set($pre.'country', $countrydefault )
-  unless $cust_main->get($pre.'country');
-
-my $statedefault = $conf->config('statedefault')
-                   || ($countrydefault eq 'US' ? 'CA' : '');
-$cust_main->set($pre.'state', $statedefault )
-  unless $cust_main->get($pre.'state')
-         || $cust_main->get($pre.'country') ne $countrydefault;
-
-#my($county_html, $state_html, $country_html) =
-#  FS::cust_main_county::regionselector( $cust_main->get($pre.'county'),
-#                                        $cust_main->get($pre.'state'),
-#                                        $cust_main->get($pre.'country'),
-#                                        $pre,
-#                                        $onchange,
-#                                        $disabled,
-#                                      );
-
-my %select_hash = (
-  'county'   => $cust_main->get($pre.'county'),
-  'state'    => $cust_main->get($pre.'state'),
-  'country'  => $cust_main->get($pre.'country'),
-  'prefix'   => $pre,
-  'onchange' => $onchange,
-  'disabled' => $disabled,
-);
-
-my $daytime_label = FS::Msgcat::_gettext('daytime') || 'Day Phone';
-my $night_label = FS::Msgcat::_gettext('night') || 'Night Phone';
-
-my $r = qq!<font color="#ff0000">*</font>&nbsp;!;
-
-%>
-
-<%= &ntable("#cccccc") %>
+%
+%
+%my( $cust_main, $pre, $onchange, $disabled ) = @_;
+%my $conf = new FS::Conf;
+%
+%#false laziness with ship state
+%my $countrydefault = $conf->config('countrydefault') || 'US';
+%$cust_main->set($pre.'country', $countrydefault )
+%  unless $cust_main->get($pre.'country');
+%
+%my $statedefault = $conf->config('statedefault')
+%                   || ($countrydefault eq 'US' ? 'CA' : '');
+%$cust_main->set($pre.'state', $statedefault )
+%  unless $cust_main->get($pre.'state')
+%         || $cust_main->get($pre.'country') ne $countrydefault;
+%
+%#my($county_html, $state_html, $country_html) =
+%#  FS::cust_main_county::regionselector( $cust_main->get($pre.'county'),
+%#                                        $cust_main->get($pre.'state'),
+%#                                        $cust_main->get($pre.'country'),
+%#                                        $pre,
+%#                                        $onchange,
+%#                                        $disabled,
+%#                                      );
+%
+%my %select_hash = (
+%  'county'   => $cust_main->get($pre.'county'),
+%  'state'    => $cust_main->get($pre.'state'),
+%  'country'  => $cust_main->get($pre.'country'),
+%  'prefix'   => $pre,
+%  'onchange' => $onchange,
+%  'disabled' => $disabled,
+%);
+%
+%my $daytime_label = FS::Msgcat::_gettext('daytime') || 'Day Phone';
+%my $night_label = FS::Msgcat::_gettext('night') || 'Night Phone';
+%
+%my $r = qq!<font color="#ff0000">*</font>&nbsp;!;
+%
+%
+
+
+<% &ntable("#cccccc") %>
 
 <TR>
-  <TH ALIGN="right"><%=$r%>Contact&nbsp;name<BR>(last,&nbsp;first)</TH>
+  <TH ALIGN="right"><%$r%>Contact&nbsp;name<BR>(last,&nbsp;first)</TH>
   <TD COLSPAN=3>
-    <INPUT TYPE="text" NAME="<%=$pre%>last" VALUE="<%= $cust_main->get($pre.'last') %>" onChange="<%= $onchange %>" <%=$disabled%>> , 
-    <INPUT TYPE="text" NAME="<%=$pre%>first" VALUE="<%= $cust_main->get($pre.'first') %>" onChange="<%= $onchange %>" <%=$disabled%>>
+    <INPUT TYPE="text" NAME="<%$pre%>last" VALUE="<% $cust_main->get($pre.'last') %>" onChange="<% $onchange %>" <%$disabled%>> , 
+    <INPUT TYPE="text" NAME="<%$pre%>first" VALUE="<% $cust_main->get($pre.'first') %>" onChange="<% $onchange %>" <%$disabled%>>
   </TD>
+% if ( $conf->exists('show_ss') && !$pre ) { 
 
-<% if ( $conf->exists('show_ss') && !$pre ) { %>
   <TD ALIGN="right">SS#</TD>
-  <TD><INPUT TYPE="text" NAME="ss" VALUE="<%= $cust_main->ss %>" SIZE=11></TD>
-<% } elsif ( !$pre ) { %>
-  <TD><INPUT TYPE="hidden" NAME="ss" VALUE="<%= $cust_main->ss %>"></TD>
-<% } %>
+  <TD><INPUT TYPE="text" NAME="ss" VALUE="<% $cust_main->ss %>" SIZE=11></TD>
+% } elsif ( !$pre ) { 
+
+  <TD><INPUT TYPE="hidden" NAME="ss" VALUE="<% $cust_main->ss %>"></TD>
+% } 
+
 
 </TR>
 
 <TR>
   <TD ALIGN="right">Company</TD>
   <TD COLSPAN=5>
-    <INPUT TYPE="text" NAME="<%=$pre%>company" VALUE="<%= $cust_main->get($pre.'company') %>" SIZE=70 onChange="<%= $onchange %>" <%=$disabled%>>
+    <INPUT TYPE="text" NAME="<%$pre%>company" VALUE="<% $cust_main->get($pre.'company') %>" SIZE=70 onChange="<% $onchange %>" <%$disabled%>>
   </TD>
 </TR>
 
 <TR>
-  <TH ALIGN="right"><%=$r%>Address</TH>
+  <TH ALIGN="right"><%$r%>Address</TH>
   <TD COLSPAN=5>
-    <INPUT TYPE="text" NAME="<%=$pre%>address1" VALUE="<%= $cust_main->get($pre.'address1') %>" SIZE=70 onChange="<%= $onchange %>" <%=$disabled%>>
+    <INPUT TYPE="text" NAME="<%$pre%>address1" VALUE="<% $cust_main->get($pre.'address1') %>" SIZE=70 onChange="<% $onchange %>" <%$disabled%>>
   </TD>
 </TR>
 
 <TR>
   <TD ALIGN="right">&nbsp;</TD>
   <TD COLSPAN=5>
-    <INPUT TYPE="text" NAME="<%=$pre%>address2" VALUE="<%= $cust_main->get($pre.'address2') %>" SIZE=70 onChange="<%= $onchange %>" <%=$disabled%>>
+    <INPUT TYPE="text" NAME="<%$pre%>address2" VALUE="<% $cust_main->get($pre.'address2') %>" SIZE=70 onChange="<% $onchange %>" <%$disabled%>>
   </TD>
 </TR>
 
 <TR>
-  <TH ALIGN="right"><%=$r%>City</TH>
+  <TH ALIGN="right"><%$r%>City</TH>
   <TD>
-    <INPUT TYPE="text" NAME="<%=$pre%>city" VALUE="<%= $cust_main->get($pre.'city') %>" onChange="<%= $onchange %>" <%=$disabled%>>
+    <INPUT TYPE="text" NAME="<%$pre%>city" VALUE="<% $cust_main->get($pre.'city') %>" onChange="<% $onchange %>" <%$disabled%>>
   </TD>
-  <TH ALIGN="right"><%=$r%>State</TH>
+  <TH ALIGN="right"><%$r%>State</TH>
   <TD>
-    <%= include('select-county.html', %select_hash ) %>
-    <%= include('select-state.html', %select_hash ) %>
+    <% include('select-county.html', %select_hash ) %>
+    <% include('select-state.html', %select_hash ) %>
   </TD>
-  <TH><%=$r%>Zip</TH>
+  <TH><%$r%>Zip</TH>
   <TD>
-    <INPUT TYPE="text" NAME="<%=$pre%>zip" VALUE="<%= $cust_main->get($pre.'zip') %>" SIZE=10 onChange="<%= $onchange %>" <%=$disabled%>>
+    <INPUT TYPE="text" NAME="<%$pre%>zip" VALUE="<% $cust_main->get($pre.'zip') %>" SIZE=10 onChange="<% $onchange %>" <%$disabled%>>
   </TD>
 </TR>
 
 <TR>
-  <TH ALIGN="right"><%=$r%>Country</TH>
-  <TD COLSPAN=5><%= include('select-country.html', %select_hash ) %></TD>
+  <TH ALIGN="right"><%$r%>Country</TH>
+  <TD COLSPAN=5><% include('select-country.html', %select_hash ) %></TD>
 </TR>
 
 <TR>
-  <TD ALIGN="right"><%= $daytime_label %></TD>
+  <TD ALIGN="right"><% $daytime_label %></TD>
   <TD COLSPAN=5>
-    <INPUT TYPE="text" NAME="<%=$pre%>daytime" VALUE="<%= $cust_main->get($pre.'daytime') %>" SIZE=18 onChange="<%= $onchange %>" <%=$disabled%>>
+    <INPUT TYPE="text" NAME="<%$pre%>daytime" VALUE="<% $cust_main->get($pre.'daytime') %>" SIZE=18 onChange="<% $onchange %>" <%$disabled%>>
   </TD>
 </TR>
 
 <TR>
-  <TD ALIGN="right"><%= $night_label %></TD>
+  <TD ALIGN="right"><% $night_label %></TD>
   <TD COLSPAN=5>
-    <INPUT TYPE="text" NAME="<%=$pre%>night" VALUE="<%= $cust_main->get($pre.'night') %>" SIZE=18 onChange="<%= $onchange %>" <%=$disabled%>>
+    <INPUT TYPE="text" NAME="<%$pre%>night" VALUE="<% $cust_main->get($pre.'night') %>" SIZE=18 onChange="<% $onchange %>" <%$disabled%>>
   </TD>
 </TR>
 
 <TR>
   <TD ALIGN="right">Fax</TD>
   <TD COLSPAN=5>
-    <INPUT TYPE="text" NAME="<%=$pre%>fax" VALUE="<%= $cust_main->get($pre.'fax') %>" SIZE=12 onChange="<%= $onchange %>" <%=$disabled%>>
+    <INPUT TYPE="text" NAME="<%$pre%>fax" VALUE="<% $cust_main->get($pre.'fax') %>" SIZE=12 onChange="<% $onchange %>" <%$disabled%>>
   </TD>
 </TR>
 
 </TABLE>
-<%=$r%>required fields<BR>
+<%$r%>required fields<BR>
 
index 3941f2f..5467f26 100644 (file)
@@ -1,16 +1,17 @@
-<%
-
-  my %opt = @_;
-  foreach my $opt (qw( county state country prefix onchange disabled )) {
-    $opt{$_} = '' unless exists($opt{$_}) && defined($opt{$_});
-  }
-
-  my $conf = new FS::Conf;
-  my $countrydefault = $conf->config('countrydefault') || 'US';
-
-%>
-
-<%= include('/elements/xmlhttp.html',
+%
+%
+%  my %opt = @_;
+%  foreach my $opt (qw( county state country prefix onchange disabled )) {
+%    $opt{$_} = '' unless exists($opt{$_}) && defined($opt{$_});
+%  }
+%
+%  my $conf = new FS::Conf;
+%  my $countrydefault = $conf->config('countrydefault') || 'US';
+%
+%
+
+
+<% include('/elements/xmlhttp.html',
               'url'  => $p.'misc/states.cgi',
               'subs' => [ $opt{'prefix'}. 'get_states' ],
            )
     what.options[length] = optionName;
   }
 
-  function <%= $opt{'prefix'} %>country_changed(what, callback) {
+&