% }
% unless ( $opt{'nocss'} ) {
- <link href="<%$fsurl%>elements/freeside.css" type="text/css" rel="stylesheet">
- <link href="<%$fsurl%>elements/freeside-print.css" type="text/css" rel="stylesheet" media="print">
+ <link href="<%$fsurl%>elements/freeside.css?v=<% $FS::VERSION %>" type="text/css" rel="stylesheet">
+ <link href="<%$fsurl%>elements/freeside-print.css?v=<% $FS::VERSION %>" type="text/css" rel="stylesheet" media="print">
% }
-<link href="<%$fsurl%>elements/freeside-menu.css" type="text/css" rel="stylesheet">
+<link href="<%$fsurl%>elements/freeside-menu.css?v=<% $FS::VERSION %>" type="text/css" rel="stylesheet">
<SCRIPT TYPE="text/javascript">
if $conf->config('ticket_system');
$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');
+$report_customers_lists{'with missing/outdated census tract'} = [ $fsurl. 'search/cust_main.html?no_censustract=1', '' ]
+ if $conf->config('usps_webtools-userid') && $conf->config('usps_webtools-password');
$report_customers_lists{'with referrals'} = [ $fsurl. 'search/cust_main.html?with_referrals=1' ];
tie my %report_customers, 'Tie::IxHash';
}
+## adding export test reports
+tie my %report_exports, 'Tie::IxHash';
+my $exports = FS::part_export::export_info();
+my $exportname;
+tie my %export_list, 'Tie::IxHash',
+ '' => '',
+ map { $_ => "$_ - ". $exports->{$_}{desc} }
+ sort { $a cmp $b }
+ keys %$exports;
+;
+
+foreach my $export (keys %export_list) {
+ $report_exports{"$export export test"} =
+ [ $fsurl. 'search/report_svc_export_test.cgi?export='.$export,
+ "Report of invalid service setup for services tied to $export export",
+ ] if "FS::part_export::$export"->can('test_export_report');
+}
+$report_services{'exports'} = [ \%report_exports, "Exports" ];
+
tie my %report_packages, 'Tie::IxHash';
$report_packages{'Package definitions (by # active)'} = [ $fsurl.'browse/part_pkg.cgi?active=1', 'Package definitions by number of active packages' ]
if $curuser->access_right('Edit package definitions')
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.'search/cust_attachment.html', 'View customer attachments' ]
+$tools_customers{'Attachments'} = [ $fsurl.'search/report_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');
$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');
+ if $curuser->access_right('Edit hardware classes and types');
tie my %config_pkg_reason, 'Tie::IxHash',
'Cancel reasons' => [ $fsurl.'browse/reason_type.html?class=C', 'Cancel reasons explain why a service was cancelled.' ],
if $conf->config('ticket_system') eq 'RT_Internal';
$help_menu{'Networking monitoring documentation'} = [ 'http://torrus.org/userguide.pod.html', 'Torrus User Guide' ]
if $conf->config('network_monitoring_system') eq 'Torrus_Internal';
+ $help_menu{'Developer documentation'} = [ "${fsurl}docs/library/FS.html", 'Developer documentation' ];
$help_menu{'separator'} = '';
$help_menu{"About Freeside v$FS::VERSION"} = [ "javascript:about_freeside()", '' ];
$help_menu{"About RT v$RT::VERSION"} = [ 'http://www.bestpractical.com/rt', 'Request Tracker Homepage' ]