per-user preference for turning on profiling display when DBIx::Profile is loaded...
[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 %                     show_pkgnum show_db_profile
37 %                     height width availHeight availWidth colorDepth
38 %                   );
39 %
40 % foreach (@paramlist) {
41 %   scalar($cgi->param($_)) =~ /^[,.\-\@\w]*$/ && next;
42 %   $error ||= "Illegal value for parameter $_";
43 %   last;
44 % }
45 %
46 % foreach (@paramlist) {
47 %   $param{$_} = scalar($cgi->param($_));
48 % }
49 %
50 % $error ||= $access_user->replace( \%param );
51 %
52 % if ( $error ) {
53 %   $cgi->param('error', $error);
54 %   print $cgi->redirect(popurl(1). "pref.html?". $cgi->query_string );
55 % } else {
56 <% include('/elements/header.html', 'Preferences updated') %>
57 <% include('/elements/footer.html') %>
58 % }