操作
Backport(バックポート) #2295
完了管理画面の公開設定変更の可否を「メンバー選択」から「固定」に変更すると、公開設定のデフォルト値でメンバー側の設定が更新されてしまう
開始日:
2011-01-18
期日:
進捗率:
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. 検索時の抽出判定を 公開範囲の固定に備えて変更する。
操作