[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