Backport(バックポート) #2164
ProfileForm で日付型のプロフィール項目の最大値・最小値の入力欄に now などの strtotime() が解釈できる文字列を入力すると、そのプロフィール項目を保存した時点の日付が DB に保存されてしまう
100%
Description
ProfileForm で日付型のプロフィール項目の最大値・最小値の入力欄に now などの strtotime() が解釈できる文字列を入力すると、そのプロフィール項目を保存した時点の日付が DB に保存されてしまう。
この問題は #930 の 4e1f2665 の変更で混入したもの。
たとえば日付型プロフィールの最大値を today や now などにして保存すると、 2010-09-17 といった入力時点の日付で登録されてしまう。これらの文字列はそのまま DB に保存し、メンバーがプロフィールを入力した際に now や 2010-09-17 や next Sunday といった文字列をその時点での日付に変換した上で、メンバーの入力値と比較するのが正しい挙動である。
Related issues
Associated revisions
History
#1 Updated by Kousuke Ebihara over 13 years ago
- Target version changed from OpenPNE3.6beta11 to OpenPNE3.6beta12
親チケットが「テスト待ち」「完了」でないものをすべて beta12 以降での対応とします。
#2 Updated by isao sano over 13 years ago
- Target version changed from OpenPNE3.6beta12 to OpenPNE3.6beta13
#3 Updated by Maki Takahashi about 13 years ago
- Status changed from New(新規) to Accepted(着手)
- Assignee changed from Shingo Yamada to Maki Takahashi
BP引き受けます
#4 Updated by Minoru Takai about 13 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
更新履歴 6fd556d92eae912b7315de6d387f929b536679f8 で適用されました。
#5 Updated by Minoru Takai about 13 years ago
更新履歴 2d4813bf2f4ee2f83a7c90f8985d26e69618ef8b で適用されました。
#6 Updated by Minoru Takai about 13 years ago
更新履歴 6e25ff6beb8e1e97a11abaa28820ca26a560dfad で適用されました。
#7 Updated by Maki Takahashi about 13 years ago
- Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)
親チケットを差し戻しましたので、BPチケットも差し戻しいたします
#8 Updated by Minoru Takai about 13 years ago
- Status changed from Rejected(差し戻し) to Pending Review(レビュー待ち)
更新履歴 6f41f5683b4b5f1ca1c729f212c03c6293d06e88 で適用されました。
#9 Updated by Maki Takahashi about 13 years ago
release-3.6beta13ブランチに取り込み済みです
#10 Updated by Shingo Yamada about 13 years ago
下記の差分が一致していることを確認しました。
master | stable-3.6.x |
---|---|
b51d54adc43ef3dc945236b714e692b96f9da74e | 6f41f5683b4b5f1ca1c729f212c03c6293d06e88 |
afee7267847f2350da4accd21e181a6c1729be3b | 6e25ff6beb8e1e97a11abaa28820ca26a560dfad |
a932c17831a732fee4754a3b4242d2fe36a3d35a | 2d4813bf2f4ee2f83a7c90f8985d26e69618ef8b |
9072bbd231dc28faaf9b010c0622fe7c99639d89 | 6fd556d92eae912b7315de6d387f929b536679f8 |
#11 Updated by Shingo Yamada about 13 years ago
- Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
- % Done changed from 50 to 70
#12 Updated by Yuma Sakata about 13 years ago
- Status changed from Pending Testing(テスト待ち) to Rejected(差し戻し)
- % Done changed from 70 to 50
テスト実施しましたが、気になる点がありましたので確認お願いします。
ProfileForm で日付型の場合、mobile_frontendの動作確認¶
- 試験手順
1. プロフィール項目追加画面(/pc_backend.php/profile/edit)にアクセスする
2. フォームタイプで日付を選択する
3. 最小値にlast Monday、最大値にnowを入れsubmit
4. mobile_frontendログイン後、プロフィール編集ページ(/member/edit/profile)でアクセスする
5. 管理画面で設定した範囲内の値で設定する
- 試験結果
「正しくありません。」とエラーメッセージが表示される
- 修正方針
管理画面で設定した範囲内の値を入力した場合、mobile_frontendで設定できるように修正お願いします。
pc_frontendで設定できることは確認済みです。
- 追記
プロフィール項目追加画面(/pc_backend.php/profile/edit)で識別子に半角英数字以外を用いるとエラーになります。
#13 Updated by Minoru Takai about 13 years ago
- Status changed from Rejected(差し戻し) to Pending Testing(テスト待ち)
- % Done changed from 50 to 70
note-12 の指摘内容を検証しました。
結論から言うと、別のバグによる問題でした。このチケットで扱う内容ではありませんのでテスト待ちにします。
この動作テスト時には、以下の手順 2. で示す「別のバグを引き起こす特定の操作」を行なわないでください。
手順¶
1. プロフィール項目追加画面(/pc_backend.php/profile/edit)にアクセスする
2. 識別名に「全角文字を含めた文字列」を入力する
3. プロフィール項目を作成する
4. mobile_frontend ログイン後、プロフィール編集ページ(/member/edit/profile)にアクセスする
5. プロフィール編集ページで「確定」ボタンを押す
すると、「正しくありません。」というエラーメッセージが表示され、プロフィール編集が成功しない。
これは、手順 2. の『識別名に「全角文字を含めた文字列」を入力する』という特定の操作を行った場合に、管理画面側では何のエラーもなくプロフィール項目の作成が成功するものの、メンバー側のプロフィール変更ページの携帯版ではエラーが生じるというバグによるものです。
識別名が半角英字列(※)ではない場合について、
- なぜ pc_backend では、プロフィール作成時点でバリデータに弾かれ「ない」のか
- なぜ pc_frontend では、プロフィール編集時点でバリデータに弾かれ「ない」のか
- なぜ mobile_frontend では、PC版と異なり、プロフィール編集時点でバリデータに弾かれ「る」のか
- (※)また、そもそも識別名に使える文字は何なのか
については追えていませんが、このようなバグがあることを示しておきます。
#14 Updated by Yuma Sakata about 13 years ago
- Status changed from Pending Testing(テスト待ち) to Fixed(完了)
- % Done changed from 70 to 100
テストOKです。