X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=adc5b0ee61b613c9298465e41e84f8c03a8c5306;hb=424ccae1ae17a8ee317200b336da5b588d7c70be;hp=b8fd27eb230abf7dfc8b5c0fd3e04fa161a1f293;hpb=cc0c6be1aa795f85d05f15a3e8568fcef2bbd380;p=freeside.git
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index b8fd27eb2..adc5b0ee6 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -157,6 +157,8 @@ sub exists {
#=cut
# outmoded as soon as we shift to agentnum based config values
+# well, mostly. still useful for e.g. late notices, etc. in that we want
+# these to fall back to standard values
sub config_orbase {
my $self = shift;
return $self->_usecompat('config_orbase', @_) if use_confcompat;
@@ -169,6 +171,30 @@ sub config_orbase {
}
}
+=item invoice_templatenames
+
+Returns all possible invoice template names.
+
+=cut
+
+sub invoice_templatenames {
+ my( $self ) = @_;
+
+ my %templatenames = ();
+ foreach my $item ( $self->config_items ) {
+ foreach my $base ( @base_items ) {
+ my( $main, $ext) = split(/\./, $base);
+ $ext = ".$ext" if $ext;
+ if ( $item->key =~ /^${main}_(.+)$ext$/ ) {
+ $templatenames{$1}++;
+ }
+ }
+ }
+
+ sort keys %templatenames;
+
+}
+
=item touch KEY [ AGENT ];
Creates the specified configuration key if it does not exist.
@@ -394,7 +420,7 @@ sub _orbase_items {
map { new FS::ConfItem {
'key' => $_,
'section' => $proto->section,
- 'description' => 'Alternate ' . $proto->description . ' See the billing documentation for details.',
+ 'description' => 'Alternate ' . $proto->description . ' See the billing documentation for details.',
'type' => $proto->type,
};
} &$listmaker($base);
@@ -463,8 +489,6 @@ worry that config_items is freeside-specific and icky.
"Configuration" in the web interface (config/config.cgi).
-httemplate/docs/config.html
-
=cut
#Business::CreditCard
@@ -496,6 +520,21 @@ httemplate/docs/config.html
logo.eps
);
+@base_items = qw (
+ invoice_template
+ invoice_latex
+ invoice_latexreturnaddress
+ invoice_latexfooter
+ invoice_latexsmallfooter
+ invoice_latexnotes
+ invoice_html
+ invoice_htmlreturnaddress
+ invoice_htmlfooter
+ invoice_htmlnotes
+ logo.png
+ logo.eps
+ );
+
@config_items = map { new FS::ConfItem $_ } (
{
@@ -508,7 +547,7 @@ httemplate/docs/config.html
{
'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. See the billing documentation for details.',
'type' => 'textarea',
},
@@ -708,14 +747,14 @@ httemplate/docs/config.html
{
'key' => 'invoice_template',
'section' => 'required',
- 'description' => 'Required template file for invoices. See the billing documentation for details.',
+ 'description' => 'Required template file for invoices. See the billing documentation for details.',
'type' => 'textarea',
},
{
'key' => 'invoice_html',
'section' => 'billing',
- 'description' => 'Optional HTML template for invoices. See the billing documentation for details.',
+ 'description' => 'Optional HTML template for invoices. See the billing documentation for details.',
'type' => 'textarea',
},
@@ -744,7 +783,7 @@ httemplate/docs/config.html
{
'key' => 'invoice_latex',
'section' => 'billing',
- 'description' => 'Optional LaTeX template for typeset PostScript invoices. See the billing documentation for details.',
+ 'description' => 'Optional LaTeX template for typeset PostScript invoices. See the billing documentation for details.',
'type' => 'textarea',
},
@@ -925,7 +964,7 @@ httemplate/docs/config.html
{
'key' => 'signupurl',
'section' => 'UI',
- 'description' => 'if you are using customer-to-customer referrals, and you enter the URL of your signup server CGI, the customer view screen will display a customized link to the signup server with the appropriate customer as referral',
+ 'description' => 'if you are using customer-to-customer referrals, and you enter the URL of your signup server CGI, the customer view screen will display a customized link to the signup server with the appropriate customer as referral',
'type' => 'text',
},
@@ -1058,7 +1097,7 @@ httemplate/docs/config.html
{
'key' => 'username-uppercase',
'section' => 'username',
- 'description' => 'Allow uppercase characters in usernames',
+ 'description' => 'Allow uppercase characters in usernames. Not recommended for use with FreeRADIUS with MySQL backend, which is case-insensitive by default.',
'type' => 'checkbox',
},
@@ -1306,7 +1345,7 @@ httemplate/docs/config.html
{
'key' => 'emailcancel',
'section' => 'billing',
- 'description' => 'Enable emailing of cancellation notices.',
+ 'description' => 'Enable emailing of cancellation notices. Make sure to fill in the cancelmessage and cancelsubject configuration values as well.',
'type' => 'checkbox',
},
@@ -1577,7 +1616,7 @@ httemplate/docs/config.html
{
'key' => 'ticket_system',
'section' => '',
- 'description' => 'Ticketing system integration. RT_Internal uses the built-in RT ticketing system (see the integrated ticketing installation instructions). RT_External accesses an external RT installation in a separate database (local or remote).',
+ 'description' => 'Ticketing system integration. RT_Internal uses the built-in RT ticketing system (see the integrated ticketing installation instructions). RT_External accesses an external RT installation in a separate database (local or remote).',
'type' => 'select',
#'select_enum' => [ '', qw(RT_Internal RT_Libs RT_External) ],
'select_enum' => [ '', qw(RT_Internal RT_External) ],
@@ -1611,6 +1650,13 @@ httemplate/docs/config.html
},
{
+ 'key' => 'ticket_system-priority_reverse',
+ 'section' => '',
+ 'description' => 'Enable this to consider lower numbered priorities more important. A bad habit we picked up somewhere. You probably want to avoid it and use the default.',
+ 'type' => 'checkbox',
+ },
+
+ {
'key' => 'ticket_system-custom_priority_field',
'section' => '',
'description' => 'Custom field from the ticketing system to use as a custom priority classification.',
@@ -1910,6 +1956,25 @@ httemplate/docs/config.html
},
{
+ 'key' => 'disable-fuzzy',
+ 'section' => 'UI',
+ 'description' => 'Disable fuzzy searching. Speeds up searching for large sites, but only shows exact matches.',
+ 'type' => 'checkbox',
+ },
+
+ { 'key' => 'pkg_referral',
+ 'section' => '',
+ 'description' => 'Enable package-specific advertising sources.',
+ 'type' => 'checkbox',
+ },
+
+ { 'key' => 'pkg_referral-multiple',
+ 'section' => '',
+ 'description' => 'In addition, allow multiple advertising sources to be associated with a single package.',
+ 'type' => 'checkbox',
+ },
+
+ {
'key' => 'dashboard-toplist',
'section' => 'UI',
'description' => 'List of items to display on the top of the front page',
@@ -1987,6 +2052,34 @@ httemplate/docs/config.html
'type' => 'checkbox',
},
+ {
+ 'key' => 'support_packages',
+ 'section' => '',
+ 'description' => 'A list of packages eligible for RT ticket time transfer, one pkgpart per line.', #this should really be a select multiple, or specified in the packages themselves...
+ 'type' => 'textarea',
+ },
+
+ {
+ 'key' => 'cust_main-require_phone',
+ 'section' => '',
+ 'description' => 'Require daytime or night for all customer records.',
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'cust_main-require_invoicing_list_email',
+ 'section' => '',
+ 'description' => 'Require at least one invoicing email address for all customer records.',
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'svc_acct-display_paid_time_remaining',
+ 'section' => '',
+ 'description' => 'Show paid time remaining in addition to time remaining.',
+ 'type' => 'checkbox',
+ },
+
);
1;