X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=ed94dd0e54b1edb742d4640da7bd71bf2091d135;hb=0af65f4c957f0f658d9a539effd5d61375f6a0b9;hp=d3d437db42e0c3aa6cdb960ded9529c344bf069b;hpb=eade44a93547afab49b043ac9b66ca432cffab21;p=freeside.git diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index d3d437db4..ed94dd0e5 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 = ( @@ -744,6 +747,7 @@ my %batch_gateway_options = ( ); map { $_->gatewaynum, $_->label } @gateways; }, + 'per_agent' => 1, ); my %invoice_mode_options = ( @@ -1642,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.', @@ -1665,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, @@ -1679,6 +1690,22 @@ and customer address. Include units.', }, { + 'key' => 'invoice_omit_due_date', + '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.', @@ -1686,6 +1713,15 @@ and customer address. Include units.', 'per_agent' => 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' }, + }, + { 'key' => 'invoice_include_aging', 'section' => 'invoicing', @@ -1702,6 +1738,13 @@ and customer address. Include units.', }, { + 'key' => 'invoice_sections_with_taxes', + 'section' => 'invoicing', + 'description' => 'Include taxes within each section of mutli-section invoices.', + 'type' => 'checkbox', + }, + + { '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.', @@ -2589,6 +2632,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.', @@ -3104,6 +3162,13 @@ and customer address. Include units.', }, { + 'key' => 'selfservice-password_reset_hours', + 'section' => 'self-service', + 'description' => 'Numbers of hours an email password reset is valid. Defaults to 24.', + 'type' => 'text', + }, + + { 'key' => 'selfservice-password_reset_msgnum', 'section' => 'self-service', 'description' => 'Template to use for password reset emails.', @@ -4179,6 +4244,13 @@ and customer address. Include units.', }, { + 'key' => 'cust_main_note-require_class', + 'section' => 'UI', + 'description' => 'Require customer note classes for customer notes', + 'type' => 'checkbox', + }, + + { 'key' => 'cust_main-ticket_statuses', 'section' => 'UI', 'description' => 'Show tickets with these statuses on the customer view page.', @@ -4524,6 +4596,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', ], }, @@ -4716,12 +4789,12 @@ 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 ) ], }, { 'key' => 'tax_district_method', - 'section' => 'UI', + 'section' => 'billing', # 'UI', #??? 'description' => 'The method to use to look up tax district codes.', 'type' => 'select', #'select_hash' => [ FS::Misc::Geo::get_district_methods() ], @@ -4733,6 +4806,13 @@ and customer address. Include units.', }, { + 'key' => 'tax_district_taxname', + 'section' => 'billing', + 'description' => 'The tax name to display on the invoice for district sales taxes. Defaults to "Tax".', + 'type' => 'text', + }, + + { 'key' => 'company_latitude', 'section' => 'UI', 'description' => 'Your company latitude (-90 through 90)', @@ -5073,6 +5153,7 @@ and customer address. Include units.', 'Change billing address', 'Change service address', 'Change payment information', + 'Change packages', 'Change password(s)', 'Logout', ], @@ -5744,8 +5825,8 @@ and customer address. Include units.', { 'key' => 'note-classes', - 'section' => 'UI', - 'description' => 'Use customer note classes', + 'section' => 'deprecated', + 'description' => 'Use customer note classes (now automatically used if classes are defined)', 'type' => 'select', 'select_hash' => [ 0 => 'Disabled', @@ -6045,6 +6126,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', @@ -6231,6 +6319,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 #{ @@ -6243,4 +6339,3 @@ and customer address. Include units.', ); 1; -