Merge pull request #14 from zach-chai/username_step

username validations
This commit is contained in:
Zachary Chai 2016-10-19 16:33:17 -04:00 committed by GitHub
commit 201a3ca0f5
8 changed files with 26 additions and 10 deletions

View File

@ -1,4 +1,10 @@
.user {
.error {
p {
font-size: 14px;
color: red;
}
}
.description {
p {
font-size: 14px;

View File

@ -22,15 +22,13 @@ class LandingController < ApplicationController
render_meeting
end
def room
render_room
end
def admin?
@user == current_user
end
helper_method :admin?
private
def render_meeting
@resource = params[:resource]
@meeting_token = params[:id] || @meeting_token = helpers.new_meeting_token
@ -47,5 +45,5 @@ class LandingController < ApplicationController
end
render :action => 'room'
end
end

View File

@ -3,7 +3,7 @@ class SessionsController < ApplicationController
@user = User.from_omniauth(request.env['omniauth.auth'])
if @user.persisted?
session[:user_id] = @user.id
redirect_to controller: 'landing', action: 'room', id: @user.username
redirect_to controller: 'landing', action: 'index', id: @user.username, resource: 'rooms'
else
@user.save!
session[:user_id] = @user.id

View File

@ -9,8 +9,9 @@ class UsersController < ApplicationController
# PATCH/PUT /users/1.json
def update
if @user.update(user_params)
redirect_to controller: 'landing', action: 'room', name: @user.username
redirect_to controller: 'landing', action: 'index', id: @user.username, resource: 'rooms'
else
@error = @user.errors.first[1] rescue nil
render :edit
end
end

View File

@ -1,6 +1,10 @@
class User < ApplicationRecord
validates :username, uniqueness: true
validates :username,
uniqueness: { message: "this username is taken" },
format: { with: /\A^[0-9a-z-_]+\Z/,
message: "Only allows lowercase alphanumeric characters with dashes and underscores",
allow_blank: true }
def self.from_omniauth(auth_hash)
user = find_or_initialize_by(uid: auth_hash['uid'], provider: auth_hash['provider'])

View File

@ -7,7 +7,11 @@
<% if !current_user.nil? %>
<span class="user">Hello <%= current_user.name %></span>
<%= link_to "Logout", user_logout_url() %>
<div><%= link_to 'Personal Room', current_user.room_url %></div>
<% if current_user.username %>
<div><%= link_to 'Personal Room', current_user.room_url %></div>
<% else %>
<div><%= link_to 'Set Username', edit_user_path(current_user) %></div>
<% end %>
<% end %>
</div>
</div>

View File

@ -8,6 +8,9 @@
</div>
<%= f.submit class: "btn btn-success", value: "Save" %>
<% end %>
<div class="error">
<p><%= error %></p>
</div>
<div class="description">
<p>This username will be used to identify your personal room</p>
</div>

View File

@ -1,3 +1,3 @@
<div class="page-wrapper user edit">
<%= render 'form', user: @user %>
<%= render 'form', user: @user, error: @error %>
</div>