];
}
- $report_svc{"Advanced $lcsname reports"} =
+ if ( $curuser->access_right("Services: $name: Advanced search")
+ && $svcdb =~ /^svc_(acct|broadband|hardware|phone|fiber)$/ ) {
+
+ $report_svc{"Advanced $lcsname reports"} =
[ $fsurl."search/report_$svcdb.html", '' ]
- if $svcdb =~ /^svc_(acct|broadband|hardware|phone)$/
- && $curuser->access_right("Services: $name: Advanced search");
+ }
if ( $svcdb eq 'svc_phone' ) {
$report_packages{'Customer packages with unconfigured services'} = [ $fsurl.'search/cust_pkg.cgi?APKG_pkgnum', 'List packages which have provisionable services' ];
$report_packages{'FCC Form 477'} = [ $fsurl.'search/report_477.html' ]
if $conf->exists('part_pkg-show_fcc_options');
+$report_packages{'Contract end dates'} = [ $fsurl.'search/cust_pkg-date.html?date=contract_end', 'Show packages by contract end date' ];
$report_packages{'Advanced package reports'} = [ $fsurl.'search/report_cust_pkg.html', 'by agent, date range, status, package definition' ];
tie my %report_inventory, 'Tie::IxHash',
if $curuser->access_right("Usage: Call Detail Records (CDRs)");
$report_rating{'Unrateable CDRs'} = [ $fsurl.'search/cdr.html?freesidestatus=failed;cdrbatchnum=_ALL_' ]
if $curuser->access_right("Usage: Unrateable CDRs");
+$report_rating{'Customer CDRs Profit/Loss'} = [ $fsurl.'search/report_customer_cdr_profit.html', 'Profit/loss from customer CDRs' ]
+ if $curuser->access_right('Financial reports');
if ( $curuser->access_right("Usage: Time worked") ) {
$report_rating{'Time worked'} = [ $fsurl.'search/report_rt_transaction.html', '' ];
$report_rating{'Time worked summary per ticket'} = [ $fsurl.'search/report_rt_ticket.html', '' ];
;
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.' ],
;
'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', '' ]
+ 'Employee' => [ $fsurl.'search/report_employee_commission.html', '' ],
+ 'Agent Credits and Payments' => [ $fsurl.'search/report_agent_credit_payment.html' ],
;
tie my %report_financial, 'Tie::IxHash';
;
tie my %report_logs, 'Tie::IxHash';
-$report_logs{'Billing events'} = [ \%report_bill_event, 'Billing events' ]
+$report_logs{'Billing events'} = [ $fsurl.'search/report_cust_event.html', 'Search billing events by date and status' ]
if $curuser->access_right('Billing event reports');
$report_logs{'Credit limit incidents'} = [ $fsurl.'search/report_cust_main_credit_limit.html', '' ]
if $curuser->access_right('List rating data');
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');
+$tools_system{'Access log statistics'} = [ $fsurl.'search/report_access_user_log.html?group_by=path', '' ]
+ if $curuser->access_right('Configuration'); # 'View profiling data');
tie my %tools_menu, 'Tie::IxHash', ();
$tools_menu{'Customers'} = [ \%tools_customers, 'Customer tools' ]
'Termination types' => [ $fsurl.'browse/circuit_termination.html', '' ],
;
+tie my %config_fiber, 'Tie::IxHash',
+ 'OLTs' => [ $fsurl.'browse/fiber_olt.html', '' ],
+;
+
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' ];
if $curuser->access_right(['Alarm configuration', 'Alarm global configuration']);
$config_export_svc{'Circuits'} = [ \%config_circuit, '' ]
if $curuser->access_right('Configuration');
+$config_export_svc{'Fiber'} = [ \%config_fiber, '' ]
+ if $curuser->access_right('Configuration');
$config_export_svc{'Hardware types'} = [ $fsurl.'browse/hardware_class.html', 'Set up hardware type catalog' ]
if $curuser->access_right('Configuration');
tie my %config_pkg_reason, 'Tie::IxHash',
- 'Cancel reasons' => [ $fsurl.'browse/reason.html?class=C', 'Cancel reasons explain why a service was cancelled.' ],
- 'Cancel reason types' => [ $fsurl.'browse/reason_type.html?class=C', 'Cancel reason types define groups of reasons.' ],
- 'Suspend reasons' => [ $fsurl.'browse/reason.html?class=S', 'Suspend reasons explain why a service was suspended.' ],
- 'Suspend reason types' => [ $fsurl.'browse/reason_type.html?class=S', 'Suspend reason types define groups of reasons.' ],
+ 'Cancel reasons' => [ $fsurl.'browse/reason_type.html?class=C', 'Cancel reasons explain why a service was cancelled.' ],
+ 'Suspend reasons' => [ $fsurl.'browse/reason_type.html?class=S', 'Suspend reasons explain why a service was suspended.' ],
;
tie my %config_pkg, 'Tie::IxHash', ();
tie my %config_agent, 'Tie::IxHash',
'Agent types' => [ $fsurl.'browse/agent_type.cgi', 'Agent types define groups of package definitions that you can then assign to particular agents' ],
'Agents' => [ $fsurl.'browse/agent.cgi', 'Agents are resellers of your service. Agents may be limited to a subset of your full offerings (via their type)' ],
- 'Agent payment gateways' => [ $fsurl.'browse/payment_gateway.html', 'Credit card and electronic check processors for agent overrides' ];
+ 'Agent payment gateways' => [ $fsurl.'browse/payment_gateway.html', 'Credit card and electronic check processors for agent overrides' ],
+ 'separator' => '',
+ 'Commission schedules' => [ $fsurl.'browse/commission_schedule.html',
+ 'Commission schedules for consecutive billing periods' ],
;
tie my %config_sales, 'Tie::IxHash',
}
$config_billing{'separator4'} = ''; #its a separator!
- $config_billing{'Credit reasons'} = [ $fsurl.'browse/reason.html?class=R', 'Credit reasons explain why a credit was issued.' ];
- $config_billing{'Credit reason types'} = [ $fsurl.'browse/reason_type.html?class=R', 'Credit reason types define groups of reasons.' ];
+ $config_billing{'Credit reasons'} = [ $fsurl.'browse/reason_type.html?class=R', 'Credit reasons explain why a credit was issued.' ];
- $config_billing{'separator5'} = ''; #its a separator!
- $config_billing{'Refund reasons'} = [ $fsurl.'browse/reason.html?class=F', 'Refund reasons explain why a refund was issued.' ];
- $config_billing{'Refund reason types'} = [ $fsurl.'browse/reason_type.html?class=F', 'Refund reason types define groups of reasons.' ];
+ $config_billing{'Refund reasons'} = [ $fsurl.'browse/reason_type.html?class=F', 'Refund reasons explain why a refund was issued.' ];
+
+ $config_billing{'Invoice void reasons'} = [ $fsurl.'browse/reason_type.html?class=I', 'Invoice void reasons explain why an invoice was voided.' ];
+ $config_billing{'Payment void reasons'} = [ $fsurl.'browse/reason_type.html?class=P', 'Payment void reasons explain why a payment was voided.' ];
+ $config_billing{'Credit void reasons'} = [ $fsurl.'browse/reason_type.html?class=X', 'Credit void reasons explain why a credit was voided.' ];
}
#XXX also to be unified
my($subhtml, $submenuname ) = submenu($url_or_submenu, $_); #mmm, recursion
"$subhtml\n".
- "myMenu$menunum.add(new WebFXMenuItem(\"$_\", null, \"$tooltip\", $submenuname ));";
+ "myMenu$menunum.add(new WebFXMenuItem(\"".mt($_)."\", null, \"".mt($tooltip)."\", $submenuname ));";
} else {
- "myMenu$menunum.add(new WebFXMenuItem(\"$_\", \"$url_or_submenu\", \"$tooltip\" ));";
+ "myMenu$menunum.add(new WebFXMenuItem(\"".mt($_)."\", \"$url_or_submenu\", \"".mt($tooltip)."\" ));";
}