RT#28648: Unsuspend when past due balance is paid [v3 merge]
[freeside.git] / FS / FS / Conf.pm
index f6b557f..10bb59c 100644 (file)
@@ -1650,7 +1650,7 @@ and customer address. Include units.',
     'type'        => 'select',
     'per_agent'   => 1,
     'select_enum' => [ 
-      '', 'Payable upon receipt', 'Net 0', 'Net 3', 'Net 5', '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'
     ], },
@@ -1802,6 +1802,13 @@ and customer address. Include units.',
   },
 
   {
+    'key'         => 'refund_receipt_msgnum',
+    'section'     => 'notification',
+    'description' => 'Template to use for manual refund receipts.',
+    %msg_template_options,
+  },
+  
+  {
     'key'         => 'trigger_export_insert_on_payment',
     'section'     => 'billing',
     'description' => 'Enable exports on payment application.',
@@ -2094,10 +2101,13 @@ and customer address. Include units.',
   },
 
   {
-    'key'         => 'unsuspendauto',
+    'key'         => 'unsuspend_balance',
     'section'     => 'billing',
-    'description' => 'Enables the automatic unsuspension of suspended packages when a customer\'s balance due changes from positive to zero or negative as the result of a payment or credit',
-    'type'        => 'checkbox',
+    'description' => 'Enables the automatic unsuspension of suspended packages when a customer\'s balance due is at or below the specified amount after a payment or credit',
+    'type'        => 'select',
+    'select_enum' => [ 
+      '', 'Zero', 'Latest invoice charges'
+    ],
   },
 
   {
@@ -2595,17 +2605,11 @@ and customer address. Include units.',
     'description' => 'Template to use for welcome messages when a svc_acct record is created.',
     %msg_template_options,
   },
-
-  { 'key'         => 'svc_acct_welcome_letter',
-    'section'     => 'notification',
-    'description' => 'Optional LaTex template for a printed welcome letter when a svc_acct record is created.  Fields from the customer and svc_acct records are available for substitution.',
-    'type'        => 'textarea',
-  },
-
+  
   {
     'key'         => 'svc_acct_welcome_exclude',
     'section'     => 'notification',
-    'description' => 'A list of svc_acct services for which no welcome email or letter is to be sent.',
+    'description' => 'A list of svc_acct services for which no welcome email is to be sent.',
     'type'        => 'select-part_svc',
     'multiple'    => 1,
   },
@@ -3275,12 +3279,14 @@ and customer address. Include units.',
                            }
                          },
   },
+
   {
     'key'         => 'ticket_system-force_default_queueid',
     'section'     => 'ticketing',
     'description' => 'Disallow queue selection when creating new tickets from customer view.',
     'type'        => 'checkbox',
   },
+
   {
     'key'         => 'ticket_system-selfservice_queueid',
     'section'     => 'ticketing',
@@ -3359,6 +3365,41 @@ and customer address. Include units.',
   },
 
   {
+    'key'         => 'ticket_system-appointment-queueid',
+    'section'     => 'ticketing',
+    'description' => 'Ticketing queue to use for appointments.',
+    #false laziness w/above
+    'type'        => 'select-sub',
+    'options_sub' => sub {
+                           my $conf = new FS::Conf;
+                           if ( $conf->config('ticket_system') ) {
+                             eval "use FS::TicketSystem;";
+                             die $@ if $@;
+                             FS::TicketSystem->queues();
+                           } else {
+                             ();
+                           }
+                         },
+    'option_sub'  => sub { 
+                           my $conf = new FS::Conf;
+                           if ( $conf->config('ticket_system') ) {
+                             eval "use FS::TicketSystem;";
+                             die $@ if $@;
+                             FS::TicketSystem->queue(shift);
+                           } else {
+                             '';
+                           }
+                         },
+  },
+
+  {
+    'key'         => 'ticket_system-appointment-custom_field',
+    'section'     => 'ticketing',
+    'description' => 'Ticketing custom field to use as an appointment classification.',
+    'type'        => 'text',
+  },
+
+  {
     'key'         => 'ticket_system-escalation',
     'section'     => 'ticketing',
     'description' => 'Enable priority escalation of tickets as part of daily batch processing.',
@@ -3740,18 +3781,29 @@ and customer address. Include units.',
   {
     'key'         => 'voip-cdr_email',
     'section'     => 'telephony',
-    'description' => 'Include the call details on emailed invoices (and HTML invoices viewed in the backend), even if the customer is configured for not printing them on the invoices.',
+    'description' => 'Include the call details inline on emailed invoices (and HTML invoices viewed in the backend), even if the customer is configured for not printing them on the invoices.  Useful for including these details in electronic delivery but omitting them when printing.',
     'type'        => 'checkbox',
   },
 
   {
     'key'         => 'voip-cust_email_csv_cdr',
-    'section'     => 'telephony',
-    'description' => 'Enable the per-customer option for including CDR information as a CSV attachment on emailed invoices.',
+    'section'     => 'deprecated',
+    'description' => 'Deprecated, see voip-cdr_email_attach instead.  Used to enable the per-customer option for including CDR information as a CSV attachment on emailed invoices.',
     'type'        => 'checkbox',
   },
 
   {
+    'key'         => 'voip-cdr_email_attach',
+    'section'     => 'telephony',
+    'description' => 'Enable the per-customer option for including CDR information as an attachment on emailed invoices.',
+    'type'        => 'select',
+    'select_hash' => [ ''    => 'Disabled',
+                       'csv' => 'Text (CSV) attachment',
+                       'zip' => 'Zip attachment',
+                     ],
+  },
+
+  {
     'key'         => 'cgp_rule-domain_templates',
     'section'     => '',
     'description' => 'Communigate Pro rule templates for domains, one per line, "svcnum Name"',
@@ -3976,6 +4028,13 @@ and customer address. Include units.',
   },
 
   {
+    'key'         => 'batchconfig-RBC-login',
+    'section'     => 'billing',
+    'description' => 'FTPS login for uploading Royal Bank of Canada batches. Two lines: 1. username, 2. password. If not supplied, batches can still be created but not automatically uploaded.',
+    'type'        => 'textarea',
+  },
+
+  {
     'key'         => 'batchconfig-td_eft1464',
     'section'     => 'billing',
     'description' => 'Configuration for TD Bank EFT1464 batching, seven lines: 1. Originator ID, 2. Datacenter Code, 3. Short name, 4. Long name, 5. Returned payment branch number, 6. Returned payment account, 7. Transaction code.',
@@ -4237,10 +4296,25 @@ and customer address. Include units.',
   },
 
   {
-    'key'         => 'password-generated-allcaps',
+    'key'         => 'password-generated-characters',
+    'section'     => 'password',
+    'description' => 'Set of characters to use when generating random passwords. This must contain at least one lowercase letter, uppercase letter, digit, and punctuation mark.',
+    'type'        => 'textarea',
+  },
+
+  {
+    'key'         => 'password-no_reuse',
     'section'     => 'password',
-    'description' => 'Causes passwords automatically generated to consist entirely of capital letters',
+    'description' => 'Minimum number of password changes before a password can be reused. By default, passwords can be reused without restriction.',
+    'type'        => 'text',
+  },
+
+  {
+    'key'         => 'password-insecure',
+    'section'     => 'password',
+    'description' => 'Disable all password security checks and allow entry of insecure passwords.  NOT RECOMMENDED.',
     'type'        => 'checkbox',
+    'per_agent'   => 1,
   },
 
   {
@@ -4367,9 +4441,10 @@ and customer address. Include units.',
     reason_type_options('R'),
   },
 
+  # was only used to negate invoices during signup when card was declined, now we just void
   {
     'key'         => 'signup_credit_type',
-    'section'     => 'billing', #self-service?
+    'section'     => 'deprecated', #self-service?
     'description' => 'The group to use for new, automatically generated credit reasons resulting from signup and self-service declines.',
     reason_type_options('R'),
   },
@@ -4413,7 +4488,7 @@ and customer address. Include units.',
   {
     'key'         => 'disable_previous_balance',
     'section'     => 'invoicing',
-    'description' => 'Disable inclusion of previous balance, payment, and credit lines on invoices.',
+    'description' => 'Show new charges only; do not list previous invoices, payments, or credits on the invoice.',
     'type'        => 'checkbox',
     'per_agent'   => 1,
   },
@@ -5377,6 +5452,13 @@ and customer address. Include units.',
   },
 
   {
+    'key'         => 'tax-round_per_line_item',
+    'section'     => 'billing',
+    'description' => 'Calculate tax and round to the nearest cent for each line item, rather than for the whole invoice.',
+    'type'        => 'checkbox',
+  },
+
+  {
     'key'         => 'cust_main-default_view',
     'section'     => 'UI',
     'description' => 'Default customer view, for users who have not selected a default view in their preferences.',
@@ -5891,6 +5973,13 @@ and customer address. Include units.',
   },
 
   {
+    'key'         => 'selfservice-announcement',
+    'section'     => 'self-service',
+    'description' => 'HTML announcement to display to all authenticated users on account overview page',
+    'type'        => 'textarea',
+  },
+
+  {
     'key'         => 'logout-timeout',
     'section'     => 'UI',
     'description' => 'If set, automatically log users out of the backoffice after this many minutes.',
@@ -6070,6 +6159,15 @@ 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" },
 
+  # for internal use only; test databases should declare this option and
+  # everyone else should pretend it doesn't exist
+  #{
+  #  'key'         => 'no_random_ids',
+  #  'section'     => '',
+  #  'description' => 'Replace random identifiers in UI code with a static string, for repeatable testing. Don\'t use in production.',
+  #  'type'        => 'checkbox',
+  #},
+
 );
 
 1;