X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=95a9574a2106dc8ca21f93c39c95d15a5b4b0764;hb=d860fbfec44c5e4bdf8e486b24d789d266f325dd;hp=9e43208994bde1c31e4bee8304ded1126405c53c;hpb=66e53a76d61ebda8f21c5dde982bd96a1e5cf198;p=freeside.git diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 9e4320899..95a9574a2 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -584,6 +584,26 @@ my %msg_template_options = ( '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) @@ -769,6 +789,17 @@ my %msg_template_options = ( }, { + 'key' => 'date_format_long', + 'section' => 'UI', + 'description' => 'Verbose format for displaying dates', + 'type' => 'select', + 'select_hash' => [ + '%b %o, %Y' => 'Mon DDth, YYYY', + '%e %b %Y' => 'DD Mon YYYY', + ], + }, + + { 'key' => 'deletecustomers', 'section' => 'UI', 'description' => 'Enable customer deletions. Be very careful! Deleting a customer will remove all traces that the customer ever existed! It should probably only be used when auditing a legacy database. Normally, you cancel all of a customers\' packages if they cancel service.', @@ -1726,6 +1757,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).', @@ -1811,6 +1849,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', @@ -2278,6 +2323,13 @@ and customer address. Include units.', }, { + '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.', @@ -2704,6 +2756,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.", @@ -2747,28 +2806,28 @@ and customer address. Include units.', { 'key' => 'voip-cust_cdr_spools', - 'section' => '', + 'section' => 'telephony', 'description' => 'Enable the per-customer option for individual CDR spools.', 'type' => 'checkbox', }, { 'key' => 'voip-cust_cdr_squelch', - 'section' => '', + 'section' => 'telephony', 'description' => 'Enable the per-customer option for not printing CDR on invoices.', 'type' => 'checkbox', }, { 'key' => 'voip-cdr_email', - 'section' => '', + 'section' => 'telephony', 'description' => 'Include the call details on emailed invoices (and HTML invoices viewed in the backend), even if the customer is configured for not printing them on the invoices.', 'type' => 'checkbox', }, { 'key' => 'voip-cust_email_csv_cdr', - 'section' => '', + 'section' => 'telephony', 'description' => 'Enable the per-customer option for including CDR information as a CSV attachment on emailed invoices.', 'type' => 'checkbox', }, @@ -2954,13 +3013,13 @@ and customer address. Include units.', 'type' => 'textarea', }, -# { -# '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 dangerous, but may be needed if your processor does not provide a list of approved payments.', -# 'type' => 'checkbox', -# }, -# + { + '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', @@ -3290,6 +3349,7 @@ and customer address. Include units.', 'type' => 'select', 'select_hash' => [ '' => 'Numeric only', + '\d{7}' => 'Numeric only, exactly 7 digits', 'ww?d+' => 'Numeric with one or two letter prefix', ], }, @@ -3723,31 +3783,38 @@ and customer address. Include units.', { 'key' => 'svc_phone-radius-default_password', - 'section' => '', + 'section' => 'telephony', 'description' => 'Default password when exporting svc_phone records to RADIUS', 'type' => 'text', }, { 'key' => 'svc_phone-allow_alpha_phonenum', - 'section' => '', + 'section' => 'telephony', 'description' => 'Allow letters in phone numbers.', 'type' => 'checkbox', }, { 'key' => 'svc_phone-domain', - 'section' => '', + 'section' => 'telephony', 'description' => 'Track an optional domain association with each phone service.', 'type' => 'checkbox', }, { 'key' => 'svc_phone-phone_name-max_length', - 'section' => '', + 'section' => 'telephony', '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' => 'telephony', + 'description' => 'Enables Number Portability features for svc_phone', + 'type' => 'checkbox', + }, { 'key' => 'default_phone_countrycode', @@ -3758,7 +3825,7 @@ and customer address. Include units.', { 'key' => 'cdr-charged_party-field', - 'section' => '', + 'section' => 'telephony', 'description' => 'Set the charged_party field of CDRs to this field.', 'type' => 'select-sub', 'options_sub' => sub { my $fields = FS::cdr->table_info->{'fields'}; @@ -3774,14 +3841,14 @@ and customer address. Include units.', #probably deprecate in favor of cdr-charged_party-field above { 'key' => 'cdr-charged_party-accountcode', - 'section' => '', + 'section' => 'telephony', 'description' => 'Set the charged_party field of CDRs to the accountcode.', 'type' => 'checkbox', }, { 'key' => 'cdr-charged_party-accountcode-trim_leading_0s', - 'section' => '', + 'section' => 'telephony', 'description' => 'When setting the charged_party field of CDRs to the accountcode, trim any leading zeros.', 'type' => 'checkbox', }, @@ -3802,7 +3869,7 @@ and customer address. Include units.', { 'key' => 'cdr-charged_party_rewrite', - 'section' => '', + 'section' => 'telephony', 'description' => 'Do charged party rewriting in the freeside-cdrrewrited daemon; useful if CDRs are being dropped off directly in the database and require special charged_party processing such as cdr-charged_party-accountcode or cdr-charged_party-truncate*.', 'type' => 'checkbox', }, @@ -3823,7 +3890,7 @@ and customer address. Include units.', { 'key' => 'cdr-asterisk_forward_rewrite', - 'section' => '', + 'section' => 'telephony', 'description' => 'Enable special processing for CDRs representing forwarded calls: For CDRs that have a dcontext that starts with "Local/" but does not match dst, set charged_party to dst, parse a new dst from dstchannel, and set amaflags to "2" ("BILL"/"BILLING").', 'type' => 'checkbox', }, @@ -4119,6 +4186,55 @@ and customer address. Include units.', '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' => 'opensips_gwlist', + 'section' => 'telephony', + 'description' => 'For svc_phone OpenSIPS dr_rules export, gwlist column value, per-agent', + 'type' => 'text', + 'per_agent' => 1, + 'agentonly' => 1, + }, + + { + 'key' => 'opensips_description', + 'section' => 'telephony', + 'description' => 'For svc_phone OpenSIPS dr_rules export, description column value, per-agent', + 'type' => 'text', + 'per_agent' => 1, + 'agentonly' => 1, + }, + + { + 'key' => 'opensips_route', + 'section' => 'telephony', + 'description' => 'For svc_phone OpenSIPS dr_rules export, routeid column value, per-agent', + 'type' => 'text', + 'per_agent' => 1, + 'agentonly' => 1, + }, + + { + 'key' => 'cust_bill-no_recipients-error', + 'section' => 'invoicing', + 'description' => 'For customers with no invoice recipients, throw a job queue error rather than the default behavior of emailing the invoice to the invoice_from address.', + 'type' => 'checkbox', + }, + + { + 'key' => 'cust_main-status_module', + 'section' => 'UI', + 'description' => 'Which module to use for customer status display. The "Classic" module (the default) considers accounts with cancelled recurring packages but un-cancelled one-time charges Inactive. The "Recurring" module considers those customers Cancelled. Similarly for customers with suspended recurring packages but one-time charges.', #other differences? + 'type' => 'select', + 'select_enum' => [ 'Classic', 'Recurring' ], + }, { key => "apacheroot", section => "deprecated", description => "DEPRECATED", type => "text" }, { key => "apachemachine", section => "deprecated", description => "DEPRECATED", type => "text" },