preserve order
[freeside.git] / httemplate / elements / menu.html
index 616900c..f9b0213 100644 (file)
@@ -115,8 +115,11 @@ foreach my $svcdb ( FS::part_svc->svc_tables() ) {
 
   foreach my $sort ( @$sorts ) {
 
+    my $field_info = FS::part_svc->svc_table_fields($svcdb)->{$sort};
+    my $label = $field_info->{'label_sort'} || 'by '.$field_info->{'label'};
+
     my $title = "All $lcname";
-    $title .= " by ". FS::part_svc->svc_table_fields($svcdb)->{$sort}->{'label'}
+    $title .= " $label"
       if scalar(@$sorts) > 1;
 
     $report_svc{$title} =
@@ -137,7 +140,10 @@ foreach my $svcdb ( FS::part_svc->svc_tables() ) {
 }
 
 tie my %report_packages, 'Tie::IxHash';
-if ( $curuser->access_right('Configuration') ) {
+if (    $curuser->access_right('Edit package definitions')
+     || $curuser->access_right('Edit global package definitions')
+   )
+{
   $report_packages{'Package definitions'} =  [ $fsurl.'browse/part_pkg.cgi?active=1', 'Package definitions by number of active packages' ];
   $report_packages{'separator'} =  '';
 }
@@ -214,6 +220,8 @@ $tools_menu{'Process payment batches'} = [ $fsurl.'search/pay_batch.cgi?magic=_d
   if $conf->exists('batch-enable') && $curuser->access_right('Process batches');
 $tools_menu{'Job Queue'} =  [ $fsurl.'search/queue.html', 'View pending job queue' ]
   if $curuser->access_right('Job queue');
+$tools_menu{'Time Queue'} =  [ $fsurl.'search/timeworked.html', 'View pending support time' ]
+  if $curuser->access_right('Time queue');
 $tools_menu{'Importing'} =  [ \%tools_importing, 'Import tools' ]
   if $curuser->access_right('Import');
 $tools_menu{'Exporting'} =  [ \%tools_exporting, 'Export tools' ]
@@ -243,8 +251,7 @@ tie my %config_agent, 'Tie::IxHash',
 tie my %config_billing, 'Tie::IxHash',
   'View/Edit payment gateways'         => [ $fsurl.'browse/payment_gateway.html', 'Credit card and electronic check processors' ];
 $config_billing{'View/Edit billing events'} = [ $fsurl.'browse/part_event.html', 'Billing actions for customers, invoices and packages' ]
-    if $curuser->access_right('Configuration')
-    || $curuser->access_right('Edit billing events')
+    if $curuser->access_right('Edit billing events')
     || $curuser->access_right('Edit global billing events');
 if ( $curuser->access_right('Configuration') ) {
   $config_billing{'View/Edit invoice events'}         = [ $fsurl.'browse/part_bill_event.cgi', 'Deprecated, old-style actions for overdue invoices' ];
@@ -265,8 +272,7 @@ tie my %config_broadband, 'Tie::IxHash',
 
 tie my %config_misc, 'Tie::IxHash';
 $config_misc{'View/Edit advertising sources'} = [ $fsurl.'browse/part_referral.html', 'Where a customer heard about your service.  Tracked for informational purposes' ]
-  if $curuser->access_right('Configuration')
-  || $curuser->access_right('Edit advertising sources')
+  if $curuser->access_right('Edit advertising sources')
   || $curuser->access_right('Edit global advertising sources');
 if ( $curuser->access_right('Configuration') ) {
   $config_misc{'View/Edit virtual fields'} = [ $fsurl.'browse/part_virtual_field.cgi', 'Locally defined fields', ];
@@ -286,8 +292,7 @@ if ( $curuser->access_right('Configuration' ) ) {
   );
 }
 $config_menu{'Billing'} = [ \%config_billing, ''    ]
-  if $curuser->access_right('Configuration')
-  || $curuser->access_right('Edit billing events')
+  if $curuser->access_right('Edit billing events')
   || $curuser->access_right('Edit global billing events');
 if ( $curuser->access_right('Configuration') ) {
   $config_menu{'Dialup'}  = [ \%config_dialup, ''    ];
@@ -295,8 +300,7 @@ if ( $curuser->access_right('Configuration') ) {
                             [ \%config_broadband, ''    ];
 }
 $config_menu{'Miscellaneous'} = [ \%config_misc, ''    ]
-  if $curuser->access_right('Configuration')
-  || $curuser->access_right('Edit advertising sources')
+  if $curuser->access_right('Edit advertising sources')
   || $curuser->access_right('Edit global advertising sources');
 
 tie my %menu, 'Tie::IxHash',
@@ -317,8 +321,7 @@ $menu{'Reports'} = [ \%report_menu, 'Lists, reporting and graphing' ]
 $menu{'Tools'} = [ \%tools_menu, 'Tools' ]
   if keys %tools_menu;
 $menu{'Configuration'} = [ \%config_menu, 'Configuraiton and setup' ]
-  if $curuser->access_right('Configuration')
-  || $curuser->access_right('Edit advertising sources')
+  if $curuser->access_right('Edit advertising sources')
   || $curuser->access_right('Edit global advertising sources');
 
 use vars qw($gmenunum);