Enhancement(機能追加・改善) #1591
完了support to the sorting order change of the community categories (コミュニティカテゴリのソート順を変更できるようにする)
0%
Masato Nagasawa さんがほぼ14年前に更新
- ステータス を New(新規) から Accepted(着手) に変更
- 担当者 を Masato Nagasawa にセット
Masato Nagasawa さんがほぼ14年前に更新
このテストを行っている際に、「ユーザー画面で大カテゴリのソート順を考慮して小カテゴリを表示していない」問題が見つかりました。
この件については #1859 で対応を行います。
Masato Nagasawa さんがほぼ14年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 3b8823462b2a4dd29fb2b54109a69569dba81fe3 で適用されました。
Masato Nagasawa さんがほぼ14年前に更新
以下のテストを行っています。
区分1 | 区分2 | 期待結果 |
カテゴリ追加 | 大カテゴリを追加 | 一番下に追加される |
カテゴリ追加 | 小カテゴリを追加 | 一番下に追加される |
カテゴリ追加 | 大カテゴリが複数存在する状態で、 小カテゴリを追加 |
一番下に追加される |
カテゴリ削除 | 3件存在する大カテゴリから、一番上を削除 | 削除したカテゴリ以外の順序に変更がない |
カテゴリ削除 | 3件存在する小カテゴリから、一番上を削除 | 削除したカテゴリ以外の順序に変更がない |
カテゴリ削除 | 大カテゴリが複数存在する状態で、 3件存在する小カテゴリから、一番上を削除 |
削除したカテゴリ以外の順序に変更がない |
カテゴリ移動 | 2件存在する大カテゴリで、上下を逆にし、ページをリロード | 1. 上下が逆になっている 2. 小カテゴリの順番が大カテゴリと一致している(リアルタイムには反映されない) 3. ユーザー画面のサークル作成ページのプルダウンで、大カテゴリの順に小カテゴリが並んでいる |
カテゴリ移動 | 2件存在する小カテゴリで、上下を逆にし、ページをリロード | 上下が逆になっている(ユーザー画面でも確認) |
カテゴリ移動 | 3件存在する大カテゴリで、一番上と一番下を逆にし、ページをリロード | 一番上と一番下が逆になっている(ユーザー画面でも確認) |
カテゴリ移動 | 3件存在する小カテゴリで、一番上と一番下を逆にし、ページをリロード | 一番上と一番下が逆になっている(ユーザー画面でも確認) |
カテゴリ移動 | 大カテゴリが複数存在する状態で、 2件存在する小カテゴリで、上下を逆にし、ページをリロード |
上下が逆になっている(ユーザー画面でも確認) |
Masato Nagasawa さんがほぼ14年前に更新
- 題名 を コミュニティカテゴリのソート順を変更できるようにする から support to the sorting order change of the community categories (コミュニティカテゴリのソート順を変更できるようにする) に変更
Yuya Watanabe さんが12年以上前に更新
メモ¶
- lft が 1 のときにそのノードがルートであるか?
根拠は Symfony の NestedSet でそう定義されているということで問題なし.()
lib/model/doctrine/CommunityCategoryTable.class.php
25 public function getAllRootsQuery($sort = true) 26 { 27 $q = $this->createQuery()->where('lft = 1'); 28 if ($sort) 29 { 30 $q->orderBy('sort_order'); 31 } 32 33 return $q; 34 }
lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Node/NestedSet.php
866 /** 867 * determines if node is root 868 * 869 * @return bool 870 */ 871 public function isRoot() 872 { 873 return ($this->getLeftValue() == 1); 874 }
- 子供とする根拠がNestedSetと違う
Symfony の NestedSet と同様の実装をしたほうが良い.
lib/model/doctrine/CommunityCategoryTable.class.php
41 public function getAllChildrenQuery($sort = true) 42 { 43 $q = $this->createQuery()->where('lft > 1'); 44 if ($sort) 45 { 46 $q->orderBy('sort_order'); 47 } 48 49 return $q; 50 }
lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Node/NestedSet.php
56 /** 57 * test if node has children 58 * 59 * @return bool 60 */ 61 public function hasChildren() 62 { 63 return (($this->getRightValue() - $this->getLeftValue()) > 1); 64 }
そのたまだ色々ありそう
Yuya Watanabe さんが12年以上前に更新
ドラッグアンドドロップで移動できるようにはなったが,保存されていないように見える.
追記: 手元の環境でソースを変更していただけでした.問題無いです.
Yuya Watanabe さんが12年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
差し戻し理由¶
- 子供とする根拠がNestedSetと違う
Symfony の NestedSet と同様の実装をしたほうが良い.
lib/model/doctrine/CommunityCategoryTable.class.php
41 public function getAllChildrenQuery($sort = true) 42 { 43 $q = $this->createQuery()->where('lft > 1'); 44 if ($sort) 45 { 46 $q->orderBy('sort_order'); 47 } 48 49 return $q; 50 }
lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Node/NestedSet.php
56 /** 57 * test if node has children 58 * 59 * @return bool 60 */ 61 public function hasChildren() 62 { 63 return (($this->getRightValue() - $this->getLeftValue()) > 1); 64 }
Shouta Kashiwagi さんが12年以上前に更新
- ステータス を Rejected(差し戻し) から Accepted(着手) に変更
- 進捗率 を 50 から 0 に変更
Shouta Kashiwagi さんが12年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
Yuya Watanabe さんが12年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
Shinichi Urabe さんが7年以上前に更新
- 関連している Bug(バグ) #3678: コミュニティカテゴリの大分類がcommunity_categoryのsort_orderでソートされない を追加