From 35e30a3d89344aa2b4d39126e24cb992281bb774 Mon Sep 17 00:00:00 2001 From: Gabriel Cebrian Date: Wed, 13 Feb 2013 18:28:47 -0800 Subject: [PATCH] Added dummy deleted user to be used when a message associated with a user that has been deleted is shown --- app/controllers/channels_controller.rb | 2 +- app/models/activity.rb | 4 ++++ app/models/user.rb | 7 +++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/controllers/channels_controller.rb b/app/controllers/channels_controller.rb index 7310e2e7..a4743f0d 100644 --- a/app/controllers/channels_controller.rb +++ b/app/controllers/channels_controller.rb @@ -12,7 +12,7 @@ def index more_activities = (channel.activities.count > Kandan::Config.options[:per_page]) channel.activities.order('id DESC').includes(:user).page.each do |activity| activities.push activity.attributes.merge({ - :user => activity.user.as_json(:only => [:id, :ido_id, :email, :first_name, :last_name, :gravatar_hash, :active, :locale]) + :user => activity.user_or_deleted_user.as_json(:only => [:id, :ido_id, :email, :first_name, :last_name, :gravatar_hash, :active, :locale, :username]) }) end diff --git a/app/models/activity.rb b/app/models/activity.rb index 0f29a94b..a96fdb9e 100644 --- a/app/models/activity.rb +++ b/app/models/activity.rb @@ -3,4 +3,8 @@ class Activity < ActiveRecord::Base belongs_to :channel paginates_per Kandan::Config.options[:per_page] + + def user_or_deleted_user + self.user || User.deleted_user + end end diff --git a/app/models/user.rb b/app/models/user.rb index a40df435..0fab6559 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -26,4 +26,11 @@ def active_for_authentication? super && active? end + def self.deleted_user + dummy_user = new(:username => "Deleted User", :gravatar_hash => "", :email => "") + dummy_user.active = false + + return dummy_user + end + end