bootcamp icon indicating copy to clipboard operation
bootcamp copied to clipboard

ユーザーが休会した時にメンターと管理者にサイト内通知とメール通知が行くようにした

Open keiz1213 opened this issue 2 years ago • 0 comments

issue

  • #5377

前提

  • 完全な休会機能はまだmainブランチにmergeされていません。なので当ブランチは#5369 から作成したものであり、PRはそこへのPRとなります。
  • Discordへの通知は既に実装済みとのことなので、今回追加した通知はサイト内通知メール通知になります。

概要

ユーザーが休会した時に、管理者、メンターにサイト内通知メール通知が行われるようにしました。

変更確認方法

注意

開発環境ではDiscordNotifierを使ったdiscord通知でエラーになって休会処理ができないので、app/models/notification_facade.rbの201行目をコメントアウトしてから変更の確認を行ってください。

# app/models/notification_facade.rb
・
・
  def self.hibernated(sender, receiver)
    ActivityNotifier.with(sender: sender, receiver: receiver).hibernated.notify_now
    # DiscordNotifier.with(sender: sender, receiver: receiver).hibernated.notify_now
    return unless receiver.mail_notification?

    NotificationMailer.with(
      sender: sender,
      receiver: receiver
    ).hibernated.deliver_later(wait: 5)
  end
・
・
  1. feature/notification-of-hibernationをローカルに取り込む。
  2. komagatamentormentaroadminonlyunadmentor、でログインする
  3. ヘッダーの通知をクリックし、休会通知が来ていないことを確認する。(mentormentaroの場合、hatsunoが休会しました。という通知があるかもしれませんが無視してください)
  4. kimuraでログインし、ヘッダーのユーザーメニューから休会手続きを行う。
  5. 2のユーザーで再度ログインし、ヘッダーの通知をクリックし、休会通知が来ていることを確認する。
  6. http://localhost:3000/letter_opener にアクセスし2のユーザー(+ machida)にメールが送信されていることを確認する。

keiz1213 avatar Aug 29 '22 13:08 keiz1213