RT# 74537 - Added new selfservice config option to make ECHECK readonly on selfservic...
[freeside.git] / FS / FS / Conf.pm
index 5cd4356..77add5d 100644 (file)
@@ -9,6 +9,7 @@ use Carp;
 use IO::File;
 use File::Basename;
 use MIME::Base64;
 use IO::File;
 use File::Basename;
 use MIME::Base64;
+use Email::Address;
 use FS::ConfItem;
 use FS::ConfDefaults;
 use FS::Conf_compat17;
 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) = @_;
 
 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
 }
 
 =back
@@ -696,8 +699,8 @@ logo.eps
   '',
   'Payable upon receipt',
   'Net 0', 'Net 3', 'Net 5', 'Net 7', 'Net 9', 'Net 10', 'Net 14', 
   '',
   '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 = (
 );
 
 my %msg_template_options = (
@@ -744,6 +747,7 @@ my %batch_gateway_options = (
     );
     map { $_->gatewaynum, $_->label } @gateways;
   },
     );
     map { $_->gatewaynum, $_->label } @gateways;
   },
+  'per_agent' => 1,
 );
 
 my %invoice_mode_options = (
 );
 
 my %invoice_mode_options = (
@@ -1641,6 +1645,13 @@ and customer address. Include units.',
     'type'        => 'textarea'
   },
 
     'type'        => 'textarea'
   },
 
+  {
+    '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',
   {
     'key'         => 'invoice_print_pdf',
     'section'     => 'invoicing',
@@ -1678,6 +1689,22 @@ and customer address. Include units.',
     'type'        => 'checkbox',
   },
 
     'type'        => 'checkbox',
   },
 
+  { 
+    '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',
   { 
     'key'         => 'invoice_sections',
     'section'     => 'invoicing',
@@ -2588,6 +2615,21 @@ and customer address. Include units.',
     'type'        => 'checkbox',
   },
 
     'type'        => 'checkbox',
   },
 
+  {
+    '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',
   {
     'key'         => 'require_cardname',
     'section'     => 'billing',
@@ -5094,6 +5136,7 @@ and customer address. Include units.',
                        'Change billing address',
                        'Change service address',
                        'Change payment information',
                        'Change billing address',
                        'Change service address',
                        'Change payment information',
+                       'Change packages',
                        'Change password(s)',
                        'Logout',
                      ],
                        'Change password(s)',
                        'Logout',
                      ],
@@ -6065,6 +6108,13 @@ and customer address. Include units.',
     'type'        => 'checkbox',
   },
 
     'type'        => 'checkbox',
   },
 
+  {
+    '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',
   {
     'key'         => 'selfservice-announcement',
     'section'     => 'self-service',
@@ -6252,6 +6302,14 @@ and customer address. Include units.',
   { key => "vonage-password", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },
   { key => "vonage-fromnumber", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },
 
   { key => "vonage-password", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },
   { key => "vonage-fromnumber", section => "deprecated", description => "<b>DEPRECATED</b>", 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
   #{
   # for internal use only; test databases should declare this option and
   # everyone else should pretend it doesn't exist
   #{