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