top bar option!
[freeside.git] / httemplate / pref / pref-process.html
1 % my $error = '';
2 %
3 % my $access_user;
4 % if ( grep { $cgi->param($_) !~ /^\s*$/ }
5 %           qw(_password new_password new_password2)
6 %    ) {
7 %
8 %   my $access_user = qsearchs( 'access_user', {
9 %     'username'  => getotaker,
10 %     '_password' => $cgi->param('_password'),
11 %   } );
12 %
13 %   $error = 'Current password incorrect; password not changed'
14 %     unless $access_user;
15 %
16 %   $error ||= "New passwords don't match"
17 %     unless $cgi->param('new_password') eq $cgi->param('new_password2');
18 %
19 %   $error ||= "No new password entered"
20 %    unless length($cgi->param('new_password'));
21
22 %   $access_user->_password($cgi->param('new_password')) unless $error;
23 %
24 % } else {
25 %
26 %   $access_user = $FS::CurrentUser::CurrentUser;
27 %
28 % }
29 %
30 % $error ||= $access_user->replace( { map { $_ => scalar($cgi->param($_)) }
31 %                                         qw( menu_position ) #XXX autogen
32 %                                   }
33 %                                 );
34 %
35 % if ( $error ) {
36 %   $cgi->param('error', $error);
37 %   print $cgi->redirect(popurl(1). "pref.html?". $cgi->query_string );
38 % } else {
39 <% include('/elements/header.html', 'Preferences updated') %>
40 <% include('/elements/footer.html') %>
41 % }