X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=0eed8ee5d3c6442b2272250c71e97bfeb9eaaa34;hb=010c8080a423af31fe92082c271ad8b261450393;hp=d955f34aeb94a64bf1053533f9d1ae74e5e3dccc;hpb=85dc9f5c03d159e88d2af277749ec2c2707de3a1;p=freeside.git diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index d955f34ae..0eed8ee5d 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -5,6 +5,7 @@ use Carp; use IO::File; use File::Basename; use MIME::Base64; +use Locale::Currency; use FS::ConfItem; use FS::ConfDefaults; use FS::Conf_compat17; @@ -778,8 +779,8 @@ sub reason_type_options { { '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, }, @@ -794,7 +795,7 @@ sub reason_type_options { { 'key' => 'alerter_msgnum', - 'section' => 'notification', + 'section' => 'deprecated', 'description' => 'Template to use for credit card expiration alerts.', %msg_template_options, }, @@ -865,6 +866,13 @@ sub reason_type_options { 'type' => 'checkbox', }, + { + 'key' => 'anniversary-rollback', + 'section' => 'billing', + 'description' => 'When billing an anniversary package ordered after the 28th, roll the anniversary date back to the 28th instead of forward into the following month.', + 'type' => 'checkbox', + }, + { 'key' => 'encryption', 'section' => 'billing', @@ -927,7 +935,19 @@ sub reason_type_options { 'type' => 'text', 'per_agent' => 1, }, - + + { + 'key' => 'billco-account_num', + 'section' => 'billing', + 'description' => 'The data to place in the "Transaction Account No" / "TRACCTNUM" field.', + 'type' => 'select', + 'select_hash' => [ + 'invnum-date' => 'Invoice number - Date (default)', + 'display_custnum' => 'Customer number', + ], + 'per_agent' => 1, + }, + { 'key' => 'next-bill-ignore-time', 'section' => 'billing', @@ -999,11 +1019,24 @@ sub reason_type_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', @@ -1044,27 +1077,13 @@ sub reason_type_options { ], }, - { - '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' => 'deletepayments', - 'section' => 'billing', - 'description' => 'Enable deletion of unclosed payments. Really, with voids this is pretty much not recommended in any situation anymore. Be very careful! Only delete payments that were data-entry errors, not adjustments. Optionally specify one or more comma-separated email addresses to be notified when a payment is deleted.', - 'type' => [qw( checkbox text )], - }, - { 'key' => 'deletecredits', #not actually deprecated yet @@ -1521,16 +1540,24 @@ and customer address. Include units.', }, { - '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, }, @@ -1696,6 +1723,21 @@ and customer address. Include units.', 'type' => 'text', }, + { + 'key' => 'sip_passwordmin', + 'section' => 'telephony', + 'description' => 'Minimum SIP password length (default 6)', + 'type' => 'text', + }, + + { + 'key' => 'sip_passwordmax', + 'section' => 'telephony', + 'description' => 'Maximum SIP password length (default 8) (don\'t set this over 12 if you need to import or export crypt() passwords)', + 'type' => 'text', + }, + + { 'key' => 'password-noampersand', 'section' => 'password', @@ -2012,6 +2054,13 @@ and customer address. Include units.', 'type' => 'checkbox', }, + { + 'key' => 'show_ship_company', + 'section' => 'UI', + 'description' => 'Turns on display/collection of a "service company name" field for customers.', + 'type' => 'checkbox', + }, + { 'key' => 'show_ss', 'section' => 'UI', @@ -2264,6 +2313,13 @@ and customer address. Include units.', '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', @@ -2945,7 +3001,7 @@ and customer address. Include units.', { 'key' => 'network_monitoring_system', 'section' => 'network_monitoring', - 'description' => 'Networking monitoring system (NMS) integration. Torrus_Internal uses the built-in Torrus ticketing system (see the integrated networking monitoring system installation instructions).', + 'description' => 'Networking monitoring system (NMS) integration. Torrus_Internal uses the built-in Torrus ticketing system (see the integrated networking monitoring system installation instructions).', 'type' => 'select', 'select_enum' => [ '', qw(Torrus_Internal) ], }, @@ -3406,13 +3462,6 @@ and customer address. Include units.', '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', @@ -3686,7 +3735,7 @@ and customer address. Include units.', { '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, }, @@ -3840,6 +3889,13 @@ and customer address. Include units.', '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.', @@ -4022,7 +4078,7 @@ and customer address. Include units.', 'type' => 'select', 'multiple' => 1, 'select_hash' => [ - #'address1' => 'Billing address', + 'address' => 'Billing or service address', ], }, @@ -4112,6 +4168,13 @@ and customer address. Include units.', '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', @@ -4133,6 +4196,13 @@ and customer address. Include units.', 'type' => 'checkbox', }, + { + 'key' => 'previous_balance-payments_since', + 'section' => 'invoicing', + 'description' => 'Instead of showing payments (and credits) applied to the invoice, show those received since the previous invoice date.', + 'type' => 'checkbox', + }, + { 'key' => 'balance_due_below_line', 'section' => 'invoicing', @@ -4153,8 +4223,9 @@ and customer address. Include units.', 'description' => 'Method for standardizing customer addresses.', 'type' => 'select', 'select_hash' => [ '' => '', - 'usps' => 'U.S. Postal Service', + 'usps' => 'U.S. Postal Service', 'ezlocate' => 'EZLocate', + 'tomtom' => 'TomTom', ], }, @@ -4172,6 +4243,13 @@ and customer address. Include units.', 'type' => 'text', }, + { + 'key' => 'tomtom-userid', + 'section' => 'UI', + 'description' => 'TomTom geocoding service API key. See the TomTom website to obtain a key. This is recommended for addresses in the United States only.', + 'type' => 'text', + }, + { 'key' => 'ezlocate-userid', 'section' => 'UI', @@ -4203,9 +4281,9 @@ and customer address. Include units.', { 'key' => 'census_year', 'section' => 'UI', - 'description' => 'The year to use in census tract lookups. NOTE: you need to select 2012 for Year 2010 Census tract codes. A selection of 2011 or 2010 provides Year 2000 Census tract codes. Use the freeside-censustract-update tool if exisitng customers need to be changed.', + 'description' => 'The year to use in census tract lookups. NOTE: you need to select 2012 or 2013 for Year 2010 Census tract codes. A selection of 2011 provides Year 2000 Census tract codes. Use the freeside-censustract-update tool if exisitng customers need to be changed.', 'type' => 'select', - 'select_enum' => [ qw( 2012 2011 2010 ) ], + 'select_enum' => [ qw( 2013 2012 2011 ) ], }, { @@ -4341,6 +4419,13 @@ and customer address. Include units.', 'type' => 'checkbox', }, + { + 'key' => 'part_pkg-delay_start', + 'section' => '', + 'description' => 'Enabled "delayed start" option for packages.', + 'type' => 'checkbox', + }, + { 'key' => 'mcp_svcpart', 'section' => '', @@ -4646,6 +4731,13 @@ and customer address. Include units.', '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', @@ -4674,6 +4766,17 @@ and customer address. Include units.', 'type' => 'text', }, + { + 'key' => 'svc_phone-radius-password', + 'section' => 'telephony', + 'description' => 'Password when exporting svc_phone records to RADIUS', + 'type' => 'select', + 'select_hash' => [ + '' => 'Use default from svc_phone-radius-default_password config', + 'countrycode_phonenum' => 'Phone number (with country code)', + ], + }, + { 'key' => 'svc_phone-radius-default_password', 'section' => 'telephony', @@ -4852,6 +4955,13 @@ and customer address. Include units.', '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', @@ -5077,13 +5187,6 @@ and customer address. Include units.', 'select_enum' => [ 'misc_info', 'top' ], }, - { - 'key' => 'maestro-status_test', - 'section' => 'UI', - 'description' => 'Display a link to the maestro status test page on the customer view page', - 'type' => 'checkbox', - }, - { 'key' => 'cust_main-custom_link', 'section' => 'UI', @@ -5169,7 +5272,7 @@ and customer address. Include units.', { 'key' => 'svc_phone-did-summary', 'section' => 'invoicing', - 'description' => 'Enable DID activity summary on invoices, showing # DIDs activated/deactivated/ported-in/ported-out and total minutes usage, covering period since last invoice.', + 'description' => 'Experimental feature to 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', }, @@ -5236,13 +5339,6 @@ and customer address. Include units.', 'select_enum' => [ 'Classic', 'Recurring' ], }, - { - 'key' => 'cust_main-print_statement_link', - 'section' => 'UI', - 'description' => 'Show a link to download a current statement for the customer.', - 'type' => 'checkbox', - }, - { 'key' => 'username-pound', 'section' => 'username', @@ -5454,6 +5550,28 @@ and customer address. Include units.', 'type' => 'checkbox', }, + { + 'key' => 'authentication_module', + 'section' => 'UI', + 'description' => '"Internal" is the default , which authenticates against the internal database. "Legacy" is similar, but matches passwords against a legacy htpasswd file.', + 'type' => 'select', + 'select_enum' => [qw( Internal Legacy )], + }, + + { + 'key' => 'external_auth-access_group-template_user', + 'section' => 'UI', + 'description' => 'When using an external authentication module, specifies the default access groups for autocreated users, via a template user.', + 'type' => 'text', + }, + + { + 'key' => 'allow_invalid_cards', + 'section' => '', + 'description' => 'Accept invalid credit card numbers. Useful for testing with fictitious customers. There is no good reason to enable this in production.', + 'type' => 'checkbox', + }, + { key => "apacheroot", section => "deprecated", description => "DEPRECATED", type => "text" }, { key => "apachemachine", section => "deprecated", description => "DEPRECATED", type => "text" }, { key => "apachemachines", section => "deprecated", description => "DEPRECATED", type => "text" },