From cbd6b899f01f988e4924267b2a914f03ae9ee2a7 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Wed, 4 Oct 2006 12:27:48 +0000
Subject: [PATCH] Added RequirementMovementGroup.

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

diff --git a/product/ERP5/MovementGroup.py b/product/ERP5/MovementGroup.py
index d09298d22a..08f647efda 100644
--- a/product/ERP5/MovementGroup.py
+++ b/product/ERP5/MovementGroup.py
@@ -1068,3 +1068,26 @@ class SourceProjectMovementGroup(PropertyMovementGroup):
   _property = 'source_project'
 allow_class(SourceProjectMovementGroup)
 
+class RequirementMovementGroup(RootMovementGroup):
+  """
+  Group movements that have same Requirement.
+  """
+  def getRequirementList(self,movement):
+    order_value = movement.getOrderValue()
+    requirement_list = []
+    if order_value is not None:
+      if "Line" in order_value.getPortalType():
+        requirement_list = order_value.getRequirementList()
+    return requirement_list
+
+  def __init__(self,movement,**kw):
+    RootMovementGroup.__init__(self, movement=movement, **kw)
+    requirement_list = self.getRequirementList(movement)
+    self.requirement_list = requirement_list
+    self.setGroupEdit(
+        requirement=requirement_list
+    )
+
+  def test(self,movement):
+    return self.getRequirementList(movement) == self.requirement_list
+
-- 
2.30.9