X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=a6a738a75923fa2be23bf367c4c30a48861fac68;hb=f274814c7cde3681578ca594a2b00475370e4c92;hp=7112417d562336f5b016da530ab2eafbb9606b83;hpb=ea771de9552fe4b22d49ecb6b73614cbcc995223;p=freeside.git
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index 7112417d5..a6a738a75 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -146,7 +146,7 @@ sub config_binary {
return $self->_usecompat('config_binary', @_) if use_confcompat;
my $cv = $self->_config(@_) or return;
- decode_base64($cv->value);
+ length($cv->value) ? decode_base64($cv->value) : '';
}
=item exists KEY [ AGENTNUM [ NODEFAULT ] ]
@@ -230,6 +230,7 @@ sub invoice_templatenames {
}
}
+ map { $_ } #handle scalar context
sort keys %templatenames;
}
@@ -576,7 +577,7 @@ worry that config_items is freeside-specific and icky.
{
'key' => 'alert_expiration',
'section' => 'billing',
- 'description' => 'Enable alerts about billing method expiration.',
+ 'description' => 'Enable alerts about billing method expiration (i.e. expiring credit cards).',
'type' => 'checkbox',
'per_agent' => 1,
},
@@ -584,7 +585,7 @@ worry that config_items is freeside-specific and icky.
{
'key' => 'alerter_template',
'section' => 'billing',
- 'description' => 'Template file for billing method expiration alerts. See the billing documentation for details.',
+ 'description' => 'Template file for billing method expiration alerts (i.e. expiring credit cards). See the billing documentation for details.',
'type' => 'textarea',
'per_agent' => 1,
},
@@ -728,7 +729,14 @@ worry that config_items is freeside-specific and icky.
{
'key' => 'deletecustomers',
'section' => 'UI',
- 'description' => 'Enable customer deletions. Be very careful! Deleting a customer will remove all traces that this 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.',
+ '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?
'type' => 'checkbox',
},
@@ -885,6 +893,13 @@ worry that config_items is freeside-specific and icky.
},
{
+ 'key' => 'invoice_usesummary',
+ 'section' => 'billing',
+ 'description' => 'Indicates that html and latex invoices should be in summary style and make use of invoice_latexsummary.',
+ 'type' => 'checkbox',
+ },
+
+ {
'key' => 'invoice_template',
'section' => 'billing',
'description' => 'Text template file for invoices. Used if no invoice_html template is defined, and also seen by users using non-HTML capable mail clients. See the billing documentation for details.',
@@ -916,6 +931,14 @@ worry that config_items is freeside-specific and icky.
},
{
+ 'key' => 'invoice_htmlsummary',
+ 'section' => 'billing',
+ 'description' => 'Summary initial page for HTML invoices.',
+ 'type' => 'textarea',
+ 'per_agent' => 1,
+ },
+
+ {
'key' => 'invoice_htmlreturnaddress',
'section' => 'billing',
'description' => 'Return address for HTML invoices. Defaults to the same data in invoice_latexreturnaddress if not specified.',
@@ -946,6 +969,14 @@ worry that config_items is freeside-specific and icky.
},
{
+ 'key' => 'invoice_latexsummary',
+ 'section' => 'billing',
+ 'description' => 'Summary initial page for LaTeX typeset PostScript invoices.',
+ 'type' => 'textarea',
+ 'per_agent' => 1,
+ },
+
+ {
'key' => 'invoice_latexcoupon',
'section' => 'billing',
'description' => 'Remittance coupon for LaTeX typeset PostScript invoices.',
@@ -998,6 +1029,25 @@ worry that config_items is freeside-specific and icky.
'type' => 'checkbox',
},
+ {
+ 'key' => 'finance_pkgclass',
+ 'section' => 'billing',
+ 'description' => 'The package class for finance charges',
+ 'type' => 'select-sub',
+ 'options_sub' => sub { require FS::Record;
+ require FS::pkg_class;
+ map { $_->classnum => $_->classname }
+ FS::Record::qsearch('pkg_class', {} );
+ },
+ 'option_sub' => sub { require FS::Record;
+ require FS::pkg_class;
+ my $pkg_class = FS::Record::qsearchs(
+ 'pkg_class', { 'classnum'=>shift }
+ );
+ $pkg_class ? $pkg_class->classname : '';
+ },
+ },
+
{
'key' => 'separate_usage',
'section' => 'billing',
@@ -1534,14 +1584,14 @@ worry that config_items is freeside-specific and icky.
{
'key' => 'declinetemplate',
'section' => 'billing',
- 'description' => 'Template file for credit card decline emails.',
+ 'description' => 'Template file for credit card and electronic check decline emails.',
'type' => 'textarea',
},
{
'key' => 'emaildecline',
'section' => 'billing',
- 'description' => 'Enable emailing of credit card decline notices.',
+ 'description' => 'Enable emailing of credit card and electronic check decline notices.',
'type' => 'checkbox',
},
@@ -1814,6 +1864,24 @@ worry that config_items is freeside-specific and icky.
},
{
+ 'key' => 'manual_process-display',
+ 'section' => 'billing',
+ 'description' => 'When using manual_process-pkgpart, add the fee to the amount entered (default), or subtract the fee from the amount entered.',
+ 'type' => 'select',
+ 'select_hash' => [
+ 'add' => 'Add fee to amount entered',
+ 'subtract' => 'Subtract fee from amount entered',
+ ],
+ },
+
+ {
+ 'key' => 'manual_process-skip_first',
+ 'section' => 'billing',
+ 'description' => "When using manual_process-pkgpart, omit the fee if it is the customer's first payment.",
+ 'type' => 'checkbox',
+ },
+
+ {
'key' => 'allow_negative_charges',
'section' => 'billing',
'description' => 'Allow negative charges. Normally not used unless importing data from a legacy system that requires this.',
@@ -2045,6 +2113,13 @@ worry that config_items is freeside-specific and icky.
},
{
+ 'key' => 'address1-search',
+ 'section' => 'UI',
+ 'description' => 'Enable the ability to search the address1 field from customer search.',
+ 'type' => 'checkbox',
+ },
+
+ {
'key' => 'address2-search',
'section' => 'UI',
'description' => 'Enable a "Unit" search box which searches the second address field. Useful for multi-tenant applications. See also: cust_main-require_address2',
@@ -2259,14 +2334,28 @@ worry that config_items is freeside-specific and icky.
{
'key' => 'invoice-ship_address',
'section' => 'billing',
- 'description' => 'Enable this switch to include the ship address on the invoice.',
+ 'description' => 'Include the shipping address on invoices.',
'type' => 'checkbox',
},
{
'key' => 'invoice-unitprice',
'section' => 'billing',
- 'description' => 'This switch enables unit pricing on the invoice.',
+ 'description' => 'Enable unit pricing on invoices.',
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'invoice-smallernotes',
+ 'section' => 'billing',
+ 'description' => 'Display the notes section in a smaller font on invoices.',
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'invoice-smallerfooter',
+ 'section' => 'billing',
+ 'description' => 'Display footers in a smaller font on invoices.',
'type' => 'checkbox',
},
@@ -2369,7 +2458,7 @@ worry that config_items is freeside-specific and icky.
{
'key' => 'batchconfig-paymentech',
'section' => 'billing',
- 'description' => 'Configuration for Chase Paymentech batching, four lines: 1. BIN, 2. Terminal ID, 3. Merchant ID, 4. Username',
+ 'description' => 'Configuration for Chase Paymentech batching, four lines: 1. BIN, 2. Terminal ID, 3. Merchant ID, 4. Username, 5. Password',
'type' => 'textarea',
},
@@ -2820,6 +2909,13 @@ worry that config_items is freeside-specific and icky.
},
{
+ 'key' => 'cust_bill-consolidate_services',
+ 'section' => 'billing',
+ 'description' => 'Consolidate service display into fewer lines on invoices rather than one per service.',
+ 'type' => 'checkbox',
+ },
+
+ {
'key' => 'suspend_email_admin',
'section' => '',
'description' => 'Destination admin email address to enable suspension notices',
@@ -2838,6 +2934,7 @@ worry that config_items is freeside-specific and icky.
'section' => '',
'description' => 'HTML for the HEAD section of the self-service interface, typically used for LINK stylesheet tags',
'type' => 'textarea', #htmlarea?
+ 'per_agent' => 1,
},
@@ -2846,6 +2943,7 @@ worry that config_items is freeside-specific and icky.
'section' => '',
'description' => 'HTML header for the self-service interface',
'type' => 'textarea', #htmlarea?
+ 'per_agent' => 1,
},
{
@@ -2853,6 +2951,7 @@ worry that config_items is freeside-specific and icky.
'section' => '',
'description' => 'HTML header for the self-service interface',
'type' => 'textarea', #htmlarea?
+ 'per_agent' => 1,
},
@@ -2861,6 +2960,7 @@ worry that config_items is freeside-specific and icky.
'section' => '',
'description' => 'HTML background color for the self-service interface, for example, #FFFFFF',
'type' => 'text',
+ 'per_agent' => 1,
},
{
@@ -2868,6 +2968,7 @@ worry that config_items is freeside-specific and icky.
'section' => '',
'description' => 'HTML color for self-service interface input boxes, for example, #C0C0C0"',
'type' => 'text',
+ 'per_agent' => 1,
},
{
@@ -3109,6 +3210,13 @@ worry that config_items is freeside-specific and icky.
},
{
+ 'key' => 'pkg-addon_classnum',
+ 'section' => 'billing',
+ 'description' => 'Enable the ability to restrict additional package orders based on package class.',
+ 'type' => 'checkbox',
+ },
+
+ {
'key' => 'cust_main-edit_signupdate',
'section' => 'UI',
'descritpion' => 'Enable manual editing of the signup date.',
@@ -3122,6 +3230,20 @@ worry that config_items is freeside-specific and icky.
'type' => 'checkbox',
},
+ {
+ 'key' => 'cust_bill_pay_pkg-manual',
+ 'section' => 'UI',
+ 'description' => 'Allow manual application of payments to line items.',
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'cust_credit_bill_pkg-manual',
+ 'section' => 'UI',
+ 'description' => 'Allow manual application of credits to line items.',
+ '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" },