demarches-normaliennes/app/controllers/targeted_user_links_controller.rb
2024-08-22 09:26:48 +02:00

29 lines
752 B
Ruby

# frozen_string_literal: true
class TargetedUserLinksController < ApplicationController
def show
erase_user_location!
store_user_location! if !user_signed_in?
if targeted_user_link.invalid_signed_in_user?(current_user)
render
else
redirect_to targeted_user_link.redirect_url(Rails.application.routes.url_helpers)
end
rescue ActiveRecord::RecordNotFound
redirect_to root_path, flash: { error: t('errors.messages.targeted_user_link_expired') }
end
private
def store_user_location!
store_location_for(:user, request.fullpath)
end
def erase_user_location!
clear_stored_location_for(:user)
end
def targeted_user_link
@targeted_user_link ||= TargetedUserLink.find(params[:id])
end
end