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