summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/Schema.pm4
-rw-r--r--FS/FS/part_export/communigate_pro.pm15
-rw-r--r--FS/FS/svc_acct.pm6
3 files changed, 14 insertions, 11 deletions
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index 4aa814366..380a8f613 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -1500,7 +1500,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
@@ -1558,7 +1558,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, '', '',
diff --git a/FS/FS/part_export/communigate_pro.pm b/FS/FS/part_export/communigate_pro.pm
index b94eaf66d..a666ca0b2 100644
--- a/FS/FS/part_export/communigate_pro.pm
+++ b/FS/FS/part_export/communigate_pro.pm
@@ -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 ) {
diff --git a/FS/FS/svc_acct.pm b/FS/FS/svc_acct.pm
index 6e7fb91df..954d03051 100644
--- a/FS/FS/svc_acct.pm
+++ b/FS/FS/svc_acct.pm
@@ -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;