summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorivan <ivan>2010-04-19 06:16:01 +0000
committerivan <ivan>2010-04-19 06:16:01 +0000
commita0e1759e5c4300aa48bd137f8e5cbb4aa0e36778 (patch)
treefb73cb38705bb6253baa8bd41fec771a8a5cff4b /FS
parentd4896da4ac862e44547b4151ecbba2340b660850 (diff)
communigate provisioning phase 2: Account:Settings: RulesAllowed, RPOPAllowed, MailToAll, AddMailTrailer. RT#7514
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/Schema.pm4
-rw-r--r--FS/FS/part_export/communigate_pro.pm27
-rw-r--r--FS/FS/svc_acct.pm4
-rw-r--r--FS/FS/svc_domain.pm2
4 files changed, 30 insertions, 7 deletions
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index 22c18ae..4aa8143 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -1505,6 +1505,10 @@ sub tables_hashref {
'cgp_aliases', 'varchar', 'NULL', 255, '', '',
'cgp_deletemode', 'varchar', 'NULL', $char_d, '', '', #DeleteMode
'cgp_emptytrash', 'varchar', 'NULL', $char_d, '', '', #EmptyTrash
+ 'cgp_rulesallowed','varchar', 'NULL', $char_d, '', '', #RulesAllowed
+ 'cgp_rpopallowed', 'char', 'NULL', 1, '', '', #RPOPAllowed
+ 'cgp_mailtoall', 'char', 'NULL', 1, '', '', #MailToAll
+ 'cgp_addmailtrailer', 'char', 'NULL', 1, '', '', #AddMailTrailer
],
'primary_key' => 'svcnum',
#'unique' => [ [ 'username', 'domsvc' ] ],
diff --git a/FS/FS/part_export/communigate_pro.pm b/FS/FS/part_export/communigate_pro.pm
index 9ea8401..b94eaf6 100644
--- a/FS/FS/part_export/communigate_pro.pm
+++ b/FS/FS/part_export/communigate_pro.pm
@@ -77,12 +77,18 @@ 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
+ 'RulesAllowed' => $svc_acct->cgp_rulesallowed,
+ 'RPOPAllowed' =>($svc_acct->cgp_rpopallowed ?'YES':'NO'),
+ 'MailToAll' =>($svc_acct->cgp_mailtoall ?'YES':'NO'),
+ 'AddMailTrailer' =>($svc_acct->cgp_addmailtrailer ?'YES':'NO'),
+
map { $quotas{$_} => $svc_acct->$_() }
grep $svc_acct->$_(), keys %quotas
);
- #phase 2: pwdallowed, passwordrecovery, allowed mail rules,
- # RPOP modifications, accepts mail to all, add trailer to sent mail
- #phase 3: archive messages, mailing lists
+ #XXX phase 2: pwdallowed, passwordrecovery
+ #XXX phase 3: archive messages, mailing lists
my @options = ( 'CreateAccount',
'accountName' => $self->export_username($svc_acct),
@@ -274,9 +280,18 @@ sub _export_replace_svc_acct {
if $old->cgp_accessmodes ne $new->cgp_accessmodes
|| $old->cgp_type ne $new->cgp_type;
- #phase 2: pwdallowed, passwordrecovery, allowed mail rules,
- # RPOP modifications, accepts mail to all, add trailer to sent mail
- #phase 3: archive messages, mailing lists
+ #phase 2: allowed mail rules, RPOP modifications, accepts mail to all, add trailer to sent mail
+ $settings{'RulesAllowed'} = $new->cgp_rulesallowed
+ if $old->cgp_rulesallowed ne $new->cgp_rulesallowed;
+ $settings{'RPOPAllowed'} = $new->cgp_rpopallowed
+ if $old->cgp_rpopallowed ne $new->cgp_rpopallowed;
+ $settings{'MailToAll'} = $new->cgp_mailtoall
+ if $old->cgp_mailtoall ne $new->cgp_mailtoall;
+ $settings{'AddMailTrailer'} = $new->cgp_addmailtrailer
+ if $old->cgp_addmailtrailer ne $new->cgp_addmailtrailer;
+
+ #XXX phase 2: pwdallowed, passwordrecovery
+ #XXX phase 3: archive messages, mailing lists
if ( keys %settings ) {
my $error = $self->communigate_pro_queue(
diff --git a/FS/FS/svc_acct.pm b/FS/FS/svc_acct.pm
index fbf4707..6e7fb91 100644
--- a/FS/FS/svc_acct.pm
+++ b/FS/FS/svc_acct.pm
@@ -1113,6 +1113,10 @@ sub check {
|| $self->ut_textn('cgp_aliases' ) #well
|| $self->ut_alphasn('cgp_deletemode')
|| $self->ut_alphan('cgp_emptytrash')
+ || $self->ut_alphasn('cgp_rulesallowed')
+ || $self->ut_enum('cgp_rpopallowed', [ '', 'Y' ])
+ || $self->ut_enum('cgp_mailtoall', [ '', 'Y' ])
+ || $self->ut_enum('cgp_addmailtrailer', [ '', 'Y' ])
;
return $error if $error;
diff --git a/FS/FS/svc_domain.pm b/FS/FS/svc_domain.pm
index f8c6615..5a593bb 100644
--- a/FS/FS/svc_domain.pm
+++ b/FS/FS/svc_domain.pm
@@ -430,7 +430,7 @@ sub check {
|| $self->ut_alphan('acct_def_maxsize')
|| $self->ut_alphasn('acct_def_cgp_deletemode')
|| $self->ut_alphan('acct_def_cgp_emptytrash')
- || $self->ut_textn('acct_def_cgp_rulesallowed')
+ || $self->ut_alphasn('acct_def_cgp_rulesallowed')
|| $self->ut_enum('acct_def_cgp_rpopallowed', [ '', 'Y' ])
|| $self->ut_enum('acct_def_cgp_mailtoall', [ '', 'Y' ])
|| $self->ut_enum('acct_def_cgp_addmailtrailer', [ '', 'Y' ])