X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=774332253ec6a46d42ab8386eb32782678928d1d;hb=0e7c29b192fff137d3b9167b29633a94f94b995f;hp=43e7aaa3de092d22049b8adc5a8f85e432b3ff5b;hpb=a2253aacd9b6c142236fb800f1c74b04510000f9;p=freeside.git diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 43e7aaa3d..774332253 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -8,6 +8,7 @@ use MIME::Base64; use FS::ConfItem; use FS::ConfDefaults; use FS::Conf_compat17; +use FS::Locales; use FS::payby; use FS::conf; use FS::Record qw(qsearch qsearchs); @@ -622,6 +623,13 @@ my %payment_gateway_options = ( }, { + 'key' => 'log_sent_mail', + 'section' => 'notification', + 'description' => 'Enable logging of template-generated email.', + 'type' => 'checkbox', + }, + + { 'key' => 'alert_expiration', 'section' => 'notification', 'description' => 'Enable alerts about billing method expiration (i.e. expiring credit cards).', @@ -655,6 +663,13 @@ my %payment_gateway_options = ( }, { + 'key' => 'credits-auto-apply-disable', + 'section' => 'billing', + 'description' => 'Disable the "Auto-Apply to invoices" UI option for new credits', + 'type' => 'checkbox', + }, + + { 'key' => 'credit-card-surcharge-percentage', 'section' => 'billing', 'description' => 'Add a credit card surcharge to invoices, as a % of the invoice total. WARNING: this is usually prohibited by merchant account / other agreements and/or law, but is currently lawful in AU and UK.', @@ -674,6 +689,13 @@ my %payment_gateway_options = ( 'description' => 'Display a barcode on HTML and PDF invoices', 'type' => 'checkbox', }, + + { + 'key' => 'cust_main-select-billday', + 'section' => 'billing', + 'description' => 'When used with a specific billing event, allows the selection of the day of month on which to charge credit card / bank account automatically, on a per-customer basis', + 'type' => 'checkbox', + }, { 'key' => 'encryption', @@ -736,7 +758,14 @@ my %payment_gateway_options = ( 'type' => 'text', 'per_agent' => 1, }, - + + { + 'key' => 'next-bill-ignore-time', + 'section' => 'billing', + 'description' => 'Ignore the time portion of next bill dates when billing, matching anything from 00:00:00 to 23:59:59 on the billing day.', + 'type' => 'checkbox', + }, + { 'key' => 'business-onlinepayment', 'section' => 'billing', @@ -1238,7 +1267,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 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 20', 'Net 21', 'Net 30', 'Net 45', 'Net 60', 'Net 90' ], }, { @@ -1779,9 +1808,9 @@ and customer address. Include units.', { 'key' => 'locale', 'section' => 'UI', - 'description' => 'Message locale', + 'description' => 'Default locale', 'type' => 'select', - 'select_enum' => [ qw(en_US) ], + 'select_enum' => [ FS::Locales->locales ], }, { @@ -1807,22 +1836,17 @@ and customer address. Include units.', }, { + 'key' => 'default_agentnum', + 'section' => 'UI', + 'description' => 'Default agent for the backoffice', + 'type' => 'select-agent', + }, + + { 'key' => 'signup_server-default_agentnum', 'section' => 'self-service', 'description' => 'Default agent for the signup server', - 'type' => 'select-sub', - 'options_sub' => sub { require FS::Record; - require FS::agent; - map { $_->agentnum => $_->agent } - FS::Record::qsearch('agent', { disabled=>'' } ); - }, - 'option_sub' => sub { require FS::Record; - require FS::agent; - my $agent = FS::Record::qsearchs( - 'agent', { 'agentnum'=>shift } - ); - $agent ? $agent->agent : ''; - }, + 'type' => 'select-agent', }, { @@ -2516,7 +2540,7 @@ and customer address. Include units.', { 'key' => 'ticket_system', - 'section' => '', + 'section' => 'ticketing', 'description' => 'Ticketing system integration. RT_Internal uses the built-in RT ticketing system (see the integrated ticketing installation instructions). RT_External accesses an external RT installation in a separate database (local or remote).', 'type' => 'select', #'select_enum' => [ '', qw(RT_Internal RT_Libs RT_External) ], @@ -2534,7 +2558,7 @@ and customer address. Include units.', { 'key' => 'ticket_system-default_queueid', - 'section' => '', + 'section' => 'ticketing', 'description' => 'Default queue used when creating new customer tickets.', 'type' => 'select-sub', 'options_sub' => sub { @@ -2560,13 +2584,13 @@ and customer address. Include units.', }, { 'key' => 'ticket_system-force_default_queueid', - 'section' => '', + 'section' => 'ticketing', 'description' => 'Disallow queue selection when creating new tickets from customer view.', 'type' => 'checkbox', }, { 'key' => 'ticket_system-selfservice_queueid', - 'section' => '', + 'section' => 'ticketing', 'description' => 'Queue used when creating new customer tickets from self-service. Defautls to ticket_system-default_queueid if not specified.', #false laziness w/above 'type' => 'select-sub', @@ -2594,49 +2618,63 @@ and customer address. Include units.', { 'key' => 'ticket_system-requestor', - 'section' => '', + 'section' => 'ticketing', 'description' => 'Email address to use as the requestor for new tickets. If blank, the customer\'s invoicing address(es) will be used.', 'type' => 'text', }, { 'key' => 'ticket_system-priority_reverse', - 'section' => '', + 'section' => 'ticketing', 'description' => 'Enable this to consider lower numbered priorities more important. A bad habit we picked up somewhere. You probably want to avoid it and use the default.', 'type' => 'checkbox', }, { 'key' => 'ticket_system-custom_priority_field', - 'section' => '', + 'section' => 'ticketing', 'description' => 'Custom field from the ticketing system to use as a custom priority classification.', 'type' => 'text', }, { 'key' => 'ticket_system-custom_priority_field-values', - 'section' => '', + 'section' => 'ticketing', 'description' => 'Values for the custom field from the ticketing system to break down and sort customer ticket lists.', 'type' => 'textarea', }, { 'key' => 'ticket_system-custom_priority_field_queue', - 'section' => '', + 'section' => 'ticketing', 'description' => 'Ticketing system queue in which the custom field specified in ticket_system-custom_priority_field is located.', 'type' => 'text', }, { + 'key' => 'ticket_system-selfservice_priority_field', + 'section' => 'ticketing', + 'description' => 'Custom field from the ticket system to use as a customer-managed priority field.', + 'type' => 'text', + }, + + { + 'key' => 'ticket_system-selfservice_edit_subject', + 'section' => 'ticketing', + 'description' => 'Allow customers to edit ticket subjects through selfservice.', + 'type' => 'checkbox', + }, + + { 'key' => 'ticket_system-escalation', - 'section' => '', + 'section' => 'ticketing', 'description' => 'Enable priority escalation of tickets as part of daily batch processing.', 'type' => 'checkbox', }, { 'key' => 'ticket_system-rt_external_datasrc', - 'section' => '', + 'section' => 'ticketing', 'description' => 'With external RT integration, the DBI data source for the external RT installation, for example, DBI:Pg:user=rt_user;password=rt_word;host=rt.example.com;dbname=rt', 'type' => 'text', @@ -2644,7 +2682,7 @@ and customer address. Include units.', { 'key' => 'ticket_system-rt_external_url', - 'section' => '', + 'section' => 'ticketing', 'description' => 'With external RT integration, the URL for the external RT installation, for example, https://rt.example.com/rt', 'type' => 'text', }, @@ -2818,8 +2856,21 @@ and customer address. Include units.', 'key' => 'overlimit_groups', 'section' => '', 'description' => 'RADIUS group (or comma-separated groups) to assign to svc_acct which has exceeded its bandwidth or time limit.', - 'type' => 'text', + 'type' => 'select-sub', 'per_agent' => 1, + 'multiple' => 1, + 'options_sub' => sub { require FS::Record; + require FS::radius_group; + map { $_->groupnum => $_->long_description } + FS::Record::qsearch('radius_group', {} ); + }, + 'option_sub' => sub { require FS::Record; + require FS::radius_group; + my $radius_group = FS::Record::qsearchs( + 'radius_group', { 'groupnum' => shift } + ); + $radius_group ? $radius_group->long_description : ''; + }, }, { @@ -2854,7 +2905,7 @@ and customer address. Include units.', { 'key' => 'cust_pkg-show_fcc_voice_grade_equivalent', 'section' => 'UI', - 'description' => "Show a field on package definitions for assigning a DSO equivalency number suitable for use on FCC form 477.", + 'description' => "Show a field on package definitions for assigning a DS0 equivalency number suitable for use on FCC form 477.", 'type' => 'checkbox', }, @@ -2880,6 +2931,13 @@ and customer address. Include units.', }, { + 'key' => 'svc_acct-no_edit_username', + 'section' => 'shell', + 'description' => 'Disallow username editing.', + 'type' => 'checkbox', + }, + + { 'key' => 'zone-underscore', 'section' => 'BIND', 'description' => 'Allow underscores in zone names. As underscores are illegal characters in zone names, this option is not recommended.', @@ -2894,6 +2952,13 @@ and customer address. Include units.', }, { + 'key' => 'voip-cust_accountcode_cdr', + 'section' => 'telephony', + 'description' => 'Enable the per-customer option for CDR breakdown by accountcode.', + 'type' => 'checkbox', + }, + + { 'key' => 'voip-cust_cdr_spools', 'section' => 'telephony', 'description' => 'Enable the per-customer option for individual CDR spools.', @@ -2989,6 +3054,7 @@ and customer address. Include units.', 'section' => 'billing', 'description' => 'This allows selection of a package to insert on invoices for customers with postal invoices selected.', 'type' => 'select-part_pkg', + 'per_agent' => 1, }, { @@ -3838,6 +3904,13 @@ and customer address. Include units.', 'type' => 'image', 'per_agent' => 1, }, + + { + 'key' => 'selfservice-view_usage_nodomain', + 'section' => 'self-service', + 'description' => 'Show usernames without their domains in "View my usage" in the self-service interface.', + 'type' => 'checkbox', + }, { 'key' => 'selfservice-bulk_format', @@ -3873,11 +3946,18 @@ and customer address. Include units.', { 'key' => 'signup-recommend_daytime', 'section' => 'self-service', - 'description' => 'Encourage the entry of a daytime phone number invoicing email address on signup.', + 'description' => 'Encourage the entry of a daytime phone number on signup.', 'type' => 'checkbox', }, { + 'key' => 'signup-duplicate_cc-warn_hours', + 'section' => 'self-service', + 'description' => 'Issue a warning if the same credit card is used for multiple signups within this many hours.', + 'type' => 'text', + }, + + { 'key' => 'svc_phone-radius-default_password', 'section' => 'telephony', 'description' => 'Default password when exporting svc_phone records to RADIUS', @@ -4326,7 +4406,7 @@ and customer address. Include units.', { 'key' => 'svc_phone-did-summary', 'section' => 'invoicing', - 'description' => 'Enable DID activity summary for past 30 days on invoices, showing # DIDs activated/deactivated/ported-in/ported-out and total minutes usage', + 'description' => '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', }, @@ -4365,6 +4445,13 @@ and customer address. Include units.', }, { + 'key' => 'cust_bill-latex_lineitem_maxlength', + 'section' => 'invoicing', + 'description' => 'Truncate long line items to this number of characters on typeset invoices, to avoid losing things off the right margin. Defaults to 50. ', + 'type' => 'text', + }, + + { '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? @@ -4393,7 +4480,53 @@ and customer address. Include units.', 'description' => 'Disable the "Charge future payments to this (card|check) automatically" checkbox from defaulting to checked.', 'type' => 'checkbox', }, - + + { + 'key' => 'payment-history-report', + 'section' => 'UI', + 'description' => 'Show a link to the payment history report in the Reports menu. DO NOT ENABLE THIS.', + 'type' => 'checkbox', + }, + + { + 'key' => 'svc_broadband-require-nw-coordinates', + 'section' => 'UI', + 'description' => 'On svc_broadband add/edit, require latitude and longitude in the North Western quadrant, e.g. for North American co-ordinates, etc.', + 'type' => 'checkbox', + }, + + { + 'key' => 'cust-email-high-visibility', + 'section' => 'UI', + 'description' => 'Move the invoicing e-mail address field to the top of the billing address section and highlight it.', + 'type' => 'checkbox', + }, + + { + 'key' => 'cust_main-require-bank-branch', + 'section' => 'UI', + 'description' => 'An alternate DCHK/CHEK format; require entry of bank branch number.', + 'type' => 'checkbox', + }, + + { + 'key' => 'cust-edit-alt-field-order', + 'section' => 'UI', + 'description' => 'An alternate ordering of fields for the New Customer and Edit Customer screens.', + 'type' => 'checkbox', + }, + + { + '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.', + 'type' => 'select-sub', + 'multiple' => 1, + 'options_sub' => sub { map { $_ => '' } + grep { $_ ne 'en_US' } FS::Locales::locales; + }, + 'option_sub' => sub { ''; }, + }, { key => "apacheroot", section => "deprecated", description => "DEPRECATED", type => "text" }, { key => "apachemachine", section => "deprecated", description => "DEPRECATED", type => "text" },