From 0d841124f59eda9bf52f990c2f872e1575392a9e Mon Sep 17 00:00:00 2001 From: Ken Johnson Date: Fri, 24 May 2013 15:25:06 -0400 Subject: [PATCH] assigned a user id, does not "appear" to have screwed anything up --- app/controllers/admin_controller.rb | 2 +- app/controllers/application_controller.rb | 2 +- app/controllers/sessions_controller.rb | 2 +- app/controllers/users_controller.rb | 5 +++-- app/models/user.rb | 11 +++++++++++ app/views/admin/dashboard.html.erb | 2 +- app/views/layouts/admin/_get_user.html.erb | 4 ++-- app/views/layouts/shared/_header.html.erb | 2 +- app/views/layouts/shared/_sidebar.html.erb | 2 +- .../broken_auth_sess/_user_pass_enum.html.erb | 4 ++-- db/migrate/20130424220355_create_users.rb | 1 + db/schema.rb | 1 + db/seeds.rb | 10 +++++----- 13 files changed, 31 insertions(+), 17 deletions(-) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 003d797..48b9591 100755 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -31,7 +31,7 @@ class AdminController < ApplicationController def delete_user user = User.find_by_id(params[:admin_id]) - if user && !(current_user.id == user.id) + if user && !(current_user.user_id == user.user_id) user.delete message = true end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index f831f46..5fe5675 100755 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -9,7 +9,7 @@ class ApplicationController < ActionController::Base private def current_user - @current_user ||= User.find_by_id(session[:id].to_s) + @current_user ||= User.find_by_user_id(session[:user_id].to_s) end def authenticated diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 0f734b7..f3bf567 100755 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -15,7 +15,7 @@ class SessionsController < ApplicationController end if user - session[:id] = user.id if User.where(:id => user.id).exists? + session[:user_id] = user.user_id if User.where(:user_id => user.user_id).exists? redirect_to home_dashboard_index_path else # Removed this code, just doesn't seem specific enough! diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 228d0b1..e4e79cb 100755 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -9,7 +9,7 @@ class UsersController < ApplicationController def create user = User.new(params[:user]) if user.save - session[:id] = user.id + session[:user_id] = user.user_id redirect_to home_dashboard_index_path else @user = user @@ -22,11 +22,12 @@ class UsersController < ApplicationController end def update + current_user.skip_user_id_assign = true current_user.update_attributes(params[:user].reject { |k| k == ("password" || "password_confirmation") }) pass = params[:user][:password] current_user.password = pass if !(pass.blank?) current_user.save! - redirect_to user_account_settings_path(:user_id => current_user.id) + redirect_to user_account_settings_path(:user_id => current_user.user_id) end end diff --git a/app/models/user.rb b/app/models/user.rb index a813974..8743bad 100755 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -8,6 +8,9 @@ class User < ActiveRecord::Base validates_presence_of :email validates_uniqueness_of :email validates_format_of :email, :with => /.+@.+\..+/i + attr_accessor :skip_user_id_assign + before_save :assign_user_id, :on => :create + def self.authenticate(email, password) @@ -25,5 +28,13 @@ class User < ActiveRecord::Base end return auth end + + def assign_user_id + unless @skip_user_id_assign.present? + user = User.order("user_id").last + uid = user.user_id.to_i + 1 if user && user.user_id && !(User.exists?(:user_id => "#{user.user_id.to_i + 1}")) + self.user_id = uid.to_s if uid + end + end end diff --git a/app/views/admin/dashboard.html.erb b/app/views/admin/dashboard.html.erb index 681b95b..3e1466c 100755 --- a/app/views/admin/dashboard.html.erb +++ b/app/views/admin/dashboard.html.erb @@ -59,7 +59,7 @@ function makeActive(){ }; function loadTable(){ - $("#userDataTable").load("/admin/"+ <%=current_user.id %> + "/get_all_users") + $("#userDataTable").load("/admin/"+ <%=current_user.user_id %> + "/get_all_users") }; $(document).ready( diff --git a/app/views/layouts/admin/_get_user.html.erb b/app/views/layouts/admin/_get_user.html.erb index 52b3790..eda97d7 100755 --- a/app/views/layouts/admin/_get_user.html.erb +++ b/app/views/layouts/admin/_get_user.html.erb @@ -65,7 +65,7 @@ $('#submit_button').click(function() { $("#editAcct").modal('hide'); $.ajax({ - url: "/admin/" + <%= @user.id %> + "/update_user.json", + url: "/admin/" + <%= @user.user_id %> + "/update_user.json", data: valuesToSubmit, type: "POST", success: function(response) { @@ -83,7 +83,7 @@ $('#delete_button').click(function() { $("#editAcct").modal('hide'); $.ajax({ - url: "/admin/" + <%= @user.id %> + "/delete_user.json", + url: "/admin/" + <%= @user.user_id %> + "/delete_user.json", type: "POST", success: function(response) { $('#success').show(500).delay(1500).fadeOut(); diff --git a/app/views/layouts/shared/_header.html.erb b/app/views/layouts/shared/_header.html.erb index fbd2e96..7c4d310 100755 --- a/app/views/layouts/shared/_header.html.erb +++ b/app/views/layouts/shared/_header.html.erb @@ -11,7 +11,7 @@