X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=be6e54adb72433af7b1a469ecf24de7340819e6e;hb=8b94131f99da90eaa50f2b61f7cc8ab3cfa48a95;hp=df176e31d6982ad670a5da8c96cdd6c17801b4f6;hpb=182e8303be380efce912e147b5ee3a115cf16651;p=freeside.git diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index df176e31d..be6e54adb 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -108,6 +108,22 @@ sub exists { -e "$dir/$file"; } +=item config_orbase KEY SUFFIX + +Returns the configuration value or values (depending on context) for +KEY_SUFFIX, if it exists, otherwise for KEY + +=cut + +sub config_orbase { + my( $self, $file, $suffix ) = @_; + if ( $self->exists("${file}_$suffix") ) { + $self->config("${file}_$suffix"); + } else { + $self->config($file); + } +} + =item touch KEY Creates the specified configuration key if it does not exist. @@ -197,6 +213,18 @@ sub config_items { 'type' => 'textarea', } } glob($self->dir. '/invoice_latex_*') + ), + ( map { + my $basename = basename($_); + $basename =~ /^(.*)$/; + $basename = $1; + new FS::ConfItem { + 'key' => $basename, + 'section' => 'billing', + 'description' => 'Alternate Notes section for LaTeX typeset PostScript invoices. See the billing documentation for details.', + 'type' => 'textarea', + } + } glob($self->dir. '/invoice_latexnotes_*') ); } @@ -637,8 +665,8 @@ httemplate/docs/config.html { 'key' => 'report_template', - 'section' => 'required', - 'description' => 'Required template file for reports. See the billing documentation for details.', + 'section' => 'deprecated', + 'description' => 'Deprecated template file for reports.', 'type' => 'textarea', }, @@ -941,6 +969,13 @@ httemplate/docs/config.html }, { + 'key' => 'legacy_link-steal', + 'section' => 'UI', + 'description' => 'Allow "stealing" an already-audited service from one customer (or package) to another using the link function.', + 'type' => 'checkbox', + }, + + { 'key' => 'queue_dangerous_controls', 'section' => 'UI', 'description' => 'Enable queue modification controls on account pages and for new jobs. Unless you are a developer working on new export code, you should probably leave this off to avoid causing provisioning problems.', @@ -1185,6 +1220,36 @@ httemplate/docs/config.html 'description' => 'A list of system usernames that cannot be edited or removed, one per line. Use a bare username to prohibit modification/deletion of the username in any domain, or username@domain to prohibit modification/deletetion of a specific username and domain.', 'type' => 'textarea', }, + + { + 'key' => 'disable_autoreverse', + 'section' => 'BIND', + 'description' => 'Disable automatic synchronization of reverse-ARPA entries.', + 'type' => 'checkbox', + }, + + { + 'key' => 'svc_www-enable_subdomains', + 'section' => '', + 'description' => 'Enable selection of specific subdomains for virtual host creation.', + 'type' => 'checkbox', + }, + + { + 'key' => 'svc_www-usersvc_svcpart', + 'section' => '', + 'description' => 'Allowable service definition svcparts for virtual hosts, one per line.', + 'type' => 'textarea', + }, + + { + 'key' => 'global_unique-username', + 'section' => 'username', + 'description' => 'Global username uniqueness control: none (usual setting - check uniqueness per exports), username (all usernames are globally unique, regardless of domain or exports), or username@domain (all username@domain pairs are globally unique, regardless of exports)', + 'type' => 'select', + 'select_enum' => [ 'none', 'username', 'username@domain' ], + }, + ); 1;