$hashref->{agentnum} = $agentnum;
local $FS::Record::conf = undef; # XXX evil hack prevents recursion
my $cv = FS::Record::qsearchs('conf', $hashref);
- if (!$cv && defined($agentnum)) {
+ if (!$cv && defined($agentnum) && $agentnum) {
$hashref->{agentnum} = '';
$cv = FS::Record::qsearchs('conf', $hashref);
}
my $self = shift;
return $self->_usecompat('config', @_) if use_confcompat;
- my($name,$agentnum)=@_;
+ my($name, $agentnum)=@_;
+
+ carp "FS::Conf->config($name, $agentnum) called"
+ if $DEBUG > 1;
+
my $cv = $self->_config($name, $agentnum) or return;
if ( wantarray ) {
my $self = shift;
return $self->_usecompat('exists', @_) if use_confcompat;
- my($name,$agentnum)=@_;
+ my($name, $agentnum)=@_;
+
+ carp "FS::Conf->exists($name, $agentnum) called"
+ if $DEBUG > 1;
+
defined($self->_config($name, $agentnum));
}
'section' => 'billing',
'description' => 'Template file for billing method expiration alerts. See the <a href="http://www.freeside.biz/mediawiki/index.php/Freeside:1.7:Documentation:Administration#Credit_cards_and_Electronic_checks">billing documentation</a> for details.',
'type' => 'textarea',
+ 'per-agent' => 1,
},
{
'type' => 'textarea',
},
+ {
+ 'key' => 'auto_router',
+ 'section' => '',
+ 'description' => 'Automatically choose the correct router/block based on supplied ip address when possible while provisioning broadband services',
+ 'type' => 'checkbox',
+ },
+
{
'key' => 'hidecancelledpackages',
'section' => 'UI',
'section' => 'required',
'description' => 'Return address on email invoices',
'type' => 'text',
+ 'per_agent' => 1,
+ },
+
+ {
+ 'key' => 'invoice_subject',
+ 'section' => 'billing',
+ 'description' => 'Subject: header on email invoices. Defaults to "Invoice". The following substitutions are available: $name, $name_short, $invoice_number, and $invoice_date.',
+ 'type' => 'text',
+ 'per_agent' => 1,
},
{
'type' => 'checkbox',
},
+ {
+ 'key' => 'ignore_incalculable_taxes',
+ 'section' => 'billing',
+ 'description' => 'Prefer to invoice without tax over not billing at all',
+ 'type' => 'checkbox',
+ },
+
{
'key' => 'welcome_email',
'section' => '',
{
'key' => 'paymentforcedtobatch',
- 'section' => 'UI',
- 'description' => 'Causes per customer payment entry to be forced to a batch processor rather than performed realtime.',
+ 'section' => 'deprecated',
+ 'description' => 'See batch-enable_payby and realtime-disable_payby. Used to (for CHEK): Cause per customer payment entry to be forced to a batch processor rather than performed realtime.',
'type' => 'checkbox',
},
'type' => 'checkbox',
},
+ {
+ 'key' => 'selfservice_server-single_domain',
+ 'section' => '',
+ 'description' => 'If specified, only use this one domain for self-service access.',
+ 'type' => 'text',
+ },
+
{
'key' => 'card_refund-days',
'section' => 'billing',
'select_enum' => [ 'none', 'username', 'username@domain', 'disabled' ],
},
+ {
+ 'key' => 'global_unique-phonenum',
+ 'section' => '',
+ 'description' => 'Global phone number uniqueness control: none (usual setting - check countrycode+phonenumun uniqueness per exports), or countrycode+phonenum (all countrycode+phonenum pairs are globally unique, regardless of exports). disabled turns off duplicate checking completely and is STRONGLY NOT RECOMMENDED unless you REALLY need to turn this off.',
+ 'type' => 'select',
+ 'select_enum' => [ 'none', 'countrycode+phonenum', 'disabled' ],
+ },
+
{
'key' => 'svc_external-skip_manual',
'section' => 'UI',
'section' => 'required',
'description' => 'Your company name',
'type' => 'text',
+ 'per_agent' => 1, #XXX just FS/FS/ClientAPI/Signup.pm
},
{
'section' => 'required',
'description' => 'Your company address',
'type' => 'textarea',
+ 'per_agent' => 1,
},
{
'type' => 'checkbox',
},
+ {
+ 'key' => 'agent-ship_address',
+ 'section' => '',
+ 'description' => "Use the agent's master service address as the service address (only ship_address2 can be entered, if blank on the master address). Useful for multi-tenant applications.",
+ 'type' => 'checkbox',
+ },
+
{ 'key' => 'referral_credit',
- 'section' => 'billing',
- 'description' => "Enables one-time referral credits in the amount of one month <i>referred</i> customer's recurring fee (irregardless of frequency).",
+ 'section' => 'deprecated',
+ 'description' => "Used to enable one-time referral credits in the amount of one month <i>referred</i> customer's recurring fee (irregardless of frequency). Replace with a billing event on appropriate packages.",
'type' => 'checkbox',
},
'type' => 'checkbox',
},
+ {
+ 'key' => 'cust_pkg-always_show_location',
+ 'section' => 'UI',
+ 'description' => "Always display package locations, even when they're all the default service address.",
+ 'type' => 'checkbox',
+ },
+
{
'key' => 'svc_acct-edit_uid',
'section' => 'shell',
{
'key' => 'tax-ship_address',
'section' => 'billing',
- 'description' => 'By default, tax calculations are done based on the billing address. Enable this switch to calculate tax based on the shipping address instead. Note: Tax reports can take a long time when enabled.',
+ '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',
+ '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',
},
},
{
- 'key' => 'batch-enable',
+ 'key' => 'postal_invoice-recurring_only',
'section' => 'billing',
+ 'description' => 'The postal invoice fee is omitted on invoices without reucrring charges when this is set.',
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'batch-enable',
+ 'section' => 'deprecated', #make sure batch-enable_payby is set for
+ #everyone before removing
'description' => 'Enable credit card and/or ACH batching - leave disabled for real-time installations.',
'type' => 'checkbox',
},
+ {
+ 'key' => 'batch-enable_payby',
+ 'section' => 'billing',
+ 'description' => 'Enable batch processing for the specified payment types.',
+ 'type' => 'selectmultiple',
+ 'select_enum' => [qw( CARD CHEK )],
+ },
+
+ {
+ 'key' => 'realtime-disable_payby',
+ 'section' => 'billing',
+ 'description' => 'Disable realtime processing for the specified payment types.',
+ 'type' => 'selectmultiple',
+ 'select_enum' => [qw( CARD CHEK )],
+ },
+
{
'key' => 'batch-default_format',
'section' => 'billing',
{
'key' => 'logo.png',
'section' => 'billing', #?
- 'description' => 'An image to include in some types of invoices',
- 'type' => 'binary',
+ 'description' => 'Company logo for HTML invoices and the backoffice interface, in PNG format. Suggested size somewhere near 92x62.',
+ 'type' => 'image',
+ 'per_agent' => 1, #XXX just view/logo.cgi, which is for the global
+ #old-style editor anyway...?
},
{
'key' => 'logo.eps',
'section' => 'billing', #?
- 'description' => 'An image to include in some types of invoices',
+ 'description' => 'Company logo for printed and PDF invoices, in EPS format.',
'type' => 'binary',
+ 'per_agent' => 1, #XXX as above, kinda
},
{
{
'key' => 'cust_main-require_phone',
'section' => '',
- 'description' => 'Require daytime or night for all customer records.',
+ 'description' => 'Require daytime or night phone for all customer records.',
'type' => 'checkbox',
},
{
'key' => 'referral_credit_type',
- 'section' => 'billing',
- 'description' => 'The group to use for new, automatically generated credit reasons resulting from referrals.',
+ 'section' => 'deprecated',
+ 'description' => 'Used to be the group to use for new, automatically generated credit reasons resulting from referrals. Now set in a package billing event for the referral.',
'type' => 'select-sub',
'options_sub' => sub { require FS::Record;
require FS::reason_type;
'type' => 'checkbox',
},
+ {
+ 'key' => 'cust_main-default_agent_custid',
+ 'section' => 'UI',
+ 'description' => 'Display the agent_custid field instead of the custnum field.',
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'cust_main-auto_agent_custid',
+ 'section' => 'UI',
+ 'description' => 'Automatically assign an agent_custid - select format',
+ 'type' => 'select',
+ 'select_hash' => [ '' => 'No',
+ '1YMMXXXXXXXX' => '1YMMXXXXXXXX',
+ ],
+ },
+
{
'key' => 'cust_main-default_areacode',
'section' => 'UI',
'type' => 'text',
},
+ {
+ 'key' => 'cust_bill-max_same_services',
+ 'section' => 'billing',
+ 'description' => 'Maximum number of the same service to list individually on invoices before condensing to a single line listing the number of services. Defaults to 5.',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'suspend_email_admin',
+ 'section' => '',
+ 'description' => 'Destination admin email address to enable suspension notices',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'email_report-subject',
+ 'section' => '',
+ 'description' => 'Subject for reports emailed by freeside-fetch. Defaults to "Freeside report".',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'selfservice-head',
+ 'section' => '',
+ 'description' => 'HTML for the HEAD section of the self-service interface, typically used for LINK stylesheet tags',
+ 'type' => 'textarea', #htmlarea?
+ },
+
+
+ {
+ 'key' => 'selfservice-body_header',
+ 'section' => '',
+ 'description' => 'HTML header for the self-service interface',
+ 'type' => 'textarea', #htmlarea?
+ },
+
+ {
+ 'key' => 'selfservice-body_footer',
+ 'section' => '',
+ 'description' => 'HTML header for the self-service interface',
+ 'type' => 'textarea', #htmlarea?
+ },
+
+
+ {
+ 'key' => 'selfservice-body_bgcolor',
+ 'section' => '',
+ 'description' => 'HTML background color for the self-service interface, for example, #FFFFFF',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'selfservice-box_bgcolor',
+ 'section' => '',
+ 'description' => 'HTML color for self-service interface input boxes, for example, #C0C0C0"',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'signup-no_company',
+ 'section' => '',
+ 'description' => "Don't display a field for company name on signup.",
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'signup-recommend_email',
+ 'section' => '',
+ 'description' => 'Encourage the entry of an invoicing email address on signup.',
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'signup-recommend_daytime',
+ 'section' => '',
+ 'description' => 'Encourage the entry of a daytime phone number invoicing email address on signup.',
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'svc_phone-radius-default_password',
+ 'section' => '',
+ 'description' => 'Default password when exporting svc_phone records to RADIUS',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'svc_phone-allow_alpha_phonenum',
+ 'section' => '',
+ 'description' => 'Allow letters in phone numbers.',
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'default_phone_countrycode',
+ 'section' => '',
+ 'description' => 'Default countrcode',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'cdr-charged_party-accountcode',
+ 'section' => '',
+ 'description' => 'Set the charged_party field of CDRs to the accountcode.',
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'cdr-taqua-da_rewrite',
+ 'section' => '',
+ 'description' => 'For the Taqua CDR format, a comma-separated list of directory assistance 800 numbers. Any CDRs with these numbers as "BilledNumber" will be rewritten to the "CallingPartyNumber" (and CallType "12") on import.',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'cust_pkg-show_autosuspend',
+ 'section' => 'UI',
+ 'description' => 'Show package auto-suspend dates. Use with caution for now; can slow down customer view for large insallations.',
+ 'type' => 'checkbox',
+ },
+
);
1;