X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=a4cc871992f00f8b1182b73a7bc882c178965882;hb=c44432a5f0f1c1841ff8b50e734a30bd9aeef945;hp=191a712a8ec870ea314c84d041c4d44912ad2d8d;hpb=11ca9a51a76837f1821b2b0e8972c78bf221c6a1;p=freeside.git diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 191a712a8..a4cc87199 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -705,6 +705,11 @@ sub reason_type_options { } } +my $validate_email = sub { $_[0] =~ + /^[^@]+\@[[:alnum:]-]+(\.[[:alnum:]-]+)+$/ + ? '' : 'Invalid email address'; + }; + #Billing (81 items) #Invoicing (50 items) #UI (69 items) @@ -715,13 +720,6 @@ sub reason_type_options { @config_items = map { new FS::ConfItem $_ } ( { - 'key' => 'address', - 'section' => 'deprecated', - 'description' => 'This configuration option is no longer used. See invoice_template instead.', - '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.', @@ -1041,23 +1039,6 @@ sub reason_type_options { }, { - '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 void or apply a credit against the invoice instead.', - 'type' => 'checkbox', - }, - - { - 'key' => 'deletecredits', - #not actually deprecated yet - #'section' => 'deprecated', - #'description' => 'DEPRECATED, now controlled by ACLs. Used to enable deletion of unclosed credits. Be very careful! Only delete credits that were data-entry errors, not adjustments. Optionally specify one or more comma-separated email addresses to be notified when a credit is deleted.', - 'section' => '', - 'description' => 'One or more comma-separated email addresses to be notified when a credit is deleted.', - 'type' => [qw( checkbox text )], - }, - - { 'key' => 'deleterefunds', 'section' => 'billing', 'description' => 'Enable deletion of unclosed refunds. Be very careful! Only delete refunds that were data-entry errors, not adjustments.', @@ -1065,20 +1046,6 @@ sub reason_type_options { }, { - 'key' => 'unapplypayments', - 'section' => 'deprecated', - 'description' => 'DEPRECATED, now controlled by ACLs. Used to enable "unapplication" of unclosed payments.', - 'type' => 'checkbox', - }, - - { - 'key' => 'unapplycredits', - 'section' => 'deprecated', - 'description' => 'DEPRECATED, now controlled by ACLs. Used to enable "unapplication" of unclosed credits.', - 'type' => 'checkbox', - }, - - { 'key' => 'dirhash', 'section' => 'shell', 'description' => 'Optional numeric value to control directory hashing. If positive, hashes directories for the specified number of levels from the front of the username. If negative, hashes directories for the specified number of levels from the end of the username. Some examples:
', @@ -1196,10 +1163,7 @@ sub reason_type_options { 'description' => 'Return address on email invoices (address only, see invoice_from_name)', 'type' => 'text', 'per_agent' => 1, - 'validate' => sub { $_[0] =~ - /^[^@]+\@[[:alnum:]-]+(\.[[:alnum:]-]+)+$/ - ? '' : 'Invalid email address'; - } + 'validate' => $validate_email, }, { @@ -1306,7 +1270,7 @@ sub reason_type_options { }, { - 'key' => 'invoicehtmlwatermark', + 'key' => 'invoice_htmlwatermark', 'section' => 'invoicing', 'description' => 'Watermark for HTML invoices. Appears in a semitransparent positioned DIV overlaid on the main invoice container.', 'type' => 'textarea', @@ -1502,7 +1466,7 @@ and customer address. Include units.', }, { - 'key' => 'invoicelatexwatermark', + 'key' => 'invoice_latexwatermark', 'section' => 'invoicing', 'description' => 'Watermark for LaTeX invoices. See "texdoc background" for information on what this can contain. The content itself should be enclosed in braces, optionally followed by a comma and any formatting options.', 'type' => 'textarea', @@ -1573,7 +1537,7 @@ and customer address. Include units.', 'type' => 'select', 'per_agent' => 1, 'select_enum' => [ - '', 'Payable upon receipt', 'Net 0', 'Net 3', 'Net 5', 'Net 9', 'Net 10', 'Net 14', + '', 'Payable upon receipt', 'Net 0', 'Net 3', 'Net 5', 'Net 7', 'Net 9', 'Net 10', 'Net 14', 'Net 15', 'Net 18', 'Net 20', 'Net 21', 'Net 25', 'Net 30', 'Net 45', 'Net 60', 'Net 90' ], }, @@ -1668,13 +1632,6 @@ and customer address. Include units.', }, { - 'key' => 'invoice_send_receipts', - 'section' => 'deprecated', - 'description' => 'DEPRECATED, this used to send an invoice copy on payments and credits. See the payment_receipt_email and XXXX instead.', - 'type' => 'checkbox', - }, - - { 'key' => 'payment_receipt', 'section' => 'notification', 'description' => 'Send payment receipts.', @@ -1706,13 +1663,6 @@ and customer address. Include units.', }, { - 'key' => 'payment_receipt_email', - 'section' => 'deprecated', - 'description' => 'Template file for payment receipts. Payment receipts are sent to the customer email invoice destination(s) when a payment is received.', - 'type' => [qw( checkbox textarea )], - }, - - { 'key' => 'payment_receipt-trigger', 'section' => 'notification', 'description' => 'When payment receipts are triggered. Defaults to when payment is made.', @@ -1725,6 +1675,13 @@ and customer address. Include units.', }, { + 'key' => 'refund_receipt_msgnum', + 'section' => 'notification', + 'description' => 'Template to use for manual refund receipts.', + %msg_template_options, + }, + + { 'key' => 'trigger_export_insert_on_payment', 'section' => 'billing', 'description' => 'Enable exports on payment application.', @@ -1872,13 +1829,6 @@ and customer address. Include units.', # }, { - 'key' => 'report_template', - 'section' => 'deprecated', - 'description' => 'Deprecated template file for reports.', - 'type' => 'textarea', - }, - - { 'key' => 'maxsearchrecordsperpage', 'section' => 'UI', 'description' => 'If set, number of search records to return per page.', @@ -2405,13 +2355,6 @@ and customer address. Include units.', }, { - 'key' => 'declinetemplate', - 'section' => 'deprecated', - 'description' => 'Template file for credit card and electronic check decline emails.', - 'type' => 'textarea', - }, - - { 'key' => 'emaildecline', 'section' => 'notification', 'description' => 'Enable emailing of credit card and electronic check decline notices.', @@ -2435,20 +2378,6 @@ and customer address. Include units.', }, { - 'key' => 'cancelmessage', - 'section' => 'deprecated', - 'description' => 'Template file for cancellation emails.', - 'type' => 'textarea', - }, - - { - 'key' => 'cancelsubject', - 'section' => 'deprecated', - 'description' => 'Subject line for cancellation emails.', - 'type' => 'text', - }, - - { 'key' => 'emailcancel', 'section' => 'notification', 'description' => 'Enable emailing of cancellation notices. Make sure to select the template in the cancel_msgnum option.', @@ -2572,86 +2501,17 @@ and customer address. Include units.', }, { - 'key' => 'welcome_email', - 'section' => 'deprecated', - 'description' => 'Template file for welcome email. Welcome emails are sent to the customer email invoice destination(s) each time a svc_acct record is created.', - 'type' => 'textarea', - 'per_agent' => 1, - }, - - { - 'key' => 'welcome_email-from', - 'section' => 'deprecated', - 'description' => 'From: address header for welcome email', - 'type' => 'text', - 'per_agent' => 1, - }, - - { - 'key' => 'welcome_email-subject', - 'section' => 'deprecated', - 'description' => 'Subject: header for welcome email', - 'type' => 'text', - 'per_agent' => 1, - }, - - { - 'key' => 'welcome_email-mimetype', - 'section' => 'deprecated', - 'description' => 'MIME type for welcome email', - 'type' => 'select', - 'select_enum' => [ 'text/plain', 'text/html' ], - 'per_agent' => 1, - }, - - { 'key' => 'welcome_letter', 'section' => '', 'description' => 'Optional LaTex template file for a printed welcome letter. A welcome letter is printed the first time a cust_pkg record is created. See the Text::Template documentation and the billing documentation for details on the template substitution language. A variable exists for each fieldname in the customer record ($first, $last, etc
). The following additional variables are available$payby
- a friendler represenation of the field$payinfo
- the masked payment information$expdate
- the time at which the payment method expires (a UNIX timestamp)$returnaddress
- the invoice return address for this customer\'s agent$username
$password
$first
$last
$pkg
$column
$amount
$threshold
$packages
allowing $packages->[0]
thru $packages->[n]
$package
the first package, same as $packages->[0]
$recurdates
allowing $recurdates->[0]
thru $recurdates->[n]
$recurdate
the first recurdate, same as $recurdate->[0]
$first
$last
$payby
$expdate
most likely only confuse
- 'type' => 'textarea',
- },
-
- {
'key' => 'logo.png',
'section' => 'UI', #'invoicing' ?
'description' => 'Company logo for HTML invoices and the backoffice interface, in PNG format. Suggested size somewhere near 92x62.',
@@ -4198,6 +4053,13 @@ and customer address. Include units.',
},
{
+ '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.',
+ 'type' => 'text',
+ },
+
+ {
'key' => 'datavolume-forcemegabytes',
'section' => 'UI',
'description' => 'All data volumes are expressed in megabytes',
@@ -4321,9 +4183,10 @@ and customer address. Include units.',
reason_type_options('R'),
},
+ # was only used to negate invoices during signup when card was declined, now we just void
{
'key' => 'signup_credit_type',
- 'section' => 'billing', #self-service?
+ 'section' => 'deprecated', #self-service?
'description' => 'The group to use for new, automatically generated credit reasons resulting from signup and self-service declines.',
reason_type_options('R'),
},
@@ -4367,7 +4230,7 @@ and customer address. Include units.',
{
'key' => 'disable_previous_balance',
'section' => 'invoicing',
- 'description' => 'Disable inclusion of previous balance, payment, and credit lines on invoices.',
+ 'description' => 'Show new charges only; do not list previous invoices, payments, or credits on the invoice.',
'type' => 'checkbox',
'per_agent' => 1,
},
@@ -4515,6 +4378,13 @@ and customer address. Include units.',
},
{
+ 'key' => 'cust_main-no_city_in_address',
+ 'section' => 'UI',
+ 'description' => 'Turn off City for billing & shipping addresses',
+ 'type' => 'checkbox',
+ },
+
+ {
'key' => 'census_year',
'section' => 'UI',
'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.',
@@ -4708,13 +4578,6 @@ and customer address. Include units.',
},
{
- 'key' => 'email_report-subject',
- 'section' => '',
- 'description' => 'Subject for reports emailed by freeside-fetch. Defaults to "Freeside report".',
- 'type' => 'text',
- },
-
- {
'key' => 'selfservice-head',
'section' => 'self-service',
'description' => 'HTML for the HEAD section of the self-service interface, typically used for LINK stylesheet tags',
@@ -5816,6 +5679,20 @@ and customer address. Include units.',
},
{
+ 'key' => 'selfservice-enable_payment_without_balance',
+ 'section' => 'self-service',
+ 'description' => 'Allow selfservice customers to make payments even if balance is zero or below (resulting in an unapplied payment and negative balance.)',
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'selfservice-announcement',
+ 'section' => 'self-service',
+ 'description' => 'HTML announcement to display to all authenticated users on account overview page',
+ 'type' => 'textarea',
+ },
+
+ {
'key' => 'logout-timeout',
'section' => 'UI',
'description' => 'If set, automatically log users out of the backoffice after this many minutes.',
@@ -5834,13 +5711,6 @@ and customer address. Include units.',
},
{
- 'key' => 'agent-email_day',
- 'section' => '',
- 'description' => 'On this day of each month, agents with master customer records containing email addresses will be emailed a list of their customers and balances.',
- 'type' => 'text',
- },
-
- {
'key' => 'report-cust_pay-select_time',
'section' => 'UI',
'description' => 'Enable time selection on payment and refund reports.',
@@ -5975,47 +5845,14 @@ and customer address. Include units.',
'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" },
- { key => "bindprimary", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "bindsecondaries", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "bsdshellmachines", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "cyrus", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "cp_app", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "erpcdmachines", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "icradiusmachines", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "icradius_mysqldest", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "icradius_mysqlsource", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "icradius_secrets", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "maildisablecatchall", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "mxmachines", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "nsmachines", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "arecords", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "cnamerecords", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "nismachines", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "qmailmachines", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "radiusmachines", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "sendmailconfigpath", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "sendmailmachines", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "sendmailrestart", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "shellmachine", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "shellmachine-useradd", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "shellmachine-userdel", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "shellmachine-usermod", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "shellmachines", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "radiusprepend", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "textradiusprepend", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "username_policy", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "vpopmailmachines", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "vpopmailrestart", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "safe-part_pkg", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "selfservice_server-quiet", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "signup_server-quiet", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "signup_server-email", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "vonage-username", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "vonage-password", section => "deprecated", description => "DEPRECATED", type => "text" },
- { key => "vonage-fromnumber", section => "deprecated", description => "DEPRECATED", type => "text" },
+ # for internal use only; test databases should declare this option and
+ # everyone else should pretend it doesn't exist
+ #{
+ # 'key' => 'no_random_ids',
+ # 'section' => '',
+ # 'description' => 'Replace random identifiers in UI code with a static string, for repeatable testing. Don\'t use in production.',
+ # 'type' => 'checkbox',
+ #},
);