X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=870c0095f679af117d0e627d70ac49438db23f5b;hb=9939ddd7f968caa03c6632d56d46d9519d1c1905;hp=6042cae04f376b5c372d85eae20af6d63a4bce2b;hpb=a8d1f57eba87ab0f00ce5cd3ba8ef0cef956f68f;p=freeside.git diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 6042cae04..870c0095f 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -2,6 +2,9 @@ package FS::Conf; use vars qw($base_dir @config_items @base_items @card_types $DEBUG); use strict; +use vars qw( $base_dir @config_items @base_items @card_types @invoice_terms + $DEBUG + ); use Carp; use IO::File; use File::Basename; @@ -571,7 +574,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); @@ -689,6 +692,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 { @@ -1056,6 +1067,13 @@ my $validate_email = sub { $_[0] =~ }, { + 'key' => 'business-onlinepayment-verification', + 'section' => 'billing', + 'description' => 'Run a $1 authorization (followed by a void) to verify new credit card information.', + 'type' => 'checkbox', + }, + + { 'key' => 'currency', 'section' => 'billing', 'description' => 'Currency', @@ -1327,7 +1345,7 @@ my $validate_email = sub { $_[0] =~ { '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', }, @@ -1649,11 +1667,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', @@ -2211,10 +2226,18 @@ and customer address. Include units.', }, { - 'key' => 'safe-part_bill_event', + 'key' => 'google_maps_api_key', 'section' => 'UI', - 'description' => 'Validates invoice event expressions against a preset list. Useful for webdemos, annoying to powerusers.', - 'type' => 'checkbox', + '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, }, { @@ -3231,7 +3254,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) ], @@ -3498,7 +3521,7 @@ and customer address. Include units.', { 'key' => 'cust_main-require_address2', 'section' => 'UI', - 'description' => 'Second address field is required (on service address only, if billing and service addresses differ). Also enables "Unit" labeling of address2 on customer view and edit pages. Useful for multi-tenant applications. See also: address2-search', + 'description' => 'Second address field is required. Also enables "Unit" labeling of address2 on customer view and edit pages. Useful for multi-tenant applications. See also: address2-search', # service address only part not working in the modern world, see #41184 (on service address only, if billing and service addresses differ) 'type' => 'checkbox', }, @@ -3853,6 +3876,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.', @@ -4417,6 +4447,13 @@ and customer address. Include units.', }, { + 'key' => 'cust_main-require_classnum', + 'section' => '', + 'description' => 'Customer class is required: require customer class for all customer records.', + 'type' => 'checkbox', + }, + + { 'key' => 'cust_main-check_unique', 'section' => '', 'description' => 'Warn before creating a customer record where these fields duplicate another customer.', @@ -4596,7 +4633,6 @@ and customer address. Include units.', 'usps' => 'U.S. Postal Service', 'uscensus' => 'U.S. Census Bureau', 'ezlocate' => 'EZLocate', - 'tomtom' => 'TomTom', 'melissa' => 'Melissa WebSmart', 'freeside' => 'Freeside web service (support contract required)', ], @@ -4617,13 +4653,6 @@ and customer address. Include units.', }, { - 'key' => 'tomtom-userid', - 'section' => 'UI', - 'description' => 'TomTom geocoding service API key. See the TomTom website to obtain a key. This is recommended for addresses in the United States only.', - 'type' => 'text', - }, - - { 'key' => 'ezlocate-userid', 'section' => 'UI', 'description' => 'User ID for EZ-Locate service. See the TomTom website for access and pricing information.', @@ -5307,6 +5336,20 @@ 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.', + 'type' => 'checkbox', + }, + + { 'key' => 'cdr-gsm_tap3-sender', 'section' => 'telephony', 'description' => 'GSM TAP3 Sender network (5 letter code)', @@ -5441,7 +5484,7 @@ and customer address. Include units.', { 'key' => 'tax-cust_exempt-groups-require_individual_nums', 'section' => 'deprecated', - 'description' => 'Deprecated: see tax-cust_exempt-groups-number_requirement', + 'description' => 'Deprecated: see tax-cust_exempt-groups-num_req', 'type' => 'checkbox', }, @@ -5765,8 +5808,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. Defaults to 50. (With current invoice_latex template, this is handled internally in the template itself instead.)', 'type' => 'text', }, @@ -5925,6 +5968,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',