X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=6303a3478db0c4a85c804067ed18a39f9ba38b32;hb=3cbdd85a96348a287623e3b97c937c7749e99392;hp=f280c7fc1b8a58c0ae78a81b4937dd0fca5e8806;hpb=a16891c16e0ddd389b32963b638cdfeadf86c447;p=freeside.git diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index f280c7fc1..6303a3478 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -975,6 +975,13 @@ my $validate_email = sub { $_[0] =~ }, { + 'key' => 'business-onlinepayment-verification', + 'section' => 'billing', + 'description' => 'Run a $1 authorization (followed by a void) to verify new credit card information.', + 'type' => 'checkbox', + }, + + { 'key' => 'currency', 'section' => 'billing', 'description' => 'Main accounting currency', @@ -1004,7 +1011,7 @@ my $validate_email = sub { $_[0] =~ { 'key' => 'countrydefault', - 'section' => 'UI', + 'section' => 'localization', 'description' => 'Default two-letter country code (if not supplied, the default is `US\')', 'type' => 'text', }, @@ -1179,7 +1186,7 @@ my $validate_email = sub { $_[0] =~ { 'key' => 'quotation_from', - 'section' => '', + 'section' => 'quotations', 'description' => 'Return address on email quotations', 'type' => 'text', 'per_agent' => 1, @@ -1197,7 +1204,7 @@ my $validate_email = sub { $_[0] =~ { 'key' => 'quotation_subject', - 'section' => '', + 'section' => 'quotations', 'description' => 'Subject: header on email quotations. Defaults to "Quotation".', # The following substitutions are available: $name, $name_short, $invoice_number, and $invoice_date.', 'type' => 'text', #'per_agent' => 1, @@ -1228,7 +1235,7 @@ my $validate_email = sub { $_[0] =~ { 'key' => 'quotation_html', - 'section' => '', + 'section' => 'quotations', 'description' => 'HTML template for quotations.', 'type' => 'textarea', @@ -1287,7 +1294,7 @@ my $validate_email = sub { $_[0] =~ { 'key' => 'quotation_latex', - 'section' => '', + 'section' => 'quotations', 'description' => 'LaTeX template for typeset PostScript quotations.', 'type' => 'textarea', }, @@ -1352,7 +1359,7 @@ and customer address. Include units.', { 'key' => 'quotation_latexnotes', - 'section' => '', + 'section' => 'quotations', 'description' => 'Notes section for LaTeX typeset PostScript quotations.', 'type' => 'textarea', 'per_agent' => 1, @@ -1389,7 +1396,7 @@ and customer address. Include units.', { 'key' => 'invoice_latexextracouponspace', 'section' => 'invoicing', - 'description' => 'Optional LaTeX invoice textheight space to reserve for a tear off coupon. Include units. Default is 3.6cm', + 'description' => 'Optional LaTeX invoice textheight space to reserve for a tear off coupon. Include units. Default is 2.7 inches.', 'type' => 'text', 'per_agent' => 1, 'validate' => sub { shift =~ @@ -1401,7 +1408,7 @@ and customer address. Include units.', { 'key' => 'invoice_latexcouponfootsep', 'section' => 'invoicing', - 'description' => 'Optional LaTeX invoice separation between tear off coupon and footer. Include units.', + 'description' => 'Optional LaTeX invoice separation between bottom of coupon address and footer. Include units. Default is 0.2 inches.', 'type' => 'text', 'per_agent' => 1, 'validate' => sub { shift =~ @@ -1413,7 +1420,7 @@ and customer address. Include units.', { 'key' => 'invoice_latexcouponamountenclosedsep', 'section' => 'invoicing', - 'description' => 'Optional LaTeX invoice separation between total due and amount enclosed line. Include units.', + 'description' => 'Optional LaTeX invoice separation between total due and amount enclosed line. Include units. Default is 2.25 em.', 'type' => 'text', 'per_agent' => 1, 'validate' => sub { shift =~ @@ -1424,7 +1431,7 @@ and customer address. Include units.', { 'key' => 'invoice_latexcoupontoaddresssep', 'section' => 'invoicing', - 'description' => 'Optional LaTeX invoice separation between invoice data and the to address (usually invoice_latexreturnaddress). Include units.', + 'description' => 'Optional LaTeX invoice separation between invoice data and the address (usually invoice_latexreturnaddress). Include units. Default is 1 inch.', 'type' => 'text', 'per_agent' => 1, 'validate' => sub { shift =~ @@ -1442,8 +1449,8 @@ and customer address. Include units.', { 'key' => 'invoice_latexverticalreturnaddress', - 'section' => 'invoicing', - 'description' => 'Place the return address under the company logo rather than beside it.', + 'section' => 'deprecated', + 'description' => 'Deprecated. With old invoice_latex template, places the return address under the company logo rather than beside it.', 'type' => 'checkbox', 'per_agent' => 1, }, @@ -1483,7 +1490,7 @@ and customer address. Include units.', { 'key' => 'quotation_email_pdf', - 'section' => '', + 'section' => 'quotations', 'description' => 'Send PDF quotations as an attachment to emailed quotations. By default, includes the HTML quotation as the email body, unless quotation_email_pdf_note is set.', 'type' => 'checkbox' }, @@ -1504,7 +1511,7 @@ and customer address. Include units.', { 'key' => 'quotation_email_pdf_note', - 'section' => '', + 'section' => 'quotations', 'description' => 'If defined, this text will replace the default HTML quotation as the body of emailed PDF quotations.', 'type' => 'textarea' }, @@ -1690,7 +1697,7 @@ and customer address. Include units.', { 'key' => 'lpr', - 'section' => 'required', + 'section' => 'important', 'description' => 'Print command for paper invoices, for example `lpr -h\'', 'type' => 'text', 'per_agent' => 1, @@ -1720,7 +1727,7 @@ and customer address. Include units.', { 'key' => 'money_char', - 'section' => '', + 'section' => 'localization', 'description' => 'Currency symbol - defaults to `$\'', 'type' => 'text', }, @@ -1893,21 +1900,21 @@ and customer address. Include units.', { 'key' => 'smtp-username', - 'section' => '', + 'section' => 'notification', 'description' => 'Optional SMTP username for Freeside\'s outgoing mail', 'type' => 'text', }, { 'key' => 'smtp-password', - 'section' => '', + 'section' => 'notification', 'description' => 'Optional SMTP password for Freeside\'s outgoing mail', 'type' => 'text', }, { 'key' => 'smtp-encryption', - 'section' => '', + 'section' => 'notification', 'description' => 'Optional SMTP encryption method. The STARTTLS methods require smtp-username and smtp-password to be set.', 'type' => 'select', 'select_hash' => [ '25' => 'None (port 25)', @@ -1961,16 +1968,19 @@ and customer address. Include units.', { 'key' => 'statedefault', - 'section' => 'UI', + 'section' => 'localization', 'description' => 'Default state or province (if not supplied, the default is `CA\')', 'type' => 'text', }, { - 'key' => 'unsuspendauto', + 'key' => 'unsuspend_balance', 'section' => 'billing', - 'description' => 'Enables the automatic unsuspension of suspended packages when a customer\'s balance due changes from positive to zero or negative as the result of a payment or credit', - 'type' => 'checkbox', + 'description' => 'Enables the automatic unsuspension of suspended packages when a customer\'s balance due is at or below the specified amount after a payment or credit', + 'type' => 'select', + 'select_enum' => [ + '', 'Zero', 'Latest invoice charges', 'Charges not past due' + ], }, { @@ -2103,7 +2113,7 @@ and customer address. Include units.', { 'key' => 'national_id-country', - 'section' => 'UI', + 'section' => 'localization', 'description' => 'Track a national identification number, for specific countries.', 'type' => 'select', 'select_enum' => [ '', 'MY' ], @@ -2153,7 +2163,7 @@ and customer address. Include units.', { 'key' => 'locale', - 'section' => 'UI', + 'section' => 'localization', 'description' => 'Default locale', 'type' => 'select-sub', 'options_sub' => sub { @@ -2487,15 +2497,15 @@ and customer address. Include units.', { 'key' => 'welcome_msgnum', - 'section' => 'notification', - 'description' => 'Template to use for welcome messages when a svc_acct record is created.', + 'section' => 'deprecated', + 'description' => 'Deprecated; use a billing event instead. Used to be the template to use for welcome messages when a svc_acct record is created.', %msg_template_options, }, { 'key' => 'svc_acct_welcome_exclude', - 'section' => 'notification', - 'description' => 'A list of svc_acct services for which no welcome email is to be sent.', + 'section' => 'deprecated', + 'description' => 'Deprecated; use a billing event instead. A list of svc_acct services for which no welcome email is to be sent.', 'type' => 'select-part_svc', 'multiple' => 1, }, @@ -2576,6 +2586,13 @@ and customer address. Include units.', }, { + 'key' => 'radius-canopy', + 'section' => '', + 'description' => 'Enable RADIUS attributes for Cambium (formerly Motorola) Canopy (Motorola-Canopy-Gateway).', + 'type' => 'checkbox', + }, + + { 'key' => 'svc_broadband-radius', 'section' => '', 'description' => 'Enable RADIUS groups for broadband services.', @@ -3169,7 +3186,7 @@ and customer address. Include units.', { 'key' => 'ticket_system-appointment-queueid', 'section' => 'ticketing', - 'description' => 'Custom field from the ticketing system to use as an appointment classification.', + 'description' => 'Ticketing queue to use for appointments.', #false laziness w/above 'type' => 'select-sub', 'options_sub' => sub { @@ -3197,7 +3214,7 @@ and customer address. Include units.', { 'key' => 'ticket_system-appointment-custom_field', 'section' => 'ticketing', - 'description' => 'Custom field from the ticketing system to use as an appointment classification.', + 'description' => 'Ticketing custom field to use as an appointment classification.', 'type' => 'text', }, @@ -3249,7 +3266,7 @@ and customer address. Include units.', { 'key' => 'company_phonenum', - 'section' => 'notification', + 'section' => 'important', 'description' => 'Your company phone number', 'type' => 'text', 'per_agent' => 1, @@ -3272,7 +3289,7 @@ and customer address. Include units.', { 'key' => 'cust_main-require_address2', 'section' => 'UI', - 'description' => 'Second address field is required (on service address only, if billing and service addresses differ). Also enables "Unit" labeling of address2 on customer view and edit pages. Useful for multi-tenant applications. See also: address2-search', + 'description' => 'Second address field is required. Also enables "Unit" labeling of address2 on customer view and edit pages. Useful for multi-tenant applications. See also: address2-search', # service address only part not working in the modern world, see #41184 (on service address only, if billing and service addresses differ) 'type' => 'checkbox', }, @@ -3939,13 +3956,6 @@ and customer address. Include units.', }, { - 'key' => 'cust_main-enable_order_package', - 'section' => 'UI', - 'description' => 'Display order new package on the basic tab', - 'type' => 'checkbox', - }, - - { 'key' => 'cust_main-edit_calling_list_exempt', 'section' => 'UI', 'description' => 'Display the "calling_list_exempt" checkbox on customer edit.', @@ -3955,7 +3965,14 @@ and customer address. Include units.', { 'key' => 'support-key', 'section' => '', - 'description' => 'A support key enables access to commercial services delivered over the network, such as the payroll module, access to the internal ticket system, priority support and optional backups.', + 'description' => 'A support key enables access to commercial services delivered over the network, such as address normalization and invoice printing.', + 'type' => 'text', + }, + + { + 'key' => 'freesideinc-webservice-svcpart', + 'section' => '', + 'description' => 'Do not set this.', 'type' => 'text', }, @@ -4017,7 +4034,7 @@ and customer address. Include units.', { 'key' => 'logo.png', - 'section' => 'UI', #'invoicing' ? + 'section' => 'important', #'invoicing' ? 'description' => 'Company logo for HTML invoices and the backoffice interface, in PNG format. Suggested size somewhere near 92x62.', 'type' => 'image', 'per_agent' => 1, #XXX just view/logo.cgi, which is for the global @@ -4049,14 +4066,16 @@ and customer address. Include units.', 'select_enum' => [ '1 hour', '2 hours', '4 hours', '8 hours', '1 day', '1 week', ], }, - { - 'key' => 'password-generated-allcaps', - 'section' => 'password', - 'description' => 'Causes passwords automatically generated to consist entirely of capital letters', - 'type' => 'checkbox', - }, + # 3.x-only options for a more tolerant password policy # { +# 'key' => 'password-generated-characters', +# 'section' => 'password', +# 'description' => 'Set of characters to use when generating random passwords. This must contain at least one lowercase letter, uppercase letter, digit, and punctuation mark.', +# 'type' => 'textarea', +# }, +# +# { # 'key' => 'password-no_reuse', # 'section' => 'password', # 'description' => 'Minimum number of password changes before a password can be reused. By default, passwords can be reused without restriction.', @@ -4327,8 +4346,8 @@ and customer address. Include units.', 'select_hash' => [ '' => '', 'uscensus' => 'U.S. Census Bureau', 'usps' => 'U.S. Postal Service', - 'tomtom' => 'TomTom', 'melissa' => 'Melissa WebSmart', + 'freeside' => 'Freeside web service (support contract required)', ], }, @@ -4347,13 +4366,6 @@ and customer address. Include units.', }, { - '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' => 'melissa-userid', 'section' => 'UI', # it's really not... 'description' => 'User ID for Melissa WebSmart service. See the Melissa website for access and pricing.', @@ -4411,15 +4423,15 @@ and customer address. Include units.', { 'key' => 'company_latitude', - 'section' => 'UI', - 'description' => 'Your company latitude (-90 through 90)', + 'section' => 'taxation', + 'description' => 'For Avalara taxation, your company latitude (-90 through 90)', 'type' => 'text', }, { 'key' => 'company_longitude', - 'section' => 'UI', - 'description' => 'Your company longitude (-180 thru 180)', + 'section' => 'taxation', + 'description' => 'For Avalara taxation, your company longitude (-180 thru 180)', 'type' => 'text', }, @@ -4462,7 +4474,7 @@ and customer address. Include units.', { 'key' => 'cust_main-default_agent_custid', 'section' => 'UI', - 'description' => 'Display the agent_custid field when available instead of the custnum field.', + 'description' => 'Display the agent_custid field when available instead of the custnum field. Restart Apache after changing.', 'type' => 'checkbox', }, @@ -4499,19 +4511,9 @@ and customer address. Include units.', }, { - 'key' => 'cust_main-custnum-display_special', - 'section' => 'UI', - 'description' => 'Use this customer number prefix format', - 'type' => 'select', - 'select_hash' => [ '' => '', - 'CoStAg' => 'CoStAg (country, state, agent name or display_prefix)', - 'CoStCl' => 'CoStCl (country, state, class name)' ], - }, - - { 'key' => 'cust_main-custnum-display_length', 'section' => 'UI', - 'description' => 'Zero fill the customer number to this many digits for display purposes.', + 'description' => 'Zero fill the customer number to this many digits for display purposes. Restart Apache after changing.', 'type' => 'text', }, @@ -4539,11 +4541,11 @@ and customer address. Include units.', { 'key' => 'part_pkg-delay_cancel-days', 'section' => '', - 'description' => 'Expire packages in this many days when using delay_cancel (default is 1)', + 'description' => 'Number of days to suspend when using automatic suspension period before cancel (default is 1)', 'type' => 'text', 'validate' => sub { (($_[0] =~ /^\d*$/) && (($_[0] eq '') || $_[0])) - ? 'Must specify an integer number of days' - : '' } + ? '' + : 'Must specify an integer number of days' } }, { @@ -5026,6 +5028,13 @@ and customer address. Include units.', }, { + 'key' => 'cdr-intl_to_domestic_rewrite', + 'section' => 'telephony', + 'description' => 'Strip the "011" international prefix from CDR destination numbers if the rest of the number is 7 digits or shorter, and so probably does not contain a country code.', + 'type' => 'checkbox', + }, + + { 'key' => 'cdr-gsm_tap3-sender', 'section' => 'telephony', 'description' => 'GSM TAP3 Sender network (5 letter code)', @@ -5303,7 +5312,7 @@ and customer address. Include units.', my @part_export = map { qsearch( 'part_export', {exporttype => $_ } ) } keys %{FS::part_export::export_info('cust_main')}; - map { $_->exportnum => $_->exporttype.' to '.$_->machine } @part_export; + map { $_->exportnum => $_->exportname } @part_export; }, 'option_sub' => sub { require FS::Record; @@ -5312,7 +5321,7 @@ and customer address. Include units.', 'part_export', { 'exportnum' => shift } ); $part_export - ? $part_export->exporttype.' to '.$part_export->machine + ? $part_export->exportname : ''; }, }, @@ -5321,7 +5330,7 @@ and customer address. Include units.', { 'key' => 'cust_location-exports', 'section' => '', - 'description' => 'Export(s) to call on cust_location insert, modification and deletion.', + 'description' => 'Export(s) to call on cust_location insert or modification', 'type' => 'select-sub', 'multiple' => 1, 'options_sub' => sub { @@ -5330,7 +5339,7 @@ and customer address. Include units.', my @part_export = map { qsearch( 'part_export', {exporttype => $_ } ) } keys %{FS::part_export::export_info('cust_location')}; - map { $_->exportnum => $_->exporttype.' to '.$_->machine } @part_export; + map { $_->exportnum => $_->exportname } @part_export; }, 'option_sub' => sub { require FS::Record; @@ -5339,7 +5348,7 @@ and customer address. Include units.', 'part_export', { 'exportnum' => shift } ); $part_export - ? $part_export->exporttype.' to '.$part_export->machine + ? $part_export->exportname : ''; }, }, @@ -5499,7 +5508,7 @@ and customer address. Include units.', { '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? + '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. Restart Apache after changing.', #other differences? 'type' => 'select', 'select_enum' => [ 'Classic', 'Recurring' ], }, @@ -5563,7 +5572,7 @@ and customer address. Include units.', { 'key' => 'available-locales', - 'section' => '', + 'section' => 'localization', 'description' => 'Limit available locales (employee preferences, per-customer locale selection, etc.) to a particular set.', 'type' => 'select-sub', 'multiple' => 1, @@ -5583,8 +5592,8 @@ and customer address. Include units.', { '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 unless translating the interface into a new language.', + 'section' => 'localization', + 'description' => 'Auto-insert untranslated strings for selected non-en_US locales with their default/en_US values. Do not turn this on unless translating the interface into a new language. Restart Apache after changing.', 'type' => 'select', 'multiple' => 1, 'select_enum' => [ grep { $_ ne 'en_US' } FS::Locales::locales ],