Fix user link, when deleted

This commit is contained in:
Stella Rouzi 2017-07-01 00:19:19 +03:00
parent de6d5da7b3
commit a61327f728

View file

@ -26,7 +26,7 @@ module VersionsHelper
if user if user
link_to user.name, admin_user_path(id: user_id) link_to user.name, admin_user_path(id: user_id)
else else
name = current_or_last_object_state('User', user_id).try(:name) name = current_or_last_object_state('User', user_id).try(:name) || PaperTrail::Version.where(item_type: 'User', item_id: user_id).last.changeset['name'].second if PaperTrail::Version.where(item_type: 'User', item_id: user_id).any?
"#{name ? name : 'Unknown user'} with ID #{user_id}" "#{name ? name : 'Unknown user'} with ID #{user_id}"
end end
end end
@ -51,20 +51,21 @@ module VersionsHelper
end end
def subscription_change_description(version) def subscription_change_description(version)
user = current_or_last_object_state(version.item_type, version.item_id).user user_id = current_or_last_object_state(version.item_type, version.item_id).user_id
user_name = user.name unless user.id.to_s == version.whodunnit user_name = User.find_by(id: user_id).try(:name) || current_or_last_object_state('User', user_id).try(:name) || PaperTrail::Version.where(item_type: 'User', item_id: user_id).last.changeset[:name].second unless user_id.to_s == version.whodunnit
version.event == 'create' ? "subscribed #{user_name} to" : "unsubscribed #{user_name} from" version.event == 'create' ? "subscribed #{user_name} to" : "unsubscribed #{user_name} from"
end end
def registration_change_description(version) def registration_change_description(version)
if version.item_type == 'Registration' if version.item_type == 'Registration'
user = current_or_last_object_state(version.item_type, version.item_id).user user_id = current_or_last_object_state(version.item_type, version.item_id).user_id
elsif version.item_type == 'EventsRegistration' elsif version.item_type == 'EventsRegistration'
registration_id = current_or_last_object_state(version.item_type, version.item_id).registration_id registration_id = current_or_last_object_state(version.item_type, version.item_id).registration_id
user = current_or_last_object_state('Registration', registration_id).user user_id = current_or_last_object_state('Registration', registration_id).user_id
end end
user_name = User.find_by(id: user_id).try(:name) || current_or_last_object_state('User', user_id).try(:name) || PaperTrail::Version.where(item_type: 'User', item_id: user_id).last.changeset[:name].second
if user.id.to_s == version.whodunnit if user_id.to_s == version.whodunnit
case version.event case version.event
when 'create' then 'registered to' when 'create' then 'registered to'
when 'update' then "updated #{updated_attributes(version)} of the registration for" when 'update' then "updated #{updated_attributes(version)} of the registration for"
@ -72,9 +73,9 @@ module VersionsHelper
end end
else else
case version.event case version.event
when 'create' then "registered #{user.name} to" when 'create' then "registered #{user_name} to"
when 'update' then "updated #{updated_attributes(version)} of #{user.name}'s registration for" when 'update' then "updated #{updated_attributes(version)} of #{user_name}'s registration for"
when 'destroy' then "unregistered #{user.name} from" when 'destroy' then "unregistered #{user_name} from"
end end
end end
end end