diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 0c27834..70a5f10 100755 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -34,7 +34,9 @@ class AdminController < ApplicationController def delete_user user = User.find_by_user_id(params[:admin_id]) if user && !(current_user.user_id == user.user_id) - user.delete + # Call destroy here so that all association records w/ user_id are destroyed as well + # Example user.retirement records would be destroyed + user.destroy message = true end respond_to do |format| diff --git a/app/models/paid_time_off.rb b/app/models/paid_time_off.rb index f248361..3628d22 100644 --- a/app/models/paid_time_off.rb +++ b/app/models/paid_time_off.rb @@ -1,7 +1,7 @@ class PaidTimeOff < ActiveRecord::Base attr_accessible :pto_earned, :pto_taken, :sick_days_earned, :sick_days_taken belongs_to :user - has_many :schedule, :foreign_key => :user_id, :primary_key => :user_id + has_many :schedule, :foreign_key => :user_id, :primary_key => :user_id, :dependent => :destroy def sick_days_remaining self.sick_days_earned - self.sick_days_taken diff --git a/app/models/user.rb b/app/models/user.rb index 9f8f60a..39787e1 100755 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -10,10 +10,10 @@ class User < ActiveRecord::Base validates_format_of :email, :with => /.+@.+\..+/i attr_accessor :skip_user_id_assign before_save :assign_user_id, :on => :create - has_one :retirement, :foreign_key => :user_id, :primary_key => :user_id - has_one :paid_time_off, :foreign_key => :user_id, :primary_key => :user_id - has_one :work_info, :foreign_key => :user_id, :primary_key => :user_id - has_many :performance, :foreign_key => :user_id, :primary_key => :user_id + 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 def full_name