X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=FS%2FFS%2FConf.pm;h=8dbc070a0c0026584c090b9e41792a24168bd58c;hb=a1a0800de7c69fe5ee414b79e408ceacd4a1c2c3;hp=5c43b3ac985786387dbfd95d4e532d1014fc4250;hpb=0af38652da3b3be7da2d35b048285ef6f2194e1a;p=freeside.git
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index 5c43b3ac9..8dbc070a0 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -14,7 +14,6 @@ use FS::conf;
use FS::Record qw(qsearch qsearchs);
use FS::UID qw(dbh datasrc use_confcompat);
use FS::Misc::Invoicing qw( spool_formats );
-use FS::Misc::Geo;
$base_dir = '%%%FREESIDE_CONF%%%';
@@ -718,6 +717,18 @@ my %batch_gateway_options = (
},
);
+my @cdr_formats = (
+ '' => '',
+ 'default' => 'Default',
+ 'source_default' => 'Default with source',
+ 'accountcode_default' => 'Default plus accountcode',
+ 'description_default' => 'Default with description field as destination',
+ 'basic' => 'Basic',
+ 'simple' => 'Simple',
+ 'simple2' => 'Simple with source',
+ 'accountcode_simple' => 'Simple with accountcode',
+);
+
# takes the reason class (C, R, S) as an argument
sub reason_type_options {
my $reason_class = shift;
@@ -749,6 +760,15 @@ sub reason_type_options {
'type' => 'text',
},
+ {
+ 'key' => 'event_log_level',
+ 'section' => 'notification',
+ 'description' => 'Store events in the internal log if they are at least this severe. "info" is the default, "debug" is very detailed and noisy.',
+ 'type' => 'select',
+ 'select_enum' => [ '', 'debug', 'info', 'notice', 'warning', 'error', ],
+ # don't bother with higher levels
+ },
+
{
'key' => 'log_sent_mail',
'section' => 'notification',
@@ -976,6 +996,14 @@ sub reason_type_options {
'select_enum' => [ '', qw( USD AUD CAD DKK EUR GBP ILS JPY NZD ) ],
},
+ {
+ 'key' => 'currency',
+ 'section' => 'billing',
+ 'description' => 'Currency',
+ 'type' => 'select',
+ 'select_enum' => [ '', qw( USD AUD CAD DKK EUR GBP ILS JPY NZD XAF ) ],
+ },
+
{
'key' => 'business-batchpayment-test_transaction',
'section' => 'billing',
@@ -1135,6 +1163,13 @@ sub reason_type_options {
'type' => 'checkbox',
},
+ {
+ 'key' => 'svc_acct-ip_addr',
+ 'section' => '',
+ 'description' => 'Enable IP address management on login services like for broadband services.',
+ 'type' => 'checkbox',
+ },
+
{
'key' => 'exclude_ip_addr',
'section' => '',
@@ -1472,7 +1507,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 9', '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 18', 'Net 20', 'Net 21', 'Net 30', 'Net 45', 'Net 60', 'Net 90' ],
},
{
@@ -1494,8 +1529,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',
@@ -1593,6 +1638,7 @@ and customer address. Include units.',
'section' => 'required',
'description' => 'Print command for paper invoices, for example `lpr -h\'',
'type' => 'text',
+ 'per_agent' => 1,
},
{
@@ -2038,7 +2084,7 @@ and customer address. Include units.',
'key' => 'locale',
'section' => 'UI',
'description' => 'Default locale',
- 'type' => 'select',
+ 'type' => 'select-sub',
'options_sub' => sub {
map { $_ => FS::Locales->description($_) } FS::Locales->locales;
},
@@ -2052,7 +2098,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) ],
},
{
@@ -2426,7 +2472,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) ],
},
{
@@ -2434,7 +2480,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) ],
},
{
@@ -3219,6 +3265,14 @@ and customer address. Include units.',
'per_agent' => 1,
},
+ {
+ 'key' => 'ics-confirm_template',
+ 'section' => '',
+ 'description' => 'Confirmation email template for uploading to ICS invoice printing. Text::Template format, with variables "%count" and "%sum".',
+ 'type' => 'textarea',
+ 'per_agent' => 1,
+ },
+
{
'key' => 'svc_acct-usage_suspend',
'section' => 'billing',
@@ -3502,7 +3556,7 @@ and customer address. Include units.',
'section' => 'billing',
'description' => 'Default format for batches.',
'type' => 'select',
- 'select_enum' => [ 'csv-td_canada_trust-merchant_pc_batch',
+ 'select_enum' => [ 'NACHA', 'csv-td_canada_trust-merchant_pc_batch',
'csv-chase_canada-E-xactBatch', 'BoM', 'PAP',
'paymentech', 'ach-spiritone', 'RBC'
]
@@ -3564,9 +3618,9 @@ and customer address. Include units.',
'section' => 'billing',
'description' => 'Fixed (unchangeable) format for electronic check batches.',
'type' => 'select',
- 'select_enum' => [ 'csv-td_canada_trust-merchant_pc_batch', 'BoM', 'PAP',
- 'paymentech', 'ach-spiritone', 'RBC', 'td_eft1464',
- 'eft_canada'
+ 'select_enum' => [ 'NACHA', 'csv-td_canada_trust-merchant_pc_batch', 'BoM',
+ 'PAP', 'paymentech', 'ach-spiritone', 'RBC',
+ 'td_eft1464', 'eft_canada'
]
},
@@ -3601,7 +3655,7 @@ and customer address. Include units.',
{
'key' => 'batchconfig-paymentech',
'section' => 'billing',
- 'description' => 'Configuration for Chase Paymentech batching, five lines: 1. BIN, 2. Terminal ID, 3. Merchant ID, 4. Username, 5. Password (for batch uploads)',
+ 'description' => 'Configuration for Chase Paymentech batching, six lines: 1. BIN, 2. Terminal ID, 3. Merchant ID, 4. Username, 5. Password (for batch uploads), 6. Flag to send recurring indicator.',
'type' => 'textarea',
},
@@ -3619,13 +3673,6 @@ and customer address. Include units.',
'type' => 'textarea',
},
- {
- 'key' => 'batch-manual_approval',
- 'section' => 'billing',
- 'description' => 'Allow manual batch closure, which will approve all payments that do not yet have a status. This is not advised, but is needed for payment processors that provide a report of rejected rather than approved payments.',
- 'type' => 'checkbox',
- },
-
{
'key' => 'batchconfig-eft_canada',
'section' => 'billing',
@@ -3634,6 +3681,34 @@ and customer address. Include units.',
'per_agent' => 1,
},
+ {
+ 'key' => 'batchconfig-nacha-destination',
+ 'section' => 'billing',
+ 'description' => 'Configuration for NACHA batching, Destination (9 digit transit routing number).',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'batchconfig-nacha-destination_name',
+ 'section' => 'billing',
+ 'description' => 'Configuration for NACHA batching, Destination (Bank Name, up to 23 characters).',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'batchconfig-nacha-origin',
+ 'section' => 'billing',
+ 'description' => 'Configuration for NACHA batching, Origin (your 10-digit company number, IRS tax ID recommended).',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'batch-manual_approval',
+ 'section' => 'billing',
+ 'description' => 'Allow manual batch closure, which will approve all payments that do not yet have a status. This is not advised unless needed for specific payment processors that provide a report of rejected rather than approved payments.',
+ 'type' => 'checkbox',
+ },
+
{
'key' => 'batch-spoolagent',
'section' => 'billing',
@@ -3698,20 +3773,6 @@ and customer address. Include units.',
'type' => 'text',
},
- {
- 'key' => 'cust_main-skeleton_tables',
- 'section' => '',
- 'description' => 'Tables which will have skeleton records inserted into them for each customer. Syntax for specifying tables is unfortunately a tricky perl data structure for now.',
- 'type' => 'textarea',
- },
-
- {
- 'key' => 'cust_main-skeleton_custnum',
- 'section' => '',
- 'description' => 'Customer number specifying the source data to copy into skeleton tables for new customers.',
- 'type' => 'text',
- },
-
{
'key' => 'cust_main-enable_birthdate',
'section' => 'UI',
@@ -3762,6 +3823,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.',
@@ -3892,6 +3960,19 @@ and customer address. Include units.',
'per_agent' => 1,
},
+ {
+ 'key' => 'cust_bill-line_item-date_style-non_monthly',
+ 'section' => 'billing',
+ 'description' => 'If set, override cust_bill-line_item-date_style for non-monthly charges.',
+ 'type' => 'select',
+ 'select_hash' => [ '' => 'Default',
+ 'start_end' => 'STARTDATE-ENDDATE',
+ 'month_of' => 'Month of MONTHNAME',
+ 'X_month' => 'DATE_DESC MONTHNAME',
+ ],
+ 'per_agent' => 1,
+ },
+
{
'key' => 'cust_bill-line_item-date_description',
'section' => 'billing',
@@ -3931,7 +4012,7 @@ and customer address. Include units.',
'type' => 'select',
'multiple' => 1,
'select_hash' => [
- 'address1' => 'Billing address',
+ #'address1' => 'Billing address',
],
},
@@ -4049,6 +4130,17 @@ and customer address. Include units.',
'type' => 'checkbox',
},
+ {
+ 'key' => 'address_standardize_method',
+ 'section' => 'UI', #???
+ 'description' => 'Method for standardizing customer addresses.',
+ 'type' => 'select',
+ 'select_hash' => [ '' => '',
+ 'usps' => 'U.S. Postal Service',
+ 'ezlocate' => 'EZLocate',
+ ],
+ },
+
{
'key' => 'usps_webtools-userid',
'section' => 'UI',
@@ -4063,6 +4155,20 @@ and customer address. Include units.',
'type' => 'text',
},
+ {
+ 'key' => 'ezlocate-userid',
+ 'section' => 'UI',
+ 'description' => 'User ID for EZ-Locate service. See the TomTom website for access and pricing information.',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'ezlocate-password',
+ 'section' => 'UI',
+ 'description' => 'Password for EZ-Locate service.',
+ 'type' => 'text'
+ },
+
{
'key' => 'cust_main-auto_standardize_address',
'section' => 'UI',
@@ -4080,7 +4186,7 @@ and customer address. Include units.',
{
'key' => 'census_year',
'section' => 'UI',
- 'description' => 'The year to use in census tract lookups',
+ '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.',
'type' => 'select',
'select_enum' => [ qw( 2012 2011 2010 ) ],
},
@@ -4090,7 +4196,12 @@ and customer address. Include units.',
'section' => 'UI',
'description' => 'The method to use to look up tax district codes.',
'type' => 'select',
- 'select_hash' => [ FS::Misc::Geo::get_district_methods() ],
+ #'select_hash' => [ FS::Misc::Geo::get_district_methods() ],
+ #after RT#13763, using FS::Misc::Geo here now causes a dependancy loop :/
+ 'select_hash' => [
+ '' => '',
+ 'wa_sales' => 'Washington sales tax',
+ ],
},
{
@@ -4408,6 +4519,31 @@ and customer address. Include units.',
'per_agent' => 1,
},
+ {
+ 'key' => 'selfservice-menu_disable',
+ 'section' => 'self-service',
+ 'description' => 'Disable the selected menu entries in the self-service menu',
+ 'type' => 'selectmultiple',
+ 'select_enum' => [ #false laziness w/myaccount_menu.html
+ 'Overview',
+ 'Purchase',
+ 'Purchase additional package',
+ 'Recharge my account with a credit card',
+ 'Recharge my account with a check',
+ 'Recharge my account with a prepaid card',
+ 'View my usage',
+ 'Create a ticket',
+ 'Setup my services',
+ 'Change my information',
+ 'Change billing address',
+ 'Change service address',
+ 'Change payment information',
+ 'Change password(s)',
+ 'Logout',
+ ],
+ 'per_agent' => 1,
+ },
+
{
'key' => 'selfservice-menu_skipblanks',
'section' => 'self-service',
@@ -4493,23 +4629,6 @@ and customer address. Include units.',
'type' => 'text',
},
- {
- 'key' => 'selfservice-bulk_format',
- 'section' => 'deprecated',
- 'description' => 'Parameter arrangement for selfservice bulk features',
- 'type' => 'select',
- 'select_enum' => [ '', 'izoom-soap', 'izoom-ftp' ],
- 'per_agent' => 1,
- },
-
- {
- 'key' => 'selfservice-bulk_ftp_dir',
- 'section' => 'deprecated',
- 'description' => 'Enable bulk ftp provisioning in this folder',
- 'type' => 'text',
- 'per_agent' => 1,
- },
-
{
'key' => 'signup-no_company',
'section' => 'self-service',
@@ -4652,6 +4771,13 @@ and customer address. Include units.',
'type' => 'checkbox',
},
+ {
+ 'key' => 'cdr-taqua-callerid_rewrite',
+ 'section' => 'telephony',
+ 'description' => 'For the Taqua CDR format, pull Caller ID blocking information from secondary CDRs.',
+ 'type' => 'checkbox',
+ },
+
{
'key' => 'cdr-asterisk_australia_rewrite',
'section' => 'telephony',
@@ -4659,6 +4785,13 @@ and customer address. Include units.',
'type' => 'checkbox',
},
+ {
+ 'key' => 'cdr-gsm_tap3-sender',
+ 'section' => 'telephony',
+ 'description' => 'GSM TAP3 Sender network (5 letter code)',
+ 'type' => 'text',
+ },
+
{
'key' => 'cust_pkg-show_autosuspend',
'section' => 'UI',
@@ -4719,7 +4852,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',
},
@@ -4818,7 +4951,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',
},
@@ -5071,6 +5204,13 @@ and customer address. Include units.',
'type' => 'text',
},
+ {
+ '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',
@@ -5093,6 +5233,13 @@ and customer address. Include units.',
'type' => 'checkbox',
},
+ {
+ 'key' => 'username-exclamation',
+ 'section' => 'username',
+ 'description' => 'Allow the exclamation character (!) in usernames.',
+ 'type' => 'checkbox',
+ },
+
{
'key' => 'ie-compatibility_mode',
'section' => 'UI',
@@ -5207,6 +5354,19 @@ and customer address. Include units.',
$cdr_type ? $cdr_type->cdrtypename : '';
},
},
+
+ {
+ 'key' => 'cdr-minutes_priority',
+ 'section' => 'telephony',
+ 'description' => 'Priority rule for assigning included minutes to CDRs.',
+ 'type' => 'select',
+ 'select_hash' => [
+ '' => 'No specific order',
+ 'time' => 'Chronological',
+ 'rate_high' => 'Highest rate first',
+ 'rate_low' => 'Lowest rate first',
+ ],
+ },
{
'key' => 'brand-agent',
@@ -5229,6 +5389,22 @@ and customer address. Include units.',
'type' => 'checkbox',
},
+ {
+ 'key' => 'selfservice-default_cdr_format',
+ 'section' => 'self-service',
+ 'description' => 'Format for showing outbound CDRs in self-service. The per-package option overrides this.',
+ 'type' => 'select',
+ 'select_hash' => \@cdr_formats,
+ },
+
+ {
+ 'key' => 'selfservice-default_inbound_cdr_format',
+ 'section' => 'self-service',
+ 'description' => 'Format for showing inbound CDRs in self-service. The per-package option overrides this. Leave blank to avoid showing these CDRs.',
+ 'type' => 'select',
+ 'select_hash' => \@cdr_formats,
+ },
+
{
'key' => 'logout-timeout',
'section' => 'UI',
@@ -5254,6 +5430,13 @@ 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 => "apacheroot", section => "deprecated", description => "DEPRECATED", type => "text" },
{ key => "apachemachine", section => "deprecated", description => "DEPRECATED", type => "text" },
{ key => "apachemachines", section => "deprecated", description => "DEPRECATED", type => "text" },