X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Felements%2Fmenu.html;h=a5fb15bc280fc41e9c1e3136070aff41e9d5d562;hp=7d5d4f398e3119e7931dd976c8903270544dd389;hb=09ae66f29fc7cbd46c13ae1f9361713cbce54153;hpb=92c9e14aa28f017837fb94e4da1d9862e30b02f8 diff --git a/httemplate/elements/menu.html b/httemplate/elements/menu.html index 7d5d4f398..a5fb15bc2 100644 --- a/httemplate/elements/menu.html +++ b/httemplate/elements/menu.html @@ -291,7 +291,8 @@ $report_rating{'Unrateable CDRs'} = [ $fsurl.'search/cdr.html?freesidestatus=fai if $curuser->access_right("Usage: Unrateable CDRs"); if ( $curuser->access_right("Usage: Time worked") ) { $report_rating{'Time worked'} = [ $fsurl.'search/report_rt_transaction.html', '' ]; - $report_rating{'Time worked summary'} = [ $fsurl.'search/report_rt_ticket.html', '' ]; + $report_rating{'Time worked summary per ticket'} = [ $fsurl.'search/report_rt_ticket.html', '' ]; + $report_rating{'Time worked summary per customer'} = [ $fsurl.'search/report_rt_cust.html', '' ]; } tie my %report_ticketing_statistics, 'Tie::IxHash', @@ -317,18 +318,17 @@ tie my %report_ticketing, 'Tie::IxHash', tie my %report_bill_event, 'Tie::IxHash', 'All billing events' => [ $fsurl.'search/report_cust_event.html', 'All billing events for a date range' ], 'Billing event errors' => [ $fsurl.'search/report_cust_event.html?failed=1', 'Failed credit cards, processor or printer problems, etc.' ], -# 'All invoice events' => [ $fsurl.'search/cust_bill_event.html', 'Reports on deprecated, old-style invoice events for a date range' ], -# 'Invoice event errors' => [ $fsurl.'search/cust_bill_event.html?failed=1', 'Reports on deprecated, old-style events for failed credit cards, processor or printer problems, etc.' ], ; tie my %report_payments, 'Tie::IxHash', - 'Payments' => [ $fsurl.'search/report_cust_pay.html', 'Payment report (by type and/or date range)' ], + 'Payments' => [ $fsurl.'search/report_cust_pay.html', 'Payment report (by type and/or date range)' ], + 'Payment application detail' => [ $fsurl.'search/report_cust_bill_pay_pkg.html', 'Line item application detail' ], ; $report_payments{'Pending Payments'} = [ $fsurl.'search/cust_pay_pending.html?magic=_date;statusNOT=done', 'Pending real-time payments' ] if $curuser->access_right('View customer pending payments'); +$report_payments{'Unapplied Payments'} = [ $fsurl.'search/report_cust_pay.html?unapplied=1', 'Unapplied payment report (by type and/or date range)' ]; $report_payments{'Voided Payments'} = [ $fsurl.'search/report_cust_pay.html?void=1', 'Voided payment report (by type and/or date range)' ] if $curuser->access_right('View customer pending payments'); -$report_payments{'Unapplied Payments'} = [ $fsurl.'search/report_cust_pay.html?unapplied=1', 'Unapplied payment report (by type and/or date range)' ]; $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' ]; @@ -340,6 +340,7 @@ tie my %report_credits, 'Tie::IxHash', 'Credit package source detail' => [ $fsurl.'search/report_cust_credit_source_bill_pkg.html', 'Line-item detail for triggered package credits' ], 'Credit application detail' => [ $fsurl.'search/report_cust_credit_bill_pkg.html', 'Line item application detail' ], 'Unapplied Credits' => [ $fsurl.'search/report_cust_credit.html?unapplied=1', 'Unapplied credit report (by type and/or date range)' ], + 'Voided Credits' => [ $fsurl.'search/report_cust_credit_void.html', 'Voided credit report (by employee and/or date range)' ], ; tie my %report_refunds, 'Tie::IxHash', @@ -357,6 +358,7 @@ tie my %report_sales, 'Tie::IxHash', tie my %report_commissions, 'Tie::IxHash', 'Agent' => [ $fsurl.'search/report_agent_commission.html' ], + 'Agent per package' => [ $fsurl.'search/report_agent_commission_pkg.html' ], 'Sales Person' => [ $fsurl.'search/report_sales_commission.html' ], 'Sales Person per package' => [ $fsurl.'search/report_sales_commission_pkg.html' ], 'Employee' => [ $fsurl.'search/report_employee_commission.html', '' ] @@ -374,7 +376,7 @@ 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' ]; - my $taxproducts = $conf->exists('enable_taxproducts'); + my $taxproducts = $conf->config('tax_data_vendor'); $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; @@ -446,6 +448,26 @@ $report_menu{'Logs'} = [ \%report_logs, 'System and email logs' ] $report_menu{'SQL Query'} = [ $fsurl.'search/report_sql.html', 'SQL Query'] if $curuser->access_right('Raw SQL'); +tie my %tools_customers, 'Tie::IxHash', (); +$tools_customers{'Appointments'} = [ $fsurl.'rt/Search/Schedule.html?LengthMin=0', 'View appointment schedule' ] + if $curuser->access_right('View appointments'); +$tools_customers{'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_customers{'Customer email settings'} = [ $fsurl.'misc/manage_cust_email.html' ] + if $curuser->access_right('Edit customer'); + +tie my %tools_billing, 'Tie::IxHash', (); +$tools_billing{'Quick payment entry'} = [ $fsurl.'misc/batch-cust_pay.html', 'Enter multiple payments in a batch' ] + if $curuser->access_right('Post payment batch'); +$tools_billing{'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_billing{'Download invoice batches'} = [ $fsurl.'search/bill_batch.cgi' ] + if $curuser->access_right('Process invoice batches') + || $curuser->access_right('Process global invoice batches') + || $curuser->access_right('Configuration'); #XXX remove in 2.5 + #now there's a standalone event#if $conf->exists('invoice_print_pdf'); + tie my %tools_importing, 'Tie::IxHash', 'Customers' => [ $fsurl.'misc/cust_main-import.cgi', '' ], 'Package definitions' => [ $fsurl.'misc/part_pkg-import.html', '' ], @@ -457,7 +479,7 @@ tie my %tools_importing, 'Tie::IxHash', 'Phone numbers (DIDs)' => [ $fsurl.'misc/phone_avail-import.html', '' ], 'Call Detail Records (CDRs)' => [ $fsurl.'misc/cdr-import.html', '' ], ; -if ( $conf->exists('enable_taxproducts') ) { +if ( $conf->config('tax_data_vendor') eq 'cch' ) { if ( $conf->exists('taxdatadirectdownload') ) { $tools_importing{'Tax rates from vendor site'} = [ $fsurl.'misc/tax-fetch_and_import.cgi', '' ]; @@ -467,9 +489,17 @@ if ( $conf->exists('enable_taxproducts') ) { } } -tie my %tools_exporting, 'Tie::IxHash', - 'Download database dump' => [ $fsurl. 'misc/dump.cgi', '' ], -; +tie my %tools_misc, 'Tie::IxHash', (); +$tools_misc{'Bulk DID Orders'} = [ $fsurl.'browse/did_order.html', 'View/manage bulk DID orders' ] + if $curuser->access_right('Import'); +$tools_misc{'Business card scan'} = [ $fsurl.'edit/prospect_main-upload.html' ] + if $curuser->access_right('New prospect'); +$tools_misc{'Time Queue'} = [ $fsurl.'search/report_timeworked.html', 'View pending support time' ] + if $curuser->access_right('Time queue'); + +#tie my %tools_exporting, 'Tie::IxHash', +# 'Download database dump' => [ $fsurl. 'misc/dump.cgi', '' ], +#; tie my %tools_ticketing_articles, 'Tie::IxHash', 'Overview' => [ $fsurl.'rt/Articles/index.html', '' ], @@ -487,38 +517,27 @@ tie my %tools_ticketing, 'Tie::IxHash', $tools_ticketing{'Cron Tool'} = [ $fsurl.'rt/Developer/CronTool/', '' ] if $conf->exists('rt-crontool'); -tie my %tools_menu, 'Tie::IxHash', (); -$tools_menu{'Quick payment entry'} = [ $fsurl.'misc/batch-cust_pay.html', 'Enter multiple payments in a batch' ] - if $curuser->access_right('Post payment batch'); -$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{'Download invoice batches'} = [ $fsurl.'search/bill_batch.cgi' ] - if $curuser->access_right('Process invoice batches') - || $curuser->access_right('Process global invoice batches') - || $curuser->access_right('Configuration'); #XXX remove in 2.5 - #now there's a standalone event#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' ] +tie my %tools_system, 'Tie::IxHash', (); +$tools_system{'Status'} = [ $fsurl.'view/Status.html', 'System status' ] + if $curuser->access_right('Configuration'); # 'View system status'); +$tools_system{'Job Queue'} = [ $fsurl.'search/queue.html', 'View pending job queue' ] if $curuser->access_right('Job queue'); + +tie my %tools_menu, 'Tie::IxHash', (); +$tools_menu{'Customers'} = [ \%tools_customers, 'Customer tools' ] + if keys %tools_customers; +$tools_menu{'Billing'} = [ \%tools_billing, 'Payment and invoice tools' ] + if keys %tools_billing; $tools_menu{'Ticketing'} = [ \%tools_ticketing, 'Ticketing tools' ] if $conf->config('ticket_system'); -$tools_menu{'Customer email settings'} = [ $fsurl.'misc/manage_cust_email.html' ] - if $curuser->access_right('Edit customer'); -$tools_menu{'Business card scan'} = [ $fsurl.'edit/prospect_main-upload.html' ] - if $curuser->access_right('New prospect'); -$tools_menu{'Time Queue'} = [ $fsurl.'search/report_timeworked.html', 'View pending support time' ] - 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{'Miscellaneous'} = [ \%tools_misc, '' ] + if keys %tools_misc; $tools_menu{'Importing'} = [ \%tools_importing, 'Import tools' ] if $curuser->access_right('Import'); -$tools_menu{'Exporting'} = [ \%tools_exporting, 'Export tools' ] - if $curuser->access_right('Export'); -$tools_menu{'Status'} = [ $fsurl.'view/Status.html', 'System status' ] - if $curuser->access_right('Configuration'); # 'View system status'); - +#$tools_menu{'Exporting'} = [ \%tools_exporting, 'Export tools' ] +# if $curuser->access_right('Export'); +$tools_menu{'System'} = [ \%tools_system, 'System tools' ] + if keys %tools_menu; tie my %config_employees, 'Tie::IxHash', 'Employees' => [ $fsurl.'browse/access_user.html', 'Setup internal users' ], @@ -577,6 +596,7 @@ tie my %config_export_svc, 'Tie::IxHash', (); if ( $curuser->access_right('Configuration') ) { $config_export_svc{'Service definitions'} = [ $fsurl.'browse/part_svc.cgi', 'Services are items you offer to your customers' ]; $config_export_svc{'Service classes'} = [ $fsurl.'browse/part_svc_class.html', 'Services classes are user-defined, informational types for services' ]; + $config_export_svc{'Service dependencies'} = [ $fsurl.'browse/part_svc_link.html', 'Services depencies define rules between service definitions' ]; $config_export_svc{'Provisioning exports'} = [ $fsurl.'browse/part_export.cgi', 'Provisioning services to external machines, databases and APIs' ]; } $config_export_svc{'Dialup'} = [ \%config_dialup, '' ] @@ -667,7 +687,6 @@ $config_billing{'Billing events'} = [ $fsurl.'browse/part_event.html', 'Billing if $curuser->access_right('Edit billing events') || $curuser->access_right('Edit global billing events'); if ( $curuser->access_right('Configuration') ) { - #$config_billing{'Invoice events'} = [ $fsurl.'browse/part_bill_event.cgi', 'Deprecated, old-style actions for overdue invoices' ]; $config_billing{'Invoice configurations'} = [ $fsurl.'browse/invoice_conf.html', 'Adjust invoice settings for special-purpose notices' ]; $config_billing{'Invoice templates'} = [ $fsurl.'browse/invoice_template.html', 'Edit templates for HTML, plaintext and typeset invoices' ]; $config_billing{'separator'} = ''; #its a separator! @@ -679,13 +698,13 @@ if ( $curuser->access_right('Configuration') ) { $config_billing{'separator2'} = ''; #its a separator! my $config_taxes_name = 'Locales and tax rates'. - ( $conf->exists('enable_taxproducts') + ( $conf->config('tax_data_vendor') ? ' (internal tax class system)' : '' ); $config_billing{$config_taxes_name} = [ $fsurl.'browse/cust_main_county.cgi', 'Change tax rates, or break down a country into states, or a state into counties and assign different tax rates to each' ]; $config_billing{'Tax rates (vendor data tax products system)'} = [ $fsurl.'browse/tax_rate.cgi', 'Edit tax rates for the vendor data tax products system' ] - if $conf->exists('enable_taxproducts'); + if $conf->config('tax_data_vendor'); $config_billing{'Tax classes'} = [ $fsurl. 'browse/part_pkg_taxclass.html', 'Tax classes' ]; if ( $conf->config('currencies') ) { @@ -754,10 +773,10 @@ $config_misc{'Message templates'} = [ $fsurl.'browse/msg_template.html', 'Templa $config_misc{'Advertising sources'} = [ $fsurl.'browse/part_referral.html', 'Where a customer heard about your service.' ] if $curuser->access_right('Edit advertising sources') || $curuser->access_right('Edit global advertising sources'); -if ( $curuser->access_right('Configuration') ) { - $config_misc{'Custom fields'} = [ $fsurl.'browse/part_virtual_field.html', 'Locally defined fields', ]; - $config_misc{'Translation strings'} = [ $fsurl.'browse/msgcat.html', 'Translations and other customizable labels for each locale' ]; -} +$config_misc{'Custom fields'} = [ $fsurl.'browse/part_virtual_field.html', 'Locally defined fields', ] + if $curuser->access_right('Edit custom fields'); +$config_misc{'Translation strings'} = [ $fsurl.'browse/msgcat.html', 'Translations and other customizable labels for each locale' ] + if $curuser->access_right('Configuration'); $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')