package FS::Conf;
use strict;
-use vars qw( $base_dir @config_items @base_items @card_types $DEBUG
+use vars qw( $base_dir @config_items @base_items @card_types @invoice_terms
+ $DEBUG
$conf_cache $conf_cache_enabled
);
use Carp;
'key' => $_,
'base_key' => $proto->key,
'section' => $proto->section,
- 'description' => 'Alternate ' . $proto->description . ' See the <a href="http://www.freeside.biz/mediawiki/index.php/Freeside:2.1:Documentation:Administration#Invoice_templates">billing documentation</a> for details.',
+ 'description' => 'Alternate ' . $proto->description . ' See the <a href="http://www.freeside.biz/mediawiki/index.php/Freeside:3:Documentation:Administration#Invoice_templates">billing documentation</a> for details.',
'type' => $proto->type,
};
} &$listmaker($base);
logo.eps
);
+@invoice_terms = (
+ '',
+ 'Payable upon receipt',
+ 'Net 0', 'Net 3', 'Net 5', 'Net 7', 'Net 9', 'Net 10', 'Net 14',
+ 'Net 15', 'Net 18', 'Net 20', 'Net 21', 'Net 25', 'Net 30', 'Net 45',
+ 'Net 60', 'Net 90'
+);
+
my %msg_template_options = (
'type' => 'select-sub',
'options_sub' => sub {
},
{
- 'key' => 'alert_expiration',
- 'section' => 'deprecated',
- 'description' => 'Enable alerts about credit card expiration. This is obsolete and no longer works.',
- 'type' => 'checkbox',
- 'per_agent' => 1,
- },
-
- {
- 'key' => 'alerter_template',
- 'section' => 'deprecated',
- 'description' => 'Template file for billing method expiration alerts (i.e. expiring credit cards).',
- 'type' => 'textarea',
- 'per_agent' => 1,
- },
-
- {
- 'key' => 'alerter_msgnum',
- 'section' => 'deprecated',
- 'description' => 'Template to use for credit card expiration alerts.',
- %msg_template_options,
- },
-
- {
'key' => 'part_pkg-lineage',
'section' => 'packages',
'description' => 'When editing a package definition, if setup or recur fees are changed, create a new package rather than changing the existing package.',
{
'key' => 'invoice_template',
'section' => 'invoice_templates',
- '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 <a href="http://www.freeside.biz/mediawiki/index.php/Freeside:2.1:Documentation:Administration#Plaintext_invoice_templates">billing documentation</a> 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 <a href="http://www.freeside.biz/mediawiki/index.php/Freeside:3:Documentation:Administration#Plaintext_invoice_templates">billing documentation</a> for details.',
'type' => 'textarea',
},
{
'key' => 'invoice_html',
'section' => 'invoice_templates',
- 'description' => 'HTML template for invoices. See the <a href="http://www.freeside.biz/mediawiki/index.php/Freeside:2.1:Documentation:Administration#HTML_invoice_templates">billing documentation</a> for details.',
+ 'description' => 'HTML template for invoices. See the <a href="http://www.freeside.biz/mediawiki/index.php/Freeside:3:Documentation:Administration#HTML_invoice_templates">billing documentation</a> for details.',
'type' => 'textarea',
},
{
'key' => 'invoice_latex',
'section' => 'invoice_templates',
- 'description' => 'Optional LaTeX template for typeset PostScript invoices. See the <a href="http://www.freeside.biz/mediawiki/index.php/Freeside:2.1:Documentation:Administration#Typeset_.28LaTeX.29_invoice_templates">billing documentation</a> for details.',
+ 'description' => 'Optional LaTeX template for typeset PostScript invoices. See the <a href="http://www.freeside.biz/mediawiki/index.php/Freeside:3:Documentation:Administration#Typeset_.28LaTeX.29_invoice_templates">billing documentation</a> for details.',
'type' => 'textarea',
},
'description' => 'Optional default invoice term, used to calculate a due date printed on invoices.',
'type' => 'select',
'per_agent' => 1,
- 'select_enum' => [
- '', 'Payable upon receipt', 'Net 0', 'Net 3', 'Net 5', 'Net 7', 'Net 9', 'Net 10', 'Net 14',
- 'Net 15', 'Net 18', 'Net 20', 'Net 21', 'Net 25', 'Net 30', 'Net 45',
- 'Net 60', 'Net 90'
- ], },
+ 'select_enum' => \@invoice_terms,
+ },
{
'key' => 'invoice_show_prior_due_date',
{
'key' => 'signupurl',
'section' => 'signup',
- 'description' => 'if you are using customer-to-customer referrals, and you enter the URL of your <a href="http://www.freeside.biz/mediawiki/index.php/Freeside:2.1:Documentation:Self-Service_Installation">signup server CGI</a>, the customer view screen will display a customized link to self-signup with the appropriate customer as referral',
+ 'description' => 'if you are using customer-to-customer referrals, and you enter the URL of your <a href="http://www.freeside.biz/mediawiki/index.php/Freeside:3:Documentation:Self-Service_Installation">signup server CGI</a>, the customer view screen will display a customized link to self-signup with the appropriate customer as referral',
'type' => 'text',
},
{
'key' => 'ticket_system',
'section' => 'ticketing',
- 'description' => 'Ticketing system integration. <b>RT_Internal</b> uses the built-in RT ticketing system (see the <a href="http://www.freeside.biz/mediawiki/index.php/Freeside:2.1:Documentation:RT_Installation">integrated ticketing installation instructions</a>). <b>RT_External</b> accesses an external RT installation in a separate database (local or remote).',
+ 'description' => 'Ticketing system integration. <b>RT_Internal</b> uses the built-in RT ticketing system (see the <a href="http://www.freeside.biz/mediawiki/index.php/Freeside:3:Documentation:RT_Installation">integrated ticketing installation instructions</a>). <b>RT_External</b> 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' => 'cust_pkg-always_show_location',
- 'section' => 'packages',
- 'description' => "Always display package locations, even when they're all the default service address.",
- 'type' => 'checkbox',
- },
-
- {
'key' => 'cust_pkg-group_by_location',
'section' => 'packages',
'description' => "Group packages by location.",
},
{
- 'key' => 'voip-cust_email_csv_cdr',
- 'section' => 'deprecated',
- 'description' => 'Deprecated, see voip-cdr_email_attach instead. Used to enable the per-customer option for including CDR information as a CSV attachment on emailed invoices.',
- 'type' => 'checkbox',
- },
-
- {
'key' => 'voip-cdr_email_attach',
'section' => 'telephony',
'description' => 'Enable the per-customer option for including CDR information as an attachment on emailed invoices.',
},
{
+ 'key' => 'invoice-all_pkg_addresses',
+ 'section' => 'invoicing',
+ 'description' => 'Show all package addresses on invoices, even the default.',
+ 'type' => 'checkbox',
+ },
+
+ {
'key' => 'invoice-unitprice',
'section' => 'invoicing',
'description' => 'Enable unit pricing on invoices and quantities on packages.',
},
{
- 'key' => 'referral_credit_type',
- 'section' => 'deprecated',
- 'description' => 'Used to be the group to use for new, automatically generated credit reasons resulting from referrals. Now set in a package billing event for the referral.',
- reason_type_options('R'),
- },
-
- # was only used to negate invoices during signup when card was declined, now we just void
- {
- 'key' => 'signup_credit_type',
- 'section' => 'deprecated', #self-service?
- 'description' => 'The group to use for new, automatically generated credit reasons resulting from signup and self-service declines.',
- reason_type_options('R'),
- },
-
- {
'key' => 'prepayment_discounts-credit_type',
'section' => 'billing',
'description' => 'Enables the offering of prepayment discounts and establishes the credit reason type.',
# },
{
+ 'key' => 'cdr-skip_duplicate_rewrite',
+ 'section' => 'telephony',
+ 'description' => 'Use the freeside-cdrrewrited daemon to prevent billing CDRs with a src, dst and calldate identical to an existing CDR',
+ 'type' => 'checkbox',
+ },
+
+ {
'key' => 'cdr-charged_party_rewrite',
'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*.',
},
{
- 'key' => 'tax-cust_exempt-groups-require_individual_nums',
- 'section' => 'deprecated',
- 'description' => 'Deprecated: see tax-cust_exempt-groups-number_requirement',
- 'type' => 'checkbox',
- },
-
- {
'key' => 'tax-cust_exempt-groups-num_req',
'section' => 'taxation',
'description' => 'When using tax-cust_exempt-groups, control whether individual tax exemption numbers are required for exemption from different taxes.',
},
{
- 'key' => 'svc_broadband-require-nw-coordinates',
- 'section' => 'deprecated',
- 'description' => 'Deprecated; see geocode-require_nw_coordinates instead',
- 'type' => 'checkbox',
- },
-
- {
'key' => 'cust-edit-alt-field-order',
'section' => 'customer_fields',
'description' => 'An alternate ordering of fields for the New Customer and Edit Customer screens.',