% 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-menu.css" type="text/css" rel="stylesheet">
% 'width' => 300,
% 'height' => 375,
% 'color' => '#7e0079',
-% 'scrolling' => 'no',
+% #'scrolling' => 'no',
% );
% $fs_popup =~ s/return false;//;
function about_freeside() {
tie my %report_customers, 'Tie::IxHash';
$report_customers{'List customers'} = [ \%report_customers_lists, 'List customers' ]
- if $curuser->access_right('List customers');
+ if $curuser->access_right('List all customers');
$report_customers{'Zip code distribution'} = [ $fsurl. 'search/report_cust_main-zip.html', 'Zip codes by number of customers' ];
+$report_customers{'Customer signup report'} = [ $fsurl. 'graph/report_cust_signup.html', 'New customer signups by date' ],
$report_customers{'Advanced customer reports'} = [ $fsurl. 'search/report_cust_main.html', 'by status, signup date, agent, etc.' ]
if $curuser->access_right('List customers')
&& $curuser->access_right('List packages');
$report_packages{'separator2'} = '';
}
$report_packages{'All customer packages'} = [ $fsurl.'search/cust_pkg.cgi?pkgnum', 'List all customer packages', ];
-$report_packages{'Package summary'} = [ $fsurl.'search/cust_pkg_summary.html', 'Show package sales summary', ];
+$report_packages{'Package summary'} = [ $fsurl.'search/cust_pkg_summary.html', 'Show package sales summary', ]
+ if $curuser->access_right('Summarize packages');
$report_packages{'Suspended customer packages'} = [ $fsurl.'search/cust_pkg.cgi?magic=suspended', 'List suspended packages' ];
-$report_packages{'Suspension summary'} = [ $fsurl.'search/cust_pkg_susp.html', 'Show suspension activity', ];
+$report_packages{'Suspension summary'} = [ $fsurl.'search/cust_pkg_susp.html', 'Show suspension activity', ]
+ if $curuser->access_right('Summarize packages');
$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 packages'} = [ $fsurl.'search/report_477.html', 'Summarize packages by census tract for particular types' ]
if $conf->exists('cust_main-require_censustract');
tie my %report_rating, 'Tie::IxHash',
'RADIUS sessions' => [ $fsurl.'search/sqlradius.html', '' ],
'Call Detail Records (CDRs)' => [ $fsurl.'search/report_cdr.html', '' ],
- 'Unrateable CDRs' => [ $fsurl.'search/cdr.html?freesidestatus=failed' ],
+ 'Unrateable CDRs' => [ $fsurl.'search/cdr.html?freesidestatus=failed'.
+ ';cdrbatchnum=_ALL_' ],
'Time worked' => [ $fsurl.'search/report_rt_transaction.html', '' ],
'Time worked summary' => [ $fsurl.'search/report_rt_ticket.html', '' ],
;
;
tie my %report_ticketing, 'Tie::IxHash',
- 'Resolved by owner' => [ $fsurl.'rt/Tools/Reports/ResolvedByOwner.html', '' ],
- 'Resolved in date range' => [ $fsurl.'rt/Tools/Reports/ResolvedByDates.html', '' ],
- 'Created in date range' => [ $fsurl.'rt/Tools/Reports/CreatedByDates.html', '' ],
- 'separator' => '',
+# fix TimeToResolve extension? or redo in a more modern way?
+# 'Resolved by owner' => [ $fsurl.'rt/Tools/Reports/ResolvedByOwner.html', '' ],
+# 'Resolved in date range' => [ $fsurl.'rt/Tools/Reports/ResolvedByDates.html', '' ],
+# 'Created in date range' => [ $fsurl.'rt/Tools/Reports/CreatedByDates.html', '' ],
+# 'separator' => '',
'Statistics' => [ \%report_ticketing_statistics, '' ],
'separator2' => '',
'Advanced ticket reports' => [ $fsurl.'rt/Search/Build.html', 'List tickets by any criteria' ],
'Download database dump' => [ $fsurl. 'misc/dump.cgi', '' ],
;
+tie my %tools_ticketing_articles, 'Tie::IxHash',
+ 'Overview' => [ $fsurl.'rt/Articles/index.html', '' ],
+ 'Search' => [ $fsurl.'rt/Articles/Article/Search.html', '' ],
+ 'Topics' => [ $fsurl.'rt/Articles/Topics.html', '' ],
+;
+
tie my %tools_ticketing, 'Tie::IxHash',
- 'Offline' => [ $fsurl.'rt/Tools/Offline.html', '' ],
+ 'Articles' => [ \%tools_ticketing_articles, '' ],
'My Day' => [ $fsurl.'rt/Tools/MyDay.html', '' ],
- 'My Approvals' => [ $fsurl.'rt/Approvals/', '' ],
+ 'My Reminders' => [ $fsurl.'rt/Tools/MyReminders.html', '' ],
+ 'Offline' => [ $fsurl.'rt/Tools/Offline.html', '' ],
+ 'Approval' => [ $fsurl.'rt/Approvals/', '' ],
;
$tools_ticketing{'Cron Tool'} = [ $fsurl.'rt/Developer/CronTool/', '' ]
if $conf->exists('rt-crontool');
'Customer tags' => [ $fsurl.'browse/part_tag.html', '' ],
'Customer classes' => [ $fsurl.'browse/cust_class.html', 'Customer classes define groups of customers for reporting.' ],
'Customer categories' => [ $fsurl.'browse/cust_category.html', 'Customer categories define groups of customer classes.' ],
+ 'separator' => '', #its a separator!
+ 'Contact types' => [ $fsurl.'browse/contact_class.html', ''], #XXX useful description
;
-$config_cust{'Customer note classes'} = [ $fsurl.'browse/cust_note_class.html', 'Customer note classes define groups of notes for reporting.' ]
+$config_cust{'Note classes'} = [ $fsurl.'browse/cust_note_class.html', 'Note classes define groups of customer notes for reporting.' ]
if ($conf->exists('note-classes') && $conf->config('note-classes') > 0);
tie my %config_agent, 'Tie::IxHash',
$config_billing{'Credit reason types'} = [ $fsurl.'browse/reason_type.html?class=R', 'Credit reason types define groups of reasons.' ];
}
+#XXX also to be unified
+tie my %config_ticketing_groups, 'Tie::IxHash',
+ 'Select' => [ $fsurl.'rt/Admin/Groups', '' ],
+ 'Create' => [ $fsurl.'rt/Admin/Groups/Modify.html?Create=1', '' ],
+;
+
+tie my %config_ticketing_queues, 'Tie::IxHash',
+ 'Select' => [ $fsurl.'rt/Admin/Queues', '' ],
+ 'Create' => [ $fsurl.'rt/Admin/Queues/Modify.html?Create=1', '' ],
+;
+
+tie my %config_ticketing_customfields, 'Tie::IxHash',
+ 'Select' => [ $fsurl.'rt/Admin/CustomFields', '' ],
+ 'Create' => [ $fsurl.'rt/Admin/CustomFields/Modify.html?Create=1', '' ],
+;
+
+tie my %config_ticketing_articles_classes, 'Tie::IxHash',
+ 'Select' => [ $fsurl.'rt/Admin/Articles/Classes/', '' ],
+ 'Create' => [ $fsurl.'rt/Admin/Articles/Classes/Modify.html?Create=1', '' ],
+;
+
+tie my %config_ticketing_articles_customfields, 'Tie::IxHash',
+ 'Select' => [ $fsurl.'rt/Admin/CustomFields/index.html?type=RT%3A%3AClass-RT%3A%3AArticle', '' ],
+ 'Create' => [ $fsurl.'rt/Admin/CustomFields/Modify.html?Create=1&LookupType=RT%3A%3AClass-RT%3A%3AArticle', '' ],
+;
+
+tie my %config_ticketing_articles, 'Tie::IxHash',
+ 'Classes' => [ \%config_ticketing_articles_classes, '' ],
+ 'Custom Fields' => [ \%config_ticketing_articles_customfields, '' ],
+;
+
tie my %config_ticketing, 'Tie::IxHash',
- 'Ticketing Users' => [ $fsurl.'rt/Admin/Users', 'View/Edit ticketing users' ], #XXX to be unified
- 'Ticketing Groups' => [ $fsurl.'rt/Admin/Groups', 'View/Edit ticketing groups and group membership' ], #XXX to be unified
- 'Ticketing Queues' => [ $fsurl.'rt/Admin/Queues', 'View/Edit ticketing queues and queue-specific properties' ],
- 'Ticket Custom Fields' => [ $fsurl.'rt/Admin/CustomFields', 'View/Edit ticketing custom fields' ],
- 'Ticketing Global' => [ $fsurl.'rt/Admin/Global', 'View/Edit ticketing configuration applicable to all queues' ],
+ 'Ticketing Users' => [ $fsurl.'rt/Admin/Users', 'Edit ticketing users' ], #XXX to be unified
+ 'Ticketing Groups' => [ \%config_ticketing_groups, 'View/Edit ticketing groups and group membership' ], #XXX to be unified
+ 'Ticketing Queues' => [ \%config_ticketing_queues, 'View/Edit ticketing queues and queue-specific properties' ],
+ 'Ticket Custom Fields' => [ \%config_ticketing_customfields, 'View/Edit ticketing custom fields' ],
+ 'Ticketing Global' => [ $fsurl.'rt/Admin/Global', 'View/Edit ticketing configuration applicable to all queues' ], #XXX the individual items
+ 'Ticketing Articles' => [ \%config_ticketing_articles, '' ],
#"System Configuraiton"? useless, just makes people report errors about missing Module::Versions::Report #'Ticketing Tools' => [ $fsurl.'rt/Admin/Tools', '' ],
;
'Resellers' => [ \%config_agent, '' ],
'separator2' => '', #its a separator!
'Customers' => [ \%config_cust, '' ],
+ #or this? 'Customers and Contacts' => [ \%config_cust, '' ],
);
}
$config_menu{'Packages'} = [ \%config_pkg, '' ]
$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{'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' ]
- if $conf->config('ticket_system') eq 'RT_Internal';
-$help_menu{"About Torrus v1.0.9"} = [ 'http://www.torrus.org/', 'Torrus Homepage' ] #XXX manual version
- if $conf->config('network_monitoring_system') eq 'Torrus_Internal';
+
+my $agentnum = $conf->config('brand-agent');
+if ( $agentnum ) {
+ my $company_name = $conf->config('company_name', $agentnum);
+ $help_menu{"About $company_name"} = [ "javascript:about_freeside()", '' ];
+} else {
+ $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' ]
+ if $conf->config('ticket_system') eq 'RT_Internal';
+ $help_menu{"About Torrus v1.0.9"} = [ 'http://www.torrus.org/', 'Torrus Homepage' ] #XXX manual version
+ if $conf->config('network_monitoring_system') eq 'Torrus_Internal';
+}
tie my %menu, 'Tie::IxHash';