[Erp5-report] r18333 - /erp5/trunk/products/ERP5/Document/

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Dec 14 16:07:22 CET 2007


Author: fabien
Date: Fri Dec 14 16:07:21 2007
New Revision: 18333

URL: http://svn.erp5.org?rev=18333&view=rev
Log:
get subobject using model dependance tree

Modified:
    erp5/trunk/products/ERP5/Document/PaySheetModel.py
    erp5/trunk/products/ERP5/Document/PaySheetTransaction.py

Modified: erp5/trunk/products/ERP5/Document/PaySheetModel.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/PaySheetModel.py?rev=18333&r1=18332&r2=18333&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/PaySheetModel.py (original)
+++ erp5/trunk/products/ERP5/Document/PaySheetModel.py Fri Dec 14 16:07:21 2007
@@ -91,10 +91,9 @@
           if reference is not None and not get_none_reference:
             reference_dict[reference]=object.getId()
           elif reference is None and get_none_reference:
-            reference_dict[reference]=object.getId()
-
+            reference_dict[object.getId()]=object.getId()
           else:
-            LOG('PaySheetModel getReferenceList', 0, '%s reference '
+            LOG('PaySheetModel getReferenceList', 0, '"%s" reference '
                 'property is empty' % object.getTitle() or
                 object.getRelativeUrl())
 

Modified: erp5/trunk/products/ERP5/Document/PaySheetTransaction.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/PaySheetTransaction.py?rev=18333&r1=18332&r2=18333&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/PaySheetTransaction.py (original)
+++ erp5/trunk/products/ERP5/Document/PaySheetTransaction.py Fri Dec 14 16:07:21 2007
@@ -77,8 +77,11 @@
     return the ratio value correponding to the ratio_reference,
     None if ratio_reference not found
     """
-    object_ratio_list = self.contentValues(portal_type=\
-        'Pay Sheet Model Ratio Line')
+    # get ratio lines
+    portal_type_list = ['Pay Sheet Model Ratio Line']
+    sub_object_list = self.getSubObjectValueList(portal_type_list)
+    object_ratio_list = sub_object_list
+
     for object in object_ratio_list:
       if object.getReference() == ratio_reference:
         return object.getQuantity()
@@ -104,7 +107,11 @@
     return the annotation line correponding to the reference,
     None if reference not found
     """
-    annotation_line_list = self.contentValues(portal_type='Annotation Line')
+    # get Annotation Lines
+    portal_type_list = ['Annotation Line']
+    sub_object_list = self.getSubObjectValueList(portal_type_list)
+    annotation_line_list = sub_object_list
+
     for annotation_line in annotation_line_list:
       if annotation_line.getReference() == reference:
         return annotation_line
@@ -236,7 +243,15 @@
       return the not editable lines as dict
     '''
     model = paysheet.getSpecialiseValue()
-    model_line_list = model.contentValues(portal_type='Pay Sheet Model Line')
+
+    def sortByIntIndex(a, b):
+      return cmp(a.getIntIndex(), b.getIntIndex())
+
+    # get model lines
+    portal_type_list = ['Pay Sheet Model Line']
+    sub_object_list = paysheet.getSubObjectValueList(portal_type_list)
+    sub_object_list.sort(sortByIntIndex)
+    model_line_list = sub_object_list
 
     model_line_dict = {}
     for model_line in model_line_list:
@@ -300,6 +315,8 @@
     # current_amount = base_amount_dict[base_amount][share]
     base_amount_dict = {}
 
+    model = paysheet.getSpecialiseValue()
+
     def sortByIntIndex(a, b):
       return cmp(a.getIntIndex(), b.getIntIndex())
 
@@ -309,9 +326,10 @@
 
 
     # get model lines
-    model = paysheet.getSpecialiseValue()
-    model_line_list = model.contentValues(portal_type='Pay Sheet Model Line',
-                                          sort_on='int_index')
+    portal_type_list = ['Pay Sheet Model Line']
+    sub_object_list = paysheet.getSubObjectValueList(portal_type_list)
+    sub_object_list.sort(sortByIntIndex)
+    model_line_list = sub_object_list
 
     pay_sheet_line_list = []
 
@@ -505,16 +523,16 @@
         model_list=model,
         portal_type_list=portal_type_list,
         reference_list=[])
-        pprint.pformat(model_reference_dict))
 
     # add line of base model without reference
     model_dict = model.getReferenceDict(\
         portal_type_list=portal_type_list,
         get_none_reference=1)
     id_list = model_dict.values()
-    model_reference_dict[model.getRelativeUrl()].extend(id_list)
-        pprint.pformat(model_reference_dict))
-
+    if model_reference_dict.has_key(model.getRelativeUrl()):
+      model_reference_dict[model.getRelativeUrl()].extend(id_list)
+    else:
+      model_reference_dict[model.getRelativeUrl()]=id_list
 
     # get sub objects
     key_list = model_reference_dict.keys()




More information about the Erp5-report mailing list