[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