add password-noampersand and password-noexlamation config files, patch from Stephpen...
[freeside.git] / FS / FS / Conf.pm
index 3cddc20..b08fbb3 100644 (file)
@@ -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 <a href="../docs/billing.html">billing documentation</a> for details.',
+                           'type'        => 'textarea',
+                         }
+      } glob($self->dir. '/invoice_latexnotes_*')
   );
 }
 
@@ -308,6 +336,13 @@ httemplate/docs/config.html
     'type'        => 'text',
   },
 
+  {
+    'key'         => 'cybercash3.2',
+    'section'     => 'deprecated',
+    'description' => '<b>DEPRECATED</b>, CyberCash no longer exists.  Used to enable <a href="http://www.cybercash.com/cashregister/">CyberCash Cashregister v3.2</a> support.  Two lines: the full path and name of your merchant_conf file, and the transaction type (`mauthonly\' or `mauthcapture\').',
+    'type'        => 'textarea',
+  },
+
   {
     'key'         => 'cyrus',
     'section'     => 'deprecated',
@@ -371,6 +406,13 @@ httemplate/docs/config.html
     'type'        => 'checkbox',
   },
 
+  {
+    'key'         => 'domain',
+    'section'     => 'deprecated',
+    'description' => 'Your domain name.',
+    'type'        => 'text',
+  },
+
   {
     'key'         => 'editreferrals',
     'section'     => 'UI',
@@ -399,13 +441,6 @@ httemplate/docs/config.html
     'type'       => 'checkbox',
   },
 
-  {
-    'key'         => 'exclude_ip_addr',
-    'section'     => '',
-    'description' => 'Exclude these from the list of available broadband service IP addresses. (One per line)',
-    'type'        => 'textarea',
-  },
-  
   {
     'key'         => 'erpcdmachines',
     'section'     => 'deprecated',
@@ -601,6 +636,20 @@ httemplate/docs/config.html
     'type'        => 'text',
   },
 
+  {
+    'key' => 'password-noampersand',
+    'section' => 'password',
+    'description' => 'Disallow ampersands in passwords',
+    'type' => 'checkbox',
+  },
+
+  {
+    'key' => 'password-noexclamation',
+    'section' => 'password',
+    'description' => 'Disallow exclamations in passwords (Not setting this could break old text Livingston or Cistron Radius servers)',
+    'type' => 'checkbox',
+  },
+
   {
     'key'         => 'qmailmachines',
     'section'     => 'deprecated',
@@ -630,8 +679,8 @@ httemplate/docs/config.html
 
   {
     'key'         => 'report_template',
-    'section'     => 'required',
-    'description' => 'Required template file for reports.  See the <a href="../docs/billing.html">billing documentation</a> for details.',
+    'section'     => 'deprecated',
+    'description' => 'Deprecated template file for reports.',
     'type'        => 'textarea',
   },
 
@@ -981,7 +1030,7 @@ httemplate/docs/config.html
     'section'     => '',
     'description' => 'Acceptable payment types for the signup server',
     'type'        => 'selectmultiple',
-    'select_enum' => [ qw(CARD DCRD CHEK DCHK LECB PREPAY BILL COMP) ],
+    'select_enum' => [ qw(CARD CHEK LECB PREPAY BILL COMP) ],
   },
 
   {
@@ -1109,7 +1158,7 @@ httemplate/docs/config.html
     'section'     => 'UI',
     'description' => 'Default payment type.  HIDE disables display of billing information and sets customers to BILL.',
     'type'        => 'select',
-    'select_enum' => [ '', qw(CARD DCRD CHEK DCHK LECB BILL COMP HIDE) ],
+    'select_enum' => [ '', qw(CARD CHEK LECB BILL COMP HIDE) ],
   },
 
   {
@@ -1178,12 +1227,6 @@ httemplate/docs/config.html
     'description' => 'Allow negative charges.  Normally not used unless importing data from a legacy system that requires this.',
     'type'        => 'checkbox',
   },
-  {
-      'key'         => 'auto_unset_catchall',
-      'section'     => '',
-      'description' => 'When canceling a svc_acct that is the email catchall for one or more svc_domains, automatically set their catchall fields to null.  If this option is not set, the attempt will simply fail.',
-      'type'        => 'checkbox',
-  },
 
   {
     'key'         => 'system_usernames',
@@ -1192,13 +1235,6 @@ httemplate/docs/config.html
     'type'        => 'textarea',
   },
 
-  {
-    'key'         => 'cust_pkg-change_svcpart',
-    'section'     => '',
-    'description' => "When changing packages, move services even if svcparts don't match between old and new pacakge definitions.  Use with caution!  No provision is made for export differences between the old and new service definitions.  Probably only should be used when your exports for all service definitions of a given svcdb are identical.",
-    'type'        => 'checkbox',
-  },
-
   {
     'key'         => 'disable_autoreverse',
     'section'     => 'BIND',
@@ -1220,6 +1256,14 @@ httemplate/docs/config.html
     '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;