diff --git a/app/models/administrator.rb b/app/models/administrator.rb index 15715a328..8a34fa349 100644 --- a/app/models/administrator.rb +++ b/app/models/administrator.rb @@ -1,5 +1,5 @@ class Administrator < ActiveRecord::Base - belongs_to :user + belongs_to :user, touch: true delegate :name, :email, to: :user validates :user_id, presence: true, uniqueness: true diff --git a/app/models/moderator.rb b/app/models/moderator.rb index 30d4f4394..6a5af7a52 100644 --- a/app/models/moderator.rb +++ b/app/models/moderator.rb @@ -1,5 +1,5 @@ class Moderator < ActiveRecord::Base - belongs_to :user + belongs_to :user, touch: true delegate :name, :email, to: :user validates :user_id, presence: true, uniqueness: true diff --git a/app/models/organization.rb b/app/models/organization.rb index fa991fc05..2962724a6 100644 --- a/app/models/organization.rb +++ b/app/models/organization.rb @@ -1,5 +1,5 @@ class Organization < ActiveRecord::Base - belongs_to :user + belongs_to :user, touch: true validates :name, presence: true diff --git a/app/models/user.rb b/app/models/user.rb index 71db4ee2e..0ae4d3290 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -36,6 +36,17 @@ class User < ActiveRecord::Base scope :officials, -> { where("official_level > 0") } scope :for_render, -> { includes(:organization) } + after_update :touch_debates, :touch_comments + after_touch :touch_debates, :touch_comments + + def touch_debates + debates.map(&:touch) + end + + def touch_comments + comments.map(&:touch) + end + def self.find_for_oauth(auth, signed_in_resource = nil) # Get the identity and user if they exist identity = Identity.find_for_oauth(auth)