consolidate four CGP timezone arrays, RT#7083
[freeside.git] / FS / FS / svc_domain.pm
index 46605f4..8215380 100644 (file)
@@ -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;
@@ -211,6 +209,8 @@ sub table_info {
       'trailer' => {
         label => 'Mail trailer',
         type  => 'textarea',
+        disable_inventory => 1,
+        disable_select    => 1,
       },
       'acct_def_cgp_language' => {
                             label => 'Acct. default language',
@@ -220,71 +220,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,
                             disable_inventory => 1,
                             disable_select    => 1,
                         },
@@ -295,7 +233,13 @@ sub table_info {
                             disable_inventory => 1,
                             disable_select    => 1,
                         },
-      #XXX pronto style?
+      'acct_def_cgp_prontoskinname' => {
+                            label => 'Acct. default Pronto style',
+                            type  => 'select',
+                            select_list => [ '', 'Pronto', 'Pronto-darkflame', 'Pronto-steel', 'Pronto-twilight', ],
+                            disable_inventory => 1,
+                            disable_select    => 1,
+                        },
       'acct_def_cgp_sendmdnmode' => {
         label => 'Acct. default send read receipts',
         type  => 'select',
@@ -552,7 +496,7 @@ sub check {
               || $self->ut_alphan('acct_def_cgp_language')
               || $self->ut_textn('acct_def_cgp_timezone')
               || $self->ut_textn('acct_def_cgp_skinname')
-              #XXX pronto style?
+              || $self->ut_textn('acct_def_cgp_prontoskinname')
               || $self->ut_alphan('acct_def_cgp_sendmdnmode')
               #mail
               #XXX rules, archive rule, spam foldering rule(s)