X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=90b5d2985c619957947c006ef365728e43c921b2;hb=1e64160a779e96d84c5db648622dee4f88f34215;hp=d82ae6bb25619abcda61e0ba5d751186656423dd;hpb=191a9fb439b8ed15fdcd458dd51f5890dbf60f29;p=freeside.git diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index d82ae6bb2..90b5d2985 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -11,7 +11,6 @@ use MIME::Base64; use Locale::Currency; use FS::ConfItem; use FS::ConfDefaults; -use FS::Conf_compat17; use FS::Locales; use FS::payby; use FS::conf; @@ -606,10 +605,12 @@ invoice_latexfooter invoice_latexsmallfooter invoice_latexnotes invoice_latexcoupon +invoice_latexwatermark invoice_html invoice_htmlreturnaddress invoice_htmlfooter invoice_htmlnotes +invoice_htmlwatermark logo.png logo.eps ); @@ -704,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) @@ -1195,10 +1201,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, }, { @@ -1305,6 +1308,15 @@ sub reason_type_options { }, { + 'key' => 'invoice_htmlwatermark', + 'section' => 'invoicing', + 'description' => 'Watermark for HTML invoices. Appears in a semitransparent positioned DIV overlaid on the main invoice container.', + 'type' => 'textarea', + 'per_agent' => 1, + 'per_locale' => 1, + }, + + { 'key' => 'invoice_latex', 'section' => 'invoicing', 'description' => 'Optional LaTeX template for typeset PostScript invoices. See the billing documentation for details.', @@ -1492,6 +1504,15 @@ and customer address. Include units.', }, { + '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', + 'per_agent' => 1, + 'per_locale' => 1, + }, + + { 'key' => 'invoice_email_pdf', 'section' => 'invoicing', 'description' => 'Send PDF invoice as an attachment to emailed invoices. By default, includes the HTML invoice as the email body, unless invoice_email_pdf_note is set.', @@ -2296,6 +2317,7 @@ and customer address. Include units.', 'svc_acct' => 'Account (svc_acct)', 'svc_phone' => 'Phone number (svc_phone)', 'svc_pbx' => 'PBX (svc_pbx)', + 'none' => 'None - package only', ], }, @@ -2452,65 +2474,107 @@ and customer address. Include units.', { 'key' => 'enable_taxclasses', - 'section' => 'billing', + 'section' => 'taxation', 'description' => 'Enable per-package tax classes', 'type' => 'checkbox', }, { 'key' => 'require_taxclasses', - 'section' => 'billing', + 'section' => 'taxation', 'description' => 'Require a taxclass to be entered for every package', 'type' => 'checkbox', }, { - 'key' => 'enable_taxproducts', - 'section' => 'billing', + 'key' => 'tax_data_vendor', + 'section' => 'taxation', 'description' => 'Tax data vendor you are using.', 'type' => 'select', - 'select_enum' => [ 'cch', 'billsoft', 'avalara' ], + 'select_enum' => [ '', 'cch', 'billsoft', 'avalara', 'suretax' ], }, { 'key' => 'taxdatadirectdownload', - 'section' => 'billing', #well - 'description' => 'Enable downloading tax data directly from the vendor site. at least three lines: URL, username, and password.j', + 'section' => 'taxation', + 'description' => 'Enable downloading tax data directly from CCH. at least three lines: URL, username, and password.j', 'type' => 'textarea', }, { 'key' => 'ignore_incalculable_taxes', - 'section' => 'billing', + 'section' => 'taxation', 'description' => 'Prefer to invoice without tax over not billing at all', 'type' => 'checkbox', }, { 'key' => 'billsoft-company_code', - 'section' => 'billing', + 'section' => 'taxation', 'description' => 'Billsoft tax service company code (3 letters)', 'type' => 'text', }, { 'key' => 'avalara-taxconfig', - 'section' => 'billing', + 'section' => 'taxation', 'description' => 'Avalara tax service configuration. Four lines: company code, account number, license key, test mode (1 to enable).', 'type' => 'textarea', }, { + 'key' => 'suretax-hostname', + 'section' => 'taxation', + 'description' => 'SureTax server name; defaults to the test server.', + 'type' => 'text', + }, + + { + 'key' => 'suretax-client_number', + 'section' => 'taxation', + 'description' => 'SureTax tax service client ID.', + 'type' => 'text', + }, + { + 'key' => 'suretax-validation_key', + 'section' => 'taxation', + 'description' => 'SureTax validation key (UUID).', + 'type' => 'text', + }, + { + 'key' => 'suretax-business_unit', + 'section' => 'taxation', + 'description' => 'SureTax client business unit name; optional.', + 'type' => 'text', + 'per_agent' => 1, + }, + { + 'key' => 'suretax-regulatory_code', + 'section' => 'taxation', + 'description' => 'SureTax client regulatory status.', + 'type' => 'select', + 'select_enum' => [ '', 'ILEC', 'IXC', 'CLEC', 'VOIP', 'ISP', 'Wireless' ], + 'per_agent' => 1, + }, + + + { 'key' => 'welcome_msgnum', 'section' => 'notification', 'description' => 'Template to use for welcome messages when a svc_acct record is created.', %msg_template_options, }, - + + { 'key' => 'svc_acct_welcome_letter', + 'section' => 'notification', + 'description' => 'Optional LaTex template for a printed welcome letter when a svc_acct record is created. Fields from the customer and svc_acct records are available for substitution.', + 'type' => 'textarea', + }, + { 'key' => 'svc_acct_welcome_exclude', 'section' => 'notification', - 'description' => 'A list of svc_acct services for which no welcome email is to be sent.', + 'description' => 'A list of svc_acct services for which no welcome email or letter is to be sent.', 'type' => 'select-part_svc', 'multiple' => 1, }, @@ -2702,6 +2766,14 @@ and customer address. Include units.', }, { + 'key' => 'dump-email_to', + 'section' => '', + 'description' => "Optional email address to send success/failure message for database dumps.", + 'type' => 'text', + 'validate' => $validate_email, + }, + + { 'key' => 'users-allow_comp', 'section' => 'deprecated', 'description' => 'DEPRECATED, enable the Complimentary customer access right instead. Was: Usernames (Freeside users, created with freeside-adduser) which can create complimentary customers, one per line. If no usernames are entered, all users can create complimentary accounts.', @@ -3317,14 +3389,6 @@ and customer address. Include units.', }, { - 'key' => 'city_not_required', - 'section' => 'required', - 'description' => 'Turn off requirement for a City to be entered for billing & shipping addresses', - 'type' => 'checkbox', - 'per_agent' => 1, - }, - - { 'key' => 'echeck-void', 'section' => 'deprecated', 'description' => 'DEPRECATED, now controlled by ACLs. Used to enable local-only voiding of echeck payments in addition to refunds against the payment gateway', @@ -3679,14 +3743,14 @@ and customer address. Include units.', { 'key' => 'tax-ship_address', - 'section' => 'billing', + 'section' => 'taxation', 'description' => 'By default, tax calculations are done based on the billing address. Enable this switch to calculate tax based on the shipping address instead.', 'type' => 'checkbox', } , { 'key' => 'tax-pkg_address', - 'section' => 'billing', + 'section' => 'taxation', 'description' => 'By default, tax calculations are done based on the billing address. Enable this switch to calculate tax based on the package address instead (when present).', 'type' => 'checkbox', }, @@ -3917,6 +3981,13 @@ and customer address. Include units.', }, { + 'key' => 'batchconfig-nacha-origin_name', + 'section' => 'billing', + 'description' => 'Configuration for NACHA batching, Origin name (defaults to company name, but sometimes bank name is needed instead.)', + 'type' => 'text', + }, + + { 'key' => 'batch-manual_approval', 'section' => 'billing', 'description' => 'Allow manual batch closure, which will approve all payments that do not yet have a status. This is not advised unless needed for specific payment processors that provide a report of rejected rather than approved payments.', @@ -4459,6 +4530,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.', @@ -4468,7 +4546,7 @@ and customer address. Include units.', { 'key' => 'tax_district_method', - 'section' => 'UI', + 'section' => 'taxation', 'description' => 'The method to use to look up tax district codes.', 'type' => 'select', #'select_hash' => [ FS::Misc::Geo::get_district_methods() ], @@ -5229,7 +5307,7 @@ and customer address. Include units.', { 'key' => 'tax-cust_exempt-groups', - 'section' => 'billing', + 'section' => 'taxation', 'description' => 'List of grouping possibilities for tax names, for per-customer exemption purposes, one tax name per line. For example, "GST" would indicate the ability to exempt customers individually from taxes named "GST" (but not other taxes).', 'type' => 'textarea', }, @@ -5243,7 +5321,7 @@ and customer address. Include units.', { 'key' => 'tax-cust_exempt-groups-num_req', - 'section' => 'billing', + 'section' => 'taxation', 'description' => 'When using tax-cust_exempt-groups, control whether individual tax exemption numbers are required for exemption from different taxes.', 'type' => 'select', 'select_hash' => [ '' => 'Not required', @@ -5271,7 +5349,7 @@ and customer address. Include units.', { 'key' => 'enable_tax_adjustments', - 'section' => 'billing', + 'section' => 'taxation', 'description' => 'Enable the ability to add manual tax adjustments.', 'type' => 'checkbox', }, @@ -5724,7 +5802,7 @@ and customer address. Include units.', { 'key' => 'cust_class-tax_exempt', - 'section' => 'billing', + 'section' => 'taxation', 'description' => 'Control the tax exemption flag per customer class rather than per indivual customer.', 'type' => 'checkbox', }, @@ -5760,6 +5838,13 @@ 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' => 'logout-timeout', 'section' => 'UI', 'description' => 'If set, automatically log users out of the backoffice after this many minutes.', @@ -5912,6 +5997,13 @@ and customer address. Include units.', 'type' => 'checkbox', }, + { + 'key' => 'default_appointment_length', + 'section' => 'UI', + 'description' => 'Default appointment length, in minutes (30 minute granularity).', + '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" },