use IO::File;
use File::Basename;
use MIME::Base64;
+use Locale::Currency;
use FS::ConfItem;
use FS::ConfDefaults;
use FS::Conf_compat17;
{
'key' => 'alert_expiration',
- 'section' => 'notification',
- 'description' => 'Enable alerts about billing method expiration (i.e. expiring credit cards).',
+ 'section' => 'deprecated',
+ 'description' => 'Enable alerts about credit card expiration. This is obsolete and no longer works.',
'type' => 'checkbox',
'per_agent' => 1,
},
{
'key' => 'alerter_msgnum',
- 'section' => 'notification',
+ 'section' => 'deprecated',
'description' => 'Template to use for credit card expiration alerts.',
%msg_template_options,
},
{
'key' => 'currency',
'section' => 'billing',
- 'description' => 'Currency',
+ 'description' => 'Main accounting currency',
'type' => 'select',
'select_enum' => [ '', qw( USD AUD CAD DKK EUR GBP ILS JPY NZD XAF ) ],
},
+ {
+ 'key' => 'currencies',
+ 'section' => 'billing',
+ 'description' => 'Additional accepted currencies',
+ 'type' => 'select-sub',
+ 'multiple' => 1,
+ 'options_sub' => sub {
+ map { $_ => code2currency($_) } all_currency_codes();
+ },
+ 'sort_sub' => sub ($$) { $_[0] cmp $_[1]; },
+ 'option_sub' => sub { code2currency(shift); },
+ },
+
{
'key' => 'business-batchpayment-test_transaction',
'section' => 'billing',
],
},
- {
- 'key' => 'deletecustomers',
- 'section' => 'UI',
- 'description' => 'Enable customer deletions. Be very careful! Deleting a customer will remove all traces that the customer ever existed! It should probably only be used when auditing a legacy database. Normally, you cancel all of a customers\' packages if they cancel service.',
- 'type' => 'checkbox',
- },
-
{
'key' => 'deleteinvoices',
'section' => 'UI',
- 'description' => 'Enable invoices deletions. Be very careful! Deleting an invoice will remove all traces that the invoice ever existed! Normally, you would apply a credit against the invoice instead.', #invoice voiding?
+ 'description' => 'Enable invoices deletions. Be very careful! Deleting an invoice will remove all traces that the invoice ever existed! Normally, you would void or apply a credit against the invoice instead.',
'type' => 'checkbox',
},
},
{
- 'key' => 'invoice_include_aging',
+ 'key' => 'invoice_sections',
'section' => 'invoicing',
- 'description' => 'Show an aging line after the prior balance section. Only valud when invoice_sections is enabled.',
+ 'description' => 'Split invoice into sections and label according to package category when enabled.',
'type' => 'checkbox',
+ 'per_agent' => 1,
},
{
- 'key' => 'invoice_sections',
+ 'key' => 'invoice_include_aging',
'section' => 'invoicing',
- 'description' => 'Split invoice into sections and label according to package category when enabled.',
+ 'description' => 'Show an aging line after the prior balance section. Only valid when invoice_sections is enabled.',
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'invoice_sections_by_location',
+ 'section' => 'invoicing',
+ 'description' => 'Divide invoice into sections according to service location. Currently, this overrides sectioning by package category.',
'type' => 'checkbox',
'per_agent' => 1,
},
'type' => 'checkbox',
},
+ {
+ 'key' => 'selfservice-timeout',
+ 'section' => 'self-service',
+ 'description' => 'Timeout for the self-service login cookie, in seconds. Defaults to 1 hour.',
+ 'type' => 'text',
+ },
+
{
'key' => 'backend-realtime',
'section' => 'billing',
{
'key' => 'network_monitoring_system',
'section' => 'network_monitoring',
- 'description' => 'Networking monitoring system (NMS) integration. <b>Torrus_Internal</b> uses the built-in Torrus ticketing system (see the <a href="http://www.freeside.biz/mediawiki/index.php/Freeside:2.1:Documentation:Torrus_Installation">integrated networking monitoring system installation instructions</a>).',
+ 'description' => 'Networking monitoring system (NMS) integration. <b>Torrus_Internal</b> uses the built-in Torrus ticketing system (see the <a href="http://www.freeside.biz/mediawiki/index.php/Freeside:3:Documentation:Torrus_Installation">integrated networking monitoring system installation instructions</a>).',
'type' => 'select',
'select_enum' => [ '', qw(Torrus_Internal) ],
},
'type' => 'checkbox',
},
- {
- 'key' => 'echeck-nonus',
- 'section' => 'billing',
- 'description' => 'Disable ABA-format account checking for Electronic Check payment info',
- 'type' => 'checkbox',
- },
-
{
'key' => 'echeck-country',
'section' => 'billing',
{
'key' => 'batchconfig-eft_canada',
'section' => 'billing',
- 'description' => 'Configuration for EFT Canada batching, four lines: 1. SFTP username, 2. SFTP password, 3. Transaction code, 4. Number of days to delay process date.',
+ 'description' => 'Configuration for EFT Canada batching, four lines: 1. SFTP username, 2. SFTP password, 3. Transaction code, 4. Number of days to delay process date. If you are using separate per-agent batches (batch-spoolagent), you must set this option separately for each agent, as the global setting will be ignored.',
'type' => 'textarea',
'per_agent' => 1,
},
'type' => 'text',
},
+ {
+ 'key' => 'enable_fuzzy_on_exact',
+ 'section' => 'UI',
+ 'description' => 'Enable approximate customer searching even when an exact match is found.',
+ 'type' => 'checkbox',
+ },
+
{ 'key' => 'pkg_referral',
'section' => '',
'description' => 'Enable package-specific advertising sources.',
'type' => [ qw(checkbox text) ],
},
+ {
+ 'key' => 'previous_balance-section',
+ 'section' => 'invoicing',
+ 'description' => 'Show previous invoice balances in a separate invoice section. Does not require invoice_sections to be enabled.',
+ 'type' => 'checkbox',
+ },
+
{
'key' => 'previous_balance-summary_only',
'section' => 'invoicing',
'type' => 'checkbox',
},
+ {
+ 'key' => 'part_pkg-delay_start',
+ 'section' => '',
+ 'description' => 'Enabled "delayed start" option for packages.',
+ 'type' => 'checkbox',
+ },
+
{
'key' => 'mcp_svcpart',
'section' => '',
'type' => 'text',
},
+ {
+ 'key' => 'ng_selfservice-menu',
+ 'section' => 'self-service',
+ 'description' => 'Custom menu for the next-generation self-service interface. Each line is in the format "link Label", for example "main.php Home". Sub-menu items are listed on subsequent lines. Blank lines terminate the submenu.', #more docs/examples would be helpful
+ 'type' => 'textarea',
+ },
+
{
'key' => 'signup-no_company',
'section' => 'self-service',
'type' => 'text',
},
+ {
+ 'key' => 'queue-no_history',
+ 'section' => '',
+ 'description' => "Don't recreate the h_queue and h_queue_arg tables on upgrades. This can save disk space for large installs, especially when using prepaid or multi-process billing. After turning this option on, drop the h_queue and h_queue_arg tables, run freeside-dbdef-create and restart Apache and Freeside.",
+ 'type' => 'checkbox',
+ },
+
{
'key' => 'cancelled_cust-noevents',
'section' => 'billing',