-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
他のユーザーのメール通知設定を変更できないようにした #8149
他のユーザーのメール通知設定を変更できないようにした #8149
Conversation
@Shrimprin |
@Ryooo-k |
@Ryooo-k 動作については問題ないこと確認できました! 👍 1点、仕様について質問です。 |
@Shrimprin
確かにメール通知OFF画面に対して直接アクセス制限をかけた方が良いかもしれないですね! |
@Shrimprin |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Ryooo-k
お疲れ様です!
2点コメントしましたのでご確認お願いします 🙏
@@ -1,7 +1,6 @@ | |||
# frozen_string_literal: true | |||
|
|||
class Users::MailNotificationController < ApplicationController | |||
skip_before_action :require_active_user_login, raise: false | |||
layout 'not_logged_in' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ログインを前提とした画面なので、非ログイン時のレイアウトを使う必要はないかもしれません。
意図があって残しているようであればOKです!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
レイアウトが崩れるので'not_logged_in'は残しているんですが、ここ迷ったんですよね〜😕ファイル名変更は、他の複数ファイルで使用されており意味のある命名になっているようなので、ファイル名変更はやりたくはなく、かといってこのファイルのためだけに新しいファイルを作るのも違うかなーと思いました。
なので一旦、このままで進めます!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
なるほどです!
ただ、ログインが必要なページにnot_logged_in
というレイアウトを使用しているのは混乱を生むため避けた方がいいようにも思えます。
レイアウトが崩れてしまうということですが、CSSを修正して対応するのはいかがでしょうか?
デザインに関わる内容なので @machida さんに相談してみてもいいかと思います!
ご検討よろしくお願いいたします 🙏
@@ -3,10 +3,16 @@ | |||
require 'application_system_test_case' | |||
|
|||
class MailNotificationsTest < ApplicationSystemTestCase |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
他のユーザーの通知OFFを設定できないことのテストもあっていいと思います。
ログインユーザーとは別のユーザーのメール通知OFF画面にアクセスすることでテストできると思います。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ご指摘ありがとうございます!追加します👍
@Shrimprin |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Ryooo-k
ご対応ありがとうございます!
追加でコメントさせていただきましたのでご確認よろしくお願いいたします 🙏
assert_text 'メール通知をオフにしますか?' | ||
click_on 'オフにする' | ||
assert_text 'メール配信を停止しました。' | ||
end | ||
|
||
test "update user's mail_notification settings without being logged in" do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
テスト名はcan not update user's ...
などとした方が内容を表していて分かりやすいと思います。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
なるほど、can notを付けた方ができないことが強調されてわかりやすいですね。ありがとうございます。
assert_text 'ログインしてください' | ||
end | ||
|
||
test "update another user's mail_notification" do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
another users
よりother users
の方が正確かもしれません。
また、こちらも同様にcan not update other user's ...
などとした方が良いと思います。
@@ -1,7 +1,6 @@ | |||
# frozen_string_literal: true | |||
|
|||
class Users::MailNotificationController < ApplicationController | |||
skip_before_action :require_active_user_login, raise: false | |||
layout 'not_logged_in' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
なるほどです!
ただ、ログインが必要なページにnot_logged_in
というレイアウトを使用しているのは混乱を生むため避けた方がいいようにも思えます。
レイアウトが崩れてしまうということですが、CSSを修正して対応するのはいかがでしょうか?
デザインに関わる内容なので @machida さんに相談してみてもいいかと思います!
ご検討よろしくお願いいたします 🙏
@Shrimprin |
@machida 相談内容本issueのバグを修正するにあたり、メール通知画面へのアクセスにはログインを必須にしようとしている。layoutには 解決策1layoutを変更する。この場合はmachidaさんにデザイン変更依頼をする必要がある。 解決策2ログインを必須とする場合、ユーザビリティが悪くなる。ログインは必須とせず、解読や予測が難しいURIとした方が良い。フィヨルドトーーク!(GitHub)を参考にすると良い。 方針ログインは不要で進めます。 |
@Shrimprin
|
@Ryooo-k |
@Ryooo-k 他のユーザーは知り得ないtokenを使い、メールを受け取った本人しか変更できなくしたのですね! |
@Shrimprin @komagata |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
確認させて頂きました。OKです〜🙆♂️
Issue
概要
自分以外のユーザーのメール通知をOFFに設定できないようにしました。
変更前
変更後
変更確認方法
bug/prevent-disabling-other-users-notifications
をローカルに取り込むi.
git fetch origin pull/8149/head:bug/prevent-disabling-other-users-notifications
ii.
git checkout bug/prevent-disabling-other-users-notifications
foreman start -f Procfile.dev
でローカルサーバーを立ち上げるi.
"/users/991528156/mail_notification?token=k6Da-oL3cRi8ApNFO9-Gcg"
にカーソルを当て、右クリックii.
Edit attribute
を選択iii.
"/users/991528156/mail_notification?token=k6Da-oL3cRi8ApNFO9-Gcg"
を"/users/991528156/mail_notification?token=037i-ef5n7V4EnPv74mtyQ"
に変更する(
k6Da-oL3cRi8ApNFO9-Gcg
はkimuraさんのtoken、037i-ef5n7V4EnPv74mtyQ
はkomagataさんのtoken)8.「オフにする」のボタンを押す
kimura
、パスワードtesttest
でログインするkomagata
、パスワードtesttest
でログインするScreenshot
変更前
全てのユーザーIDを受け入れ、他のユーザーのメール通知をOFFにできる。
変更後