+tie my %config_broadband, 'Tie::IxHash',
+ 'Towers' => [ $fsurl.'browse/tower.html', 'Towers and sectors' ],
+ 'Routers' => [ $fsurl.'browse/router.cgi', 'Broadband access routers' ],
+ 'Address blocks' => [ $fsurl.'browse/addr_block.cgi', 'Manage address blocks and block assignments to broadband routers' ],
+;
+
+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' ],
+ 'View/Edit Carriers' => [ $fsurl.'browse/cdr_carrier.html', 'Carriers' ],
+;
+
+tie my %config_radius, 'Tie::IxHash',
+ 'RADIUS Groups' => [ $fsurl.'browse/radius_group.html', 'Manage RADIUS groups' ],
+ 'RADIUS Clients' => [ $fsurl.'browse/nas.html', 'Manage RADIUS clients' ],
+;
+
+tie my %config_cable, 'Tie::IxHash',
+ 'Cable modem models' => [ $fsurl.'browse/cable_model.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' ];
+ $config_export_svc{'Service classes'} = [ $fsurl.'browse/part_svc_class.html', 'Services classes are user-defined, informational types for services' ];
+ $config_export_svc{'Provisioning exports'} = [ $fsurl.'browse/part_export.cgi', 'Provisioning services to external machines, databases and APIs' ];
+}
+$config_export_svc{'Dialup'} = [ \%config_dialup, '' ]
+ if $curuser->access_right('Dialup configuration');
+$config_export_svc{'Wireless broadband'} = [ \%config_broadband, '' ]
+ if $curuser->access_right('Broadband configuration');
+$config_export_svc{'Phone'} = [ \%config_phone, '' ]
+ if $curuser->access_right('Configuration');
+$config_export_svc{'RADIUS'} = [ \%config_radius, '' ]
+ if $curuser->access_right('Configuration');
+$config_export_svc{'Cable'} = [ \%config_cable, '' ]
+ 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.' ],
+;
+
+tie my %config_pkg, 'Tie::IxHash', ();
+$config_pkg{'Package definitions'} = [ $fsurl.'browse/part_pkg.cgi', 'One or more services are grouped together into a package and given pricing information. Customers purchase packages, not services' ]
+ if $curuser->access_right('Edit package definitions')
+ || $curuser->access_right('Edit global package definitions');
+if ( $curuser->access_right('Configuration') ) {
+
+ #package grouping sub-menu?
+ $config_pkg{'Package classes'} = [ $fsurl.'browse/pkg_class.html', 'Package classes define groups of packages, for taxation, ordering convenience and reporting.' ];
+ $config_pkg{'Package categories'} = [ $fsurl.'browse/pkg_category.html', 'Package categories define groups of package classes, for invoice sections.' ];
+ $config_pkg{'Package report classes'} = [ $fsurl.'browse/part_pkg_report_option.html', 'Package classes define optional groups of packages for reporting only.' ];
+ #eo package grouping sub-menu
+
+ $config_pkg{'Discounts'} = [ $fsurl.'browse/discount.html', '' ];
+ $config_pkg{'Cancel/Suspend Reasons'} = [ \%config_pkg_reason, '' ];
+}
+
+tie my %config_cust, 'Tie::IxHash',
+ '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{'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);
+