X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=d3cd994be66f4c3b46206528ab39b4a9d66040b6;hb=0bebde603df97eb496150e80a58755b2f792f64a;hp=1d946a5e80439eda25f1640fe25604702f1696fb;hpb=fc267dbfc917f810ae59bcf6149f789bd93b13b5;p=freeside.git diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 1d946a5e8..d3cd994be 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -465,7 +465,7 @@ sub _orbase_items { 'key' => $_, 'base_key' => $proto->key, 'section' => $proto->section, - 'description' => 'Alternate ' . $proto->description . ' See the billing documentation for details.', + 'description' => 'Alternate ' . $proto->description . ' See the billing documentation for details.', 'type' => $proto->type, }; } &$listmaker($base); @@ -568,18 +568,42 @@ logo.eps my %msg_template_options = ( 'type' => 'select-sub', - 'options_sub' => sub { require FS::Record; - require FS::agent; - require FS::msg_template; - map { $_->msgnum, $_->msgname } - qsearch('msg_template', { disabled => '' }); - }, - 'option_sub' => sub { require FS::msg_template; + 'options_sub' => sub { + my @templates = qsearch({ + 'table' => 'msg_template', + 'hashref' => { 'disabled' => '' }, + 'extra_sql' => ' AND '. + $FS::CurrentUser::CurrentUser->agentnums_sql(null => 1), + }); + map { $_->msgnum, $_->msgname } @templates; + }, + 'option_sub' => sub { my $msg_template = FS::msg_template->by_key(shift); $msg_template ? $msg_template->msgname : '' }, + 'per_agent' => 1, ); +my $_gateway_name = sub { + my $g = shift; + return '' if !$g; + ($g->gateway_username . '@' . $g->gateway_module); +}; + +my %payment_gateway_options = ( + 'type' => 'select-sub', + 'options_sub' => sub { + my @gateways = qsearch({ + 'table' => 'payment_gateway', + 'hashref' => { 'disabled' => '' }, + }); + map { $_->gatewaynum, $_gateway_name->($_) } @gateways; + }, + 'option_sub' => sub { + my $gateway = FS::payment_gateway->by_key(shift); + $_gateway_name->($gateway); + }, +); #Billing (81 items) #Invoicing (50 items) @@ -947,14 +971,14 @@ my %msg_template_options = ( { 'key' => 'invoice_template', 'section' => 'invoicing', - 'description' => 'Text template file for invoices. Used if no invoice_html template is defined, and also seen by users using non-HTML capable mail clients. See the billing documentation for details.', + 'description' => 'Text template file for invoices. Used if no invoice_html template is defined, and also seen by users using non-HTML capable mail clients. See the billing documentation for details.', 'type' => 'textarea', }, { 'key' => 'invoice_html', 'section' => 'invoicing', - 'description' => 'Optional HTML template for invoices. See the billing documentation for details.', + 'description' => 'Optional HTML template for invoices. See the billing documentation for details.', 'type' => 'textarea', }, @@ -993,7 +1017,7 @@ my %msg_template_options = ( { 'key' => 'invoice_latex', 'section' => 'invoicing', - 'description' => 'Optional LaTeX template for typeset PostScript invoices. See the billing documentation for details.', + 'description' => 'Optional LaTeX template for typeset PostScript invoices. See the billing documentation for details.', 'type' => 'textarea', }, @@ -1246,6 +1270,7 @@ and customer address. Include units.', 'section' => 'notification', 'description' => 'Send payment receipts.', 'type' => 'checkbox', + 'per_agent' => 1, }, { @@ -1271,6 +1296,7 @@ and customer address. Include units.', 'cust_pay' => 'When payment is made.', 'cust_bill_pay_pkg' => 'When payment is applied.', ], + 'per_agent' => 1, }, { @@ -1448,7 +1474,7 @@ and customer address. Include units.', { 'key' => 'signupurl', 'section' => 'UI', - 'description' => 'if you are using customer-to-customer referrals, and you enter the URL of your signup server CGI, the customer view screen will display a customized link to the signup server with the appropriate customer as referral', + 'description' => 'if you are using customer-to-customer referrals, and you enter the URL of your signup server CGI, the customer view screen will display a customized link to the signup server with the appropriate customer as referral', 'type' => 'text', }, @@ -1720,6 +1746,13 @@ and customer address. Include units.', }, { + 'key' => 'selfservice-payment_gateway', + 'section' => 'self-service', + 'description' => 'Force the use of this payment gateway for self-service.', + %payment_gateway_options, + }, + + { 'key' => 'selfservice-save_unchecked', 'section' => 'self-service', 'description' => 'In self-service, uncheck "Remember information" checkboxes by default (normally, they are checked by default).', @@ -1805,6 +1838,13 @@ and customer address. Include units.', 'svc_pbx' => 'PBX (svc_pbx)', ], }, + + { + 'key' => 'signup_server-prepaid-template-custnum', + 'section' => 'self-service', + 'description' => 'When the signup server is used with prepaid cards and customer info is not required for signup, the contact/address info will be copied from this customer, if specified', + 'type' => 'text', + }, { 'key' => 'selfservice_server-base_url', @@ -1874,6 +1914,7 @@ and customer address. Include units.', 'section' => 'notification', 'description' => 'Enable emailing of credit card and electronic check decline notices.', 'type' => 'checkbox', + 'per_agent' => 1, }, { @@ -1881,6 +1922,7 @@ and customer address. Include units.', 'section' => 'notification', 'description' => 'List of error messages that should not trigger email decline notices, one per line.', 'type' => 'textarea', + 'per_agent' => 1, }, { @@ -1909,6 +1951,7 @@ and customer address. Include units.', 'section' => 'notification', 'description' => 'Enable emailing of cancellation notices. Make sure to select the template in the cancel_msgnum option.', 'type' => 'checkbox', + 'per_agent' => 1, }, { @@ -2261,6 +2304,28 @@ and customer address. Include units.', }, { + 'key' => 'selfservice_server-login_svcpart', + 'section' => 'self-service', + 'description' => 'If specified, only allow the specified svcparts to login to self-service.', + 'type' => 'select-part_svc', + 'multiple' => 1, + }, + + { + 'key' => 'selfservice-recent-did-age', + 'section' => 'self-service', + 'description' => 'If specified, defines "recent", in number of seconds, for "Download recently allocated DIDs" in self-service.', + 'type' => 'text', + }, + + { + 'key' => 'selfservice_server-view-wholesale', + 'section' => 'self-service', + 'description' => 'If enabled, use a wholesale package view in the self-service.', + 'type' => 'checkbox', + }, + + { 'key' => 'selfservice-agent_signup', 'section' => 'self-service', 'description' => 'Allow agent signup via self-service.', @@ -2294,6 +2359,32 @@ and customer address. Include units.', }, { + 'key' => 'selfservice-self_suspend_reason', + 'section' => 'self-service', + 'description' => 'Suspend reason when customers suspend their own packages. Set to nothing to disallow self-suspension.', + 'type' => 'select-sub', + 'options_sub' => sub { require FS::Record; + require FS::reason; + my $type = qsearchs('reason_type', + { class => 'S' }) + or return (); + map { $_->reasonnum => $_->reason } + FS::Record::qsearch('reason', + { reason_type => $type->typenum } + ); + }, + 'option_sub' => sub { require FS::Record; + require FS::reason; + my $reason = FS::Record::qsearchs( + 'reason', { 'reasonnum' => shift } + ); + $reason ? $reason->reason : ''; + }, + + 'per_agent' => 1, + }, + + { 'key' => 'card_refund-days', 'section' => 'billing', 'description' => 'After a payment, the number of days a refund link will be available for that payment. Defaults to 120.', @@ -2357,13 +2448,22 @@ and customer address. Include units.', { 'key' => 'ticket_system', 'section' => '', - 'description' => 'Ticketing system integration. RT_Internal uses the built-in RT ticketing system (see the integrated ticketing installation instructions). RT_External accesses an external RT installation in a separate database (local or remote).', + 'description' => 'Ticketing system integration. RT_Internal uses the built-in RT ticketing system (see the integrated ticketing installation instructions). RT_External accesses an external RT installation in a separate database (local or remote).', 'type' => 'select', #'select_enum' => [ '', qw(RT_Internal RT_Libs RT_External) ], 'select_enum' => [ '', qw(RT_Internal RT_External) ], }, { + 'key' => 'network_monitoring_system', + 'section' => '', + 'description' => 'Networking monitoring system (NMS) integration. Torrus_Internal uses the built-in Torrus ticketing system (see the integrated networking monitoring system installation instructions).', + 'type' => 'select', + #'select_enum' => [ '', qw(RT_Internal RT_Libs RT_External) ], + 'select_enum' => [ '', qw(Torrus_Internal) ], + }, + + { 'key' => 'ticket_system-default_queueid', 'section' => '', 'description' => 'Default queue used when creating new customer tickets.', @@ -2654,6 +2754,13 @@ and customer address. Include units.', }, { + 'key' => 'cust_pkg-group_by_location', + 'section' => 'UI', + 'description' => "Group packages by location.", + 'type' => 'checkbox', + }, + + { 'key' => 'cust_pkg-show_fcc_voice_grade_equivalent', 'section' => 'UI', 'description' => "Show a field on package definitions for assigning a DSO equivalency number suitable for use on FCC form 477.", @@ -2905,6 +3012,13 @@ and customer address. Include units.', }, { + 'key' => 'batch-manual_approval', + 'section' => 'billing', + 'description' => 'Allow manual batch closure, which will approve all payments that do not yet have a status. This is not advised, but is needed for payment processors that provide a report of rejected rather than approved payments.', + 'type' => 'checkbox', + }, + + { 'key' => 'payment_history-years', 'section' => 'UI', 'description' => 'Number of years of payment history to show by default. Currently defaults to 2.', @@ -3691,6 +3805,13 @@ and customer address. Include units.', 'description' => 'Maximum length of the phone service "Name" field (svc_phone.phone_name). Sometimes useful to limit this (to 15?) when exporting as Caller ID data.', 'type' => 'text', }, + + { + 'key' => 'svc_phone-lnp', + 'section' => '', + 'description' => 'Enables Number Portability features for svc_phone', + 'type' => 'checkbox', + }, { 'key' => 'default_phone_countrycode', @@ -4041,6 +4162,53 @@ and customer address. Include units.', 'description' => 'Default the "Continue recurring billing while suspended" flag to on for new package definitions.', 'type' => 'checkbox', }, + + { + 'key' => 'qual-alt-address-format', + 'section' => 'UI', + 'description' => 'Enable the alternate address format (location type, number, and kind) on qualifications', + 'type' => 'checkbox', + }, + + { + 'key' => 'note-classes', + 'section' => 'UI', + 'description' => 'Use customer note classes', + 'type' => 'select', + 'select_hash' => [ + 0 => 'Disabled', + 1 => 'Enabled', + 2 => 'Enabled, with tabs', + ], + }, + + { + 'key' => 'svc_acct-cf_privatekey-message', + 'section' => '', + 'description' => 'For internal use: HTML displayed when cf_privatekey field is set.', + 'type' => 'textarea', + }, + + { + 'key' => 'menu-prepend_links', + 'section' => 'UI', + 'description' => 'Links to prepend to the main menu, one per line, with format "URL Link Label (optional ALT popup)".', + 'type' => 'textarea', + }, + + { + 'key' => 'cust_main-external_links', + 'section' => 'UI', + 'description' => 'External links available in customer view, one per line, with format "URL Link Label (optional ALT popup)". The URL will have custnum appended.', + 'type' => 'textarea', + }, + + { + 'key' => 'svc_phone-did-summary', + 'section' => 'invoicing', + 'description' => 'Enable DID activity summary for past 30 days on invoices, showing # DIDs activated/deactivated/ported-in/ported-out and total minutes usage', + 'type' => 'checkbox', + }, { key => "apacheroot", section => "deprecated", description => "DEPRECATED", type => "text" }, { key => "apachemachine", section => "deprecated", description => "DEPRECATED", type => "text" },