Fix NoMethodError in revision history

Roles get deleted with organization so to show them in revision history previous version of role model is required.That is done here.
closes https://github.com/openSUSE/osem/issues/1937
This commit is contained in:
rahul2240 2018-01-07 21:19:21 +05:30 committed by Henne Vogelsang
parent 137d997793
commit 1b226f1ac8

View file

@ -9,13 +9,14 @@
- when 'UsersRole' - when 'UsersRole'
- users_role = current_or_last_object_state(version.item_type, version.item_id) - users_role = current_or_last_object_state(version.item_type, version.item_id)
- role = Role.find_by(id: users_role.role_id) if users_role - role = current_or_last_object_state('Role', users_role.role_id)
- role_name = role.try(:name) || PaperTrail::Version.where(item_type: 'Role', item_id: users_role.role_id).last.changeset[:name].second
role role
- if role.name == 'organization_admin' - if role_name == 'organization_admin'
- if Organization.find_by(id: version.conference_id) - if Organization.find_by(id: version.conference_id)
-# organization_admin belongs to organization and not conferences -# organization_admin belongs to organization and not conferences
- organization = Organization.find_by(id: version.conference_id) - organization = Organization.find_by(id: version.conference_id)
= link_if_alive version, role.name, = link_if_alive version, role_name,
admins_admin_organization_path(organization), organization admins_admin_organization_path(organization), organization
- else - else
(Deleted Organization) (Deleted Organization)
@ -226,7 +227,7 @@
= link_to_user(version.item_id) = link_to_user(version.item_id)
- unless %w(Conference Subscription Registration User Organization).include?(version.item_type) - unless %w(Conference Subscription Registration User Organization).include?(version.item_type)
- if (version.item_type == 'Role' && role_name == 'organization_admin') || (version.item_type == 'UsersRole' && role.name == 'organization_admin') - if (version.item_type == 'Role' && role_name == 'organization_admin') || (version.item_type == 'UsersRole' && role_name == 'organization_admin')
in organization in organization
- if Organization.find_by(id: version.conference_id) - if Organization.find_by(id: version.conference_id)
-# organization_admin belongs to organization and not conferences -# organization_admin belongs to organization and not conferences