+tie my %config_conferencing, 'Tie::IxHash',
+ 'Conferencing types' => [ $fsurl.'browse/conferencing_type.html', '' ],
+ 'Quality levels' => [ $fsurl.'browse/conferencing_quality.html', '' ],
+;
+
+tie my %config_circuit, 'Tie::IxHash',
+ 'Circuit types' => [ $fsurl.'browse/circuit_type.html', '' ],
+ 'Circuit providers' => [ $fsurl.'browse/circuit_provider.html', '' ],
+ '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' ];
+ $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, '' ]
+ 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{'Conferencing'} = [ \%config_conferencing, '' ]
+ if $curuser->access_right('Configuration');
+$config_export_svc{'Alarm'} = [ \%config_alarm, '' ]
+ 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_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', ();
+$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
+
+ if ( $curuser->access_right([ 'Edit fee definitions',
+ 'Edit global fee definitions' ]) ) {
+ $config_pkg{'Fees'} = [ $fsurl.'browse/part_fee.html', '' ];
+ }
+ $config_pkg{'Discounts'} = [ $fsurl.'browse/discount.html', '' ];
+ $config_pkg{'Discount classes'} = [ $fsurl.'browse/discount_class.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);
+