[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