X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Felements%2Fmenu.html;h=d0632a971ef5b9561842b2ce77724f89f5d7328d;hb=bb119c4cc86e906f698a205437790bd8f96bb3d0;hp=c4422a0176ae0c9195b8c9341c75fee9cc280f09;hpb=ce6cc16ab448ec7bf2fe2d493985bcbd324eabaf;p=freeside.git diff --git a/httemplate/elements/menu.html b/httemplate/elements/menu.html index c4422a017..d0632a971 100644 --- a/httemplate/elements/menu.html +++ b/httemplate/elements/menu.html @@ -41,7 +41,17 @@ var myBar = new WebFXMenuBar; -% foreach my $item ( keys %menu ) { +% if ( $mobile ) { +% +% my( $subhtml, $submenuname ) = submenu(\%menu, 'Freeside'); + <% $subhtml |n %> + myBar.add(new WebFXMenuButton("Freeside", + null, + null, + <% $submenuname |n %>)); +% } +% else { +% foreach my $item ( keys %menu ) { % % my( $url_or_submenu, $tooltip ) = @{ $menu{$item} }; % @@ -59,8 +69,8 @@ myBar.add(new WebFXMenuButton("<% $item %>", "<% $url_or_submenu %>", "<% $tooltip %>" )); % } -% -% } +% } #foreach $item +% } #if $mobile myBar.show( null, 'vertical' ); myBar.width = 154; @@ -72,6 +82,8 @@ my( %opt ) = @_; my $conf = new FS::Conf; my $fsurl = $opt{'freeside_baseurl'}; +my $mobile = $opt{'mobile'} || 0; + my $curuser = $FS::CurrentUser::CurrentUser; #XXX Active tickets not assigned to a customer @@ -88,16 +100,12 @@ tie my %report_customers_lists, 'Tie::IxHash', ; $report_customers_lists{'by active trouble tickets'} = [ $fsurl. 'search/cust_main.cgi?browse=tickets', '' ] if $conf->config('ticket_system'); - -tie my %report_customers_search, 'Tie::IxHash'; -$report_customers_search{'by ordering employee'} = [ $fsurl. 'search/cust_main-otaker.cgi' ] - if $curuser->access_right('Configuration'); +$report_customers_lists{'with USPS-unvalidated addresses'} = [ $fsurl. 'search/cust_main.cgi?browse=uspsunvalid', '' ] + if $conf->config('usps_webtools-userid') && $conf->config('usps_webtools-password'); tie my %report_customers, 'Tie::IxHash'; $report_customers{'List customers'} = [ \%report_customers_lists, 'List customers' ] if $curuser->access_right('List customers'); -$report_customers{'Search customers'} = [ \%report_customers_search, 'Search customers' ] - if keys %report_customers_search; $report_customers{'Zip code distribution'} = [ $fsurl. 'search/report_cust_main-zip.html', 'Zip codes by number of customers' ]; $report_customers{'Advanced customer reports'} = [ $fsurl. 'search/report_cust_main.html', 'by status, signup date, agent, etc.' ] if $curuser->access_right('List customers') @@ -140,7 +148,7 @@ foreach my $svcdb ( FS::part_svc->svc_tables() ) { my $name = "FS::$svcdb"->table_info->{'name_plural'} || PL( "FS::$svcdb"->table_info->{'name'} ); - my $lcname = lc($name); + my $lcname = "FS::$svcdb"->table_info->{'lcname_plural'} || lc($name); my $lcsname = lc("FS::$svcdb"->table_info->{'name'}); my $longname = "FS::$svcdb"->table_info->{'longname_plural'} || $name; my $lclongname = lc($longname); @@ -191,14 +199,24 @@ foreach my $svcdb ( FS::part_svc->svc_tables() ) { ]; } - if ( $svcdb eq 'svc_acct' || $svcdb eq 'svc_broadband' ) { + if ( $svcdb =~ /^svc_(acct|broadband|hardware)$/ ) { $report_svc{"Advanced $lcsname reports"} = [ $fsurl."search/report_$svcdb.html", '' ]; } if ( $svcdb eq 'svc_phone' ) { + $report_svc{"Phone number (DID) availability"} = [ $fsurl."search/report_phone_avail.html", '' ]; + $report_svc{"Inventory/Provisioning Status"} = + [ $fsurl."search/phone_inventory_provisioned.html", '' ]; + + } elsif ( $svcdb eq 'svc_dsl' ) { + + $report_svc{'Qualifications'} = [ $fsurl. 'search/qual.cgi', #XXX qual.html + '', + ]; + } $report_services{$name} = [ \%report_svc, $longname ]; @@ -275,12 +293,15 @@ $report_payments{'Unapplied Payments'} = [ $fsurl.'search/report_cust_pay.html?u $report_payments{'Payment Batches'} = [ $fsurl.'search/pay_batch.html', 'Payment batches (by status and/or date range)' ] if $conf->exists('batch-enable') || $conf->config('batch-enable_payby'); $report_payments{'Unapplied Payment Aging'} = [ $fsurl.'search/report_unapplied_cust_pay.html', 'Unapplied payment aging report' ]; +$report_payments{'Deleted Payments / Payment history table'} = [ $fsurl.'search/report_h_cust_pay.html', 'Deleted payments / payment history table' ] + if $conf->exists('payment-history-report'); tie my %report_financial, 'Tie::IxHash'; if($curuser->access_right('Financial reports')) { %report_financial = ( 'Sales, Credits and Receipts' => [ $fsurl.'graph/report_money_time.html', 'Sales, credits and receipts summary graph' ], + 'Daily Sales, Credits and Receipts' => [ $fsurl.'graph/report_money_time_daily.html', 'Sales, credits and receipts (broken down by day) summary graph' ], 'Sales Report' => [ $fsurl.'graph/report_cust_bill_pkg.html', 'Sales report and graph (by agent, package class and/or date range)' ], 'Rated Call Sales Report' => [ $fsurl.'graph/report_cust_bill_pkg_detail.html', 'Sales report and graph (by agent, package class, usage class and/or date range)' ], 'Employee Commission Report' => [ $fsurl.'search/report_employee_commission.html', '' ], @@ -292,9 +313,13 @@ if($curuser->access_right('Financial reports')) { ); $report_financial{'A/R Aging'} = [ $fsurl.'search/report_receivables.html', 'Accounts Receivable Aging report' ]; $report_financial{'Prepaid Income'} = [ $fsurl.'search/report_prepaid_income.html', 'Prepaid income (unearned revenue) report' ]; - $report_financial{'Sales Tax Liability'} = [ $fsurl.'search/report_tax.html', 'Sales tax liability report (internal taxclass system)' ]; - $report_financial{'Tax Liability'} = [ $fsurl.'search/report_newtax.html', 'Tax liability report (vendor data tax products system)' ] - if $conf->exists('enable_taxproducts'); + + my $taxproducts = $conf->exists('enable_taxproducts'); + $report_financial{'Tax Liability'. ($taxproducts ? ' (internal tax data)' : '')} = [ $fsurl.'search/report_tax.html', 'Tax liability report (internal tax data)' ]; + $report_financial{'Tax Liability (vendor tax data)'} = [ $fsurl.'search/report_newtax.html', 'Tax liability report (vendor tax data)' ] + if $taxproducts; + + $report_financial{'Customer Accounting Summary'} = [ $fsurl.'search/report_customer_accounting_summary.html', 'Customer accounting summary report' ]; } elsif($curuser->access_right('Receivables report')) { @@ -375,8 +400,10 @@ $tools_menu{'Quick payment entry'} = [ $fsurl.'misc/batch-cust_pay.html', 'Ente $tools_menu{'Process payment batches'} = [ $fsurl.'search/pay_batch.cgi?magic=_date;open=1;intransit=1', 'Process credit card and electronic check batches' ] if ( $conf->exists('batch-enable') || $conf->config('batch-enable_payby') ) && $curuser->access_right('Process batches'); -$tools_menu{'Process invoice batches'} = [ $fsurl.'search/bill_batch.cgi' ] +$tools_menu{'Download invoice batches'} = [ $fsurl.'search/bill_batch.cgi' ] if $conf->exists('invoice_print_pdf'); +$tools_menu{'Bulk DID Orders'} = [ $fsurl.'browse/did_order.html', 'View/manage bulk DID orders' ] + if $curuser->access_right('Import'); $tools_menu{'Job Queue'} = [ $fsurl.'search/queue.html', 'View pending job queue' ] if $curuser->access_right('Job queue'); $tools_menu{'Ticketing'} = [ \%tools_ticketing, 'Ticketing tools' ] @@ -387,6 +414,8 @@ $tools_menu{'Time Queue'} = [ $fsurl.'search/report_timeworked.html', 'View pen if $curuser->access_right('Time queue'); $tools_menu{'Attachments'} = [ $fsurl.'browse/cust_attachment.html', 'View customer attachments' ] if !$conf->config('disable_cust_attachment') and $curuser->access_right('View attachments') and $curuser->access_right('Browse attachments'); +$tools_menu{'Outgoing messages'} = [ $fsurl.'search/cust_msg.html', 'View outgoing message log' ] + if $curuser->access_right('View customers of all agents'); $tools_menu{'Importing'} = [ \%tools_importing, 'Import tools' ] if $curuser->access_right('Import'); $tools_menu{'Exporting'} = [ \%tools_exporting, 'Export tools' ] @@ -493,6 +522,11 @@ tie my %config_broadband, 'Tie::IxHash', tie my %config_phone, 'Tie::IxHash', 'View/Edit phone device types' => [ $fsurl.'browse/part_device.html', 'Phone device types' ], + 'View/Edit bulk DID vendors' => [ $fsurl.'browse/did_vendor.html', 'Bulk DID vendors' ], +; + +tie my %config_nms, 'Tie::IxHash', + 'View/Edit virtual ports' => [ $fsurl.'browse/torrus_srvderive.html', '' ], ; tie my %config_misc, 'Tie::IxHash'; @@ -507,13 +541,16 @@ $config_misc{'Advertising sources'} = [ $fsurl.'browse/part_referral.html', 'Whe || $curuser->access_right('Edit global advertising sources'); if ( $curuser->access_right('Configuration') ) { $config_misc{'Virtual fields'} = [ $fsurl.'browse/part_virtual_field.cgi', 'Locally defined fields', ]; - $config_misc{'Error catalog'} = [ $fsurl.'browse/msgcat.cgi', 'Change error messages and other customizable labels' ]; + $config_misc{'Message catalog'} = [ $fsurl.'browse/msgcat.cgi', 'Change error messages and other customizable labels for each locale' ]; } $config_misc{'Inventory classes and inventory'} = [ $fsurl.'browse/inventory_class.html', 'Setup inventory classes and stock inventory' ] if $curuser->access_right('Edit inventory') || $curuser->access_right('Edit global inventory') || $curuser->access_right('Configuration'); +$config_misc{'Hardware types'} = [ $fsurl.'browse/hardware_class.html', 'Set up hardware type catalog' ] + if $curuser->access_right('Configuration'); + tie my %config_menu, 'Tie::IxHash'; if ( $curuser->access_right('Configuration' ) ) { %config_menu = ( @@ -539,11 +576,14 @@ $config_menu{'Ticketing'} = [ \%config_ticketing, '' ] if $conf->config('ticket_system') && FS::TicketSystem->access_right(\%session, 'ShowConfigTab'); $config_menu{'Dialup'} = [ \%config_dialup, '' ] - if ( $curuser->access_right('Dialup configuration') ); + if $curuser->access_right('Dialup configuration'); $config_menu{'Broadband'} = [ \%config_broadband, '' ] - if ( $curuser->access_right('Broadband configuration') ); + if $curuser->access_right('Broadband configuration'); $config_menu{'Phone'} = [ \%config_phone, '' ] - if ( $curuser->access_right('Configuration') ); + if $curuser->access_right('Configuration'); +$config_menu{'Network Monitoring'} = [ \%config_nms, '' ] + if $curuser->access_right('Configure network monitoring') + && $conf->config('network_monitoring_system') eq 'Torrus_Internal'; $config_menu{'Miscellaneous'} = [ \%config_misc, '' ] if $curuser->access_right('Configuration' ) || $curuser->access_right('Edit advertising sources') @@ -597,7 +637,8 @@ if ( $conf->config('ticket_system') ) { ], } -if ( $conf->config('network_monitoring_system') eq 'Torrus_Internal' ) { +if ( $conf->config('network_monitoring_system') eq 'Torrus_Internal' && + $curuser->access_right('Configure network monitoring') ) { $menu{'Network Main'} = [ $fsurl.'torrus/main', 'Network monitoring start page' ], } @@ -610,7 +651,7 @@ $menu{'Reports'} = [ \%report_menu, 'Lists, reporting and graphing' ] if keys %report_menu; $menu{'Tools'} = [ \%tools_menu, 'Tools' ] if keys %tools_menu; -$menu{'Configuration'} = [ \%config_menu, 'Configuraiton and setup' ] +$menu{'Configuration'} = [ \%config_menu, 'Configuration and setup' ] if $curuser->access_right('Configuration') || $curuser->access_right('Edit package definitions') || $curuser->access_right('Edit global package definitions')