[Erp5-report] r20131 - in /erp5/trunk/bt5/erp5_payroll: SkinTemplateItem/portal_skins/erp5_...

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Mar 25 19:51:55 CET 2008


Author: jerome
Date: Tue Mar 25 19:51:55 2008
New Revision: 20131

URL: http://svn.erp5.org?rev=20131&view=rev
Log:
Look on the whole model hierarchy to get properties when applying model.

Modified:
    erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_applyModel.xml
    erp5/trunk/bt5/erp5_payroll/bt/revision

Modified: erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_applyModel.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_applyModel.xml?rev=20131&r1=20130&r2=20131&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_applyModel.xml (original)
+++ erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_applyModel.xml Tue Mar 25 19:51:55 2008
@@ -71,32 +71,41 @@
 model = paysheet.getSpecialiseValue()\n
 \n
 if model is None:\n
-  redirect_url = \'%s/%s?%s\' % ( context.absolute_url(), form_id\n
-               , \'portal_status_message=\' + N_(\'No Pay Sheet Model.\'))\n
-else:\n
+  return context.Base_redirect(form_id,\n
+     keep_items=dict(portal_status_message=N_(\'No Pay Sheet Model.\')))\n
 \n
-  # set source and destination from the model if there is no value yet defined\n
-  if paysheet.getDestinationSectionTitle() is None:\n
-    paysheet.setDestinationSectionValue(model.getDestinationSectionValue())\n
-  if paysheet.getSourceSectionTitle() is None:\n
-    paysheet.setSourceSectionValue(model.getSourceSectionValue())\n
+def getPropertyFromModel(model, property_name):\n
+  """Get a property from the paysheet model, or from a specialised model.\n
+  """\n
+  v = model.getProperty(property_name)\n
+  if v:\n
+    return v\n
+  for specialised_model in model.getSpecialiseValueList():\n
+    v = getPropertyFromModel(specialised_model, property_name)\n
+    if v:\n
+      return v\n
 \n
-  if paysheet.getPriceCurrency() is None:\n
-    paysheet.setPriceCurrencyValue(model.getPriceCurrencyValue())\n
+# set source and destination from the model if there is no value yet defined\n
+if not paysheet.getDestinationSection():\n
+  paysheet.setDestinationSection(getPropertyFromModel(model, \'destination_section\'))\n
 \n
-  # copy model sub objects into paysheet\n
-  portal_type_list = [\'Annotation Line\', \'Payment Condition\', \n
-                      \'Pay Sheet Model Ratio Line\']\n
-  paysheet.PaySheetTransaction_copySubObject(portal_type_list)\n
+if not paysheet.getSourceSection():\n
+  paysheet.setSourceSection(getPropertyFromModel(model, \'source_section\'))\n
 \n
+if not paysheet.getPriceCurrency():\n
+  paysheet.setPriceCurrency(getPropertyFromModel(model, \'price_currency\'))\n
 \n
-  redirect_url = \'%s/%s?%s\' % (context.absolute_url(), form_id,\n
-                 \'portal_status_message=\'+ N_(\'Pay Sheet Transaction updated.\'))\n
+if not paysheet.getResource():\n
+  paysheet.setResource(getPropertyFromModel(model, \'price_currency\'))\n
 \n
-if batch_mode:\n
-  return None\n
-else:\n
-  context.REQUEST[ \'RESPONSE\' ].redirect( redirect_url.replace(\' \', \'+\') )\n
+# copy model sub objects into paysheet\n
+portal_type_list = [\'Annotation Line\', \'Payment Condition\', \n
+                    \'Pay Sheet Model Ratio Line\']\n
+paysheet.PaySheetTransaction_copySubObject(portal_type_list)\n
+\n
+if not batch_mode:\n
+  return context.Base_redirect(form_id,\n
+      keep_items=dict(portal_status_message=N_(\'Pay Sheet Transaction updated.\')))\n
 </string> </value>
         </item>
         <item>
@@ -113,7 +122,7 @@
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string>form_id, batch_mode=0</string> </value>
+            <value> <string>form_id=\'view\', batch_mode=0</string> </value>
         </item>
         <item>
             <key> <string>errors</string> </key>
@@ -147,9 +156,9 @@
                             <string>paysheet</string>
                             <string>model</string>
                             <string>None</string>
-                            <string>redirect_url</string>
+                            <string>dict</string>
+                            <string>getPropertyFromModel</string>
                             <string>portal_type_list</string>
-                            <string>_getitem_</string>
                           </tuple>
                         </value>
                     </item>
@@ -162,6 +171,7 @@
             <key> <string>func_defaults</string> </key>
             <value>
               <tuple>
+                <string>view</string>
                 <int>0</int>
               </tuple>
             </value>

Modified: erp5/trunk/bt5/erp5_payroll/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_payroll/bt/revision?rev=20131&r1=20130&r2=20131&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_payroll/bt/revision (original)
+++ erp5/trunk/bt5/erp5_payroll/bt/revision Tue Mar 25 19:51:55 2008
@@ -1,1 +1,1 @@
-223
+229




More information about the Erp5-report mailing list