X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=8f0d3e990c57e7681fd7d3a5aa3a7f5f484ba8cd;hb=ca052a8ef27b32d46730ccd7a371a5deb397a9d0;hp=dd0d62164f672e365d8d885cf9cb9a0ccd396e3f;hpb=02f201b799d08f21ecd665536020ce8a3f937ba3;p=freeside.git
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index dd0d62164..8f0d3e990 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -9,6 +9,7 @@ use Carp;
use IO::File;
use File::Basename;
use MIME::Base64;
+use Email::Address;
use FS::ConfItem;
use FS::ConfDefaults;
use FS::Conf_compat17;
@@ -605,10 +606,12 @@ based on their current values.
sub invoice_from_full {
my ($self, $agentnum) = @_;
- return $self->config('invoice_from_name', $agentnum ) ?
- $self->config('invoice_from_name', $agentnum ) . ' <' .
- $self->config('invoice_from', $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
@@ -696,8 +699,8 @@ logo.eps
'',
'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'
+ 'Net 15', 'Net 18', 'Net 20', 'Net 21', 'Net 25', 'End of Month', 'Net 30',
+ 'Net 45', 'Net 60', 'Net 90'
);
my %msg_template_options = (
@@ -1643,6 +1646,13 @@ and customer address. Include units.',
},
{
+ 'key' => 'quotation_disable_after_days',
+ 'section' => '',
+ 'description' => 'The number of days, if set, after which a non-converted quotation will be automatically disabled.',
+ 'type' => 'text'
+ },
+
+ {
'key' => 'invoice_print_pdf',
'section' => 'invoicing',
'description' => 'For all invoice print operations, store postal invoices for download in PDF format rather than printing them directly.',
@@ -1666,7 +1676,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,
@@ -1681,18 +1691,36 @@ and customer address. Include units.',
{
'key' => 'invoice_omit_due_date',
- 'section' => 'invoice_balances',
+ 'section' => 'invoicing',
'description' => 'Omit the "Please pay by (date)" from invoices.',
'type' => 'checkbox',
'per_agent' => 1,
},
{
+ 'key' => 'invoice_pay_by_msg',
+ 'section' => 'invoicing',
+ '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' },
},
{
@@ -1711,6 +1739,15 @@ and customer address. Include units.',
},
{
+ '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',
'description' => 'How to group line items when calculating summary subtotals. By default, it will be the same method used for grouping invoice sections.',
@@ -2598,6 +2635,21 @@ and customer address. Include units.',
},
{
+ 'key' => 'cancel_msgnum-referring_cust-pkg_class',
+ 'section' => 'notification',
+ 'description' => 'Enable cancellation messages to the referring customer for these package classes.',
+ 'type' => 'select-pkg_class',
+ 'multiple' => 1,
+ },
+
+ {
+ 'key' => 'cancel_msgnum-referring_cust',
+ 'section' => 'notification',
+ 'description' => 'Template to use for cancellation emails sent to the referring customer.',
+ %msg_template_options,
+ },
+
+ {
'key' => 'require_cardname',
'section' => 'billing',
'description' => 'Require an "Exact name on card" to be entered explicitly; don\'t default to using the first and last name.',
@@ -4547,6 +4599,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',
],
},
@@ -4739,7 +4792,7 @@ and customer address. Include units.',
'section' => 'UI',
'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 ) ],
},
{
@@ -5103,6 +5156,7 @@ and customer address. Include units.',
'Change billing address',
'Change service address',
'Change payment information',
+ 'Change packages',
'Change password(s)',
'Logout',
],
@@ -6075,6 +6129,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',
@@ -6261,6 +6322,14 @@ and customer address. Include units.',
{ key => "vonage-password", section => "deprecated", description => "DEPRECATED", type => "text" },
{ key => "vonage-fromnumber", section => "deprecated", description => "DEPRECATED", type => "text" },
+ {
+ 'key' => 'selfservice-db_profile',
+ 'section' => 'development',
+ 'description' => 'Enable collection and logging of database profiling information for self-service servers. This has significant overhead, do not leave enabled in production beyond that necessary to collect profiling data.',
+ 'type' => 'checkbox',
+ },
+
+
# for internal use only; test databases should declare this option and
# everyone else should pretend it doesn't exist
#{
@@ -6273,4 +6342,3 @@ and customer address. Include units.',
);
1;
-