From ac3af69aa414b4c821c09ecd5fa478bcaa6e8b23 Mon Sep 17 00:00:00 2001 From: "Mayur Maheshwari (OpenERP)" Date: Mon, 5 Dec 2011 15:59:13 +0530 Subject: [PATCH 1/5] [FIX]product:set a order by complete_name to sort a category by parent to child relation lp bug: https://launchpad.net/bugs/898579 fixed bzr revid: mma@tinyerp.com-20111205102913-qk34ym2q9xpy7swj --- addons/product/product.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/product/product.py b/addons/product/product.py index c67b1f6c029..9033c172263 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -213,7 +213,7 @@ class product_category(osv.osv): _description = "Product Category" _columns = { 'name': fields.char('Name', size=64, required=True, translate=True), - 'complete_name': fields.function(_name_get_fnc, type="char", string='Name'), + 'complete_name': fields.function(_name_get_fnc, type="char", string='Name', store=True), 'parent_id': fields.many2one('product.category','Parent Category', select=True), 'child_id': fields.one2many('product.category', 'parent_id', string='Child Categories'), 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of product categories."), @@ -225,7 +225,7 @@ class product_category(osv.osv): 'type' : lambda *a : 'normal', } - _order = "sequence, name" + _order = 'complete_name' def _check_recursion(self, cr, uid, ids, context=None): level = 100 while len(ids): From b27b984caa832eff582a58f0cdc38af38094dfbc Mon Sep 17 00:00:00 2001 From: "Mayur Maheshwari (OpenERP)" Date: Mon, 5 Dec 2011 16:27:40 +0530 Subject: [PATCH 2/5] [IMP]stock:set a size of complete_name bzr revid: mma@tinyerp.com-20111205105740-mz5s9n1qi7rh0yfj --- addons/product/product.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/product/product.py b/addons/product/product.py index 9033c172263..6b66c0ccee0 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -213,7 +213,7 @@ class product_category(osv.osv): _description = "Product Category" _columns = { 'name': fields.char('Name', size=64, required=True, translate=True), - 'complete_name': fields.function(_name_get_fnc, type="char", string='Name', store=True), + 'complete_name': fields.function(_name_get_fnc, type="char", string='Name',size=256, store=True), 'parent_id': fields.many2one('product.category','Parent Category', select=True), 'child_id': fields.one2many('product.category', 'parent_id', string='Child Categories'), 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of product categories."), From f48f8864328f2a6a6e12bc71ece4ed888f587b3d Mon Sep 17 00:00:00 2001 From: "Mayur Maheshwari (OpenERP)" Date: Tue, 20 Dec 2011 14:27:54 +0530 Subject: [PATCH 3/5] [IMP]product: remove a store=True and replace by store= bzr revid: mma@tinyerp.com-20111220085754-55yt6cy6zvbjzawg --- addons/product/product.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/product/product.py b/addons/product/product.py index 6b66c0ccee0..36aeebd1134 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -213,7 +213,10 @@ class product_category(osv.osv): _description = "Product Category" _columns = { 'name': fields.char('Name', size=64, required=True, translate=True), - 'complete_name': fields.function(_name_get_fnc, type="char", string='Name',size=256, store=True), + 'complete_name': fields.function(_name_get_fnc, type="char", string='Name',size=256, + store={ + 'product.category': (lambda self, cr, uid, ids, c={}: ids, ['name','parent_id'], 10), + }), 'parent_id': fields.many2one('product.category','Parent Category', select=True), 'child_id': fields.one2many('product.category', 'parent_id', string='Child Categories'), 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of product categories."), From 5e4f8b529abb05c08d72c09255e6b8d1eae6cfae Mon Sep 17 00:00:00 2001 From: "Mayur Maheshwari (OpenERP)" Date: Thu, 5 Jan 2012 15:28:38 +0530 Subject: [PATCH 4/5] [IMP]product:set a order by _parent_order to sort a category by parent to child relation bzr revid: mma@tinyerp.com-20120105095838-kexii21iratg1t3b --- addons/product/product.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/addons/product/product.py b/addons/product/product.py index 36aeebd1134..abd40aec492 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -213,14 +213,13 @@ class product_category(osv.osv): _description = "Product Category" _columns = { 'name': fields.char('Name', size=64, required=True, translate=True), - 'complete_name': fields.function(_name_get_fnc, type="char", string='Name',size=256, - store={ - 'product.category': (lambda self, cr, uid, ids, c={}: ids, ['name','parent_id'], 10), - }), - 'parent_id': fields.many2one('product.category','Parent Category', select=True), + 'complete_name': fields.function(_name_get_fnc, type="char", string='Name'), + 'parent_id': fields.many2one('product.category','Parent Category', select=True, ondelete='cascade'), 'child_id': fields.one2many('product.category', 'parent_id', string='Child Categories'), 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of product categories."), 'type': fields.selection([('view','View'), ('normal','Normal')], 'Category Type'), + 'parent_left': fields.integer('Left Parent', select=1), + 'parent_right': fields.integer('Right Parent', select=1), } @@ -228,7 +227,11 @@ class product_category(osv.osv): 'type' : lambda *a : 'normal', } - _order = 'complete_name' + _parent_name = "parent_id" + _parent_store = True + _parent_order = 'sequence,name' + _order = 'parent_left' + def _check_recursion(self, cr, uid, ids, context=None): level = 100 while len(ids): From 481ca116336a3a2142e9e317a48dfa522186e90e Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Thu, 5 Jan 2012 12:22:47 +0100 Subject: [PATCH 5/5] [IMP] product: remove cascading delete on product categories bzr revid: rco@openerp.com-20120105112247-yn1nhecqgyhcxna7 --- addons/product/product.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/product/product.py b/addons/product/product.py index abd40aec492..2a3015e37ab 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -214,7 +214,7 @@ class product_category(osv.osv): _columns = { 'name': fields.char('Name', size=64, required=True, translate=True), 'complete_name': fields.function(_name_get_fnc, type="char", string='Name'), - 'parent_id': fields.many2one('product.category','Parent Category', select=True, ondelete='cascade'), + 'parent_id': fields.many2one('product.category','Parent Category', select=True), 'child_id': fields.one2many('product.category', 'parent_id', string='Child Categories'), 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of product categories."), 'type': fields.selection([('view','View'), ('normal','Normal')], 'Category Type'), @@ -229,7 +229,7 @@ class product_category(osv.osv): _parent_name = "parent_id" _parent_store = True - _parent_order = 'sequence,name' + _parent_order = 'sequence, name' _order = 'parent_left' def _check_recursion(self, cr, uid, ids, context=None):