X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=FS%2FFS%2FConf.pm;h=c58ca33f40c9c7dd7d61b6e2bcba73ac51f76af1;hb=cad17f4aca6b4c673cb72ac7af69d9a83f406e91;hp=dd0d62164f672e365d8d885cf9cb9a0ccd396e3f;hpb=02f201b799d08f21ecd665536020ce8a3f937ba3;p=freeside.git diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index dd0d62164..c58ca33f4 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 = ( @@ -1342,6 +1345,7 @@ my $validate_email = sub { $_[0] =~ 'section' => 'invoicing', 'description' => 'Indicates that html and latex invoices should be in summary style and make use of invoice_latexsummary.', 'type' => 'checkbox', + 'per_agent' => 1, }, { @@ -1643,6 +1647,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 +1677,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 +1692,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 +1740,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.', @@ -1798,6 +1836,13 @@ and customer address. Include units.', 'description' => 'Template to use for manual payment receipts.', %msg_template_options, }, + + { + 'key' => 'payment_receipt_msgnum_auto', + 'section' => 'notification', + 'description' => 'Automatic payments will cause a post-payment to use a message template for automatic payment receipts rather than a post payment statement.', + %msg_template_options, + }, { 'key' => 'payment_receipt_from', @@ -2598,6 +2643,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 +4607,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 +4800,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 +5164,7 @@ and customer address. Include units.', 'Change billing address', 'Change service address', 'Change payment information', + 'Change packages', 'Change password(s)', 'Logout', ], @@ -6075,6 +6137,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 +6330,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 +6350,3 @@ and customer address. Include units.', ); 1; -