better height for pkg order popup
[freeside.git] / httemplate / view / cust_main / menu.html
index 81ad959..b1464b5 100644 (file)
 <style type="text/css">
-#menu_ul {
-  padding: 0;
-  margin: 0 auto;
+
+#customer_menu {
+  margin-top: .6em;
+  margin-bottom: 16px;
 }
-#menu_ul li {
-  float: left;
-  list-style: none;
-  position: relative;
-  border-right: 4px solid #e8e8e8;
+
+/* #customer_menu .ui-menu-item  */
+#customer_menu > li {
+  background-color: #f8f8f8;
 }
-#menu_ul a {
-  display: block;
-  padding: 6px 8px;
-  color: #525151;
-  font-size: 13px;
-  font-weight: bold;
-  white-space: nowrap;
-  background: #cccccc;
-  -moz-border-radius-topleft:8px;
-  -moz-border-radius-topright:8px;
-  -webkit-border-radius-topleft:8px;
-  -webkit-border-radius-topright:8px;
-  border-top-left-radius:8px;
-  border-top-right-radius:8px;
+
+/* #customer_menu .ui-menu-item  */
+#customer_menu > li.ui-state-focus {
+  background-color: #f8f8f8;
 }
 
-#menu_ul ul {
-  margin:0;
-  padding:0;
-  display:none;
-  position: absolute;
-  top: 100%;
-  left: -1px;
-  background: #ae2099;
-  border: 1px solid #ffffff;
+#customer_menu > li.ui-state-active {
+  background-color: #f8f8f8;
 }
 
-#menu_ul ul li {
-  float: none;
-  border-style: none;
-  display: inline;
-  width: 100%;
+#customer_menu > li > a {
+  border-top: 1px solid transparent;
+  border-left: 1px solid transparent;
+  border-right: 1px solid transparent;
+  border-bottom: none;
+  padding: .5em .75em;
 }
 
-#menu_ul ul a {
-  padding: 4px 10px;
-  color: #ffffff;
-  font-size: 12px;
-  font-weight: normal;
-  background: transparent;
+#customer_menu > li.ui-state-active > a {
+
+/* if i could find something light enough that didn't look pink?
+     or is this too visually distracting and not the useful hint i think it is?
+  background: #ED55E7;
+*/
 }
-#menu_ul ul a:hover  {
-  background: #7e0079;
-  -moz-border-radius-topleft:0px;
-  -moz-border-radius-topright:0px;
-  -webkit-border-radius-topleft:0px;
-  -webkit-border-radius-topright:0px;
-  border-top-left-radius:0px;
-  border-top-right-radius:0px;
+
+#customer_menu a.current_show {
+  font-weight: bold;
+  background: #FFFFFF;
+  border-top: 1px solid #7e0079;
+  border-left: 1px solid #7e0079;
+  border-right: 1px solid #7e0079;
+  border-bottom: 2px solid #ffffff;
+  margin-bottom: -2px;
+  border-bottom-left-radius: 2px;
+  border-bottom-right-radius: 2px;
 }
 
-#menu_ul a.current_menu, #menu_ul a.hover {
-  color: #ffffff;
-  background: #7e0079;
+#customer_menu a {
+  margin-left: 0;
+  margin-right: 1em;
+  margin-top: 0;
+  border-top-left-radius: .5em;
+  border-top-right-radius: .5em;
+
+  font-weight: normal;
+  background: #e0e0e0;
+  color: #525151;
+  text-decoration: none;
+}
+
+#customer_menu ul a,
+#customer_menu ul form {
+  background: transparent;
+  border: none;
 }
+
 </style>
-<script src="<% $p %>elements/jquery.js"></script>
-<script type="text/javascript">
-$(document).ready(function() {
-        $('#menu_ul > li').hover(function(){
-                $('a:first', this).addClass('hover');
-                $('ul:first', this).show();
-                if ($('.current_menu:first', this).length == 0) {
-                        $('img[src*="dropdown_arrow_white"]', this).show();
-                        $('img[src*="dropdown_arrow_grey"]', this).hide();
-                }
-        }, function(){
-                $('ul:first', this).hide();
-                $('a:first', this).removeClass('hover');
-                if ($('.current_menu:first', this).length == 0) {
-                        $('img[src*="dropdown_arrow_white"]', this).hide();
-                        $('img[src*="dropdown_arrow_grey"]', this).show();
-                }
-        });
-});
-</script>
-
-<ul id="menu_ul">
-% foreach my $submenu (@processed_menu) {
-  <li>
-    <% shift @$submenu %>
-    <ul>
-%   foreach my $link ( @$submenu ) {
-      <li><% $link %></li>
-%   }
-    </ul>
-  </li>
-% }
-</ul>
+
+<& /elements/dropdown-menu.html,
+     'id'        => 'customer_menu',
+     #'class'     => 'customer_submenu',
+                    #XXX support installs outside /freeside in 4.x
+     'self_url'  => "/freeside/view/cust_main.cgi?custnum=$custnum;show=",
+     'menu'      => \@menu,
+     'cust_main' => $cust_main,
+     'show'      => $opt{'show'},
+&>
 
 <%init>
 my %opt = @_;
@@ -106,9 +85,15 @@ my $custnum = $cust_main->custnum;
 my $curuser = $FS::CurrentUser::CurrentUser;
 my $conf = FS::Conf->new;
 
-my %payby = map { $_ => 1 } $conf->config('payby');
+my @payby = grep /\w/, $conf->config('payby');
+@payby = (qw( CARD DCRD CHEK DCHK ))
+  unless @payby;
+my %payby = map { $_ => 1 } @payby;
+
+# cached for conditions, to avoid looking it up twice
+my $invoicing_list_emailonly = $cust_main->invoicing_list_emailonly;
 
-# nice declarative menu; should be a parameter to some kind of menu generator
+# nice declarative menu; a parameter to some kind of menu generator
 my @menu = ( 
   [
     { show        => 'basics',
@@ -116,14 +101,18 @@ my @menu = (
     },
     {
       label       => 'Edit customer',
-      url         => 'edit/cust_main.cgi?$custnum',
+      url         => "edit/cust_main.cgi?$custnum",
       acl         => 'Edit customer'
     },
     {
       label       => 'Edit contacts',
-      url         => 'edit/cust_main-contacts.html?$custnum',
+      url         => "edit/cust_main-contacts.html?$custnum",
+    },
+
+    { label   => '-',
+      content => '-',
     },
-# separator
+
     {
       label       => 'Bill now',
       acl         => 'Bill customer now',
@@ -136,7 +125,7 @@ my @menu = (
     },
     {
       label       => 'Suspend',
-      popup       => 'misc/suspend_cust.html?custnum=$custnum',
+      popup       => "misc/suspend_cust.html?custnum=$custnum",
       acl         => 'Suspend customer',
       condition   => sub { shift->unsuspended_pkgs > 0 },
       actionlabel => 'Confirm Suspension',
@@ -144,14 +133,14 @@ my @menu = (
     },
     {
       label       => 'Unsuspend',
-      popup       => 'misc/unsuspend_cust.html?custnum=$custnum',
+      popup       => "misc/unsuspend_cust.html?custnum=$custnum",
       acl         => 'Unsuspend customer',
       condition   => sub { shift->suspended_pkgs > 0 },
       actionlabel => 'Confirm Unsuspension',
     },
     {
       label       => 'Cancel',
-      popup       => 'misc/suspend_cust.html?custnum=$custnum',
+      popup       => "misc/cancel_cust.html?custnum=$custnum",
       acl         => 'Cancel customer',
       condition   => sub { shift->ncancelled_pkgs > 0 },
       actionlabel => 'Confirm Cancellation',
@@ -159,7 +148,7 @@ my @menu = (
     },
     {
       label       => 'Merge',
-      popup       => 'misc/merge_cust.html?custnum=$custnum',
+      popup       => "misc/merge_cust.html?custnum=$custnum",
       acl         => 'Merge customer',
       actionlabel => 'Merge customer',
       width       => 569,
@@ -167,13 +156,17 @@ my @menu = (
     },
     {
       label       => 'Refer a new customer',
-      url         => 'edit/cust_main.cgi?referral_custnum=$custnum',
+      url         => "edit/cust_main.cgi?referral_custnum=$custnum",
       confexists  => '!disable_customer_referrals',
     },
-# should have a separator here
+
+    { label   => '-',
+      content => '-',
+    },
+
     {
       label       => 'View this customer\'s referrals',
-      url         => 'search/cust_main.cgi?referral_custnum=$custnum',
+      url         => "search/cust_main.cgi?referral_custnum=$custnum",
       confexists  => '!disable_customer_referrals',
       condition   => sub {
         FS::cust_main->count('referral_custnum = ?', shift->custnum) > 0
@@ -181,19 +174,26 @@ my @menu = (
     },
     {
       label       => 'View billing events',
-      url         => 'search/cust_event.html?custnum=$custnum',
+      url         => "search/cust_event.html?custnum=$custnum",
       acl         => [ 'Billing event reports',
                        'View customer billing events' ],
     },
     {
+      label       => 'Test billing events',
+      url         => "misc/test-part_event.html?custnum=$custnum",
+      acl         => 'Configuration',
+    },
+    {
       label       => 'Email a notice to this customer',
       url         => sub {
                       my $cust_main = shift;
                       my $agentnum = $cust_main->agentnum;
-                      'misc/email-customers.html?table=cust_main;search_hash='.
-                      'agent_virt_agentnum='.$agentnum.';custnum=$custnum';
+                      'misc/email-customers.html?table=cust_main;'.
+                      'agent_virt_agentnum='.$agentnum.";custnum=$custnum;url=".
+                      uri_escape($cgi->self_url);
                      },
-      condition   => sub { shift->invoicing_list_emailonly },
+      condition   => sub { $invoicing_list_emailonly },
+      acl         => 'Bulk send customer notices',
     },
   ],
   [
@@ -203,16 +203,16 @@ my @menu = (
     },
     {
       label       => 'Add note',
-      popup       => 'edit/cust_main_note.cgi?custnum=$custnum',
+      popup       => "edit/cust_main_note.cgi?custnum=$custnum",
       actionlabel => 'Add note',
       confexists  => '!cust_main-disable_notes',
       acl         => 'Add customer note',
-      width       => 616,
-      height      => 538,
+      width       => 875,
+      height      => 548,
     },
     {
       label       => 'Attach file',
-      popup       => 'edit/cust_main_attach.cgi?custnum=$custnum',
+      popup       => "edit/cust_main_attach.cgi?custnum=$custnum",
       actionlabel => 'Upload file',
       confexists  => '!disable_cust_attachment',
       acl         => 'Add attachment',
@@ -234,6 +234,13 @@ my @menu = (
       confexists => 'ticket_system',
       acl   => 'View appointments',
     },
+    {
+      label       => 'Schedule new appointment',
+      confexists  => 'ticket_system',
+      acl        => 'Make appointment',
+      popup       => "misc/make_appointment.html?custnum=$custnum",
+      actionlabel => 'Schedule appointment',
+    },
   ],
   [
     {
@@ -241,8 +248,8 @@ my @menu = (
       show  => 'quotations',
     },
     {
-      label => 'Add quotation',
-      url   => 'edit/quotation.html?custnum=$custnum',
+      label => 'Create new quotation',
+      url   => "edit/quotation.html?custnum=$custnum",
       acl   => 'Generate quotation',
     },
   ],
@@ -253,7 +260,7 @@ my @menu = (
     },
     {
       label       => 'New qualification',
-      popup       => 'misc/qual.html?custnum=$custnum',
+      popup       => "misc/qual.html?custnum=$custnum",
       actionlabel => 'New qualification',
       color       => '#333399',
       width       => 763,
@@ -262,26 +269,22 @@ my @menu = (
     },
     {
       label       => 'Order new package',
-      popup       => 'misc/order_pkg.html?custnum=$custnum',
+      popup       => "misc/order_pkg.html?custnum=$custnum",
       actionlabel => 'Order new package',
       color       => '#333399',
       width       => 960,
-      height      => 740,
+      height      => 850,
       acl         => 'Order customer package',
     },
     {
       # it's just a popup, but there's some freaky CCH tax stuff in it
       label       => 'One-time charge',
-      content     => sub {
-                      include( '/elements/one_time_charge_link.html',
-                        custnum => shift->custnum,
-                      );
-                     },
+      url         => "edit/quick-charge.html?custnum=$custnum",
       acl         => 'One-time charge',
     },
     {
       label       => 'Move services between packages',
-      popup       => 'edit/bulk-cust_svc-pkgnum.html?custnum=$custnum',
+      popup       => "edit/bulk-cust_svc-pkgnum.html?custnum=$custnum",
       actionlabel => 'Move services',
       width       => 968,
       height      => 575,
@@ -289,26 +292,40 @@ my @menu = (
     },
     {
       label       => 'Bulk order and cancel packages',
-      url         => 'edit/cust_pkg.cgi?$custnum',
+      url         => "edit/cust_pkg.cgi?$custnum",
       acl         => 'Bulk change customer packages',
     },
-# separator
+
+    { label   => '-',
+      content => '-',
+    },
+
     {
       label => 'Package reports',
-      url   => 'search/report_cust_pkg?custnum=$custnum',
+      url   => "search/report_cust_pkg.html?custnum=$custnum",
     },
     {
       label => 'View qualifications',
-      url   => 'search/qual.cgi?custnum=$custnum',
+      url   => "search/qual.cgi?custnum=$custnum",
       acl   => 'Qualify service',
     },
     {
       label => 'View accounts',
-      url   => 'search/report_svc_acct.html?custnum=$custnum',
+      url   => "search/report_svc_acct.html?custnum=$custnum",
+    },
+    {
+      label => 'View data usage',
+      popup => "search/report_sqlradius_usage-custnum.html?$custnum",
+      acl   => 'Usage: RADIUS sessions',
+      actionlabel => 'Data usage report',
+      width   => 480,
+      height  => 345,
+      condition => sub { shift->num_usage_pkgs > 0 },
     },
     {
       label => 'View CDRs',
-      url   => 'search/report_cdr.html?custnum=$custnum',
+      url   => "search/report_cdr.html?custnum=$custnum",
+      # XXX should have a condition that the customer has any CDR packages
     },
   ],
   [
@@ -316,76 +333,97 @@ my @menu = (
       label => 'Payment History',
       show  => 'payment_history',
     },
+
     # manual payment entry via edit/cust_pay
-    {
-      label       => 'Enter check payment',
-      popup       => 'edit/cust_pay.cgi?popup=1;payby=BILL;custnum=$custnum',
-      actionlabel => 'Enter check payment',
-      width       => 763,
-      height      => 392,
-      acl         => [ 'Post payment', 'Post check payment' ],
-      condition   => sub { $payby{BILL} },
-    },
-    {
-      label       => 'Enter cash payment',
-      popup       => 'edit/cust_pay.cgi?popup=1;payby=CASH;custnum=$custnum',
-      actionlabel => 'Enter cash payment',
-      width       => 763,
-      height      => 392,
-      acl         => [ 'Post payment', 'Post cash payment' ],
-      condition   => sub { $payby{CASH} },
-    },
-    {
-      label       => 'Enter Western Union payment',
-      popup       => 'edit/cust_pay.cgi?popup=1;payby=WEST;custnum=$custnum',
-      actionlabel => 'Enter Western Union payment',
-      width       => 763,
-      height      => 392,
-      acl         => [ 'Post payment', ],
-      condition   => sub { $payby{WEST} },
-    },
-    {
-      label       => 'Post manual (offline/POS) credit card payment',
-      popup       => 'edit/cust_pay.cgi?popup=1;payby=MCRD;custnum=$custnum',
-      actionlabel => 'Enter credit card payment',
-      width       => 763,
-      height      => 392,
-      acl         => [ 'Post payment', ],
-      condition   => sub { $payby{MCRD} },
-    },
-    {
-      label       => 'Post manual (offline/POS) electronic check',
-      popup       => 'edit/cust_pay.cgi?popup=1;payby=MCHK;custnum=$custnum',
-      actionlabel => 'Enter credit card payment',
-      width       => 763,
-      height      => 392,
-      acl         => [ 'Post payment', ],
-      condition   => sub { $payby{MCHK} },
+    { label   => 'Enter payment',
+      submenu => [
+        {
+          label       => 'Enter check payment',
+          popup       => "edit/cust_pay.cgi?popup=1;payby=BILL;custnum=$custnum",
+          actionlabel => 'Enter check payment',
+          width       => 763,
+          height      => 392,
+          acl         => [ 'Post payment', 'Post check payment' ],
+        },
+        {
+          label       => 'Enter cash payment',
+          popup       => "edit/cust_pay.cgi?popup=1;payby=CASH;custnum=$custnum",
+          actionlabel => 'Enter cash payment',
+          width       => 763,
+          height      => 392,
+          acl         => [ 'Post payment', 'Post cash payment' ],
+        },
+        #{
+        #  label       => 'Enter Western Union payment',
+        #  popup       => "edit/cust_pay.cgi?popup=1;payby=WEST;custnum=$custnum",
+        #  actionlabel => 'Enter Western Union payment',
+        #  width       => 763,
+        #  height      => 392,
+        #  acl         => [ 'Post payment', ],
+        ##  condition   => sub { $payby{WEST} },
+        #},
+        #{
+        #  label       => 'Record manual (offline/POS) credit card payment',
+        #  popup       => "edit/cust_pay.cgi?popup=1;payby=MCRD;custnum=$custnum",
+        #  actionlabel => 'Enter credit card payment',
+        #  width       => 763,
+        #  height      => 392,
+        #  acl         => [ 'Post payment', ],
+        ##  condition   => sub { $payby{MCRD} },
+        #},
+        #{
+        #  label       => 'Record manual (offline/POS) electronic check',
+        #  popup       => "edit/cust_pay.cgi?popup=1;payby=MCHK;custnum=$custnum",
+        #  actionlabel => 'Enter credit card payment',
+        #  width       => 763,
+        #  height      => 392,
+        #  acl         => [ 'Post payment', ],
+        ##  condition   => sub { $payby{MCHK} },
+        #},
+        {
+          label       => 'Record manual (non-Freeside) Paypal payment',
+          popup       => "edit/cust_pay.cgi?popup=1;payby=PPAL;custnum=$custnum",
+          actionlabel => 'Enter Paypal payment',
+          width       => 763,
+          height      => 392,
+          acl         => [ 'Post Payment', 'Post Paypal payment', ],
+          condition   => sub { $payby{PPAL} },
+        },
+      ],
     },
+
     # realtime payments via payment.cgi
-    {
-      label       => 'Process credit card payment',
-      url         => 'misc/payment.cgi?payby=CARD;custnum=$custnum',
-      acl         => [ 'Process payment', 'Process credit card payment', ],
-      condition   => sub { $payby{CARD} or $payby{DCRD} },
+    { label   => 'Process payment',
+      submenu => [
+        {
+          label       => 'Process credit card payment',
+          url         => "misc/payment.cgi?payby=CARD;custnum=$custnum",
+          acl         => [ 'Process payment', 'Process credit card payment', ],
+          condition   => sub { $payby{CARD} or $payby{DCRD} },
+        },
+        {
+          label       => 'Process electronic check payment',
+          url         => "misc/payment.cgi?payby=CHEK;custnum=$custnum",
+          acl         => [ 'Process payment', 'Process Echeck payment', ],
+          condition   => sub { $payby{CHEK} or $payby{DCHK} },
+        },
+      ],
     },
-    {
-      label       => 'Process electronic check payment',
-      url         => 'misc/payment.cgi?payby=CHEK;custnum=$custnum',
-      acl         => [ 'Process payment', 'Process Echeck payment', ],
-      condition   => sub { $payby{CHEK} or $payby{DCHK} },
+
+    { label   => '-',
+      content => '-',
     },
-#separator?
+
     {
       label       => 'Enter credit',
-      popup       => 'edit/cust_credit.cgi?custnum=$custnum',
+      popup       => "edit/cust_credit.cgi?custnum=$custnum",
       actionlabel => 'Enter credit',
       width       => 763,
       acl         => 'Post credit',
     },
     {
       label       => 'Credit line items',
-      popup       => 'edit/credit-cust_bill_pkg.html?custnum=$custnum',
+      popup       => "edit/credit-cust_bill_pkg.html?custnum=$custnum",
       actionlabel => 'Credit line items',
       width       => 968,
       height      => 575,
@@ -394,79 +432,123 @@ my @menu = (
         FS::cust_bill->count('custnum = ?', shift->custnum) > 0
       },
     },
-    {
-      label       => 'Enter check refund',
-      popup       => 'edit/cust_refund.cgi?popup=1;payby=BILL;custnum=$custnum',
-      actionlabel => 'Enter check refund',
-      width       => 440,
-      acl         => ['Post refund', 'Post check refund'],
-      condition   => sub { $payby{BILL} },
-    },
-    {
-      label       => 'Enter cash refund',
-      popup       => 'edit/cust_refund.cgi?popup=1;payby=CASH;custnum=$custnum',
-      actionlabel => 'Enter cash refund',
-      width       => 392,
-      acl         => ['Post refund', 'Post cash refund'],
-      condition   => sub { $payby{CASH} },
+
+    { label   => '-',
+      content => '-',
     },
-    {
-      label       => 'Enter manual (offline/POS) credit card refund',
-      popup       => 'edit/cust_refund.cgi?popup=1;payby=MCRD;custnum=$custnum',
-      actionlabel => 'Enter credit card refund',
-      width       => 440,
-      acl         => ['Post refund' ],
-      condition   => sub { $payby{MCRD} },
+
+    { label   => 'Enter refund',
+      submenu => [
+
+        {
+          label       => 'Enter check refund',
+          popup       => "edit/cust_refund.cgi?popup=1;payby=BILL;custnum=$custnum",
+          actionlabel => 'Enter check refund',
+          width       => 440,
+          acl         => ['Post refund', 'Post check refund'],
+        },
+        {
+          label       => 'Enter cash refund',
+          popup       => "edit/cust_refund.cgi?popup=1;payby=CASH;custnum=$custnum",
+          actionlabel => 'Enter cash refund',
+          width       => 392,
+          acl         => ['Post refund', 'Post cash refund'],
+        },
+        #{
+        #  label       => 'Record manual (offline/POS) credit card refund',
+        #  popup       => "edit/cust_refund.cgi?popup=1;payby=MCRD;custnum=$custnum",
+        #  actionlabel => 'Enter credit card refund',
+        #  width       => 440,
+        #  acl         => ['Post refund' ],
+        ##  condition   => sub { $payby{MCRD} },
+        #},
+        #{
+        #  label       => 'Record manual (offline/POS) electronic check refund',
+        #  popup       => "edit/cust_refund.cgi?popup=1;payby=MCHK;custnum=$custnum",
+        #  actionlabel => 'Enter electronic check refund',
+        #  width       => 440,
+        #  acl         => ['Post refund' ],
+        ##  condition   => sub { $payby{MCHK} },
+        #},
+        {
+           label       => 'Enter electronic check refund',
+           popup       => "edit/cust_refund.cgi?popup=1;payby=CHEK;custnum=$custnum",
+           actionlabel => 'Enter electronic check refund',
+           width       => 440,
+           acl         => ['Post refund' ],
+           condition   => sub {
+             FS::pay_batch->can_handle_electronic_refunds
+           },
+        },
+
+      ],
+
     },
-    {
-      label       => 'Enter manual (offline/POS) electronic check refund',
-      popup       => 'edit/cust_refund.cgi?popup=1;payby=MCHK;custnum=$custnum',
-      actionlabel => 'Enter electronic check refund',
-      width       => 440,
-      acl         => ['Post refund' ],
-      condition   => sub { $payby{MCHK} },
+
+    { label   => '-',
+      content => '-',
     },
+
     {
       label       => 'Add tax adjustment',
-      popup       => 'edit/cust_tax_adjustment.html?custnum=$custnum',
+      popup       => "edit/cust_tax_adjustment.html?custnum=$custnum",
       actionlabel => 'Add tax adjustment',
       height      => 200,
       confexists  => 'enable_tax_adjustments',
       acl         => 'Add customer tax adjustment',
     },
-# separator, definitely
+
+    { label       => '-',
+      content     => '-',
+      confexists  => 'enable_tax_adjustments',
+      acl         => 'Add customer tax adjustment',
+    },
+
+    {
+      label       => 'Email statement to this customer',
+      url         => sub {
+                      my $cust_main = shift;
+                      my $agentnum = $cust_main->agentnum;
+                      'misc/email-customer-statement.html?table=cust_main;'.
+                      'agent_virt_agentnum='.$agentnum.";custnum=$custnum;url=".
+                      uri_escape($cgi->self_url);
+                     },
+      condition   => sub { $invoicing_list_emailonly },
+      acl         => 'Resend invoices',
+    },
     {
-      label       => 'Download statement',
-      url         => 'view/cust_main_statement-pdf.cgi?$custnum',
-      acl         => 'List invoices',
+      label       => 'Download PDF statement',
+      url         => "view/cust_main_statement-pdf.cgi?$custnum",
+      acl         => 'View legacy typeset statements',
       condition   => sub {
         FS::cust_bill->count('custnum = ?', shift->custnum) > 0
       },
     },
     {
       label       => 'Search invoices',
-      url         => 'search/report_cust_bill.html?custnum=$custnum',
+      url         => "search/report_cust_bill.html?custnum=$custnum",
       acl         => 'List invoices',
     },
     {
       label       => 'View tax exemptions',
-      url         => 'search/cust_tax_exempt_pkg.cgi?custnum=$custnum',
+      url         => "search/cust_tax_exempt_pkg.cgi?custnum=$custnum",
       acl         => 'View customer tax exemptions',
     },
     {
       label       => 'View tax adjustments',
-      url         => 'search/cust_tax_adjustment.html?custnum=$custnum',
+      url         => "search/cust_tax_adjustment.html?custnum=$custnum",
       confexists  => 'enable_tax_adjustments',
       acl         => 'Add customer tax adjustment',
     },
     {
       label       => 'View pending payments',
-      url         => 'search/cust_pay_pending.html?magic=_date;statusNOT=done;custnum=$custnum',
+      url         => "search/cust_pay_pending.html?magic=_date;statusNOT=done;custnum=$custnum",
       acl         => 'View pending payments',
       condition   => sub { 
         FS::cust_pay_pending->count('custnum = ?', shift->custnum) > 0
       },
     },
+
   ],
   [
     {
@@ -477,83 +559,4 @@ my @menu = (
   ],
 );
 
-
-my @processed_menu;
-foreach my $submenu (@menu) {
-
-  my @links;
-  my $first = 1;
-  foreach my $entry ( @$submenu ) {
-    # if the menu head was skipped, skip the whole menu
-    last if (!$first and !@links);
-    $first = 0;
-
-    # check conditions
-    if ( $entry->{acl} ) {
-      next unless $curuser->access_right( $entry->{acl} );
-    }
-    if ( $entry->{confexists} ) {
-      if ( $entry->{confexists} =~ /^!(.*)/ ) {
-        # confexists => !foo, a negative condition
-        next if $conf->exists( $1 );
-      } else {
-        next unless $conf->exists( $entry->{confexists} );
-      }
-    }
-    if ( $entry->{condition} ) {
-      next unless &{ $entry->{condition} }($cust_main);
-    }
-
-    my $label = emt($entry->{label});
-    my $target = $entry->{content}
-              || $entry->{popup}
-              || $entry->{url};
-
-    if ( ref($target) eq 'CODE' ) {
-      $target = &$target($cust_main);
-    }
-    my $a = '';
-
-    if ( $entry->{content} ) { # then the coderef specified the whole thing
-      $a = $target;
-
-    } elsif ( $entry->{show} ) {
-
-      # the menu head: always a link back to this page
-      $cgi->param('show', $entry->{show});
-            $target = $cgi->self_url;
-
-      $a = qq[ <A HREF="$target"];
-      if ( $opt{'show'} eq $entry->{show} ) {
-        $a .= ' class="fstabselected"';
-      }
-      $a .= qq[>$label</A> ];
-
-
-    } elsif ( $entry->{popup} ) {
-
-      $target =~ s/\$custnum/$custnum/g;
-      $target = $p.$target;
-      $a = include('/elements/popup_link.html',
-        action  => $target,
-        width   => 616,
-        height  => 410,
-        %$entry,
-        label   => emt($label),
-      );
-
-    } elsif ( $entry->{url} ) {
-
-      $target =~ s/\$custnum/$custnum/g;
-      $target = $p.$target;
-      $a = qq[ <A HREF="$target">$label</A> ];
-    }
-
-    push @links, $a;
-
-  } # foreach $entry
-  if (@links) {
-    push @processed_menu, \@links;
-  }
-}
 </%init>