diff options
author | ivan <ivan> | 2006-11-13 01:09:17 +0000 |
---|---|---|
committer | ivan <ivan> | 2006-11-13 01:09:17 +0000 |
commit | 3758ad3cb13752bbbebb2c42fcc398bdb1ffdc6a (patch) | |
tree | 79abd2ad06733f7b515250d6df4d33767c814209 | |
parent | 33f61386d77a035fd59a15ccfea43d0fbff911d2 (diff) |
add preference page, start with just a password changer
-rw-r--r-- | FS/FS/CGI.pm | 2 | ||||
-rw-r--r-- | httemplate/elements/error.html | 4 | ||||
-rw-r--r-- | httemplate/elements/header.html | 2 | ||||
-rw-r--r-- | httemplate/pref/pref-process.html | 26 | ||||
-rw-r--r-- | httemplate/pref/pref.html | 28 |
5 files changed, 60 insertions, 2 deletions
diff --git a/FS/FS/CGI.pm b/FS/FS/CGI.pm index 1f3b59efb..8b401da36 100644 --- a/FS/FS/CGI.pm +++ b/FS/FS/CGI.pm @@ -239,7 +239,7 @@ sub rooturl { #even though this is kludgy $url_string =~ s{ - (browse|config|docs|edit|graph|misc|search|view) + (browse|config|docs|edit|graph|misc|search|view|pref) / (process/)? ([\w\-\.]+) diff --git a/httemplate/elements/error.html b/httemplate/elements/error.html new file mode 100644 index 000000000..e8ba93010 --- /dev/null +++ b/httemplate/elements/error.html @@ -0,0 +1,4 @@ +% if ( $cgi->param('error') ) { + <FONT SIZE="+1" COLOR="#ff0000">Error: <% $cgi->param('error') %></FONT> + <BR><BR> +% } diff --git a/httemplate/elements/header.html b/httemplate/elements/header.html index ce5401242..c543ac040 100644 --- a/httemplate/elements/header.html +++ b/httemplate/elements/header.html @@ -50,7 +50,7 @@ <td align=left rowspan=2 BGCOLOR="#ffffff"> <!-- valign="top" --> <font size=6><% $conf->config('company_name') || 'ExampleCo' %></font> </td> - <td align=right valign=top BGCOLOR="#ffffff"><FONT SIZE="-1">Logged in as <b><% getotaker %> </b><br></FONT><FONT SIZE="-2"><a href="<%$fsurl%>pref/XXXwritethis">Preferences</a> <BR></FONT> + <td align=right valign=top BGCOLOR="#ffffff"><FONT SIZE="-1">Logged in as <b><% getotaker %> </b><br></FONT><FONT SIZE="-2"><a href="<%$fsurl%>pref/pref.html">Preferences</a> <BR></FONT> </td> </tr> <tr> diff --git a/httemplate/pref/pref-process.html b/httemplate/pref/pref-process.html new file mode 100644 index 000000000..a342a51ec --- /dev/null +++ b/httemplate/pref/pref-process.html @@ -0,0 +1,26 @@ +% my $error = ''; +% +% my $access_user = qsearchs( 'access_user', { +% 'username' => getotaker, +% '_password' => $cgi->param('_password'), +% } ); +% +% $error = 'Current password incorrect; password not changed' +% unless $access_user; +% +% $error ||= "New passwords don't match" +% unless $cgi->param('new_password') eq $cgi->param('new_password2'); +% +% $error ||= "No new password entered" +% unless length($cgi->param('new_password')); +% +% $access_user->_password($cgi->param('new_password')) unless $error; +% $error ||= $access_user->replace; +% +% if ( $error ) { +% $cgi->param('error', $error); +% print $cgi->redirect(popurl(1). "pref.html?". $cgi->query_string ); +% } else { +<% include('/elements/header.html', 'Password changed') %> +<% include('/elements/footer.html') %> +% } diff --git a/httemplate/pref/pref.html b/httemplate/pref/pref.html new file mode 100644 index 000000000..259523941 --- /dev/null +++ b/httemplate/pref/pref.html @@ -0,0 +1,28 @@ +<% include('/elements/header.html', 'Preferences for '. getotaker ) %> + +<FORM METHOD="POST" ACTION="pref-process.html"> + +<% include('/elements/error.html') %> + +<% ntable("#cccccc",2) %> + +<TR> + <TD ALIGN="right">Current password: </TD> + <TD><INPUT TYPE="password" NAME="_password"></TD> +</TR> + +<TR> + <TD ALIGN="right">New password: </TD> + <TD><INPUT TYPE="password" NAME="new_password"></TD> +</TR> + +<TR> + <TD ALIGN="right">Re-enter new password: </TD> + <TD><INPUT TYPE="password" NAME="new_password2"></TD> +</TR> + +</TABLE> + +<INPUT TYPE="submit" VALUE="Change password"> + +<% include('/elements/footer.html') %> |