communigate (phase 2), Account:Settings PasswordRecovery. also fix modification...
authorivan <ivan>
Mon, 19 Apr 2010 07:09:17 +0000 (07:09 +0000)
committerivan <ivan>
Mon, 19 Apr 2010 07:09:17 +0000 (07:09 +0000)
FS/FS/Schema.pm
FS/FS/part_export/communigate_pro.pm
FS/FS/svc_acct.pm
httemplate/edit/svc_acct.cgi
httemplate/view/svc_acct/basics.html

index a9fde2f..a59156a 100644 (file)
@@ -1665,7 +1665,7 @@ sub tables_hashref {
         'file_maxsize',    'varchar', 'NULL', $char_d, '', '', #MaxFileSize
         'cgp_accessmodes', 'varchar', 'NULL',     255, '', '', #AccessModes
         'password_selfchange','char', 'NULL',       1, '', '', #PWDAllowed
-        'password_recover',   'char', 'NULL',       1, '', '', #PasswordRecovery
+        'password_recover',   'char', 'NULL',       1, 'Y','', #PasswordRecovery
         'cgp_type',        'varchar', 'NULL', $char_d, '', '', #AccountType
         'cgp_aliases',     'varchar', 'NULL',     255, '', '',
         'cgp_deletemode',  'varchar', 'NULL', $char_d, '', '', #DeleteMode
@@ -1723,7 +1723,7 @@ sub tables_hashref {
         'cgp_aliases',  'varchar', 'NULL',      255, '', '',
         'cgp_accessmodes','varchar','NULL',     255, '', '', #DomainAccessModes
         'acct_def_password_selfchange','char', 'NULL',       1, '', '', 
-        'acct_def_password_recover',   'char', 'NULL',       1, '', '', 
+        'acct_def_password_recover',   'char', 'NULL',       1, 'Y', '', 
         'acct_def_cgp_accessmodes', 'varchar', 'NULL',     255, '', '',
         'acct_def_quota',           'varchar', 'NULL', $char_d, '', '',
         'acct_def_file_quota',      'varchar', 'NULL', $char_d, '', '',
index b94eaf6..a666ca0 100644 (file)
@@ -78,7 +78,8 @@ sub _export_insert_svc_acct {
     'RealName'       => $svc_acct->finger,
     'Password'       => $svc_acct->_password,
 
-    #phase 2: allowed mail rules, RPOP modifications, accepts mail to all, add trailer to sent mail
+    'PasswordRecovery' => ($svc_acct->password_recover ? 'YES':'NO'),
+
     'RulesAllowed'     => $svc_acct->cgp_rulesallowed,
     'RPOPAllowed'      =>($svc_acct->cgp_rpopallowed    ?'YES':'NO'),
     'MailToAll'        =>($svc_acct->cgp_mailtoall      ?'YES':'NO'),
@@ -87,7 +88,6 @@ sub _export_insert_svc_acct {
     map { $quotas{$_} => $svc_acct->$_() }
         grep $svc_acct->$_(), keys %quotas
   );
-  #XXX phase 2: pwdallowed, passwordrecovery
   #XXX phase 3: archive messages, mailing lists
 
   my @options = ( 'CreateAccount',
@@ -280,17 +280,18 @@ sub _export_replace_svc_acct {
     if $old->cgp_accessmodes ne $new->cgp_accessmodes
     || $old->cgp_type ne $new->cgp_type;
 
-  #phase 2: allowed mail rules, RPOP modifications, accepts mail to all, add trailer to sent mail
+  $settings{'PasswordRecovery'} = ( $new->password_recover ? 'YES':'NO' )
+    if $old->password_recover ne $new->password_recover;
+
   $settings{'RulesAllowed'} = $new->cgp_rulesallowed
     if $old->cgp_rulesallowed ne $new->cgp_rulesallowed;
-  $settings{'RPOPAllowed'} = $new->cgp_rpopallowed
+  $settings{'RPOPAllowed'} = ( $new->cgp_rpopallowed ? 'YES':'NO' )
     if $old->cgp_rpopallowed ne $new->cgp_rpopallowed;
-  $settings{'MailToAll'} = $new->cgp_mailtoall
+  $settings{'MailToAll'} = ( $new->cgp_mailtoall ? 'YES':'NO' )
     if $old->cgp_mailtoall ne $new->cgp_mailtoall;
-  $settings{'AddMailTrailer'} = $new->cgp_addmailtrailer
+  $settings{'AddMailTrailer'} = ( $new->cgp_addmailtrailer ? 'YES':'NO' )
     if $old->cgp_addmailtrailer ne $new->cgp_addmailtrailer;
 
-  #XXX phase 2: pwdallowed, passwordrecovery
   #XXX phase 3: archive messages, mailing lists
 
   if ( keys %settings ) {
index 6e7fb91..954d030 100644 (file)
@@ -1111,12 +1111,14 @@ sub check {
               || $self->ut_textn('cgp_accessmodes')
               || $self->ut_alphan('cgp_type')
               || $self->ut_textn('cgp_aliases' ) #well
-              || $self->ut_alphasn('cgp_deletemode')
-              || $self->ut_alphan('cgp_emptytrash')
+              #settings
               || $self->ut_alphasn('cgp_rulesallowed')
               || $self->ut_enum('cgp_rpopallowed', [ '', 'Y' ])
               || $self->ut_enum('cgp_mailtoall', [ '', 'Y' ])
               || $self->ut_enum('cgp_addmailtrailer', [ '', 'Y' ])
+              #preferences
+              || $self->ut_alphasn('cgp_deletemode')
+              || $self->ut_alphan('cgp_emptytrash')
   ;
   return $error if $error;
 
index 04c442a..35c9006 100755 (executable)
@@ -335,6 +335,14 @@ Service # <% $svcnum ? "<B>$svcnum</B>" : " (NEW)" %><BR>
 
 %  #preferences
 
+  <% include('/elements/tr-checkbox.html',
+               'label'      => 'Password recovery',
+               'field'      => 'password_recover',
+               'curr_value' => $svc_acct->password_recover,
+               'value'      => 'Y',
+            )
+  %>
+
   <% include('/elements/tr-select.html',
                'label'      => 'Allowed mail rules',
                'field'      => 'cgp_rulesallowed',
@@ -517,9 +525,11 @@ if ( $cgi->param('error') ) {
   $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart});
   die "No part_svc entry!" unless $part_svc;
 
-    $svc_acct = new FS::svc_acct({svcpart => $svcpart}); 
+  $svc_acct = new FS::svc_acct({svcpart => $svcpart}); 
+
+  $svcnum='';
 
-    $svcnum='';
+  $svc_acct->password_recover('Y'); #default. hmm.
 
 } else { #editing
 
index 9fc9448..f6bdede 100644 (file)
@@ -87,7 +87,8 @@
   <% include('/view/elements/tr.html', label=>'File size limit',
                         value=>$svc_acct->file_maxsize ) %>
 
-%#XXX password recovery
+  <% include('/view/elements/tr.html', label=>'Password recovery',
+               value=>$svc_acct->password_recover ? 'YES' : 'NO' ) %>
 
   <% include('/view/elements/tr.html', label=>'Allowed mail rules',
                         value=>$svc_acct->cgp_rulesallowed || 'default (No)') %>