Enhancement(機能追加・改善) #1591
support to the sorting order change of the community categories (コミュニティカテゴリのソート順を変更できるようにする)
0%
関連するチケット
関係しているリビジョン
fixed supported sortable of the community category (fixes #1591)
fixed supported sortable of the community category (fixes #1591)
履歴
#1 Masato Nagasawa が13年以上前に更新
- ステータス を New(新規) から Accepted(着手) に変更
- 担当者 を Masato Nagasawa にセット
#2 Masato Nagasawa が13年以上前に更新
このテストを行っている際に、「ユーザー画面で大カテゴリのソート順を考慮して小カテゴリを表示していない」問題が見つかりました。
この件については #1859 で対応を行います。
#3 Masato Nagasawa が13年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 3b8823462b2a4dd29fb2b54109a69569dba81fe3 で適用されました。
#4 Masato Nagasawa が13年以上前に更新
以下のテストを行っています。
区分1 | 区分2 | 期待結果 |
カテゴリ追加 | 大カテゴリを追加 | 一番下に追加される |
カテゴリ追加 | 小カテゴリを追加 | 一番下に追加される |
カテゴリ追加 | 大カテゴリが複数存在する状態で、 小カテゴリを追加 |
一番下に追加される |
カテゴリ削除 | 3件存在する大カテゴリから、一番上を削除 | 削除したカテゴリ以外の順序に変更がない |
カテゴリ削除 | 3件存在する小カテゴリから、一番上を削除 | 削除したカテゴリ以外の順序に変更がない |
カテゴリ削除 | 大カテゴリが複数存在する状態で、 3件存在する小カテゴリから、一番上を削除 |
削除したカテゴリ以外の順序に変更がない |
カテゴリ移動 | 2件存在する大カテゴリで、上下を逆にし、ページをリロード | 1. 上下が逆になっている 2. 小カテゴリの順番が大カテゴリと一致している(リアルタイムには反映されない) 3. ユーザー画面のサークル作成ページのプルダウンで、大カテゴリの順に小カテゴリが並んでいる |
カテゴリ移動 | 2件存在する小カテゴリで、上下を逆にし、ページをリロード | 上下が逆になっている(ユーザー画面でも確認) |
カテゴリ移動 | 3件存在する大カテゴリで、一番上と一番下を逆にし、ページをリロード | 一番上と一番下が逆になっている(ユーザー画面でも確認) |
カテゴリ移動 | 3件存在する小カテゴリで、一番上と一番下を逆にし、ページをリロード | 一番上と一番下が逆になっている(ユーザー画面でも確認) |
カテゴリ移動 | 大カテゴリが複数存在する状態で、 2件存在する小カテゴリで、上下を逆にし、ページをリロード |
上下が逆になっている(ユーザー画面でも確認) |
#5 Masato Nagasawa が13年以上前に更新
- 題名 を コミュニティカテゴリのソート順を変更できるようにする から support to the sorting order change of the community categories (コミュニティカテゴリのソート順を変更できるようにする) に変更
#6 Shouta Kashiwagi が約12年前に更新
- 対象バージョン を OpenPNE 3.7.0 から 252 に変更
#7 Yuma Sakata が約12年前に更新
- 対象バージョン を 252 から OpenPNE 3.8beta1 に変更
#8 Masato Nagasawa が約12年前に更新
更新履歴 9b81fb9edc73633f112d7e5803d46fa6be0ca583 で適用されました。
#9 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 }
そのたまだ色々ありそう
#10 Yuya Watanabe が約12年前に更新
- 対象バージョン を OpenPNE 3.8beta1 から OpenPNE 3.8.x に変更
#11 Yuya Watanabe が約12年前に更新
- 対象バージョン を OpenPNE 3.8.x から OpenPNE 3.8RC1 に変更
#12 Yuya Watanabe が約12年前に更新
ドラッグアンドドロップで移動できるようにはなったが,保存されていないように見える.
追記: 手元の環境でソースを変更していただけでした.問題無いです.
#13 Yuya Watanabe が約12年前に更新
- 対象バージョン を OpenPNE 3.8RC1 から OpenPNE 3.9.0-old に変更
#14 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 }
#15 Yuya Watanabe が約12年前に更新
- 担当者 を Masato Nagasawa から Shouta Kashiwagi に変更
#16 Yuya Watanabe が約12年前に更新
note-14 の内容は #1859 での指摘内容だったため,本チケットは問題無いとしてテスト待ちに変更します.
#17 Shouta Kashiwagi が約12年前に更新
- ステータス を Rejected(差し戻し) から Accepted(着手) に変更
- 進捗率 を 50 から 0 に変更
#18 Shouta Kashiwagi が約12年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
#19 Yuya Watanabe が約12年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
#21 Shinichi Urabe がほぼ7年前に更新
- 関連している Bug(バグ) #3678: コミュニティカテゴリの大分類がcommunity_categoryのsort_orderでソートされない を追加