X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=42fe9ec4cd9ae888e65d20d0f21d4355bef28ef1;hp=51a3f626ad33db4e86d978af5c824ee69d88232f;hb=3564f619654c5cbf22fc2acbe7eff0c08308e859;hpb=6c8c35f089c2846feee78ded4f5ce9f829b06391 diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 51a3f626a..42fe9ec4c 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; @@ -866,6 +867,13 @@ sub reason_type_options { }, { + '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', 'description' => 'Enable encryption of credit cards and echeck numbers', @@ -999,12 +1007,25 @@ 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', 'description' => 'Turns on the Business::BatchPayment test_mode flag. Note that not all gateway modules support this flag; if yours does not, using the batch gateway will fail.', @@ -1038,31 +1059,20 @@ sub reason_type_options { 'select_hash' => [ '%b %o, %Y' => 'Mon DDth, YYYY', '%e %b %Y' => 'DD Mon YYYY', + '%m/%d/%Y' => 'MM/DD/YYYY', + '%d/%m/%Y' => 'DD/MM/YYYY', + '%Y/%m/%d' => 'YYYY/MM/DD', ], }, { - '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 #'section' => 'deprecated', @@ -1529,8 +1539,18 @@ and customer address. Include units.', 'section' => 'invoicing', 'description' => 'Split invoice into sections and label according to package category when enabled.', 'type' => 'checkbox', + 'per_agent' => 1, }, + #quotations seem broken-ish with sections ATM? + #{ + # 'key' => 'quotation_sections', + # 'section' => 'invoicing', + # 'description' => 'Split quotations into sections and label according to package category when enabled.', + # 'type' => 'checkbox', + # 'per_agent' => 1, + #}, + { 'key' => 'usage_class_as_a_section', 'section' => 'invoicing', @@ -2088,7 +2108,7 @@ and customer address. Include units.', 'section' => 'self-service', 'description' => 'Acceptable payment types for the signup server', 'type' => 'selectmultiple', - 'select_enum' => [ qw(CARD DCRD CHEK DCHK LECB PREPAY BILL COMP) ], + 'select_enum' => [ qw(CARD DCRD CHEK DCHK LECB PREPAY PPAL BILL COMP) ], }, { @@ -2149,11 +2169,18 @@ and customer address. Include units.', { 'key' => 'signup_server-default_svcpart', 'section' => 'self-service', - 'description' => 'Default service definition for the signup server - only necessary for services that trigger special provisioning widgets (such as DID provisioning).', + 'description' => 'Default service definition for the signup server - only necessary for services that trigger special provisioning widgets (such as DID provisioning or domain selection).', 'type' => 'select-part_svc', }, { + 'key' => 'signup_server-default_domsvc', + 'section' => 'self-service', + 'description' => 'If specified, the default domain svcpart for signup (useful when domain is set to selectable choice).', + 'type' => 'text', + }, + + { 'key' => 'signup_server-mac_addr_svcparts', 'section' => 'self-service', 'description' => 'Service definitions which can receive mac addresses (current mapped to username for svc_acct).', @@ -2245,6 +2272,12 @@ and customer address. Include units.', }, { + 'key' => 'selfservice-timeout', + 'section' => 'self-service', + 'description' => 'Timeout for the self-service login cookie, in seconds. Defaults to 1 hour.', + }, + + { 'key' => 'backend-realtime', 'section' => 'billing', 'description' => 'Run billing for backend signups immediately.', @@ -2462,7 +2495,7 @@ and customer address. Include units.', 'section' => 'billing', 'description' => 'Available payment types.', 'type' => 'selectmultiple', - 'select_enum' => [ qw(CARD DCRD CHEK DCHK LECB BILL CASH WEST MCRD COMP) ], + 'select_enum' => [ qw(CARD DCRD CHEK DCHK LECB BILL CASH WEST MCRD PPAL COMP) ], }, { @@ -2470,7 +2503,7 @@ and customer address. Include units.', 'section' => 'UI', 'description' => 'Default payment type. HIDE disables display of billing information and sets customers to BILL.', 'type' => 'select', - 'select_enum' => [ '', qw(CARD DCRD CHEK DCHK LECB BILL CASH WEST MCRD COMP HIDE) ], + 'select_enum' => [ '', qw(CARD DCRD CHEK DCHK LECB BILL CASH WEST MCRD PPAL COMP HIDE) ], }, { @@ -3387,13 +3420,6 @@ and customer address. Include units.', }, { - 'key' => 'echeck-nonus', - 'section' => 'billing', - 'description' => 'Disable ABA-format account checking for Electronic Check payment info', - 'type' => 'checkbox', - }, - - { 'key' => 'echeck-country', 'section' => 'billing', 'description' => 'Format electronic check information for the specified country.', @@ -3666,7 +3692,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, }, @@ -3813,6 +3839,13 @@ and customer address. Include units.', 'type' => 'checkbox', }, + { + 'key' => 'fuzzy-fuzziness', + 'section' => 'UI', + 'description' => 'Set the "fuzziness" of fuzzy searching (see the String::Approx manpage for details). Defaults to 10%', + 'type' => 'text', + }, + { 'key' => 'pkg_referral', 'section' => '', 'description' => 'Enable package-specific advertising sources.', @@ -4114,6 +4147,13 @@ and customer address. Include units.', }, { + 'key' => 'always_show_tax', + 'section' => 'invoicing', + 'description' => 'Show a line for tax on the invoice even when the tax is zero. Optionally provide text for the tax name to show.', + 'type' => [ qw(checkbox text) ], + }, + + { 'key' => 'address_standardize_method', 'section' => 'UI', #??? 'description' => 'Method for standardizing customer addresses.', @@ -4613,6 +4653,13 @@ and customer address. Include units.', }, { + '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', 'description' => "Don't display a field for company name on signup.", @@ -4835,7 +4882,7 @@ and customer address. Include units.', { 'key' => 'svc_broadband-manage_link', 'section' => 'UI', - 'description' => 'URL for svc_broadband "Manage Device" link. The following substitutions are available: $ip_addr.', + 'description' => 'URL for svc_broadband "Manage Device" link. The following substitutions are available: $ip_addr and $mac_addr.', 'type' => 'text', }, @@ -4934,7 +4981,7 @@ and customer address. Include units.', { 'key' => 'pkg-balances', 'section' => 'billing', - 'description' => 'Enable experimental package balances. Not recommended for general use.', + 'description' => 'Enable per-package balances.', 'type' => 'checkbox', }, @@ -5044,13 +5091,6 @@ and customer address. Include units.', }, { - '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', 'description' => 'URL to use as source for the "Custom" tab in the View Customer page. The customer number will be appended, or you can insert "$custnum" to have it inserted elsewhere. "$agentnum" will be replaced with the agent number, and "$usernum" will be replaced with the employee number.', @@ -5188,6 +5228,13 @@ and customer address. Include units.', }, { + 'key' => 'invoice_payment_details', + 'section' => 'invoicing', + 'description' => 'When displaying payments on an invoice, show the payment method used, including the check or credit card number. Credit card numbers will be masked.', + 'type' => 'checkbox', + }, + + { 'key' => 'cust_main-status_module', 'section' => 'UI', 'description' => 'Which module to use for customer status display. The "Classic" module (the default) considers accounts with cancelled recurring packages but un-cancelled one-time charges Inactive. The "Recurring" module considers those customers Cancelled. Similarly for customers with suspended recurring packages but one-time charges.', #other differences? @@ -5195,13 +5242,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', @@ -5406,6 +5446,28 @@ and customer address. Include units.', 'type' => 'text', }, + { + 'key' => 'report-cust_pay-select_time', + 'section' => 'UI', + 'description' => 'Enable time selection on payment and refund reports.', + '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 => "apacheroot", section => "deprecated", description => "DEPRECATED", type => "text" }, { key => "apachemachine", section => "deprecated", description => "DEPRECATED", type => "text" }, { key => "apachemachines", section => "deprecated", description => "DEPRECATED", type => "text" },