Bug(バグ) #1602
コミュニティカテゴリを空欄で追加できてしまう
100%
説明
コミュニティカテゴリ設定
/pc_backend.php/community/categoryList
で、「大カテゴリ」「小カテゴリ」の入力フォームでカテゴリ名に何も入力せずに「追加」をクリックすると、
カテゴリ名のないカテゴリが追加されてしまう。
関連するチケット
関係しているリビジョン
fixed deleted "default" parameter in the community_category table (refs #1602)
added migration file. (fixes #1602)
added migration file.(again) (fixes #1602)
Revert "added migration file.(again) (fixes #1602)"
This reverts commit f75a37d6f947e8aecb2bcf8433a52191a9b1c06d.
Revert "added migration file. (fixes #1602)"
This reverts commit 2f4eb182ecd04fb9460ddb582b6bd97d4ede9164.
Revert "fixed deleted "default" parameter in the community_category table (refs #1602)"
This reverts commit d869769b41f462fae23d4d70ff983dfa2dbdd021.
fixed modified to require input of name in the community category form. (fixes #1602)
fixed to trim use the opValidatorString (refs #1602)
fixed trim option and useless processing of a 'unset()' (refs #1602)
fixed 'required' message (fixes #1602)
履歴
#1 Masato Nagasawa が13年以上前に更新
- 担当者 を Masato Nagasawa にセット
#2 Masato Nagasawa が13年以上前に更新
- ステータス を New(新規) から Accepted(着手) に変更
#3 Masato Nagasawa が13年以上前に更新
アプリ側で空欄を許可しない修正で対応しようと思いましたが、
そもそもschema.ymlで以下のように「default: ""」としてデフォルト値が空欄となっていることが原因であると思います。
name: { type: string(64), default: "", notnull: true, comment: "Category name" }
よって、3.7では「default: ""」を削除し、DB変更を行えない3.6ではアプリ側で許可しないように修正します。
#4 Masato Nagasawa が13年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 f75a37d6f947e8aecb2bcf8433a52191a9b1c06d で適用されました。
#5 Masato Nagasawa が13年以上前に更新
更新履歴 2f4eb182ecd04fb9460ddb582b6bd97d4ede9164 で適用されました。
#6 Masato Nagasawa が13年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Accepted(着手) に変更
マイグレーションの処理に問題が見つかったため戻します。
#7 Masato Nagasawa が13年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
更新履歴 2340f1059a5f33b912d53aac5e7f8b8137629161 で適用されました。
#8 Masato Nagasawa が13年以上前に更新
更新履歴 50d24897b32cb711093344bbaf1c3914fefb645a で適用されました。
#9 Masato Nagasawa が13年以上前に更新
更新履歴 1f96ae05c6f6a3c66410dfabe1636663f8e0574d で適用されました。
#10 Masato Nagasawa が13年以上前に更新
「default: ""」が指定されていた場合にDB側に変更があるものと思い込んでいましたが、
DB側は指定しない場合と一切変更がなく、生成されるform側で空欄を許可しないようになるだけでした。
そのため、一度すべての変更を変更(3コミット)を戻し、3.6で適応したform側を修正する変更を取り込む方向で修正しました。
#11 Shogo Kawahara が13年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
- コミュニティカテゴリは opStringValidator により、文頭・文末の全角/全角スペースを除去するべきでしょう。
#12 Masato Nagasawa が13年以上前に更新
更新履歴 bb98bf99b8a2bb43c75cec3b0f07b2dff6a97550 で適用されました。
#13 Masato Nagasawa が13年以上前に更新
- ステータス を Rejected(差し戻し) から Accepted(着手) に変更
#14 Masato Nagasawa が13年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
#15 Shogo Kawahara が13年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
些細な問題ですが、
$this->setValidator('name', new opValidatorString(array('max_length' => 64, 'ltrim' => true, 'rtrim' => true)));
のオプションで、 ltrim, rtrim を指定していますが、
trim を true にするだけで良いはずです。
#16 Shogo Kawahara が13年以上前に更新
さらに、 CommunityCategoryForm::configure() で 2箇所で unset() しているのが不可解です。
#17 Masato Nagasawa が13年以上前に更新
- ステータス を Rejected(差し戻し) から Accepted(着手) に変更
#18 Masato Nagasawa が13年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
更新履歴 4097c1b4788e9101f9b81e4ec29dd464be3c1351 で適用されました。
#19 Shogo Kawahara が13年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
#20 Masato Nagasawa が13年以上前に更新
- ステータス を Pending Testing(テスト待ち) から Pending Review(レビュー待ち) に変更
- 進捗率 を 70 から 50 に変更
更新履歴 b147fa2571bebcf016a241b2b03c8aba665e2ed9 で適用されました。
#21 Naoya Tozuka が12年以上前に更新
- 担当者 を削除 (
Masato Nagasawa)
修正箇所( 2340f1059 bb98bf99 4097c1b4 b147fa25 )確認しました。
一点気になる点がありますので、他の方にも意見を求めるべく一旦留保します。
メモ¶
b147fa25 (fixed 'required' message) について、
適用前:
- 既存のカテゴリ名を空欄にして「編集」 → ページ上部に赤い字で「name [Required.]」
- 新規カテゴリ名を空欄で「追加」 → カテゴリ名フィールドの真上に赤い字で「必須項目です。」
適用後:
- 既存のカテゴリ名を空欄にして「編集」 → ページ上部に赤い字で「必須項目です。」
- 新規カテゴリ名を空欄で「追加」 → カテゴリ名フィールドの真上に赤い字で「必須項目です。」
のようにメッセージがflash表示されるようになりますが、必須項目なのがカテゴリ名であるという情報が欠落してしまうのは不親切ではないでしょうか。
#22 Yuya Watanabe が約12年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
- 3.6 で発生するか を Yes から Unknown (未調査) に変更
- 3.4 で発生するか を Unknown (未調査) にセット
レビューしました.
本チケットの主題である「コミュニティカテゴリを空欄で追加できてしまう」という問題の修正については問題ないと思います.ただし, note-21 で上げられているような修正はこのチケットとは関係ない部分と言えるため,本来ならば別チケットで対応が正しいと思います.note-21 の問題は安定版である OpenPNE 3.6 にも含まれている状態のため別のバグとして扱うのが妥当であると思い,本チケットについてはレビューOKとしてステータスを「Pending Testing」に変更します.
#23 Shouta Kashiwagi が約12年前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
テストOKです。