add previous balance to invoice localization, RT#72714
[freeside.git] / FS / FS / Conf.pm
index e1b2db8..6d6e28a 100644 (file)
@@ -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 <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);
@@ -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 { 
@@ -1334,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 <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',
   },
 
@@ -1656,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',
@@ -2225,6 +2233,21 @@ and customer address. Include units.',
   },
 
   {
+    'key'         => 'google_maps_api_key',
+    'section'     => 'UI',
+    'description' => 'API key for google maps.  This must be set for map and directions links to work.  See <a href="https://developers.google.com/maps/documentation/javascript/get-api-key" target="_top">Getting a Google Maps API Key</a>',
+    'type'        => 'text',
+  },
+
+  {
+    'key'         => 'company_physical_address',
+    'section'     => 'UI',
+    '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'     => 'UI',
     'description' => 'Turns on display/collection of a "service company name" field for customers.',
@@ -3238,7 +3261,7 @@ and customer address. Include units.',
   {
     '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) ],
@@ -3860,6 +3883,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.',
@@ -4424,6 +4454,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.',
@@ -4526,6 +4563,7 @@ and customer address. Include units.',
     'section'     => 'invoicing',
     'description' => 'Text for the label of the total previous balance, when it is shown separately. Defaults to "Previous Balance".',
     'type'        => 'text',
+    'per_locale'  => 1,
   },
 
   {
@@ -4533,6 +4571,7 @@ and customer address. Include units.',
     'section'     => 'invoicing',
     'description' => 'Text for the label of the total of new charges, when it is shown separately. If invoice_show_prior_due_date is enabled, the due date of current charges will be appended. Defaults to "Total New Charges".',
     'type'        => 'text',
+    'per_locale'  => 1,
   },
 
   {
@@ -4603,7 +4642,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)',
                      ],
@@ -4624,13 +4662,6 @@ and customer address. Include units.',
   },
 
   {
-    'key'         => 'tomtom-userid',
-    'section'     => 'UI',
-    'description' => 'TomTom geocoding service API key.  See <a href="http://www.tomtom.com/">the TomTom website</a> 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 <a href="http://www.geocode.com/">the TomTom website</a> for access and pricing information.',
@@ -5314,6 +5345,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.',
@@ -5455,7 +5493,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',
   },
 
@@ -5779,8 +5817,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',
   },
 
@@ -5939,6 +5977,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 <a href ="#support-key">support-key</a>.',
+    'type'        => 'checkbox',
+  },
   
   {
     'key'         => 'brand-agent',