72225: OQH - Mandatory Fields on Customer Creation
authorJonathan Prykop <jonathan@freeside.biz>
Sat, 3 Sep 2016 03:02:03 +0000 (22:02 -0500)
committerJonathan Prykop <jonathan@freeside.biz>
Sat, 3 Sep 2016 03:02:03 +0000 (22:02 -0500)
FS/FS/Conf.pm
FS/FS/cust_main.pm
httemplate/edit/cust_main/basics.html

index cf6e909..84acf02 100644 (file)
@@ -4146,6 +4146,13 @@ and customer address. Include units.',
   },
 
   {
+    'key'         => 'cust_main-require_classnum',
+    'section'     => 'customer_fields',
+    'description' => 'Customer class is required: require customer class for all customer records.',
+    'type'        => 'checkbox',
+  },
+
+  {
     'key'         => 'cust_main-check_unique',
     'section'     => 'customer_fields',
     'description' => 'Warn before creating a customer record where these fields duplicate another customer.',
index 7bbed1b..2f05af6 100644 (file)
@@ -1869,6 +1869,10 @@ sub check {
     && ! $self->custnum
     && $conf->exists('cust_main-require_locale');
 
+  return "Please select a customer class"
+    if ! $self->classnum
+    && $conf->exists('cust_main-require_classnum');
+
   foreach my $flag (qw( tax spool_cdr squelch_cdr archived email_csv_cdr )) {
     $self->$flag() =~ /^(Y?)$/ or return "Illegal $flag: ". $self->$flag();
     $self->$flag($1);
index a30d7f8..3290756 100644 (file)
 % }
 
 %# class
+% my $rclass = $conf->exists('cust_main-require_classnum') ? $r : '';
 <& /elements/tr-select-cust_class.html,
-             'curr_value'  => $cust_main->classnum,
-             'label'       => emt("Class"),
+             'curr_value'    => $cust_main->classnum,
+             'label'         => $rclass . emt("Class"),
+             'empty_label'   => $rclass ? 'Select class' : '(none)',
+             'disable_empty' => ($rclass && $cust_main->classnum) ? 1 : 0,
 &>
 
 %# tax status