'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
'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, '', '',
'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'),
map { $quotas{$_} => $svc_acct->$_() }
grep $svc_acct->$_(), keys %quotas
);
- #XXX phase 2: pwdallowed, passwordrecovery
#XXX phase 3: archive messages, mailing lists
my @options = ( 'CreateAccount',
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 ) {
|| $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;
% #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',
$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
<% 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)') %>