X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=2094ff0c957d8cfbb31e0ff947fc71c3db9704fe;hb=e3dffa23a03cd9f88946ceb78bc75ada29bc013a;hp=0c0485a2affa35f14c118b0f38220109d602ad9e;hpb=162a742110ede26cbb904b1f38c6a99e4b692eef;p=freeside.git diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 0c0485a2a..2094ff0c9 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -1,6 +1,7 @@ package FS::Conf; use vars qw($base_dir @config_items @base_items @card_types $DEBUG); +use Carp; use IO::File; use File::Basename; use MIME::Base64; @@ -84,7 +85,7 @@ global default if one is present. sub _usecompat { my ($self, $method) = (shift, shift); - warn "NO CONFIGURATION RECORDS FOUND -- USING COMPATIBILITY MODE" + carp "NO CONFIGURATION RECORDS FOUND -- USING COMPATIBILITY MODE" if use_confcompat; my $compat = new FS::Conf_compat17 ("$base_dir/conf." . datasrc); $compat->$method(@_); @@ -149,12 +150,12 @@ sub exists { defined($self->_config($name, $agentnum)); } -#=item config_orbase KEY SUFFIX -# -#Returns the configuration value or values (depending on context) for -#KEY_SUFFIX, if it exists, otherwise for KEY -# -#=cut +=item config_orbase KEY SUFFIX + +Returns the configuration value or values (depending on context) for +KEY_SUFFIX, if it exists, otherwise for KEY + +=cut # outmoded as soon as we shift to agentnum based config values # well, mostly. still useful for e.g. late notices, etc. in that we want @@ -171,6 +172,26 @@ sub config_orbase { } } +=item key_orbase KEY SUFFIX + +If the config value KEY_SUFFIX exists, returns KEY_SUFFIX, otherwise returns +KEY. Useful for determining which exact configuration option is returned by +config_orbase. + +=cut + +sub key_orbase { + my $self = shift; + #no compat for this...return $self->_usecompat('config_orbase', @_) if use_confcompat; + + my( $name, $suffix ) = @_; + if ( $self->exists("${name}_$suffix") ) { + "${name}_$suffix"; + } else { + $name; + } +} + =item invoice_templatenames Returns all possible invoice template names. @@ -842,13 +863,13 @@ worry that config_items is freeside-specific and icky. 'section' => 'billing', 'description' => 'Optional default invoice term, used to calculate a due date printed on invoices.', 'type' => 'select', - 'select_enum' => [ '', 'Payable upon receipt', 'Net 0', 'Net 10', 'Net 15', 'Net 30', 'Net 45', 'Net 60' ], + 'select_enum' => [ '', 'Payable upon receipt', 'Net 0', 'Net 10', 'Net 15', 'Net 20', 'Net 30', 'Net 45', 'Net 60' ], }, { 'key' => 'invoice_sections', 'section' => 'billing', - 'description' => 'Split invoice into sections and label according to package type when enabled.', + 'description' => 'Split invoice into sections and label according to package class when enabled.', 'type' => 'checkbox', }, @@ -1384,6 +1405,13 @@ worry that config_items is freeside-specific and icky. 'type' => 'checkbox', }, + { + 'key' => 'enable_taxproducts', + 'section' => 'billing', + 'description' => 'Enable per-package mapping to new style tax classes', + 'type' => 'checkbox', + }, + { 'key' => 'welcome_email', 'section' => '', @@ -1590,6 +1618,13 @@ worry that config_items is freeside-specific and icky. 'type' => 'checkbox', }, + { + 'key' => 'selfservice_server-phone_login', + 'section' => '', + 'description' => 'Allow login to self-service with phone number and PIN.', + 'type' => 'checkbox', + }, + { 'key' => 'card_refund-days', 'section' => 'billing', @@ -2184,6 +2219,23 @@ worry that config_items is freeside-specific and icky. ], }, + { + 'key' => 'card_masking_method', + 'section' => 'UI', + 'description' => 'Digits to display when masking credit cards. Note that the first six digits are necessary to canonically identify the credit card type (Visa/MC, Amex, Discover, Maestro, etc.) in all cases. The first four digits can identify the most common credit card types in most cases (Visa/MC, Amex, and Discover). The first two digits can distinguish between Visa/MC and Amex.', + 'type' => 'select', + 'select_hash' => [ + '' => '123456xxxxxx1234', + 'first6last2' => '123456xxxxxxxx12', + 'first4last4' => '1234xxxxxxxx1234', + 'first4last2' => '1234xxxxxxxxxx12', + 'first2last4' => '12xxxxxxxxxx1234', + 'first2last2' => '12xxxxxxxxxxxx12', + 'first0last4' => 'xxxxxxxxxxxx1234', + 'first0last2' => 'xxxxxxxxxxxxxx12', + ], + }, + ); 1;