summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2010-04-19 07:09:17 +0000
committerivan <ivan>2010-04-19 07:09:17 +0000
commit860ba14587816649210dd43a5728cf4b007bfa54 (patch)
tree49982151b6302408fb4f0c5c59922e372607886a
parent5beabbb6a5dfe410545ceab8b4ed0ddcb96fd9c8 (diff)
communigate (phase 2), Account:Settings PasswordRecovery. also fix modification of svc_acct booleans in export. RT#7514
-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
-rwxr-xr-xhttemplate/edit/svc_acct.cgi14
-rw-r--r--httemplate/view/svc_acct/basics.html3
5 files changed, 28 insertions, 14 deletions
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index a9fde2f91..a59156afd 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -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, '', '',
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;
diff --git a/httemplate/edit/svc_acct.cgi b/httemplate/edit/svc_acct.cgi
index 04c442a30..35c9006f6 100755
--- a/httemplate/edit/svc_acct.cgi
+++ b/httemplate/edit/svc_acct.cgi
@@ -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
diff --git a/httemplate/view/svc_acct/basics.html b/httemplate/view/svc_acct/basics.html
index 9fc94488a..f6bdede32 100644
--- a/httemplate/view/svc_acct/basics.html
+++ b/httemplate/view/svc_acct/basics.html
@@ -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)') %>