diff --git a/app/helpers/change_description_helper.rb b/app/helpers/versions_helper.rb similarity index 73% rename from app/helpers/change_description_helper.rb rename to app/helpers/versions_helper.rb index 99b51bc7..e919eb79 100644 --- a/app/helpers/change_description_helper.rb +++ b/app/helpers/versions_helper.rb @@ -1,7 +1,11 @@ -module ChangeDescriptionHelper +module VersionsHelper ## # Groups functions related to change description ## + def link_if_alive(version, link_text, link_url) + version.item ? link_to(link_text, link_url) : link_text + end + def subscription_change_description(version) user = current_or_last_object_state(version.item_type, version.item_id).user user_name = user.name unless user.id.to_s == version.whodunnit @@ -85,4 +89,24 @@ module ChangeDescriptionHelper when 'destroy' then 'unscheduled' end end + + def user_change_description(version) + if version.event == 'create' + link_to_user(version.item_id) + ' signed up' + elsif version.event == 'update' + if version.changeset.keys.include?('reset_password_sent_at') + 'Someone requested password reset of' + elsif version.changeset.keys.include?('confirmed_at') && version.changeset['confirmed_at'][0].nil? + (version.whodunnit.nil? ? link_to_user(version.item_id) : link_to_user(version.whodunnit)) + ' confirmed account of' + elsif version.changeset.keys.include?('confirmed_at') && version.changeset['confirmed_at'][1].nil? + link_to_user(version.whodunnit) + ' unconfirmed account of' + else + link_to_user(version.whodunnit) + " updated #{updated_attributes(version)} of" + end + end + end + + def users_role_change_description(version) + version.event == 'create' ? 'added' : 'removed' + end end