communigate, RT#7083
[freeside.git] / FS / FS / svc_acct.pm
index 45f0a41..088ccd4 100644 (file)
@@ -271,8 +271,39 @@ sub table_info {
                          disable_fixed => 1,
                          disable_select => 1,
                        },
+        'cgp_type'=> { 
+                       label => 'Communigate account type',
+                       type => 'select',
+                       select_list => [ ],
+                       disable_inventory => 1,
+                       disable_select    => 1,
+                     },
+        'cgp_accessmodes' => { 
+                               label => 'Communigate enabled services',
+                               type  => 'communigate_pro-accessmodes',
+                               disable_inventory => 1,
+                               disable_select    => 1,
+                             },
         'quota'     => { 
-                         label => 'Quota',
+                         label => 'Quota', #Mail storage limit
+                         type => 'text',
+                         disable_inventory => 1,
+                         disable_select => 1,
+                       },
+        'file_quota'=> { 
+                         label => 'File storage limit',
+                         type => 'text',
+                         disable_inventory => 1,
+                         disable_select => 1,
+                       },
+        'file_maxnum'=> { 
+                         label => 'Number of files limit',
+                         type => 'text',
+                         disable_inventory => 1,
+                         disable_select => 1,
+                       },
+        'file_maxsize'=> { 
+                         label => 'File size limit',
                          type => 'text',
                          disable_inventory => 1,
                          disable_select => 1,
@@ -1065,6 +1096,10 @@ sub check {
               || $self->ut_enum( '_password_encoding',
                                  [ '', qw( plain crypt ldap ) ]
                                )
+              || $self->ut_enum( 'password_selfchange', [ '', 'Y' ] )
+              || $self->ut_enum( 'password_recover',    [ '', 'Y' ] )
+              || $self->ut_textn( 'cgp_accessmodes' )
+              || $self->ut_alphan( 'cgp_type' )
   ;
   return $error if $error;
 
@@ -1200,8 +1235,12 @@ sub check {
       or return "Illegal finger: ". $self->getfield('finger');
   $self->setfield('finger', $1);
 
-  $recref->{quota} =~ /^(\w*)$/ or return "Illegal quota";
-  $recref->{quota} = $1;
+  for (qw( quota file_quota file_maxsize )) {
+    $recref->{$_} =~ /^(\w*)$/ or return "Illegal $_";
+    $recref->{$_} = $1;
+  }
+  $recref->{file_maxnum} =~ /^\s*(\d*)\s*$/ or return "Illegal file_maxnum";
+  $recref->{file_maxnum} = $1;
 
   unless ( $part_svc->part_svc_column('slipip')->columnflag eq 'F' ) {
     if ( $recref->{slipip} eq '' ) {