X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=a7e5d947a3b1c9be6da7d9d65855ff9e81dda5f8;hp=a0eaab5c7050f5947649f8f2ef15cf10b2a3151b;hb=bda14295c400a8e829c223b80e55826977992ecc;hpb=74973314e229399b05723de7b0ac3fce7a09db07 diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index a0eaab5c7..a7e5d947a 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -1,7 +1,8 @@ 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; @@ -510,7 +511,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); @@ -616,6 +617,14 @@ logo.png 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 { @@ -949,7 +958,7 @@ my $validate_email = sub { $_[0] =~ 'section' => 'credit_cards', 'description' => 'Currency parameter for Business::OnlinePayment transactions.', 'type' => 'select', - 'select_enum' => [ '', qw( USD AUD CAD DKK EUR GBP ILS JPY NZD ) ], + 'select_enum' => [ '', qw( USD AUD CAD DKK EUR GBP ILS JPY NZD ARS ) ], }, { @@ -964,7 +973,7 @@ my $validate_email = sub { $_[0] =~ 'section' => 'localization', 'description' => 'Main accounting currency', 'type' => 'select', - 'select_enum' => [ '', qw( USD AUD CAD DKK EUR GBP ILS JPY NZD XAF ) ], + 'select_enum' => [ '', qw( USD AUD CAD DKK EUR GBP ILS JPY NZD XAF ARS ) ], }, { @@ -1199,14 +1208,14 @@ my $validate_email = sub { $_[0] =~ { '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 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' => 'invoice_templates', - 'description' => 'HTML template for invoices. See the billing documentation for details.', + 'description' => 'HTML template for invoices. See the billing documentation for details.', 'type' => 'textarea', }, @@ -1266,7 +1275,7 @@ my $validate_email = sub { $_[0] =~ { 'key' => 'invoice_latex', 'section' => 'invoice_templates', - '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', }, @@ -1521,11 +1530,8 @@ and customer address. Include units.', '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', @@ -1815,6 +1821,13 @@ and customer address. Include units.', }, { + 'key' => 'cust_main-packages-num_per_page', + 'section' => 'packages', + 'description' => 'Number of packages to display per page on customer view (default 10).', + 'type' => 'text', + }, + + { 'key' => 'disable_maxselect', 'section' => 'reporting', 'description' => 'Prevent changing the number of records per page.', @@ -1859,7 +1872,7 @@ and customer address. Include units.', { 'key' => 'signupurl', 'section' => 'signup', - '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 self-signup 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 self-signup with the appropriate customer as referral', 'type' => 'text', }, @@ -2056,6 +2069,21 @@ and customer address. Include units.', }, { + 'key' => 'google_maps_api_key', + 'section' => 'addresses', + 'description' => 'API key for google maps. This must be set for map and directions links to work. See Getting a Google Maps API Key', + 'type' => 'text', + }, + + { + 'key' => 'company_physical_address', + 'section' => 'addresses', + 'description' => 'Your physical company address, for use in supplying google map directions, defaults to company_address', + 'type' => 'textarea', + 'per_agent' => 1, + }, + + { 'key' => 'show_ship_company', 'section' => 'addresses', 'description' => 'Turns on display/collection of a "service company name" field for customers.', @@ -3015,7 +3043,7 @@ and customer address. Include units.', { 'key' => 'ticket_system', 'section' => 'ticketing', - '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) ], @@ -3441,13 +3469,6 @@ and customer address. Include units.', }, { - '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.", @@ -3596,6 +3617,13 @@ and customer address. Include units.', }, { + '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.', @@ -4133,6 +4161,13 @@ and customer address. Include units.', }, { + 'key' => 'cust_main-require_classnum', + 'section' => 'customer_fields', + 'description' => 'Customer class is required: require customer class for all customer records.', + 'type' => 'checkbox', + }, + + { 'key' => 'cust_main-check_unique', 'section' => 'customer_fields', 'description' => 'Warn before creating a customer record where these fields duplicate another customer.', @@ -4944,6 +4979,13 @@ and customer address. Include units.', # }, { + '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*.', @@ -4979,6 +5021,13 @@ and customer address. Include units.', }, { + 'key' => 'cdr-userfield_dnis_rewrite', + 'section' => 'telephony', + 'description' => 'If the CDR userfield contains "DNIS=" followed by a sequence of digits, use that as the destination number for the call.', + 'type' => 'checkbox', + }, + + { 'key' => 'cdr-intl_to_domestic_rewrite', 'section' => 'telephony', 'description' => 'Strip the "011" international prefix from CDR destination numbers if the rest of the number is 7 digits or shorter, and so probably does not contain a country code.', @@ -5429,8 +5478,8 @@ and customer address. Include units.', { 'key' => 'cust_bill-latex_lineitem_maxlength', - 'section' => 'invoicing', - 'description' => 'Truncate long line items to this number of characters on typeset invoices, to avoid losing things off the right margin. Defaults to 50. ', + 'section' => 'deprecated', + 'description' => 'With old invoice_latex template, truncate long line items to this number of characters on typeset invoices, to avoid losing things off the right margin. (With current invoice_latex template, this is handled internally in the template itself instead.)', 'type' => 'text', }, @@ -5575,6 +5624,13 @@ and customer address. Include units.', 'rate_low' => 'Lowest rate first', ], }, + + { + 'key' => 'cdr-lrn_lookup', + 'section' => 'telephony', + 'description' => 'Look up LRNs of destination numbers for exact matching to the terminating carrier. This feature requires a Freeside support contract for paid access to the central NPAC database; see support-key.', + 'type' => 'checkbox', + }, { 'key' => 'brand-agent',