bootcamp icon indicating copy to clipboard operation
bootcamp copied to clipboard

ユーザー検索で休会・退会ユーザーも引っかかるようにする

Open kurumadaisuke opened this issue 1 year ago • 10 comments

Issue

  • #7396

概要

ユーザー検索で休会・退会ユーザーも引っかかるようにする

変更確認方法

  1. feature/searchable_suspended_and_unsubscribed_usersをローカルに取り込む
  2. メンターでログインをする
  3. http://localhost:3000/usersにアクセスし、ユーザー一覧を表示する
  4. 「全員」タブを選択する
  5. 検索欄から休会ユーザー名、退会ユーザー名を検索して表示されることを確認する(ユーザー例: yameo, kyuukai)
  6. 右上の検索バーから休会ユーザー名、退会ユーザー名を検索して表示されることを確認する(ユーザー例: yameo, kyuukai) ※ 右上の検索バーから休会ユーザー名は元々表示されます。

Screenshot

変更前

スクリーンショット 2024-02-25 19 22 49 スクリーンショット 2024-02-25 19 23 04 スクリーンショット 2024-02-25 19 24 00 スクリーンショット 2024-02-25 19 24 13

変更後

スクリーンショット 2024-02-25 19 17 38 スクリーンショット 2024-02-25 19 17 52 スクリーンショット 2024-02-25 19 19 48 スクリーンショット 2024-02-25 19 20 04

kurumadaisuke avatar Feb 25 '24 10:02 kurumadaisuke

@nishitatsu-dev お疲れ様です。 こちらレビューお願いしてもよろしかったでしょうか?🙏 特に期限は設けていませんのでお手隙の際にご確認いただければと思います🙏

kurumadaisuke avatar Feb 25 '24 12:02 kurumadaisuke

@kurumadaisuke レビュー承知しました〜 1週間以内に対応しますので、少々お待ちください🙏

nishitatsu-dev avatar Feb 25 '24 23:02 nishitatsu-dev

@komagata 本issueの対応方法について質問させてください

Searchableモジュールの変更方針について

FBCアプリの右上に存在する検索処理ではSearchableモジュールを利用しており、約10個のモデルファイルにincludeされています。 その中でapp/models/user.rbscope :search_by_keywords_scope, -> { unretired }を利用して検索結果を制限しています。

変更方法案① Searchableモジュール自体は変更せず、代わりに利用者側の変更を行います。 具体的には、app/models/user.rb内のscope :search_by_keywords_scope, -> { unretired }の行を削除します。

変更方法② Searchableモジュール自体を変更し、scope :search_by_keywords_scope, -> { all }を削除します。この変更に伴い、利用者側のapp/models/user.rbでも同じくscope :search_by_keywords_scope, -> { unretired }を削除します。

※ どちらの方針でも、app/models/user.rb内のscope :search_by_keywords_scopeの削除が必要です。

もしくは、他の方法を用いるべきでしょうか?🙏

メンターの検索:「表示人数が少ない問題」への対応について

localhost:3000/users?target=allで表示される人数がdb/fixtures/users.ymlでは77人のユーザーが定義されていますが、hibernated_atretired_onに値を持つユーザーがカウントされないため、「全員(67)」となっています。 表示される全員の数値は本issueでの対応範囲となりますでしょうか?

kurumadaisuke avatar Mar 17 '24 01:03 kurumadaisuke

@kurumadaisuke

本issueの対応方法について質問させてください

まだ判断するための材料がたりないとおもうので、それぞれの影響範囲(実際のどのページにもちいられるか。そのページが変わっても問題ないか)を調べてみてください。

そのうえで @kurumadaisuke さんがどうすべきだと思うかも考えてみてください。

メンターの検索:「表示人数が少ない問題」への対応について

メンターの検索というのはどういう意味でしょうか?

komagata avatar Mar 22 '24 05:03 komagata

@komagata

まだ判断するための材料がたりないとおもうので、それぞれの影響範囲(実際のどのページにもちいられるか。そのページが変わっても問題ないか)を調べてみてください。 そのうえで @kurumadaisuke さんがどうすべきだと思うかも考えてみてください。

こちら調査した後に回答いたします。

メンターの検索というのはどういう意味でしょうか?

一般ユーザー(受講生)からの「ユーザー」タブを選択した時の表示内容と メンターから「ユーザー」タブを選択するのでは、表示が異なっており(メンターの方が多く表示されている)メンターが「ユーザー」タブを選択した状態をメンターの検索という風に言っていました🙏

kurumadaisuke avatar Mar 23 '24 12:03 kurumadaisuke

@kurumadaisuke

一般ユーザー(受講生)からの「ユーザー」タブを選択した時の表示内容と メンターから「ユーザー」タブを選択するのでは、表示が異なっており(メンターの方が多く表示されている)メンターが「ユーザー」タブを選択した状態をメンターの検索という風に言っていました🙏

「言っていました」というのはどういう意味でしょうか?

komagata avatar Mar 26 '24 16:03 komagata

@komagata

「言っていました」というのはどういう意味でしょうか?

すいません。 言葉足らずでした🙏

一般ユーザー(受講生)からの「ユーザー」タブを選択した時の表示内容と メンターから「ユーザー」タブを選択するのでは、表示が異なっており(メンターの方が多く表示されている)メンターが「ユーザー」タブを選択した状態を「メンターの検索」という意味で使った言葉になります🙏

kurumadaisuke avatar Mar 27 '24 01:03 kurumadaisuke

@kurumadaisuke なるほどです!

komagata avatar Apr 07 '24 18:04 komagata

@komagata https://github.com/fjordllc/bootcamp/pull/7435#issuecomment-2014380301

こちら調査してみたのですが、Searchableモジュールのscope :search_by_keywords_scope, -> { all }の部分を使っているのがapp/models/user.rbscope :search_by_keywords_scope, -> { unretired }だけだったので使わないコードはなるべく削除したほうが良いっと考え、大元のscope :search_by_keywords_scope, -> { all }を削除して影響範囲(テスト)がどうなるか確認をしました。

テストの結果は一つ失敗しましたが、元々退会/休会ユーザーが表示されないことを確認するテストだったのでアプリ自体の仕様が変わったので、テスト自体を修正しました。

なので調査結果では、大元を削除しても影響範囲がほとんどないっと考え不要なコードは削除するべきだと考えました🙏

kurumadaisuke avatar Apr 13 '24 09:04 kurumadaisuke

@kurumadaisuke

https://github.com/fjordllc/bootcamp/blob/206f5c813b6b8a8ef9791b759b7f85a7fc81c8af/app/models/concerns/searchable.rb#L9

拡張する場合はこのスコープを上書きする

と書いてあって、検索対象の拡張の仕組みを用意してくれている感じ(あえてやっている)のでちょっと悩むところですが、まあ削除しちゃっていいとおもいます~。

komagata avatar Apr 24 '24 02:04 komagata

@komagata お疲れ様です!! 本issueについてですが、私が休会中に以下issueで別の方に行っていただいたので本件についてはクローズでよろしかったでしょうか?🙏 ご確認お願いします! https://github.com/fjordllc/bootcamp/pull/7941

kurumadaisuke avatar Aug 08 '24 11:08 kurumadaisuke

@komagata @machida 昨日アサインしていただいた件についてですが、issue自体がクローズされているようです。 私の方で何か対応が必要なことがあれば、ご確認いただけますでしょうか?🙏

kurumadaisuke avatar Aug 20 '24 12:08 kurumadaisuke

@kurumadaisuke

本issueについてですが、私が休会中に以下issueで別の方に行っていただいたので本件についてはクローズでよろしかったでしょうか?🙏

はい、こちらクロースで大丈夫です。

komagata avatar Aug 21 '24 02:08 komagata

@komagata ご対応ありがとうございました!

kurumadaisuke avatar Aug 21 '24 10:08 kurumadaisuke