X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=77add5d97561f89d51bbc8e8ce22e1a5a16ad2a8;hb=31f1e1bd302bd88d97d56b20dffad5c5f2388261;hp=0808c3885bad5fb17731ef142005956397eb925a;hpb=ba6079dc54bdec02fd3a83396a8430ad095ee2d3;p=freeside.git diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 0808c3885..77add5d97 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.', @@ -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.', @@ -2589,6 +2616,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 +3146,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.', @@ -4728,7 +4777,7 @@ and customer address. Include units.', { '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() ], @@ -4740,6 +4789,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)', @@ -5080,6 +5136,7 @@ and customer address. Include units.', 'Change billing address', 'Change service address', 'Change payment information', + 'Change packages', 'Change password(s)', 'Logout', ], @@ -6052,6 +6109,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', @@ -6238,6 +6302,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 #{