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" },