add overlimit_groups agent-specific config, overriding export-specific overlimit_grou...
[freeside.git] / FS / FS / Conf.pm
index bcf7bba..1f708ad 100644 (file)
@@ -482,7 +482,14 @@ worry that config_items is freeside-specific and icky.
   {
     'key'         => 'deletecustomers',
     'section'     => 'UI',
-    'description' => 'Enable customer deletions.  Be very careful!  Deleting a customer will remove all traces that this customer ever existed!  It should probably only be used when auditing a legacy database.  Normally, you cancel all of a customers\' packages if they cancel service.',
+    'description' => 'Enable customer deletions.  Be very careful!  Deleting a customer will remove all traces that the customer ever existed!  It should probably only be used when auditing a legacy database.  Normally, you cancel all of a customers\' packages if they cancel service.',
+    'type'        => 'checkbox',
+  },
+
+  {
+    'key'         => 'deleteinvoices',
+    'section'     => 'UI',
+    'description' => 'Enable invoices deletions.  Be very careful!  Deleting an invoice will remove all traces that the invoice ever existed!  Normally, you would apply a credit against the invoice instead.',  #invoice voiding?
     'type'        => 'checkbox',
   },
 
@@ -1598,6 +1605,14 @@ worry that config_items is freeside-specific and icky.
     'select_enum' => [ 'Framed-IP-Address', 'Framed-Address' ],
   },
 
+  #http://dev.coova.org/svn/coova-chilli/doc/dictionary.chillispot
+  {
+    'key'         => 'radius-chillispot-max',
+    'section'     => '',
+    'description' => 'Enable ChilliSpot (and CoovaChilli) Max attributes, specifically ChilliSpot-Max-{Input,Output,Total}-{Octets,Gigawords}.',
+    'type'        => 'checkbox',
+  },
+
   {
     'key'         => 'svc_acct-alldomains',
     'section'     => '',
@@ -1633,7 +1648,7 @@ worry that config_items is freeside-specific and icky.
     'type'        => 'select',
     'select_hash' => [
                        'actual_oncard' => 'Default/classic behavior: set the flag if a customer has actual previous charges on the card.',
-                      'transaction_is_recur' => 'Set the flag if the transaction itself is recurring, irregardless of previous charges on the card.',
+                       'transaction_is_recur' => 'Set the flag if the transaction itself is recurring, irregardless of previous charges on the card.',
                      ],
   },
 
@@ -1845,6 +1860,13 @@ worry that config_items is freeside-specific and icky.
   },
 
   {
+    'key'         => 'address1-search',
+    'section'     => 'UI',
+    'description' => 'Enable the ability to search the address1 field from customer search.',
+    'type'        => 'checkbox',
+  },
+
+  {
     'key'         => 'address2-search',
     'section'     => 'UI',
     'description' => 'Enable a "Unit" search box which searches the second address field.  Useful for multi-tenant applications.  See also: cust_main-require_address2',
@@ -1946,7 +1968,7 @@ worry that config_items is freeside-specific and icky.
   {
     'key'         => 'svc_acct-usage_threshold',
     'section'     => 'billing',
-    'description' => 'The threshold (expressed as percentage) of acct.seconds or acct.up|down|totalbytes at which a warning message is sent to a service holder.  Typically used in conjunction with prepaid packages and freeside-sqlradius-radacctd.  Defaults to 80.',
+    'description' => 'The threshold (expressed as percentage) of acct.seconds or acct.up|down|totalbytes at which a warning message is sent to a service holder.  Typically used in conjunction with prepaid packages and freeside-sqlradius-radacctd.',
     'type'        => 'text',
   },
 
@@ -2055,16 +2077,23 @@ worry that config_items is freeside-specific and icky.
     'type'        => 'select-sub',
     'options_sub' => sub { require FS::Record;
                            require FS::part_pkg;
-                          map { $_->pkgpart => $_->pkg }
+                           map { $_->pkgpart => $_->pkg }
                                FS::Record::qsearch('part_pkg', { disabled=>'' } );
-                        },
+                         },
     'option_sub'  => sub { require FS::Record;
                            require FS::part_pkg;
-                          my $part_pkg = FS::Record::qsearchs(
-                            'part_pkg', { 'pkgpart'=>shift }
-                          );
+                           my $part_pkg = FS::Record::qsearchs(
+                             'part_pkg', { 'pkgpart'=>shift }
+                           );
                            $part_pkg ? $part_pkg->pkg : '';
-                        },
+                         },
+  },
+
+  {
+    'key'         => 'postal_invoice-recurring_only',
+    'section'     => 'billing',
+    'description' => 'The postal invoice fee is omitted on invoices without recurring charges when this is set',
+    'type'        => 'checkbox',
   },
 
   {
@@ -2213,6 +2242,14 @@ worry that config_items is freeside-specific and icky.
     'type'        => 'checkbox',
   },
 
+    'key'         => 'overlimit_groups',
+    'section'     => '',
+    'description' => 'RADIUS group (or comma-separated groups) to assign to svc_acct which has exceeded its bandwidth or time limit.',
+    'type'        => 'text',
+    'per_agent'   => 1,
+  },
+
+  {
   {
     'key'         => 'support-key',
     'section'     => '',
@@ -2293,8 +2330,6 @@ worry that config_items is freeside-specific and icky.
     'type'        => 'checkbox',
   },
 
-  
-
   {
     'key'         => 'cust_main-require_phone',
     'section'     => '',
@@ -2316,16 +2351,16 @@ worry that config_items is freeside-specific and icky.
     'type'        => 'select-sub',
     'options_sub' => sub { require FS::Record;
                            require FS::reason_type;
-                          map { $_->typenum => $_->type }
+                           map { $_->typenum => $_->type }
                                FS::Record::qsearch('reason_type', { class=>'R' } );
-                        },
+                         },
     'option_sub'  => sub { require FS::Record;
                            require FS::reason_type;
-                          my $reason_type = FS::Record::qsearchs(
-                            'reason_type', { 'typenum' => shift }
-                          );
+                           my $reason_type = FS::Record::qsearchs(
+                             'reason_type', { 'typenum' => shift }
+                           );
                            $reason_type ? $reason_type->type : '';
-                        },
+                         },
   },
 
   {
@@ -2335,16 +2370,16 @@ worry that config_items is freeside-specific and icky.
     'type'        => 'select-sub',
     'options_sub' => sub { require FS::Record;
                            require FS::reason_type;
-                          map { $_->typenum => $_->type }
+                           map { $_->typenum => $_->type }
                                FS::Record::qsearch('reason_type', { class=>'R' } );
-                        },
+                         },
     'option_sub'  => sub { require FS::Record;
                            require FS::reason_type;
-                          my $reason_type = FS::Record::qsearchs(
-                            'reason_type', { 'typenum' => shift }
-                          );
+                           my $reason_type = FS::Record::qsearchs(
+                             'reason_type', { 'typenum' => shift }
+                           );
                            $reason_type ? $reason_type->type : '';
-                        },
+                         },
   },
 
   {
@@ -2354,16 +2389,16 @@ worry that config_items is freeside-specific and icky.
     'type'        => 'select-sub',
     'options_sub' => sub { require FS::Record;
                            require FS::reason_type;
-                          map { $_->typenum => $_->type }
+                           map { $_->typenum => $_->type }
                                FS::Record::qsearch('reason_type', { class=>'R' } );
-                        },
+                         },
     'option_sub'  => sub { require FS::Record;
                            require FS::reason_type;
-                          my $reason_type = FS::Record::qsearchs(
-                            'reason_type', { 'typenum' => shift }
-                          );
+                           my $reason_type = FS::Record::qsearchs(
+                             'reason_type', { 'typenum' => shift }
+                           );
                            $reason_type ? $reason_type->type : '';
-                        },
+                         },
   },
 
   {
@@ -2451,6 +2486,27 @@ worry that config_items is freeside-specific and icky.
   },
 
   {
+    'key'         => 'sg-ping_username',
+    'section'     => '',
+    'description' => "Don't use this.",
+    'type'        => 'text',
+  },
+
+  {
+    'key'         => 'sg-ping_password',
+    'section'     => '',
+    'description' => "Don't use this.",
+    'type'        => 'text',
+  },
+
+  {
+    'key'         => 'sg-login_username',
+    'section'     => '',
+    'description' => "Don't use this.",
+    'type'        => 'text',
+  },
+
+  {
     'key'         => 'queued-max_kids',
     'section'     => '',
     'description' => 'Maximum number of queued processes.  Defaults to 10.',