У меня есть страница login_in, когда неактивные пользователи входят в систему, мне нужно отобразить флэш-сообщение об ошибке со ссылкой, в которой указано «contact {email link} для повторной активации».При нажатии на ссылку электронной почты у меня должно быть модальное окно, после чего при отправке модального окна я могу отправить письмо в службу поддержки.Кто-нибудь может мне помочь, как это сделать?
def user_active?
if (!params["user"].blank?)
@user=User.find_by(:email => params["user"]["email"])
flag = false;
@LastSignInTimestamp = @user[:last_sign_in_at];
@CurrentTimestamp = Time.now.utc;
if(@LastSignInTimestamp != nil && @CurrentTimestamp != nil)
@DateDifferenceInDays = (@CurrentTimestamp.to_date - @LastSignInTimestamp.to_date).to_i
@profiles = Profile.where('name_key in (?) OR name_key LIKE ?', %w(Radial_ReadOnly), 'Portal-Account-Manager%')
@profiles.each do |p|
@user_profile_id = @user[:profile_id].to_s;
@profile_id = p[:id].to_s;
if(@profile_id.include?@user_profile_id)
flag = true;
break;
else
flag = false;
end
end
end
if (!@user.blank?)
if(@LastSignInTimestamp != nil && @CurrentTimestamp != nil && @DateDifferenceInDays > @@DEFAULT_TIME_GAP && flag)
flash[:error] = I18n.t('devise.failure.disabled').html_safe
send_activate_email(@user[:id], @user[:last_sign_in_at])
elsif (!@user.active)
flash[:error] = I18n.t('devise.failure.inactive')
elsif (!@user.email_verification_status)
flash[:error] = I18n.t('signup.verification.not_yet_verified')
else
return true
end
else
flash[:error] = I18n.t('login.errors.invalid')
end
redirect_to "/signin"
end
end
en.yml file
disabled: "Your account has been disabled due to inactivity. Please contact <a href>DL-PaymentsTeamHydra@radial.com</a> to activate again."