Backport(バックポート) #2295
完了管理画面の公開設定変更の可否を「メンバー選択」から「固定」に変更すると、公開設定のデフォルト値でメンバー側の設定が更新されてしまう
100%
説明
現象¶
管理画面の公開設定変更の可否を「メンバー選択」から「固定」に変更すると、公開設定デフォルト値でメンバー側の設定を上書きしてしまう。
メンバー側が非公開にしている項目が、管理側の公開設定デフォルト値次第では公開されてしまう恐れがある。
バージョン¶
- 3.7.x
- 3.6.x
- 3.4.x
- 3.2.x¶
再現手順¶
1.管理画面の設定で誕生日のプロフィール項目の公開設定変更の可否を「メンバー選択」にしておく
2.メンバー側で誕生日の公開範囲を「公開しない」にする
3.管理画面の誕生日の公開設定変更の可否を「固定」に戻す
4.管理画面の誕生日の公開設定デフォルト値は「全員に公開」のままにしておく
5.手順2で設定した非公開設定が手順3の設定で上書きされ「全員の公開」になる
補足¶
- メンバー側の誕生日の公開範囲を「フレンドまで公開」にして、非フレンドユーザーから見た場合でも同じことが起きる(確認済み)
- 他のプロフィールでも同様の現象がおきる事が予想できます。(未確認)
環境¶
OS Windows XP
ブラウザ Firefox 3.6.13
Causes¶
固定の公開範囲を保存するときに、ProfileForm::save() が
MemberProfileの "public_flag" の値を デフォルトものに上書きしています。
Way to fix¶
プロフィール表示・検索機能にて、メンバーの設定値を上書きしないで管理画面の公開設定デフォルト値が適用される様に修正する
1. ProfileForm::save() で MemberProfile の "public_flag" の値を上書きしないようにする。
2. MemberProfile の表示判定を 公開範囲の固定に備えて変更する。
3. 検索時の抽出判定を 公開範囲の固定に備えて変更する。
Yuya Watanabe さんが13年以上前に更新
- ステータス を New(新規) から Accepted(着手) に変更
- 担当者 を Yuya Watanabe にセット
Shogo Kawahara さんが13年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 ce0bd44578c73c7d9d0578150e9ee58453de18df で適用されました。
Minoru Takai さんが13年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
レビューしました。
このチケットに同じコミットが複数紐づいていますが、これは #2294 での修正をマージした操作で履歴が作り直されたためのようです。現状の stable-3.4.x ブランチには適切に差分が取り込まれています。
取り込んだ修正内容についてですが、問題なく親チケットと同じ差分が取り込まれていて、バージョン間の差異も特に影響しないはずのものなので、コードチェック OK とします。
Mutsumi Imamura さんが13年以上前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
http://redmine.openpne.jp/issues/2295#note-4 でテスト完了しています。
問題ありませんので完了とします。