diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index ba5c335..53615f7 100755 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -46,9 +46,9 @@ class AdminController < ApplicationController end def delete_user - user = User.find_by_user_id(params[:admin_id]) - if user && !(current_user.user_id == user.user_id) - # Call destroy here so that all association records w/ user_id are destroyed as well + user = User.find_by(id: params[:admin_id]) + if user && !(current_user.id == user.id) + # Call destroy here so that all association records w/ id are destroyed as well # Example user.retirement records would be destroyed user.destroy message = true diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index e0305f4..b99f51c 100755 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -17,8 +17,8 @@ class ApplicationController < ActionController::Base def current_user @current_user ||= ( - User.find_by_auth_token(cookies[:auth_token].to_s) || - User.find_by_user_id(session[:user_id].to_s) + User.find_by(auth_token: cookies[:auth_token].to_s) || + User.find_by(id: session[:user_id].to_s) ) end diff --git a/app/controllers/benefit_forms_controller.rb b/app/controllers/benefit_forms_controller.rb index 2f59d72..97721c9 100644 --- a/app/controllers/benefit_forms_controller.rb +++ b/app/controllers/benefit_forms_controller.rb @@ -11,7 +11,7 @@ class BenefitFormsController < ApplicationController file = params[:type].constantize.new(path) send_file file, disposition: "attachment" rescue - redirect_to user_benefit_forms_path(user_id: current_user.user_id) + redirect_to user_benefit_forms_path(user_id: current_user.id) end end @@ -23,7 +23,7 @@ class BenefitFormsController < ApplicationController else flash[:error] = "Something went wrong" end - redirect_to user_benefit_forms_path(user_id: current_user.user_id) + redirect_to user_benefit_forms_path(user_id: current_user.id) end end diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index b74d84b..db97e86 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -16,7 +16,7 @@ class MessagesController < ApplicationController if message.destroy flash[:success] = "Your message has been deleted." - redirect_to user_messages_path(user_id: current_user.user_id) + redirect_to user_messages_path(user_id: current_user.id) else flash[:error] = "Could not delete message." end @@ -25,7 +25,7 @@ class MessagesController < ApplicationController def create if Message.create(message_params) respond_to do |format| - format.html { redirect_to user_messages_path(user_id: current_user.user_id) } + format.html { redirect_to user_messages_path(user_id: current_user.id) } format.json { render json: {msg: "success"} } end else diff --git a/app/controllers/password_resets_controller.rb b/app/controllers/password_resets_controller.rb index 6e9402c..5dbcd59 100644 --- a/app/controllers/password_resets_controller.rb +++ b/app/controllers/password_resets_controller.rb @@ -50,10 +50,10 @@ class PasswordResetsController < ApplicationController end def is_valid?(token) - if token =~ /(?\d+)-(?[A-Z0-9]{32})/i + if token =~ /(?\d+)-(?[A-Z0-9]{32})/i # Fetch the user by their id, and hash their email address - @user = User.find_by_id($~[:user_id]) + @user = User.find_by(id: $~[:user]) email = Digest::MD5.hexdigest(@user.email) # Compare and validate our hashes diff --git a/app/controllers/pay_controller.rb b/app/controllers/pay_controller.rb index df1cd04..7db951e 100644 --- a/app/controllers/pay_controller.rb +++ b/app/controllers/pay_controller.rb @@ -7,11 +7,12 @@ class PayController < ApplicationController def update_dd_info msg = false pay = Pay.new( - bank_account_num: params[:bank_account_num], - bank_routing_num: params[:bank_routing_num], - percent_of_deposit: params[:dd_percent] + bank_account_num: params[:bank_account_num], + bank_routing_num: params[:bank_routing_num], + percent_of_deposit: params[:dd_percent], + user_id: current_user.id ) - pay.user_id = current_user.user_id + msg = true if pay.save! respond_to do |format| format.json {render json: {msg: msg } } diff --git a/app/controllers/schedule_controller.rb b/app/controllers/schedule_controller.rb index 8c14ac5..7e30139 100644 --- a/app/controllers/schedule_controller.rb +++ b/app/controllers/schedule_controller.rb @@ -7,7 +7,7 @@ class ScheduleController < ApplicationController if params[:schedule][:event_type] == "pto" sched = Schedule.new(schedule_params) sched.date_begin, sched.date_end = format_schedule_date(params[:date_range1]) - sched.user_id = current_user.user_id + sched.user_id = current_user.id a = sched.date_end if sched.save message = true diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 30ed486..203f116 100755 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -19,9 +19,9 @@ class SessionsController < ApplicationController if user if params[:remember_me] - cookies.permanent[:auth_token] = user.auth_token if User.where(user_id: user.user_id).exists? + cookies.permanent[:auth_token] = user.auth_token else - session[:user_id] = user.user_id if User.where(user_id: user.user_id).exists? + session[:user_id] = user.id end redirect_to path else diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 329904e..cc04a07 100755 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -10,7 +10,7 @@ class UsersController < ApplicationController def create user = User.new(user_params) if user.save - session[:user_id] = user.user_id + session[:user_id] = user.id redirect_to home_dashboard_index_path else @user = user @@ -26,22 +26,21 @@ class UsersController < ApplicationController def update message = false - user = User.where("user_id = '#{params[:user][:user_id]}'")[0] + user = User.where("id = '#{params[:user][:id]}'")[0] if user - user.skip_user_id_assign = true user.update_attributes(user_params_without_password) if params[:user][:password].present? && (params[:user][:password] == params[:user][:password_confirmation]) user.password = params[:user][:password] end message = true if user.save! respond_to do |format| - format.html { redirect_to user_account_settings_path(user_id: current_user.user_id) } + format.html { redirect_to user_account_settings_path(user_id: current_user.id) } format.json { render json: {msg: message ? "success" : "false "} } end else flash[:error] = "Could not update user!" - redirect_to user_account_settings_path(user_id: current_user.user_id) + redirect_to user_account_settings_path(user_id: current_user.id) end end diff --git a/app/controllers/work_info_controller.rb b/app/controllers/work_info_controller.rb index 31fa91c..1b6c8b9 100644 --- a/app/controllers/work_info_controller.rb +++ b/app/controllers/work_info_controller.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class WorkInfoController < ApplicationController def index - @user = User.find_by_user_id(params[:user_id]) + @user = User.find_by(id: params[:user_id]) if !(@user) || @user.admin flash[:error] = "Sorry, no user with that user id exists" redirect_to home_dashboard_index_path diff --git a/app/models/message.rb b/app/models/message.rb index 2796a51..c3663ee 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -4,7 +4,7 @@ class Message < ApplicationRecord validates_presence_of :creator_id, :receiver_id, :message def creator_name - if creator = User.where(user_id: self.creator_id).first + if creator = User.where(id: self.creator_id).first creator.full_name else "Name unavailable" diff --git a/app/models/user.rb b/app/models/user.rb index 3468edd..baa2342 100755 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -11,16 +11,16 @@ class User < ApplicationRecord 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 + + has_one :retirement, dependent: :destroy + has_one :paid_time_off, dependent: :destroy + has_one :work_info, dependent: :destroy + has_many :performance, dependent: :destroy + has_many :pay, dependent: :destroy + has_many :messages, foreign_key: :receiver_id, dependent: :destroy + before_save :hash_password - has_one :retirement, foreign_key: :user_id, primary_key: :user_id, dependent: :destroy - has_one :paid_time_off, foreign_key: :user_id, primary_key: :user_id, dependent: :destroy - has_one :work_info, foreign_key: :user_id, primary_key: :user_id, dependent: :destroy - has_many :performance, foreign_key: :user_id, primary_key: :user_id, dependent: :destroy - has_many :messages, foreign_key: :receiver_id, primary_key: :user_id, dependent: :destroy - has_many :pay, foreign_key: :user_id, primary_key: :user_id, dependent: :destroy - before_create { generate_token(:auth_token) } + after_create { generate_token(:auth_token) } before_create :build_benefits_data def build_benefits_data @@ -36,11 +36,6 @@ class User < ApplicationRecord "#{self.first_name} #{self.last_name}" end -# # Instead of the entire user object being returned, we can use this to filter. -# def as_json -# super(only: [:user_id, :email, :first_name, :last_name]) -# end - private def self.authenticate(email, password) @@ -55,26 +50,18 @@ class User < ApplicationRecord return auth end - def assign_user_id - unless @skip_user_id_assign.present? || self.user_id.present? - user = User.order("user_id").last - uid = if user && user.user_id && !(User.exists?(user_id: "#{user.user_id.to_i + 1}")) - user.user_id.to_i + 1 - else - 1 - end - self.user_id = uid.to_s if uid - end - end - def hash_password - if password.present? && password_changed? - self.password = Digest::MD5.hexdigest(password) + if will_save_change_to_password? + self.password = Digest::MD5.hexdigest(self.password) end end def generate_token(column) - self[column] = Encryption.encrypt_sensitive_value(self.user_id) - generate_token(column) if User.exists?(column => self[column]) + loop do + self[column] = Encryption.encrypt_sensitive_value(self.id) + break unless User.exists?(column => self[column]) + end + + self.save! end end diff --git a/app/views/admin/get_user.html.erb b/app/views/admin/get_user.html.erb index 8b2652e..bce0e23 100755 --- a/app/views/admin/get_user.html.erb +++ b/app/views/admin/get_user.html.erb @@ -62,7 +62,7 @@ $('#submit_button').click(function() { $("#editAcct").modal('hide'); $.ajax({ - url: "/admin/" + <%= @user.user_id %> + "/update_user.json", + url: "/admin/" + <%= @user.id %> + "/update_user.json", data: valuesToSubmit, type: "POST", success: function(response) { diff --git a/app/views/layouts/shared/_header.html.erb b/app/views/layouts/shared/_header.html.erb index 4046531..371f8aa 100755 --- a/app/views/layouts/shared/_header.html.erb +++ b/app/views/layouts/shared/_header.html.erb @@ -14,7 +14,7 @@