X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fsvc_domain.pm;h=3dc352b7a59005a4b76b65057e280f83201c2b29;hb=171120ce1b3245ed33956d882e06889c7cda2f87;hp=2a24da427ac5c9b18a61f3ec3c324799ac37e02b;hpb=7a8c7b6f64ac14d555d866f93300e64c47b74a98;p=freeside.git diff --git a/FS/FS/svc_domain.pm b/FS/FS/svc_domain.pm index 2a24da427..3dc352b7a 100644 --- a/FS/FS/svc_domain.pm +++ b/FS/FS/svc_domain.pm @@ -1,7 +1,9 @@ package FS::svc_domain; use strict; -use vars qw( @ISA $whois_hack $conf +use base qw( FS::svc_Parent_Mixin FS::svc_CGP_Mixin FS::svc_CGPRule_Mixin + FS::svc_Common ); +use vars qw( $whois_hack $conf @defaultrecords $soadefaultttl $soaemail $soaexpire $soamachine $soarefresh $soaretry ); @@ -12,8 +14,6 @@ use Date::Format; use Net::Domain::TLD qw(tld_exists); use FS::Record qw(fields qsearch qsearchs dbh); use FS::Conf; -use FS::svc_Common; -use FS::svc_Parent_Mixin; use FS::cust_svc; use FS::svc_acct; use FS::cust_pkg; @@ -21,8 +21,6 @@ use FS::cust_main; use FS::domain_record; use FS::queue; -@ISA = qw( FS::svc_Parent_Mixin FS::svc_Common ); - #ask FS::UID to run this stuff for us later $FS::UID::callback{'FS::domain'} = sub { $conf = new FS::Conf; @@ -161,7 +159,8 @@ sub table_info { }, 'acct_def_cgp_emptytrash' => { label => 'Acct. default Communigate on logout remove trash', - type => 'text', + type => 'select', + select_list => __PACKAGE__->cgp_emptytrash_values, disable_inventory => 1, disable_select => 1, }, @@ -208,9 +207,32 @@ 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', + disable_inventory => 1, + disable_select => 1, }, 'acct_def_cgp_language' => { label => 'Acct. default language', @@ -220,71 +242,9 @@ sub table_info { disable_select => 1, }, 'acct_def_cgp_timezone' => { - label => 'Acct. default time zone', - type => 'select', - select_list => [ '', - 'HostOS', - '(+0100) Algeria/Congo', - '(+0200) Egypt/South Africa', - '(+0300) Saudi Arabia', - '(+0400) Oman', - '(+0500) Pakistan', - '(+0600) Bangladesh', - '(+0700) Thailand/Vietnam', - '(+0800) China/Malaysia', - '(+0900) Japan/Korea', - '(+1000) Queensland', - '(+1100) Micronesia', - '(+1200) Fiji', - '(+1300) Tonga/Kiribati', - '(+1400) Christmas Islands', - '(-0100) Azores/Cape Verde', - '(-0200) Fernando de Noronha', - '(-0300) Argentina/Uruguay', - '(-0400) Venezuela/Guyana', - '(-0500) Haiti/Peru', - '(-0600) Central America', - '(-0700) Arisona', - '(-0800) Adamstown', - '(-0900) Marquesas Islands', - '(-1000) Hawaii/Tahiti', - '(-1100) Samoa', - 'Asia/Afghanistan', - 'Asia/India', - 'Asia/Iran', - 'Asia/Iraq', - 'Asia/Israel', - 'Asia/Jordan', - 'Asia/Lebanon', - 'Asia/Syria', - 'Australia/Adelaide', - 'Australia/East', - 'Australia/NorthernTerritory', - 'Europe/Central', - 'Europe/Eastern', - 'Europe/Moscow', - 'Europe/Western', - 'GMT (+0000)', - 'Newfoundland', - 'NewZealand/Auckland', - 'NorthAmerica/Alaska', - 'NorthAmerica/Atlantic', - 'NorthAmerica/Central', - 'NorthAmerica/Eastern', - 'NorthAmerica/Mountain', - 'NorthAmerica/Pacific', - 'Russia/Ekaterinburg', - 'Russia/Irkutsk', - 'Russia/Kamchatka', - 'Russia/Krasnoyarsk', - 'Russia/Magadan', - 'Russia/Novosibirsk', - 'Russia/Vladivostok', - 'Russia/Yakutsk', - 'SouthAmerica/Brasil', - 'SouthAmerica/Chile', - 'SouthAmerica/Paraguay', - ], + label => 'Acct. default time zone', + type => 'select', + select_list => __PACKAGE__->cgp_timezone_values, disable_inventory => 1, disable_select => 1, }, @@ -551,17 +511,17 @@ 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_alphan('acct_def_cgp_emptytrash') + || $self->ut_enum('acct_def_cgp_emptytrash', + $self->cgp_emptytrash_values ) || $self->ut_alphan('acct_def_cgp_language') || $self->ut_textn('acct_def_cgp_timezone') || $self->ut_textn('acct_def_cgp_skinname') || $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;