communigate (phase 2): Account Preferences (& Domain::Account Defaults:Preferences...
[freeside.git] / httemplate / edit / svc_acct.cgi
index 04c442a..5c2d5f4 100755 (executable)
@@ -333,7 +333,13 @@ Service # <% $svcnum ? "<B>$svcnum</B>" : " (NEW)" %><BR>
 
 % if ( $communigate ) {
 
-%  #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',
@@ -370,6 +376,8 @@ Service # <% $svcnum ? "<B>$svcnum</B>" : " (NEW)" %><BR>
             )
   %>
 
+%  #preferences
+
 %# false laziness w/svc_domain acct_def
   <TR>
     <TD ALIGN="right">Message delete method</TD>
@@ -389,13 +397,133 @@ Service # <% $svcnum ? "<B>$svcnum</B>" : " (NEW)" %><BR>
     <TD><INPUT TYPE="text" NAME="cgp_emptytrash" VALUE="<% $svc_acct->cgp_emptytrash %>"></TD>
   </TR>
 
-%#XXX language, time zone, layout, printo style, send read receipts
+  <% include('/elements/tr-select.html',
+               'label'      => 'Language',
+               'field'      => 'cgp_language',
+               'options'    => [ '', qw( English Arabic Chinese Dutch French German Hebrew Italian Japanese Portuguese Russian Slovak Spanish Thai ) ],
+               'labels'     => {
+                                 '' => 'default (English)',
+                               },
+               'curr_value' => $svc_acct->cgp_language,
+            )
+  %>
+
+  <% include('/elements/tr-select.html',
+               'label'      => 'Time zone',
+               'field'      => 'cgp_timezone',
+               'options'    => [
+                                 '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',
+                               ],
+               'labels'     => {
+                                 '' => 'default (HostOS)',
+                               },
+               'curr_value' => $svc_acct->cgp_timezone,
+            )
+  %>
+
+  <% include('/elements/tr-select.html',
+               'label'      => 'Layout',
+               'field'      => 'cgp_skinname',
+               'options'    => [ '', '***', 'GoldFleece', 'Skin2' ],
+               'labels'     => {
+                                 '' => 'default (***)',
+                               },
+               'curr_value' => $svc_acct->cgp_skinname,
+            )
+  %>
+
+  <% include('/elements/tr-select.html',
+               'label'      => 'Pronto style',
+               'field'      => 'cgp_prontoskinname',
+               'options'    => [ '', 'Pronto', 'Pronto-darkflame', 'Pronto-steel', 'Pronto-twilight', ],
+
+               'curr_value' => $svc_acct->cgp_prontoskinname,
+            )
+  %>
+
+  <% include('/elements/tr-select.html',
+               'label'      => 'Send read receipts',
+               'field'      => 'cgp_sendmdnmode',
+               'options'    => [ '', 'Never', 'Manually', 'Automatically' ],
+               'labels'     => {
+                                 '' => 'default (Automatically)',
+                               },
+               'curr_value' => $svc_acct->cgp_language,
+            )
+  %>
+
 %#XXX vacation message, redirect all mail, mail rules
 
 % } else {
 
-  <INPUT TYPE="hidden" NAME="cgp_deletemode" VALUE="<% $svc_acct->cgp_deletemode %>">
-  <INPUT TYPE="hidden" NAME="cgp_emptytrash" VALUE="<% $svc_acct->cgp_emptytrash %>">
+%   for (qw( password_recover cgp_rulesallowed cgp_rpopallowed cgp_mailtoall
+%            cgp_addmailtrailer
+%            cgp_deletemode cgp_emptytrash cgp_language cgp_timezone
+%            cgp_skinname cgp_sendmdnmode
+%          ) ) {
+
+      <INPUT TYPE="hidden" NAME="<% $_ %>" VALUE="<% $svc_acct->$_() %>">
+%   }
 
 % }
 
@@ -517,9 +645,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