bootcamp icon indicating copy to clipboard operation
bootcamp copied to clipboard

研修利用企業用のアドバイザー退会申請フォームが欲しい

Open machida opened this issue 10 months ago • 11 comments

研修で利用している企業には、社内メンターとして研修生だけでなく、アドバイザーも入会しています。 アドバイザーは学習をするわけではないので、基本的に卒業はありません。 しかし、アドバイザーが転職したりなどで、その企業を離れた場合は、そのアカウントを退会にする必要があります。

企業の人が、管理者に退職したアカウントを退会させるよう依頼するための、申請フォームの作成をお願いします。


以下のフォームの作成をお願いします。

貼り付けた画像_2024_04_04_23_19

以下の3つの項目は、ログイン時には current_user から取得ができるので(それをhiddenに入れるなどすればOK)、ログインしていない場合は入力させるようにしたいと思います。このフォームについてはログインをしていなくてもアクセスできるようにしたいです(企業側の管理をする人はあまりログインはしないため)。

貼り付けた画像_2024_04_04_23_21

いずれはフィヨルドブートキャンプアプリ内でも届いた申請を見れるようにしたいですが、今回はメールで受け取るだけにしたいと思います。[email protected] にメールが飛ぶようにしてください。

machida avatar Apr 04 '24 14:04 machida

文言の調整やデザインはmachidaがやりますー

machida avatar Apr 04 '24 15:04 machida

@machida ありがとうございます~。 2点質問させてください!

現在の退会申請の経路は?

現在は、お問い合わせフォームやメールなんかで退会申請を承っている形が多いでしょうか? 今の所、未ログイン時のトップページからお問い合わせで申請してくるケースが多いのかなぁなんて想像しています。 image

現在の申請経路を参考に、フォーム画面へのリンクボタンを置こうと思い質問させて頂きました。

退会申請ができるユーザーについて

申請できるユーザーも、アドバイザーとしてユーザー登録がされていることが前提でよろしいでしょうか? 申請者がアドバイザーかつ、対象者と同じ企業に属していないと申請を受け付けられないようにしたいと思っています。

masyuko0222 avatar Apr 05 '24 04:04 masyuko0222

@masyuko0222 質問ありがとうございます! まず、導線はアドバイザーのダッシュボードに同じ企業のメンバー一覧を表示するようにして、その近くに退会申請フォームを設置しようと考えています。 また、企業の管理者から問い合わせがあった際は直接URLをメールで送ります。その場合はログインせずに申請が行われることが多いと思います。

退会申請フォームを表示するのはアドバイザーで、退会の対象となるのは同じ企業のアドバイザー、もしくは研修生になります。

ログインしている場合は退会したい人のアカウントが補完がされたり、選択ができるようになってるといいですね。ログインしていない場合は自由入力で大丈夫です。

machida avatar Apr 05 '24 05:04 machida

@machida @komagata パス名の確認と、画像イメージの認識齟齬ないかご確認いただきたいです。(パス名がちょっと心配)

  • パス

    • /request-retirement/new
  • 画像イメージ

2_所属企業ユーザー

masyuko0222 avatar Apr 05 '24 13:04 masyuko0222

@masyuko0222 ありがとうございます!パスはそれでいいと思いますー

メンバー一覧は、それ専用のページは作らず、ダッシュボードの中に一つブロックを作って簡単にアイコンと名前とロールくらいが出てるリストを表示したいと思います。いただいた画像のようなリストをみたい場合は、自分の企業のメンバー一覧ページへリンクさせ、そっちで見てもらおうと思います。

ダッシュボード内のメンバー一覧は表示だけ作ってもらえれば、あとは僕の方でデザインしますー。イメージ的には、最新の日報リストとかと同じデザインで、タイトルがアカウント名になるような感じです。

machida avatar Apr 05 '24 13:04 machida

@machida 退会依頼フォームに飛んだ時、ログイン中なら current_userのデータを自動入力させたいと思っています。 町田さんは、以下のように実装方法を考えてくれています。

以下の3つの項目は、ログイン時には current_user から取得ができるので(それをhiddenに入れるなどすればOK)、ログインしていない場合は入力させるようにしたいと思います。

一方で、

f.text_field :requester_name, value: (user_signed_in? ? current_user.login_name : '')

単純に依頼フォーム内で条件分岐するだけでもいいのかなぁと思ったのですが、hiddenを使った実装を考えた方が可読性が高いとかそういったものがあるでしょうか?🤔 hiddenを使った実装が思いつかず質問させていただきましたー!

masyuko0222 avatar Apr 07 '24 05:04 masyuko0222

@masyuko0222 そういうのはないですー。実装はお任せしますー。

machida avatar Apr 07 '24 10:04 machida

@machida 退会処理完了後のメール送信について、メール送信先は、

  • 申請者
  • admin
  • メンター

でよろしいでしょうか? 退職者を想定しているので、退会させられた本人にはメールなしで良いかなと思いました。

また、退会通知については、

  • 同じ企業のアドバイザー
  • admin
  • メンター

宛にしようと思っているのですがいかがでしょうか。 「同じ企業のアドバイザー」を新たに加える感じです。

ご意見頂ければですー。

masyuko0222 avatar Apr 09 '24 13:04 masyuko0222

@masyuko0222 あれ?退会の処理も実装予定ですか?今回は申請メールをadminが受け取るところまでを想定していました。

もし、退会まで実装していただけるなら、改めて仕様を考えたいと思います。

退会処理が完了したことをメールで申請者だけに通知したいです。で、そのメールのccに[email protected]を追加しておいていただきたいです。ccで管理者にもそのメールが受け取れます。 申請には退会とデータ削除の二つのパターンがあるので、それぞれの文章を考えたいと思います。

退会したことを通知するのは一般受講生の自主退会時の通知と同じでメンター、管理者だけでお願いしますす。

machida avatar Apr 09 '24 14:04 machida

@machida ご返信ありがとうございます! すみませんー僕が勘違いしてました😅 せっかくなんで退会の実装までやらせてもらってもよいでしょうか?

基本は退会処理自体は既存のものを踏襲しつつ、データ削除の仕様は改めて詰めていこうかな、と思っていました。

masyuko0222 avatar Apr 09 '24 14:04 masyuko0222

@masyuko0222 そこまでやってくれるの助かります!データ削除に関しては手動で行うでも大丈夫ですので、相談してください。 ポイントに関しては次回のMTGで話し合いたいと思います。

machida avatar Apr 09 '24 14:04 machida

@machida 度々すみません、フォーム申請の項目のバリデーションについてお尋ねしたいです。

未ログインユーザーの場合は諸々を自由に入力できるかと思うのですが、

  • 申請者のアカウント名
  • 申請者のメアド
  • 申請者の会社
  • 退会させたい方のアカウント名

が誤っていた時、つまりDBに存在しない情報を入力してしまったときの対応を以下の2つで考えているのですがご意見お伺いしてもよろしいでしょうか。

  • 誤った入力をしても申請だけを受け取るパターン
  • 誤った入力をした場合は、「アカウント(メアド、会社名)が存在しません」のエラーメッセージを出して、再入力を促す

個人的には後者で考えてるのですが、会社名まで検証するのは厳しすぎるとも思う(半角スペースありなしとかで弾かれるのは厳しい)ので、アカウント名・メアドだけの検証をしようと思っています。

→Discordの会話で「メアドだけ検証する」ようになりました。メアドは会社のものを使っていて、あまり変わらないためです。

masyuko0222 avatar Apr 11 '24 04:04 masyuko0222

@masyuko0222 返信が遅れてすいません🙇‍♂️

改めてこちらに書きますー。

バリデーション

  • 申請者のアカウント名
    • バリデーション有り
    • ログインをすると入力が省けます、という注意を追加したい。
  • 申請者のメアド
    • バリデーション有り
    • ログインをすると入力が省けます、という注意を追加したい。
  • 申請者の会社
    • バリデーション無し
      • 株式会社あり・なし、英語・日本語表記などの揺れがあるので。
      • また、FBCのデータにも「株式会社XYZ(エックスワイジー)」のように読み方をカッコで入れたりしてる場合もあるため。
    • ログインをすると入力が省けます、という注意を追加したい。
  • 退会させたい方のアカウント名
    • バリデーション有り
    • ログインをすると自社のユーザーから選択できるようになる、という注意を追加したい。

machida avatar Apr 16 '24 03:04 machida

@machida お疲れ様です!少し期間が空いていしまったのですがバリデーションについて追加したいものがあるのでご連絡しました。

この会話では、

  • 申請者のアカウント名
  • 申請者のメアド
  • 申請者の会社
  • 退会させたい方のアカウント名

の空欄・存在チェックをすることになっていますが、これに加えて以下の検証もしたいと思っています。

  • 申請者のアカウント名・メールアドレスのユーザー情報が一致すること

    • エラーメッセージ: 「アカウント名とメールアドレスのユーザー情報が一致しません。」
  • target_user(退会をさせるアカウント)が、退会申請のレコード上では一意であること

    • エラーメッセージ:「既に退会申請済みのユーザーです。」
    • 万が一重複した退会申請が来た場合、管理が面倒になるかなあと思い、一意性を持たせようかと思いました。

追加の要否と、エラーメッセージの文言で気になるところがあったら教えて頂きたいです!

masyuko0222 avatar May 17 '24 10:05 masyuko0222

@masyuko0222 確認が遅れてすいません🙇‍♂️提案ありがとうございます!!その検証もぜひ加えていただきたいです🙏

machida avatar May 20 '24 08:05 machida

仕様変更が生じたので、改めてまとめておきます。

申請

  • 退会申請はログイン必須とする。
  • 入力フォームは以下。全て入力必須。
    • 申請者のアカウント名
    • 申請者のメアド
    • 申請者の会社名
    • 申請対象のアカウント名
    • 退会申請理由
    • 退会後のデータの扱い
  • フォームのうち、以下は自動入力とする
    • 申請者のアカウント名
    • 申請者のメアド
    • 申請者の会社名
  • その他は以下
    • 申請対象のアカウント名は同じ会社のメンバーから選択するようにする(自身は除く)
    • 退会申請理由はテキストで手動入力とする
    • 退会後のデータの扱いは「残す」「削除する」のどちらかでラジオボタンで選択する

申請後

  • 申請内容をshowページで表示する
    • 申請者以外のユーザーがアクセスを試みた場合、403 Forbidden
    • 「他ユーザーの退会申請内容は閲覧できません」
  • 申請を受け付けた旨と、申請者のメアド・loccaのメアドに送信する
  • 申請後はFBCの管理者が手動で処理を行う

@machida

申請内容をshowページで表示する 申請者以外のユーザーがアクセスを試みた場合、403 Forbidden 「他ユーザーの退会申請内容は閲覧できません」

ここらへんの文言や、ログイン必須になったので改めてデザイン+文言のお願いをすることになるかと思いますので、よろしくお願いいたしますー

masyuko0222 avatar May 25 '24 13:05 masyuko0222

本番環境で動作確認ができたのでCloseします。

masyuko0222 avatar Jun 19 '24 13:06 masyuko0222