[Erp5-report] r17740 - /erp5/trunk/products/ERP5/Document/PaySheetTransaction.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Nov 22 11:00:54 CET 2007


Author: fabien
Date: Thu Nov 22 11:00:53 2007
New Revision: 17740

URL: http://svn.erp5.org?rev=17740&view=rev
Log:
- change calculation part to use in this priority order :
 * the model line script
 * the model default script
 * the bt default script
- change PaySheetTransaction_addEndLine script name in PaySheetTransaction_postCalculation

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

Modified: erp5/trunk/products/ERP5/Document/PaySheetTransaction.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/PaySheetTransaction.py?rev=17740&r1=17739&r2=17740&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/PaySheetTransaction.py (original)
+++ erp5/trunk/products/ERP5/Document/PaySheetTransaction.py Thu Nov 22 11:00:53 2007
@@ -382,25 +382,28 @@
               ######################
               # calculation part : #
               ######################
-              script_name = model.getLocalizedCalculationScriptId()
-              if script_name is None or \
-                  getattr(self, script_name, None) is None:
-                # if no calculation script found, use a default method :
-                if not quantity:
-                  if base_application <= model_slice_max:
-                    quantity = base_application-model_slice_min
-                  else:
-                    quantity = model_slice_max-model_slice_min
-              else:
-                localized_calculation_script = getattr(self, script_name, 
-                                                       None)
-                quantity, price = localized_calculation_script(\
-                    paysheet=self, 
-                    model_slice_min = model_slice_min, 
-                    model_slice_max=model_slice_max, 
-                    quantity=quantity, 
-                    price=price, 
-                    model_line=model_line)
+              # get the model line script
+              script_name = model_line.getCalculationScriptId()
+              if script_name is None:
+                # if model line script is None, get the default model script
+                script_name = model.getDefaultCalculationScriptId()
+
+              if script_name is None:
+                # if no calculation script found, use a default script :
+                script_name = 'PaySheetTransaction_defaultCalculationScript'
+
+              if getattr(self, script_name, None) is None:
+                raise ValueError, "Unable to find `%s` calculation script" % \
+                                                                 script_name
+              LOG('script_name :',0,script_name)
+              calculation_script = getattr(self, script_name, None)
+              quantity, price = calculation_script(\
+                  base_application=base_application,
+                  model_slice_min = model_slice_min, 
+                  model_slice_max=model_slice_max, 
+                  quantity=quantity, 
+                  price=price, 
+                  model_line=model_line)
 
             # Cell creation :
             # Define an empty new cell
@@ -453,8 +456,8 @@
     # this script is used to add a line that permit to have good accounting 
     # lines
     localized_add_end_line_script = getattr(self,
-                                            'PaySheetTransaction_addEndLine', 
-                                            None)
+                                'PaySheetTransaction_postCalculation', None)
+    LOG('localized_add_end_line_script :', 0, localized_add_end_line_script)
     if localized_add_end_line_script:
       localized_add_end_line_script(employee_tax_amount)
 




More information about the Erp5-report mailing list