[Xfce4-commits] <moka:nick/maintainer-improvements> Enforce lowercase usernames only.
Nick Schermer
noreply at xfce.org
Mon Oct 10 20:34:01 CEST 2011
Updating branch refs/heads/nick/maintainer-improvements
to dd04d959304fe4c883dc29ebebd88cd5df2c79a0 (commit)
from 9da349a54a2a281c2a6dd74e87d006f82a310756 (commit)
commit dd04d959304fe4c883dc29ebebd88cd5df2c79a0
Author: Nick Schermer <nick at xfce.org>
Date: Mon Oct 10 19:45:05 2011 +0200
Enforce lowercase usernames only.
Also check the email address.
lib/controllers/authentication.rb | 12 +++++++++---
lib/views/login_request.haml | 8 ++++----
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/lib/controllers/authentication.rb b/lib/controllers/authentication.rb
index 884b2b6..4d4ec95 100755
--- a/lib/controllers/authentication.rb
+++ b/lib/controllers/authentication.rb
@@ -215,14 +215,20 @@ module Moka
app.post '/login/request' do
if params[:username].empty? or params[:realname].empty? or params[:email].empty?
- error_set(:username, 'All fields below are required')
+ error_set(:message, 'All fields below are required')
view :login_request
- elsif not Moka::Models::Maintainer.get(params[:username]).nil?
- error_set(:username, 'This username is already taken')
+ elsif (params[:username] =~ /^[a-z]*$/).nil?
+ error_set(:message, 'The username can only contain lowercaser letters')
+ view :login_request
+ elsif (params[:email] =~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i).nil?
+ error_set(:message, 'Please use a valid email address')
view :login_request
elsif not validate_password(params[:password], params[:password2])
# error is set in function
view :login_request
+ elsif not Moka::Models::Maintainer.get(params[:username]).nil?
+ error_set(:message, 'This username is already taken')
+ view :login_request
else
@maintainer = Moka::Models::Maintainer.create(:username => params[:username])
@maintainer.email = params[:email]
diff --git a/lib/views/login_request.haml b/lib/views/login_request.haml
index 7080672..2f5a9b9 100644
--- a/lib/views/login_request.haml
+++ b/lib/views/login_request.haml
@@ -11,16 +11,16 @@
%h2 Account Information
%form{:method => "post"}
- - if env[:error][:username]
- %p.error.quote #{env[:error][:username]}
+ - if env[:error][:message]
+ %p.error.quote #{env[:error][:message]}
%p
- %label{:for => "username"} Login Name:
+ %label{:for => "username"} Username:
%input{:type => "text", :name => "username", :value => params[:username]}
%p
%label{:for => "realname"} Real Name:
%input{:type => "text", :name => "realname", :value => params[:realname]}
%p
- %label{:for => "email"} Email address:
+ %label{:for => "email"} Email Address:
%input{:type => "text", :name => "email", :value => params[:email]}
%hr
- if env[:error][:newpassword]
More information about the Xfce4-commits
mailing list