From b35b12eea2101f609f6a5832125fb2988571dab3 Mon Sep 17 00:00:00 2001
From: Alexandre Boeglin <alex@nexedi.com>
Date: Thu, 25 Nov 2004 13:34:47 +0000
Subject: [PATCH] Added CategoryMovementGroup class.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@1932 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/MovementGroup.py | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/MovementGroup.py b/product/ERP5/MovementGroup.py
index 05c1482481..505e5b5dfc 100755
--- a/product/ERP5/MovementGroup.py
+++ b/product/ERP5/MovementGroup.py
@@ -257,7 +257,7 @@ class BaseVariantMovementGroup(RootMovementGroup):
         categories_identity = 1
     return categories_identity
 
-allow_class(RootMovementGroup)
+allow_class(BaseVariantMovementGroup)
 
 class VariantMovementGroup(RootMovementGroup):
 
@@ -284,3 +284,27 @@ class VariantMovementGroup(RootMovementGroup):
     return categories_identity
 
 allow_class(VariantMovementGroup)
+
+class CategoryMovementGroup(RootMovementGroup):
+
+  def __init__(self,movement,**kw):
+    RootMovementGroup.__init__(self,movement,**kw)
+    self.category_list = movement.getCategoriesList()
+    if self.category_list is None:
+      self.category_list = []
+
+  def test(self,movement):
+    # we must have the same number of categories
+    categories_identity = 0
+    movement_category_list = movement.getCategoriesList()
+    if movement_category_list is None:
+      movement_category_list = []
+    if len(self.category_list) == len(movement_category_list) :
+      for category in movement_category_list :
+        if not category in self.category_list :
+          break
+      else :
+        categories_identity = 1
+    return categories_identity
+
+allow_class(CategoryMovementGroup)
-- 
2.30.9