Project

General

Profile

Enhancement(機能追加・改善) #1591

support to the sorting order change of the community categories (コミュニティカテゴリのソート順を変更できるようにする)

Added by Masato Nagasawa almost 9 years ago. Updated over 2 years ago.

Status:
Won't fix(対応せず)
Priority:
Normal(通常)
Target version:
Start date:
2010-09-14
Due date:
% Done:

0%


Description

Overview (概要)

ナビゲーションなどの用に、コミュニティカテゴリもjsによってソート順の変更を行えるようにする。


Related issues

Related to OpenPNE 3 - Bug(バグ) #1528: A community category is sorted not in order of column sort_order of table community_category but in order of ID. (コミュニティカテゴリがテーブルcommunity_categoryのカラムsort_orderではなく、ID順にソートされる) Fixed(完了) 2010-08-25
Related to OpenPNE 3 - Bug(バグ) #1859: The community category is not considered a sort of parent categories (コミュニティカテゴリが大カテゴリのソートを考慮していない) Won't fix(対応せず) 2010-12-21
Related to OpenPNE 3 - Bug(バグ) #1796: 2系から3系へアップデートでコミュニティカテゴリの管理画面でのソート順の対処がされていない [3.6系限定] Fixed(完了) 2010-11-17
Related to OpenPNE 3 - Backport(バックポート) #2977: support to the sorting order change of the community categories (コミュニティカテゴリのソート順を変更できるようにする) Fixed(完了) 2010-09-14
Related to OpenPNE 3 - Bug(バグ) #3678: コミュニティカテゴリの大分類がcommunity_categoryのsort_orderでソートされない Fixed(完了) 2014-08-19

Associated revisions

Revision 3b882346 (diff)
Added by Masato Nagasawa over 8 years ago

fixed supported sortable of the community category (fixes #1591)

Revision 9b81fb9e (diff)
Added by Masato Nagasawa over 7 years ago

fixed supported sortable of the community category (fixes #1591)

History

#1 Updated by Masato Nagasawa over 8 years ago

  • Status changed from New(新規) to Accepted(着手)
  • Assignee set to Masato Nagasawa

#2 Updated by Masato Nagasawa over 8 years ago

このテストを行っている際に、「ユーザー画面で大カテゴリのソート順を考慮して小カテゴリを表示していない」問題が見つかりました。
この件については #1859 で対応を行います。

#3 Updated by Masato Nagasawa over 8 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

更新履歴 3b8823462b2a4dd29fb2b54109a69569dba81fe3 で適用されました。

#4 Updated by Masato Nagasawa over 8 years ago

以下のテストを行っています。

区分1 区分2 期待結果
カテゴリ追加 大カテゴリを追加 一番下に追加される
カテゴリ追加 小カテゴリを追加 一番下に追加される
カテゴリ追加 大カテゴリが複数存在する状態で、
小カテゴリを追加
一番下に追加される
カテゴリ削除 3件存在する大カテゴリから、一番上を削除 削除したカテゴリ以外の順序に変更がない
カテゴリ削除 3件存在する小カテゴリから、一番上を削除 削除したカテゴリ以外の順序に変更がない
カテゴリ削除 大カテゴリが複数存在する状態で、
3件存在する小カテゴリから、一番上を削除
削除したカテゴリ以外の順序に変更がない
カテゴリ移動 2件存在する大カテゴリで、上下を逆にし、ページをリロード 1. 上下が逆になっている
2. 小カテゴリの順番が大カテゴリと一致している(リアルタイムには反映されない)
3. ユーザー画面のサークル作成ページのプルダウンで、大カテゴリの順に小カテゴリが並んでいる
カテゴリ移動 2件存在する小カテゴリで、上下を逆にし、ページをリロード 上下が逆になっている(ユーザー画面でも確認)
カテゴリ移動 3件存在する大カテゴリで、一番上と一番下を逆にし、ページをリロード 一番上と一番下が逆になっている(ユーザー画面でも確認)
カテゴリ移動 3件存在する小カテゴリで、一番上と一番下を逆にし、ページをリロード 一番上と一番下が逆になっている(ユーザー画面でも確認)
カテゴリ移動 大カテゴリが複数存在する状態で、
2件存在する小カテゴリで、上下を逆にし、ページをリロード
上下が逆になっている(ユーザー画面でも確認)

#5 Updated by Masato Nagasawa over 8 years ago

  • Subject changed from コミュニティカテゴリのソート順を変更できるようにする to support to the sorting order change of the community categories (コミュニティカテゴリのソート順を変更できるようにする)

#6 Updated by Shouta Kashiwagi over 7 years ago

  • Target version changed from OpenPNE 3.7.0 to 252

#7 Updated by Yuma Sakata over 7 years ago

  • Target version changed from 252 to OpenPNE 3.8beta1

#8 Updated by Masato Nagasawa over 7 years ago

更新履歴 9b81fb9edc73633f112d7e5803d46fa6be0ca583 で適用されました。

#9 Updated by Yuya Watanabe over 7 years ago

メモ

  • 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 Updated by Yuya Watanabe over 7 years ago

  • Target version changed from OpenPNE 3.8beta1 to OpenPNE 3.8.x

#11 Updated by Yuya Watanabe over 7 years ago

  • Target version changed from OpenPNE 3.8.x to OpenPNE 3.8RC1

#12 Updated by Yuya Watanabe over 7 years ago

ドラッグアンドドロップで移動できるようにはなったが,保存されていないように見える.
追記: 手元の環境でソースを変更していただけでした.問題無いです.

#13 Updated by Yuya Watanabe over 7 years ago

  • Target version changed from OpenPNE 3.8RC1 to OpenPNE 3.9.0-old

#14 Updated by Yuya Watanabe over 7 years ago

  • Status changed from Pending Review(レビュー待ち) to 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 Updated by Yuya Watanabe over 7 years ago

  • Assignee changed from Masato Nagasawa to Shouta Kashiwagi

#16 Updated by Yuya Watanabe over 7 years ago

note-14 の内容は #1859 での指摘内容だったため,本チケットは問題無いとしてテスト待ちに変更します.

#17 Updated by Shouta Kashiwagi over 7 years ago

  • Status changed from Rejected(差し戻し) to Accepted(着手)
  • % Done changed from 50 to 0

#18 Updated by Shouta Kashiwagi over 7 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

#19 Updated by Yuya Watanabe over 7 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
  • % Done changed from 50 to 70

#20 Updated by isao sano over 2 years ago

  • Status changed from Pending Testing(テスト待ち) to Won't fix(対応せず)
  • % Done changed from 70 to 0

OpenPNE 3.8RC1 にて対応済みであったため、対応せずとします。

#21 Updated by Shinichi Urabe about 2 years ago

  • Related to Bug(バグ) #3678: コミュニティカテゴリの大分類がcommunity_categoryのsort_orderでソートされない added

Also available in: Atom PDF