$access_user = qsearchs( 'access_user', {
'username' => getotaker,
- '_password' => $cgi->param('_password'),
+ '_password' => scalar($cgi->param('_password')),
} );
$error = 'Current password incorrect; password not changed'
my %param = $access_user->options;
#XXX autogen
- my @paramlist = qw( menu_position default_customer_view
+ my @paramlist = qw( locale menu_position default_customer_view mobile_menu
disable_html_editor
email_address
snom-ip snom-username snom-password
}
+if ( !$error and ($FS::TicketSystem::system || '') eq 'RT_Internal' ) {
+ # sync RT user locale on every update
+ my $locale = $access_user->option('locale');
+ FS::TicketSystem->init;
+ my $UserObj = FS::TicketSystem->session('')->{'CurrentUser'}->UserObj;
+ # Bypass RT ModifySelf ACL
+ $UserObj->CurrentUser( RT::SystemUser );
+ if ( $UserObj->Lang ne $locale ) {
+ my ($val, $msg) = $UserObj->SetLang($locale);
+ $error = $msg if !$val;
+ }
+}
</%init>