yow. fix up group handling
[freeside.git] / FS / FS / svc_acct.pm
index c4dbb00..c50dfd5 100644 (file)
@@ -189,17 +189,19 @@ Creates a new account.  To add the account to the database, see L<"insert">.
 sub table { 'svc_acct'; }
 
 sub _fieldhandlers {
-  #false laziness with edit/svc_acct.cgi
-  'usergroup' => sub { 
-                       my $usergroup = shift;
-                       if ( ref($usergroup) eq 'ARRAY' ) {
-                         $usergroup;
-                       } elsif ( length($usergroup) ) {
-                         [ split(/\s*,\s*/, $usergroup) ];
-                       } else {
-                         [];
-                       }
-                     },
+  {
+    #false laziness with edit/svc_acct.cgi
+    'usergroup' => sub { 
+                         my( $self, $groups ) = @_;
+                         if ( ref($groups) eq 'ARRAY' ) {
+                           $groups;
+                         } elsif ( length($groups) ) {
+                           [ split(/\s*,\s*/, $groups) ];
+                         } else {
+                           [];
+                         }
+                       },
+  };
 }
 
 =item insert [ , OPTION => VALUE ... ]
@@ -701,7 +703,7 @@ sub check {
 
   my($recref) = $self->hashref;
 
-  my $x = $self->setfixed;
+  my $x = $self->setfixed( $self->_fieldhandlers );
   return $x unless ref($x);
   my $part_svc = $x;