This commit was generated by cvs2svn to compensate for changes in r6255,
[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 %   $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 % my %param = $access_user->options;
31 %
32 % #XXX autogen
33 % my @paramlist = qw( menu_position
34 %                     email_address
35 %                     vonage-fromnumber vonage-username vonage-password
36 %                     height width availHeight availWidth colorDepth
37 %                   );
38 %
39 % foreach (@paramlist) {
40 %   scalar($cgi->param($_)) =~ /^[,.\-\@\w]*$/ && next;
41 %   $error ||= "Illegal value for parameter $_";
42 %   last;
43 % }
44 %
45 % foreach (@paramlist) {
46 %   $param{$_} = scalar($cgi->param($_));
47 % }
48 %
49 % $error ||= $access_user->replace( \%param );
50 %
51 % if ( $error ) {
52 %   $cgi->param('error', $error);
53 %   print $cgi->redirect(popurl(1). "pref.html?". $cgi->query_string );
54 % } else {
55 <% include('/elements/header.html', 'Preferences updated') %>
56 <% include('/elements/footer.html') %>
57 % }