From: ivan Date: Fri, 6 Aug 2010 21:28:09 +0000 (+0000) Subject: communigate phase 3: archive messages, RT#7515 X-Git-Tag: TORRUS_1_0_9~428 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=d311f62f655dc5cad8b9319f07f8c0e6bf344cc2 communigate phase 3: archive messages, RT#7515 --- diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index 60d2bcef5..557ee6295 100644 --- a/FS/FS/Schema.pm +++ b/FS/FS/Schema.pm @@ -1698,7 +1698,8 @@ sub tables_hashref { 'cgp_rpopallowed', 'char', 'NULL', 1, '', '', #RPOPAllowed 'cgp_mailtoall', 'char', 'NULL', 1, '', '', #MailToAll 'cgp_addmailtrailer', 'char', 'NULL', 1, '', '', #AddMailTrailer - #XXX archive messages, mailing lists + 'cgp_archiveafter', 'int', 'NULL', '', '', '', #ArchiveMessagesAfter + #XXX mailing lists #preferences 'cgp_deletemode', 'varchar', 'NULL', $char_d, '', '',#DeleteMode 'cgp_emptytrash', 'varchar', 'NULL', $char_d, '', '',#EmptyTrash @@ -1708,7 +1709,6 @@ sub tables_hashref { 'cgp_prontoskinname', 'varchar', 'NULL', $char_d, '', '',#ProntoSkinName 'cgp_sendmdnmode', 'varchar', 'NULL', $char_d, '', '',#SendMDNMode #mail -#vacation message, redirect all mail, mail rules #XXX RPOP settings ], 'primary_key' => 'svcnum', @@ -1770,7 +1770,7 @@ sub tables_hashref { 'acct_def_cgp_rpopallowed', 'char', 'NULL', 1, '', '', 'acct_def_cgp_mailtoall', 'char', 'NULL', 1, '', '', 'acct_def_cgp_addmailtrailer', 'char', 'NULL', 1, '', '', - #XXX archive messages + 'acct_def_cgp_archiveafter', 'int', 'NULL', '', '', '', #preferences 'acct_def_cgp_deletemode', 'varchar', 'NULL', $char_d, '', '', 'acct_def_cgp_emptytrash', 'varchar', 'NULL', $char_d, '', '', @@ -1779,8 +1779,6 @@ sub tables_hashref { 'acct_def_cgp_skinname', 'varchar', 'NULL', $char_d, '', '', 'acct_def_cgp_prontoskinname', 'varchar', 'NULL', $char_d, '', '', 'acct_def_cgp_sendmdnmode', 'varchar', 'NULL', $char_d, '', '', - #mail - #XXX rules, archive rule, spam foldering rule(s) ], 'primary_key' => 'svcnum', 'unique' => [ ], diff --git a/FS/FS/svc_acct.pm b/FS/FS/svc_acct.pm index 3b26688bf..707b33a6f 100644 --- a/FS/FS/svc_acct.pm +++ b/FS/FS/svc_acct.pm @@ -440,7 +440,28 @@ sub table_info { 'cgp_addmailtrailer' => { label => 'Add trailer to sent mail', type => 'checkbox', }, - #XXX archive messages, mailing lists + 'cgp_archiveafter' => { + label => 'Archive messages after', + type => 'select', + select_hash => [ + -2 => 'default(730 day(s))', + 0 => 'Never', + 86400 => '24 hour(s)', + 172800 => '2 day(s)', + 259200 => '3 day(s)', + 432000 => '5 day(s)', + 604800 => '7 day(s)', + 1209600 => '2 week(s)', + 2592000 => '30 day(s)', + 7776000 => '90 day(s)', + 15552000 => '180 day(s)', + 31536000 => '365 day(s)', + 63072000 => '730 day(s)', + ], + disable_inventory => 1, + disable_select => 1, + }, + #XXX mailing lists #preferences 'cgp_deletemode' => { @@ -494,7 +515,6 @@ sub table_info { }, #mail - #XXX vacation message, redirect all mail, mail rules #XXX RPOP settings }, @@ -1190,6 +1210,7 @@ sub check { || $self->ut_enum('cgp_rpopallowed', [ '', 'Y' ]) || $self->ut_enum('cgp_mailtoall', [ '', 'Y' ]) || $self->ut_enum('cgp_addmailtrailer', [ '', 'Y' ]) + || $self->ut_snumbern('cgp_archiveafter') #preferences || $self->ut_alphasn('cgp_deletemode') || $self->ut_enum('cgp_emptytrash', $self->cgp_emptytrash_values) @@ -1198,7 +1219,6 @@ sub check { || $self->ut_textn('cgp_skinname') || $self->ut_textn('cgp_prontoskinname') || $self->ut_alphan('cgp_sendmdnmode') - #XXX vacation message, redirect all mail, mail rules #XXX RPOP settings ; return $error if $error; diff --git a/FS/FS/svc_domain.pm b/FS/FS/svc_domain.pm index 4d85060d3..3dc352b7a 100644 --- a/FS/FS/svc_domain.pm +++ b/FS/FS/svc_domain.pm @@ -207,6 +207,27 @@ sub table_info { label => 'Acct. default Add trailer to sent mail', type => 'checkbox', }, + 'acct_def_cgp_archiveafter' => { + label => 'Archive messages after', + type => 'select', + select_hash => [ + -2 => 'default(730 days)', + 0 => 'Never', + 86400 => '24 hours', + 172800 => '2 days', + 259200 => '3 days', + 432000 => '5 days', + 604800 => '7 days', + 1209600 => '2 weeks', + 2592000 => '30 days', + 7776000 => '90 days', + 15552000 => '180 days', + 31536000 => '365 days', + 63072000 => '730 days', + ], + disable_inventory => 1, + disable_select => 1, + }, 'trailer' => { label => 'Mail trailer', type => 'textarea', @@ -490,7 +511,7 @@ sub check { || $self->ut_enum('acct_def_cgp_rpopallowed', [ '', 'Y' ]) || $self->ut_enum('acct_def_cgp_mailtoall', [ '', 'Y' ]) || $self->ut_enum('acct_def_cgp_addmailtrailer', [ '', 'Y' ]) - #XXX archive messages + || $self->ut_snumbern('acct_def_cgp_archiveafter') #preferences || $self->ut_alphasn('acct_def_cgp_deletemode') || $self->ut_enum('acct_def_cgp_emptytrash', @@ -501,7 +522,6 @@ sub check { || $self->ut_textn('acct_def_cgp_prontoskinname') || $self->ut_alphan('acct_def_cgp_sendmdnmode') #mail - #XXX rules, archive rule, spam foldering rule(s) ; return $error if $error; diff --git a/httemplate/edit/part_svc.cgi b/httemplate/edit/part_svc.cgi index 6fe015ab5..7f2e3aa3c 100755 --- a/httemplate/edit/part_svc.cgi +++ b/httemplate/edit/part_svc.cgi @@ -291,12 +291,22 @@ that field. % (grep(/^$rvalue$/, split(',',$value)) ? ' SELECTED>' : '>' ). % $record->$select_label(). ''; % } #next $record -% } else { # select_list +% } elsif ( $def->{select_list} ) { % foreach my $item ( @{$def->{select_list}} ) { % $html .= qq!'; % } #next $item +% } elsif ( $def->{select_hash} ) { +% $def->{select_hash} = tie %{ $def->{select_hash} }, +% 'Tie::IxHash', +% @{ $def->{select_hash} } +% if ref($def->{select_hash}) eq 'ARRAY'; +% foreach my $key ( keys %{$def->{select_hash}} ) { +% $html .= qq!'; +% } #next $key % } #endif % $html .= ''; %