self-service ticket priority and edit subject, #13199
[freeside.git] / FS / FS / Conf.pm
index 02133b0..170d884 100644 (file)
@@ -8,6 +8,7 @@ use MIME::Base64;
 use FS::ConfItem;
 use FS::ConfDefaults;
 use FS::Conf_compat17;
+use FS::Locales;
 use FS::payby;
 use FS::conf;
 use FS::Record qw(qsearch qsearchs);
@@ -622,6 +623,13 @@ my %payment_gateway_options = (
   },
 
   {
+    'key'         => 'log_sent_mail',
+    'section'     => 'notification',
+    'description' => 'Enable logging of template-generated email.',
+    'type'        => 'checkbox',
+  },
+
+  {
     'key'         => 'alert_expiration',
     'section'     => 'notification',
     'description' => 'Enable alerts about billing method expiration (i.e. expiring credit cards).',
@@ -750,7 +758,14 @@ my %payment_gateway_options = (
     'type'        => 'text',
     'per_agent'   => 1,
   },
-
+  
+  {
+    'key'         => 'next-bill-ignore-time',
+    'section'     => 'billing',
+    'description' => 'Ignore the time portion of next bill dates when billing, matching anything from 00:00:00 to 23:59:59 on the billing day.',
+    'type'        => 'checkbox',
+  },
+  
   {
     'key'         => 'business-onlinepayment',
     'section'     => 'billing',
@@ -1252,7 +1267,7 @@ and customer address. Include units.',
     'section'     => 'invoicing',
     'description' => 'Optional default invoice term, used to calculate a due date printed on invoices.',
     'type'        => 'select',
-    'select_enum' => [ '', 'Payable upon receipt', 'Net 0', 'Net 3', 'Net 10', 'Net 15', 'Net 20', 'Net 21', 'Net 30', 'Net 45', 'Net 60', 'Net 90' ],
+    'select_enum' => [ '', 'Payable upon receipt', 'Net 0', 'Net 3', 'Net 9', 'Net 10', 'Net 15', 'Net 20', 'Net 21', 'Net 30', 'Net 45', 'Net 60', 'Net 90' ],
   },
 
   { 
@@ -1793,9 +1808,9 @@ and customer address. Include units.',
   {
     'key'         => 'locale',
     'section'     => 'UI',
-    'description' => 'Message locale',
+    'description' => 'Default locale',
     'type'        => 'select',
-    'select_enum' => [ qw(en_US) ],
+    'select_enum' => [ FS::Locales->locales ],
   },
 
   {
@@ -1821,22 +1836,17 @@ and customer address. Include units.',
   },
 
   {
+    'key'         => 'default_agentnum',
+    'section'     => 'UI',
+    'description' => 'Default agent for the backoffice',
+    'type'        => 'select-agent',
+  },
+
+  {
     'key'         => 'signup_server-default_agentnum',
     'section'     => 'self-service',
     'description' => 'Default agent for the signup server',
-    'type'        => 'select-sub',
-    'options_sub' => sub { require FS::Record;
-                           require FS::agent;
-                          map { $_->agentnum => $_->agent }
-                               FS::Record::qsearch('agent', { disabled=>'' } );
-                        },
-    'option_sub'  => sub { require FS::Record;
-                           require FS::agent;
-                          my $agent = FS::Record::qsearchs(
-                            'agent', { 'agentnum'=>shift }
-                          );
-                           $agent ? $agent->agent : '';
-                        },
+    'type'        => 'select-agent',
   },
 
   {
@@ -2530,7 +2540,7 @@ and customer address. Include units.',
 
   {
     'key'         => 'ticket_system',
-    'section'     => '',
+    'section'     => 'ticketing',
     'description' => 'Ticketing system integration.  <b>RT_Internal</b> uses the built-in RT ticketing system (see the <a href="http://www.freeside.biz/mediawiki/index.php/Freeside:2.1:Documentation:RT_Installation">integrated ticketing installation instructions</a>).   <b>RT_External</b> accesses an external RT installation in a separate database (local or remote).',
     'type'        => 'select',
     #'select_enum' => [ '', qw(RT_Internal RT_Libs RT_External) ],
@@ -2548,7 +2558,7 @@ and customer address. Include units.',
 
   {
     'key'         => 'ticket_system-default_queueid',
-    'section'     => '',
+    'section'     => 'ticketing',
     'description' => 'Default queue used when creating new customer tickets.',
     'type'        => 'select-sub',
     'options_sub' => sub {
@@ -2574,13 +2584,13 @@ and customer address. Include units.',
   },
   {
     'key'         => 'ticket_system-force_default_queueid',
-    'section'     => '',
+    'section'     => 'ticketing',
     'description' => 'Disallow queue selection when creating new tickets from customer view.',
     'type'        => 'checkbox',
   },
   {
     'key'         => 'ticket_system-selfservice_queueid',
-    'section'     => '',
+    'section'     => 'ticketing',
     'description' => 'Queue used when creating new customer tickets from self-service.  Defautls to ticket_system-default_queueid if not specified.',
     #false laziness w/above
     'type'        => 'select-sub',
@@ -2608,49 +2618,63 @@ and customer address. Include units.',
 
   {
     'key'         => 'ticket_system-requestor',
-    'section'     => '',
+    'section'     => 'ticketing',
     'description' => 'Email address to use as the requestor for new tickets.  If blank, the customer\'s invoicing address(es) will be used.',
     'type'        => 'text',
   },
 
   {
     'key'         => 'ticket_system-priority_reverse',
-    'section'     => '',
+    'section'     => 'ticketing',
     'description' => 'Enable this to consider lower numbered priorities more important.  A bad habit we picked up somewhere.  You probably want to avoid it and use the default.',
     'type'        => 'checkbox',
   },
 
   {
     'key'         => 'ticket_system-custom_priority_field',
-    'section'     => '',
+    'section'     => 'ticketing',
     'description' => 'Custom field from the ticketing system to use as a custom priority classification.',
     'type'        => 'text',
   },
 
   {
     'key'         => 'ticket_system-custom_priority_field-values',
-    'section'     => '',
+    'section'     => 'ticketing',
     'description' => 'Values for the custom field from the ticketing system to break down and sort customer ticket lists.',
     'type'        => 'textarea',
   },
 
   {
     'key'         => 'ticket_system-custom_priority_field_queue',
-    'section'     => '',
+    'section'     => 'ticketing',
     'description' => 'Ticketing system queue in which the custom field specified in ticket_system-custom_priority_field is located.',
     'type'        => 'text',
   },
 
   {
+    'key'         => 'ticket_system-selfservice_priority_field',
+    'section'     => 'ticketing',
+    'description' => 'Custom field from the ticket system to use as a customer-managed priority field.',
+    'type'        => 'text',
+  },
+
+  {
+    'key'         => 'ticket_system-selfservice_edit_subject',
+    'section'     => 'ticketing',
+    'description' => 'Allow customers to edit ticket subjects through selfservice.',
+    'type'        => 'checkbox',
+  },
+
+  {
     'key'         => 'ticket_system-escalation',
-    'section'     => '',
+    'section'     => 'ticketing',
     'description' => 'Enable priority escalation of tickets as part of daily batch processing.',
     'type'        => 'checkbox',
   },
 
   {
     'key'         => 'ticket_system-rt_external_datasrc',
-    'section'     => '',
+    'section'     => 'ticketing',
     'description' => 'With external RT integration, the DBI data source for the external RT installation, for example, <code>DBI:Pg:user=rt_user;password=rt_word;host=rt.example.com;dbname=rt</code>',
     'type'        => 'text',
 
@@ -2658,7 +2682,7 @@ and customer address. Include units.',
 
   {
     'key'         => 'ticket_system-rt_external_url',
-    'section'     => '',
+    'section'     => 'ticketing',
     'description' => 'With external RT integration, the URL for the external RT installation, for example, <code>https://rt.example.com/rt</code>',
     'type'        => 'text',
   },
@@ -2868,7 +2892,7 @@ and customer address. Include units.',
   {
     'key'         => 'cust_pkg-show_fcc_voice_grade_equivalent',
     'section'     => 'UI',
-    'description' => "Show a field on package definitions for assigning a DSO equivalency number suitable for use on FCC form 477.",
+    'description' => "Show a field on package definitions for assigning a DS0 equivalency number suitable for use on FCC form 477.",
     'type'        => 'checkbox',
   },
 
@@ -2894,6 +2918,13 @@ and customer address. Include units.',
   },
 
   {
+    'key'         => 'svc_acct-no_edit_username',
+    'section'     => 'shell',
+    'description' => 'Disallow username editing.',
+    'type'        => 'checkbox',
+  },
+
+  {
     'key'         => 'zone-underscore',
     'section'     => 'BIND',
     'description' => 'Allow underscores in zone names.  As underscores are illegal characters in zone names, this option is not recommended.',
@@ -3860,6 +3891,13 @@ and customer address. Include units.',
     'type'        => 'image',
     'per_agent'   => 1,
   },
+  
+  {
+    'key'         => 'selfservice-view_usage_nodomain',
+    'section'     => 'self-service',
+    'description' => 'Show usernames without their domains in "View my usage" in the self-service interface.',
+    'type'        => 'checkbox',
+  },
 
   {
     'key'         => 'selfservice-bulk_format',
@@ -4348,7 +4386,7 @@ and customer address. Include units.',
   {
     'key'         => 'svc_phone-did-summary',
     'section'     => 'invoicing',
-    'description' => 'Enable DID activity summary for past 30 days on invoices, showing # DIDs activated/deactivated/ported-in/ported-out and total minutes usage',
+    'description' => 'Enable DID activity summary on invoices, showing # DIDs activated/deactivated/ported-in/ported-out and total minutes usage, covering period since last invoice.',
     'type'        => 'checkbox',
   },
   
@@ -4415,7 +4453,53 @@ and customer address. Include units.',
     'description' => 'Disable the "Charge future payments to this (card|check) automatically" checkbox from defaulting to checked.',
     'type'        => 'checkbox',
   },
-
+  
+  {
+    'key'         => 'payment-history-report',
+    'section'     => 'UI',
+    'description' => 'Show a link to the payment history report in the Reports menu. DO NOT ENABLE THIS.',
+    'type'        => 'checkbox',
+  },
+  
+  {
+    'key'         => 'svc_broadband-require-nw-coordinates',
+    'section'     => 'UI',
+    'description' => 'On svc_broadband add/edit, require latitude and longitude in the North Western quadrant, e.g. for North American co-ordinates, etc.',
+    'type'        => 'checkbox',
+  },
+  
+  {
+    'key'         => 'cust-email-high-visibility',
+    'section'     => 'UI',
+    'description' => 'Move the invoicing e-mail address field to the top of the billing address section and highlight it.',
+    'type'        => 'checkbox',
+  },
+  
+  {
+    'key'         => 'cust_main-require-bank-branch',
+    'section'     => 'UI',
+    'description' => 'An alternate DCHK/CHEK format; require entry of bank branch number.',
+    'type'        => 'checkbox',
+  },
+  
+  {
+    'key'         => 'cust-edit-alt-field-order',
+    'section'     => 'UI',
+    'description' => 'An alternate ordering of fields for the New Customer and Edit Customer screens.',
+    'type'        => 'checkbox',
+  },
+  
+  {
+    'key'         => 'translate-auto-insert',
+    'section'     => '',
+    'description' => 'Auto-insert untranslated strings for selected non-en_US locales with their default/en_US values. DO NOT TURN THIS ON.',
+    'type'        => 'select-sub',
+    'multiple'    => 1,
+    'options_sub' => sub { map { $_ => '' } 
+                            grep { $_ ne 'en_US' } FS::Locales::locales;
+                                    },
+    'option_sub'  => sub { ''; },
+  },
 
   { key => "apacheroot", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },
   { key => "apachemachine", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },