X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=2583e446eb629612bbddbd79ba081ea3be01b839;hb=61536edebfca5fab5892614a3714f68e43d52327;hp=0cafe9b7d67629cf1c2c0020ae4f408f93c2300c;hpb=5eb48cca81177ae5336fd014808eefe5cc75c8f4;p=freeside.git diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 0cafe9b7d..2583e446e 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -10,6 +10,7 @@ use IO::File; use File::Basename; use MIME::Base64; use Locale::Currency; +use Email::Address; use FS::ConfItem; use FS::ConfDefaults; use FS::Locales; @@ -542,10 +543,11 @@ defined, company_name), appropriately combined based on their current values. sub invoice_from_full { my ($self, $agentnum) = @_; - ( $self->config('invoice_from_name', $agentnum) - || $self->config('company_name', $agentnum) - ). - ' <'. $self->config('invoice_from', $agentnum ). '>'; + my $name = $self->config('invoice_from_name', $agentnum) + || $self->config('company_name', $agentnum); + + Email::Address->new( $name => $self->config('invoice_from', $agentnum ) ) + ->format; } =back @@ -1529,6 +1531,13 @@ and customer address. Include units.', }, { + 'key' => 'quotation_disable_after_days', + 'section' => 'quotations', + 'description' => 'The number of days, if set, after which a non-converted quotation will be automatically disabled.', + 'type' => 'text' + }, + + { 'key' => 'invoice_print_pdf', 'section' => 'printing', 'description' => 'For all invoice print operations, store postal invoices for download in PDF format rather than printing them directly.', @@ -1552,7 +1561,7 @@ and customer address. Include units.', { 'key' => 'invoice_default_terms', 'section' => 'invoicing', - 'description' => 'Optional default invoice term, used to calculate a due date printed on invoices.', + 'description' => 'Optional default invoice term, used to calculate a due date printed on invoices. WARNING: If you do not want to change the terms on existing invoices, do not change this after going live.', 'type' => 'select', 'per_agent' => 1, 'select_enum' => \@invoice_terms, @@ -1574,11 +1583,29 @@ and customer address. Include units.', }, { + 'key' => 'invoice_pay_by_msg', + 'section' => 'invoice_balances', + 'description' => 'Test of the "Please pay by (date)" message. Include [_1] to indicate the date, for example: "Please pay by [_1]"', + 'type' => 'text', + 'per_agent' => 1, + }, + + { 'key' => 'invoice_sections', 'section' => 'invoicing', - 'description' => 'Split invoice into sections and label according to package category when enabled.', + 'description' => 'Split invoice into sections and label according to either package category or location when enabled.', 'type' => 'checkbox', 'per_agent' => 1, + 'config_bool' => 1, + }, + + { + 'key' => 'invoice_sections_multilocation', + 'section' => 'invoicing', + 'description' => 'Enable invoice_sections for for any bill with at least this many locations on the bill.', + 'type' => 'text', + 'per_agent' => 1, + 'validate' => sub { shift =~ /^\d+$/ ? undef : 'Please enter a number' }, }, { @@ -1596,6 +1623,16 @@ and customer address. Include units.', 'select_enum' => [ qw(category location) ], }, + + { + 'key' => 'invoice_sections_with_taxes', + 'section' => 'invoicing', + 'description' => 'Include taxes within each section of mutli-section invoices.', + 'type' => 'checkbox', + 'per_agent' => 1, + 'agent_bool' => 1, + }, + { 'key' => 'summary_subtotals_method', 'section' => 'invoicing', @@ -2436,6 +2473,21 @@ and customer address. Include units.', }, { + 'key' => 'cancel_msgnum-referring_cust-pkg_class', + 'section' => 'cancellation', + 'description' => 'Enable cancellation messages to the referring customer for these package classes.', + 'type' => 'select-pkg_class', + 'multiple' => 1, + }, + + { + 'key' => 'cancel_msgnum-referring_cust', + 'section' => 'cancellation', + 'description' => 'Template to use for cancellation emails sent to the referring customer.', + %msg_template_options, + }, + + { 'key' => 'require_cardname', 'section' => 'credit_cards', 'description' => 'Require an "Exact name on card" to be entered explicitly; don\'t default to using the first and last name.', @@ -2461,7 +2513,7 @@ and customer address. Include units.', 'section' => 'taxation', 'description' => 'Tax data vendor you are using.', 'type' => 'select', - 'select_enum' => [ '', 'cch', 'billsoft', 'avalara', 'suretax' ], + 'select_enum' => [ '', 'cch', 'billsoft', 'avalara', 'suretax', 'compliance_solutions' ], }, { @@ -2527,6 +2579,20 @@ and customer address. Include units.', 'per_agent' => 1, }, + { + 'key' => 'compliance_solutions-access_code', + 'section' => 'taxation', + 'description' => 'Access code for Compliance Solutions tax rating service', + 'type' => 'text', + }, + { + 'key' => 'compliance_solutions-regulatory_code', + 'section' => 'taxation', + 'description' => 'Compliance Solutions regulatory status.', + 'type' => 'select', + 'select_enum' => [ '', 'ILEC', 'IXC', 'CLEC', 'VOIP', 'ISP', 'Wireless' ], + 'per_agent' => 1, + }, { 'key' => 'welcome_msgnum', @@ -4284,6 +4350,7 @@ and customer address. Include units.', '' => 'Numeric only', '\d{7}' => 'Numeric only, exactly 7 digits', 'ww?d+' => 'Numeric with one or two letter prefix', + 'd+-w' => 'Numeric with a dash and one letter suffix', ], }, @@ -4461,7 +4528,7 @@ and customer address. Include units.', 'section' => 'addresses', 'description' => 'The year to use in census tract lookups. NOTE: you need to select 2012 or 2013 for Year 2010 Census tract codes. A selection of 2011 provides Year 2000 Census tract codes. Use the freeside-censustract-update tool if exisitng customers need to be changed.', 'type' => 'select', - 'select_enum' => [ qw( 2013 2012 2011 ) ], + 'select_enum' => [ qw( 2017 2016 2015 ) ], }, { @@ -4819,6 +4886,7 @@ and customer address. Include units.', 'Change billing address', 'Change service address', 'Change payment information', + 'Change packages', 'Change password(s)', 'Logout', ], @@ -5776,6 +5844,13 @@ and customer address. Include units.', }, { + 'key' => 'selfservice-ACH_info_readonly', + 'section' => 'self-service', + 'description' => 'make ACH on self service portal read only', + 'type' => 'checkbox', + }, + + { 'key' => 'selfservice-announcement', 'section' => 'self-service', 'description' => 'HTML announcement to display to all authenticated users on account overview page', @@ -5955,4 +6030,3 @@ and customer address. Include units.', ); 1; -