package FS::Conf;
use strict;
-use vars qw($base_dir @config_items @base_items @card_types $DEBUG $conf_cache);
+use vars qw( $base_dir @config_items @base_items @card_types $DEBUG
+ $conf_cache $conf_cache_enabled
+ );
use Carp;
use IO::File;
use File::Basename;
$DEBUG = 0;
+$conf_cache_enabled = 0;
+
=head1 NAME
FS::Conf - Freeside configuration values
my($self,$name,$agentnum,$agentonly)=@_;
my $hashref = { 'name' => $name };
local $FS::Record::conf = undef; # XXX evil hack prevents recursion
+ $conf_cache = undef unless $conf_cache_enabled; # use cache only when it is
+ # safe to do so
my $cv;
my @a = (
($agentnum || ()),
my $key = join(':',$name, $a, $l);
if (! exists $conf_cache->{$key}){
$hashref->{locale} = $l;
- # $conf_cache is reset in FS::UID during myconnect, so the cache is reset per connection
+ # $conf_cache is reset in FS::UID during myconnect, so the cache is
+ # reset per connection
$conf_cache->{$key} = FS::Record::qsearchs('conf', $hashref);
}
return $conf_cache->{$key} if $conf_cache->{$key};
'select_enum' => [ qw(CARD DCRD CHEK DCHK CASH WEST MCRD MCHK PPAL) ],
},
+ {
+ 'key' => 'banned_pay-pad',
+ 'section' => 'billing',
+ 'description' => 'Padding for encrypted storage of banned credit card hashes. If you already have new-style SHA512 entries in the banned_pay table, do not change as this will invalidate the old entries.',
+ 'type' => 'text',
+ },
+
{
'key' => 'payby-default',
'section' => 'deprecated',
'type' => 'checkbox',
},
+ {
+ 'key' => 'manual_process-single_invoice_amount',
+ 'section' => 'billing',
+ 'description' => 'When entering manual credit card and ACH payments, amount will not autofill if the customer has more than one open invoice',
+ 'type' => 'checkbox',
+ },
+
{
'key' => 'manual_process-pkgpart',
'section' => 'billing',
{
'key' => 'batchconfig-RBC',
'section' => 'billing',
- 'description' => 'Configuration for Royal Bank of Canada PDS batching, four lines: 1. Client number, 2. Short name, 3. Long name, 4. Transaction code.',
+ 'description' => 'Configuration for Royal Bank of Canada PDS batching, five lines: 1. Client number, 2. Short name, 3. Long name, 4. Transaction code 5. (optional) set to TEST to turn on test mode.',
'type' => 'textarea',
},
{
'key' => 'previous_balance-exclude_from_total',
'section' => 'invoicing',
- 'description' => 'Do not include previous balance in the \'Total\' line. Only meaningful when invoice_sections is false. Optionally provide text to override the Total New Charges description',
- 'type' => [ qw(checkbox text) ],
+ 'description' => 'Show separate totals for previous invoice balance and new charges. Only meaningful when invoice_sections is false.',
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'previous_balance-text',
+ 'section' => 'invoicing',
+ 'description' => 'Text for the label of the total previous balance, when it is shown separately. Defaults to "Previous Balance".',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'previous_balance-text-total_new_charges',
+ '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',
},
{
'section' => 'invoicing',
'description' => 'Instead of showing payments (and credits) applied to the invoice, show those received since the previous invoice date.',
'type' => 'checkbox',
+ 'uscensus' => 'U.S. Census Bureau',
},
{