Commit 33e5c203 authored by Kevin Deldycke's avatar Kevin Deldycke

* Update z_catalog_stock_list ZSQL method to follow Seb's changes.

* Add Baobab_getPortalReferenceCurrencyID script to get the default currency.
* Change reference to getPortalReferenceCurrencyID portal method. Use Baobab_getPortalReferenceCurrencyID instead.
* Add a hack in Baobab_getUserAssignmentList to support old and new person module id.
* Add CashDelivery document.
* Clean portal_classes.
* Change the acquisition_portal_type_list attribute on base category 'site' from "'[]'" to "python: []".
* Delete deprecated ERP5Type_initLocalRoleMapping_* objects.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@4771 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent abf81ec6
...@@ -24,6 +24,12 @@ ...@@ -24,6 +24,12 @@
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value> </value>
</item> </item>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple/>
</value>
</item>
<item> <item>
<key> <string>_mt_index</string> </key> <key> <string>_mt_index</string> </key>
<value> <value>
...@@ -36,14 +42,108 @@ ...@@ -36,14 +42,108 @@
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value> </value>
</item> </item>
<item>
<key> <string>acquisition_append_value</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>acquisition_base_category</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>acquisition_copy_value</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>acquisition_mask_value</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>acquisition_object_id</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>acquisition_portal_type</string> </key>
<value> <string>python: []</string> </value>
</item>
<item>
<key> <string>acquisition_sync_value</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>category_type</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>criterion_property</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>fallback_base_category</string> </key>
<value>
<tuple/>
</value>
</item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>site</string> </value> <value> <string>site</string> </value>
</item> </item>
<item>
<key> <string>id_group</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>last_id</string> </key>
<value> <string>1</string> </value>
</item>
<item>
<key> <string>membership_criterion_base_category</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>membership_criterion_category</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>multimembership_criterion_base_category</string> </key>
<value>
<tuple/>
</value>
</item>
<item> <item>
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
<value> <string>Base Category</string> </value> <value> <string>Base Category</string> </value>
</item> </item>
<item>
<key> <string>read_permission</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>test_method_id</string> </key>
<value>
<tuple/>
</value>
</item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Site</string> </value> <value> <string>Site</string> </value>
...@@ -54,6 +154,12 @@ ...@@ -54,6 +154,12 @@
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>write_permission</string> </key>
<value>
<none/>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
......
############################################################################## ##############################################################################
# #
# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved. # Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
# #
# WARNING: This program as such is intended to be used by professional # WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential # programmers who take the whole responsability of assessing all potential
...@@ -34,61 +34,63 @@ from Products.ERP5Type.Document.DeliveryCell import DeliveryCell ...@@ -34,61 +34,63 @@ from Products.ERP5Type.Document.DeliveryCell import DeliveryCell
from Products.ERP5.Document.Movement import Movement from Products.ERP5.Document.Movement import Movement
from Products.ERP5.Document.AccountingTransaction import AccountingTransaction from Products.ERP5.Document.AccountingTransaction import AccountingTransaction
class BankingOperation(Delivery,AccountingTransaction):
# CMF Type Definition class BankingOperation(Delivery, AccountingTransaction):
meta_type = 'BAOBAB Banking Operation'
portal_type = 'Banking Operation' # CMF Type Definition
isPortalContent = 1 meta_type = 'BAOBAB Banking Operation'
isRADContent = 1 portal_type = 'Banking Operation'
isPortalContent = 1
# Declarative security isRADContent = 1
security = ClassSecurityInfo()
security.declareObjectProtected(Permissions.View) # Declarative security
security = ClassSecurityInfo()
# Default Properties security.declareObjectProtected(Permissions.View)
property_sheets = ( PropertySheet.Base
, PropertySheet.XMLObject # Default Properties
, PropertySheet.CategoryCore property_sheets = ( PropertySheet.Base
, PropertySheet.DublinCore , PropertySheet.XMLObject
, PropertySheet.Task , PropertySheet.CategoryCore
, PropertySheet.Arrow , PropertySheet.DublinCore
, PropertySheet.BankingOperation , PropertySheet.Task
, PropertySheet.ItemAggregation , PropertySheet.Arrow
, PropertySheet.Amount , PropertySheet.BankingOperation
) , PropertySheet.ItemAggregation
, PropertySheet.Amount
)
# Special index methods
security.declareProtected(Permissions.View, 'getBaobabSourceUid') # Special index methods
def getBaobabSourceUid(self): security.declareProtected(Permissions.View, 'getBaobabSourceUid')
""" def getBaobabSourceUid(self):
Returns a calculated source """
""" Returns a calculated source.
return self.getSourceUid() """
return self.getSourceUid()
security.declareProtected(Permissions.View, 'getBaobabDestinationUid')
def getBaobabDestinationUid(self): security.declareProtected(Permissions.View, 'getBaobabDestinationUid')
""" def getBaobabDestinationUid(self):
Returns a calculated destination """
""" Returns a calculated destination.
return self.getDestinationUid() """
return self.getDestinationUid()
security.declareProtected(Permissions.View, 'getBaobabSourceSectionUid')
def getBaobabSourceSectionUid(self): security.declareProtected(Permissions.View, 'getBaobabSourceSectionUid')
""" def getBaobabSourceSectionUid(self):
Returns a calculated source section """
""" Returns a calculated source section.
return self.getSourceSectionUid() """
return self.getSourceSectionUid()
security.declareProtected(Permissions.View, 'getBaobabDestinationSectionUid')
def getBaobabDestinationSectionUid(self): security.declareProtected(Permissions.View, 'getBaobabDestinationSectionUid')
""" def getBaobabDestinationSectionUid(self):
Returns a calculated destination section """
""" Returns a calculated destination section.
return self.getDestinationSectionUid() """
return self.getDestinationSectionUid()
# Dynamic patch
### Dynamic patch
Delivery.getBaobabSource = lambda x: x.getSource() Delivery.getBaobabSource = lambda x: x.getSource()
Delivery.security.declareProtected(Permissions.View, 'getBaobabSource') Delivery.security.declareProtected(Permissions.View, 'getBaobabSource')
Delivery.getBaobabSourceUid = lambda x: x.getSourceUid() Delivery.getBaobabSourceUid = lambda x: x.getSourceUid()
...@@ -100,8 +102,7 @@ Delivery.security.declareProtected(Permissions.View, 'getBaobabSourceSectionUid' ...@@ -100,8 +102,7 @@ Delivery.security.declareProtected(Permissions.View, 'getBaobabSourceSectionUid'
Delivery.getBaobabDestinationSectionUid = lambda x: x.getDestinationSectionUid() Delivery.getBaobabDestinationSectionUid = lambda x: x.getDestinationSectionUid()
Delivery.security.declareProtected(Permissions.View, 'getBaobabDestinationSectionUid') Delivery.security.declareProtected(Permissions.View, 'getBaobabDestinationSectionUid')
### Overload Movement
# Overload Movement
Movement.getBaobabSource = lambda x: x.getSource() Movement.getBaobabSource = lambda x: x.getSource()
Movement.security.declareProtected(Permissions.View, 'getBaobabSource') Movement.security.declareProtected(Permissions.View, 'getBaobabSource')
Movement.getBaobabSourceUid = lambda x: x.getSourceUid() Movement.getBaobabSourceUid = lambda x: x.getSourceUid()
...@@ -113,7 +114,7 @@ Movement.security.declareProtected(Permissions.View, 'getBaobabSourceSectionUid' ...@@ -113,7 +114,7 @@ Movement.security.declareProtected(Permissions.View, 'getBaobabSourceSectionUid'
Movement.getBaobabDestinationSectionUid = lambda x: x.getDestinationSectionUid() Movement.getBaobabDestinationSectionUid = lambda x: x.getDestinationSectionUid()
Movement.security.declareProtected(Permissions.View, 'getBaobabDestinationSectionUid') Movement.security.declareProtected(Permissions.View, 'getBaobabDestinationSectionUid')
# Acquire Baobab source / destination uids from parent line ### Acquire Baobab source / destination uids from parent line
DeliveryCell.getBaobabSource = lambda x: x.aq_parent.getBaobabSource() DeliveryCell.getBaobabSource = lambda x: x.aq_parent.getBaobabSource()
DeliveryCell.security.declareProtected(Permissions.View, 'getBaobabSource') DeliveryCell.security.declareProtected(Permissions.View, 'getBaobabSource')
DeliveryCell.getBaobabSourceUid = lambda x: x.aq_parent.getBaobabSourceUid() DeliveryCell.getBaobabSourceUid = lambda x: x.aq_parent.getBaobabSourceUid()
...@@ -124,7 +125,3 @@ DeliveryCell.getBaobabSourceSectionUid = lambda x: x.aq_parent.getBaobabSourceSe ...@@ -124,7 +125,3 @@ DeliveryCell.getBaobabSourceSectionUid = lambda x: x.aq_parent.getBaobabSourceSe
DeliveryCell.security.declareProtected(Permissions.View, 'getBaobabSourceSectionUid') DeliveryCell.security.declareProtected(Permissions.View, 'getBaobabSourceSectionUid')
DeliveryCell.BaobabDestinationSectionUid = lambda x: x.aq_parent.getBaobabDestinationSectionUid() DeliveryCell.BaobabDestinationSectionUid = lambda x: x.aq_parent.getBaobabDestinationSectionUid()
DeliveryCell.security.declareProtected(Permissions.View, 'getBaobabDestinationSectionUid') DeliveryCell.security.declareProtected(Permissions.View, 'getBaobabDestinationSectionUid')
############################################################################## ##############################################################################
# #
# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved. # Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
# #
# WARNING: This program as such is intended to be used by professional # WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential # programmers who take the whole responsability of assessing all potential
...@@ -31,35 +31,35 @@ from Products.CMFCore.WorkflowCore import WorkflowMethod ...@@ -31,35 +31,35 @@ from Products.CMFCore.WorkflowCore import WorkflowMethod
from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
from Products.ERP5.Document.AccountingTransactionLine import AccountingTransactionLine from Products.ERP5.Document.AccountingTransactionLine import AccountingTransactionLine
class BankingOperationLine(AccountingTransactionLine):
# CMF Type Definition
meta_type = 'BAOBAB Banking Operation Line'
portal_type = 'Banking Operation Line'
isPortalContent = 1
isRADContent = 1
# Declarative security class BankingOperationLine(AccountingTransactionLine):
security = ClassSecurityInfo() # CMF Type Definition
security.declareObjectProtected(Permissions.View) meta_type = 'BAOBAB Banking Operation Line'
portal_type = 'Banking Operation Line'
isPortalContent = 1
isRADContent = 1
# Default Properties # Declarative security
property_sheets = ( PropertySheet.Base security = ClassSecurityInfo()
, PropertySheet.XMLObject security.declareObjectProtected(Permissions.View)
, PropertySheet.CategoryCore
, PropertySheet.DublinCore
)
security.declareProtected(Permissions.View, 'getBaobabSourceUid') # Default Properties
def getBaobabSourceUid(self): property_sheets = ( PropertySheet.Base
""" , PropertySheet.XMLObject
Returns a calculated source , PropertySheet.CategoryCore
""" , PropertySheet.DublinCore
return self.getSourceUid() )
security.declareProtected(Permissions.View, 'getBaobabDestinationUid') security.declareProtected(Permissions.View, 'getBaobabSourceUid')
def getBaobabDestinationUid(self): def getBaobabSourceUid(self):
""" """
Returns a calculated destination Returns a calculated source.
""" """
return self.getDestinationUid() return self.getSourceUid()
security.declareProtected(Permissions.View, 'getBaobabDestinationUid')
def getBaobabDestinationUid(self):
"""
Returns a calculated destination.
"""
return self.getDestinationUid()
##############################################################################
#
# Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from AccessControl import ClassSecurityInfo from AccessControl import ClassSecurityInfo
from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
from Products.ERP5.Document.Container import Container from Products.ERP5.Document.Container import Container
class CashContainer(Container):
"""
A Cash DeliveryLine object allows to implement lines in
Cash Deliveries (packing list, Check payment, Cash Movement, etc.)
It may include a price (for insurance, for customs, for invoices, class CashContainer(Container):
for orders) """
""" A Cash DeliveryLine object allows to implement lines
in Cash Deliveries (packing list, Check payment, Cash Movement, etc.).
meta_type = 'BAOBAB Cash Container' It may include a price (for insurance, for customs, for invoices,
portal_type = 'Cash Container' for orders).
add_permission = Permissions.AddPortalContent """
isPortalContent = 1
isRADContent = 1
# Declarative security meta_type = 'BAOBAB Cash Container'
security = ClassSecurityInfo() portal_type = 'Cash Container'
security.declareObjectProtected(Permissions.View) add_permission = Permissions.AddPortalContent
isPortalContent = 1
isRADContent = 1
# Declarative interfaces # Declarative security
# __implements__ = ( Interface.Ved, ) security = ClassSecurityInfo()
security.declareObjectProtected(Permissions.View)
# Declarative properties # Declarative properties
property_sheets = ( PropertySheet.Base property_sheets = ( PropertySheet.Base
, PropertySheet.XMLObject , PropertySheet.XMLObject
, PropertySheet.CategoryCore , PropertySheet.CategoryCore
, PropertySheet.Amount , PropertySheet.Amount
, PropertySheet.Task , PropertySheet.Task
, PropertySheet.Arrow , PropertySheet.Arrow
, PropertySheet.Movement , PropertySheet.Movement
, PropertySheet.Price , PropertySheet.Price
, PropertySheet.VariationRange , PropertySheet.VariationRange
, PropertySheet.ItemAggregation , PropertySheet.ItemAggregation
, PropertySheet.Container , PropertySheet.Container
, PropertySheet.CashContainer , PropertySheet.CashContainer
, PropertySheet.Reference , PropertySheet.Reference
) )
############################################################################## ##############################################################################
# #
# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved. # Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
# Jean-Paul Smets-Solanes <jp@nexedi.com> # Jean-Paul Smets-Solanes <jp@nexedi.com>
# #
# WARNING: This program as such is intended to be used by professional # WARNING: This program as such is intended to be used by professional
...@@ -35,80 +35,80 @@ from zLOG import LOG ...@@ -35,80 +35,80 @@ from zLOG import LOG
class CashCurrency(Resource): class CashCurrency(Resource):
""" """
A Resource A Resource
""" """
meta_type = 'BAOBAB Cash Currency' meta_type = 'BAOBAB Cash Currency'
portal_type = 'Cash Currency' portal_type = 'Cash Currency'
add_permission = Permissions.AddPortalContent add_permission = Permissions.AddPortalContent
isPortalContent = 1 isPortalContent = 1
isRADContent = 1 isRADContent = 1
# Declarative security # Declarative security
security = ClassSecurityInfo() security = ClassSecurityInfo()
security.declareObjectProtected(Permissions.View) security.declareObjectProtected(Permissions.View)
# Declarative interfaces # Declarative interfaces
__implements__ = ( Interface.Variated, ) __implements__ = ( Interface.Variated, )
# Declarative properties # Declarative properties
property_sheets = ( PropertySheet.Base property_sheets = ( PropertySheet.Base
, PropertySheet.XMLObject , PropertySheet.XMLObject
, PropertySheet.CategoryCore , PropertySheet.CategoryCore
, PropertySheet.DublinCore , PropertySheet.DublinCore
, PropertySheet.Price , PropertySheet.Price
, PropertySheet.Resource , PropertySheet.Resource
, PropertySheet.Reference , PropertySheet.Reference
, PropertySheet.FlowCapacity , PropertySheet.FlowCapacity
, PropertySheet.VariationRange , PropertySheet.VariationRange
, PropertySheet.CashCurrency , PropertySheet.CashCurrency
) )
security.declareProtected(Permissions.View,'getTitle') security.declareProtected(Permissions.View,'getTitle')
def getTitle(self,**kw): def getTitle(self,**kw):
""" """
The title will depend on the Portal Type and the value, for example : The title will depend on the Portal Type and the value, for example :
Piece de 500 Piece de 500
""" """
title = self.portal_types[self.getPortalType()].title title = self.portal_types[self.getPortalType()].title
price = self.getBasePrice() price = self.getBasePrice()
if price is None: if price is None:
price = 'Not Defined' price = 'Not Defined'
else: else:
price = '%i' % int(price) price = '%i' % int(price)
title = '%s de %s' % (title, price) title = '%s de %s' % (title, price)
return title return title
security.declareProtected(Permissions.ModifyPortalContent, '_setVariationList') security.declareProtected(Permissions.ModifyPortalContent, '_setVariationList')
def _setVariationList(self,value): def _setVariationList(self,value):
""" """
We will create cells by the same time We will create cells by the same time
""" """
LOG('_setVariationList, value',0,value) LOG('_setVariationList, value',0,value)
self._categorySetVariationList(value) self._categorySetVariationList(value)
self.setVariationBaseCategoryList(('cash_status','emission_letter','variation')) self.setVariationBaseCategoryList(('cash_status','emission_letter','variation'))
#all_variation_list = self.OrderLine_getMatrixItemList() #all_variation_list = self.OrderLine_getMatrixItemList()
#emission_letter_list = [x for x in all_variation_list if x.startswith('emission_letter')] #emission_letter_list = [x for x in all_variation_list if x.startswith('emission_letter')]
emission_letter_list = [x[1] for x in self.portal_categories.emission_letter.getCategoryChildTitleItemList()[1:]] emission_letter_list = [x[1] for x in self.portal_categories.emission_letter.getCategoryChildTitleItemList()[1:]]
self._categorySetEmissionLetterList(emission_letter_list) self._categorySetEmissionLetterList(emission_letter_list)
#cash_status_list = [x for x in all_variation_list if x.startswith('cash_status')] #cash_status_list = [x for x in all_variation_list if x.startswith('cash_status')]
cash_status_list = [x[1] for x in self.portal_categories.cash_status.getCategoryChildTitleItemList()[1:]] cash_status_list = [x[1] for x in self.portal_categories.cash_status.getCategoryChildTitleItemList()[1:]]
self._categorySetCashStatusList(cash_status_list) self._categorySetCashStatusList(cash_status_list)
security.declareProtected(Permissions.ModifyPortalContent, 'setVariationList') security.declareProtected(Permissions.ModifyPortalContent, 'setVariationList')
def setVariationList(self,value): def setVariationList(self,value):
""" """
Call the private method Call the private method
""" """
self._setVariationList(value) self._setVariationList(value)
# Cell Related # Cell Related
security.declareProtected( Permissions.ModifyPortalContent, 'newCellContent' ) security.declareProtected( Permissions.ModifyPortalContent, 'newCellContent' )
def newCellContent(self, id): def newCellContent(self, id):
""" """
This method can be overriden This method can be overriden
""" """
self.invokeFactory(type_name="Set Mapped Value",id=id) self.invokeFactory(type_name="Set Mapped Value",id=id)
return self.get(id) return self.get(id)
##############################################################################
#
# Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
# Kevin Deldycke <kevin_AT_nexedi_DOT_com>
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from AccessControl import ClassSecurityInfo
from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
from Products.ERP5.Document.Delivery import Delivery
class CashDelivery(Delivery):
"""
"""
meta_type = 'BAOBAB Cash Delivery'
portal_type = 'Cash Delivery'
add_permission = Permissions.AddPortalContent
isPortalContent = 1
isRADContent = 1
# Declarative security
security = ClassSecurityInfo()
security.declareObjectProtected(Permissions.View)
# Declarative interfaces
__implements__ = ( Interface.Variated, )
# Declarative properties
property_sheets = ( PropertySheet.Base
, PropertySheet.XMLObject
, PropertySheet.CategoryCore
, PropertySheet.Amount
, PropertySheet.Task
, PropertySheet.Arrow
, PropertySheet.Movement
, PropertySheet.Price
, PropertySheet.VariationRange
, PropertySheet.ItemAggregation
)
############################################################################## ##############################################################################
# #
# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved. # Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
# Jean-Paul Smets-Solanes <jp@nexedi.com> # Jean-Paul Smets-Solanes <jp@nexedi.com>
# #
# WARNING: This program as such is intended to be used by professional # WARNING: This program as such is intended to be used by professional
...@@ -35,85 +35,85 @@ out_portal_type_list = ('Cash Exchange Line Out', 'Cash To Currency Sale Line Ou ...@@ -35,85 +35,85 @@ out_portal_type_list = ('Cash Exchange Line Out', 'Cash To Currency Sale Line Ou
class CashDeliveryLine(DeliveryLine): class CashDeliveryLine(DeliveryLine):
""" """
A Cash DeliveryLine object allows to implement lines in A Cash DeliveryLine object allows to implement lines
Cash Deliveries (packing list, Check payment, Cash Movement, etc.) in Cash Deliveries (packing list, Check payment, Cash Movement, etc.).
It may include a price (for insurance, for customs, for invoices, It may include a price (for insurance, for customs, for invoices,
for orders) for orders).
""" """
meta_type = 'BAOBAB Cash Delivery Line' meta_type = 'BAOBAB Cash Delivery Line'
portal_type = 'Cash Delivery Line' portal_type = 'Cash Delivery Line'
add_permission = Permissions.AddPortalContent add_permission = Permissions.AddPortalContent
isPortalContent = 1 isPortalContent = 1
isRADContent = 1 isRADContent = 1
# Declarative security # Declarative security
security = ClassSecurityInfo() security = ClassSecurityInfo()
security.declareObjectProtected(Permissions.View) security.declareObjectProtected(Permissions.View)
# Declarative interfaces # Declarative interfaces
__implements__ = ( Interface.Variated, ) __implements__ = ( Interface.Variated, )
# Declarative properties # Declarative properties
property_sheets = ( PropertySheet.Base property_sheets = ( PropertySheet.Base
, PropertySheet.XMLObject , PropertySheet.XMLObject
, PropertySheet.CategoryCore , PropertySheet.CategoryCore
, PropertySheet.Amount , PropertySheet.Amount
, PropertySheet.Task , PropertySheet.Task
, PropertySheet.Arrow , PropertySheet.Arrow
, PropertySheet.Movement , PropertySheet.Movement
, PropertySheet.Price , PropertySheet.Price
, PropertySheet.VariationRange , PropertySheet.VariationRange
, PropertySheet.ItemAggregation , PropertySheet.ItemAggregation
, PropertySheet.CashDeliveryLine , PropertySheet.CashDeliveryLine
) )
security.declareProtected(Permissions.View, 'getBaobabSourceSectionUid') security.declareProtected(Permissions.View, 'getBaobabSourceSectionUid')
def getBaobabSourceSectionUid(self): def getBaobabSourceSectionUid(self):
""" """
Returns a calculated source section Returns a calculated source section
""" """
return self.getSourceSectionUid() return self.getSourceSectionUid()
security.declareProtected(Permissions.View, 'getBaobabDestinationSectionUid') security.declareProtected(Permissions.View, 'getBaobabDestinationSectionUid')
def getBaobabDestinationSectionUid(self): def getBaobabDestinationSectionUid(self):
""" """
Returns a calculated destination section Returns a calculated destination section
""" """
return self.getDestinationSectionUid() return self.getDestinationSectionUid()
security.declareProtected(Permissions.View, 'getBaobabSource') security.declareProtected(Permissions.View, 'getBaobabSource')
def getBaobabSource(self): def getBaobabSource(self):
""" """
Returns a calculated source Returns a calculated source
""" """
if self.portal_type in out_portal_type_list: if self.portal_type in out_portal_type_list:
return self.portal_categories.resolveCategory(self.getSource()).unrestrictedTraverse('sortante').getRelativeUrl() return self.portal_categories.resolveCategory(self.getSource()).unrestrictedTraverse('sortante').getRelativeUrl()
elif self.portal_type in in_portal_type_list: elif self.portal_type in in_portal_type_list:
return None return None
return self.getSource() return self.getSource()
security.declareProtected(Permissions.View, 'getBaobabSourceUid') security.declareProtected(Permissions.View, 'getBaobabSourceUid')
def getBaobabSourceUid(self): def getBaobabSourceUid(self):
""" """
Returns a calculated source Returns a calculated source
""" """
if self.portal_type in out_portal_type_list: if self.portal_type in out_portal_type_list:
return self.portal_categories.resolveCategory(self.getSource()).unrestrictedTraverse('sortante').getUid() return self.portal_categories.resolveCategory(self.getSource()).unrestrictedTraverse('sortante').getUid()
elif self.portal_type in in_portal_type_list: elif self.portal_type in in_portal_type_list:
return None return None
return self.getSourceUid() return self.getSourceUid()
security.declareProtected(Permissions.View, 'getBaobabDestinationUid') security.declareProtected(Permissions.View, 'getBaobabDestinationUid')
def getBaobabDestinationUid(self): def getBaobabDestinationUid(self):
""" """
Returns a calculated destination Returns a calculated destination
""" """
if self.portal_type in in_portal_type_list: if self.portal_type in in_portal_type_list:
return self.portal_categories.resolveCategory(self.getSource()).unrestrictedTraverse('entrante').getUid() return self.portal_categories.resolveCategory(self.getSource()).unrestrictedTraverse('entrante').getUid()
elif self.portal_type in out_portal_type_list : elif self.portal_type in out_portal_type_list :
return None return None
return self.getDestinationUid() return self.getDestinationUid()
############################################################################## ##############################################################################
# #
# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved. # Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
# K. Toure <ktoure@nexedi.com> # K. Toure <ktoure_AT_nexedi_DOT_com>
# #
# WARNING: This program as such is intended to be used by professional # WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential # programmers who take the whole responsability of assessing all potential
...@@ -28,20 +28,20 @@ ...@@ -28,20 +28,20 @@
class BankingOperation: class BankingOperation:
""" """
Person properties and categories Person properties and categories
""" """
_properties = ( _properties = (
# Subordination properties # Subordination properties
{ 'id' : 'movement', { 'id' : 'movement',
'storage_id' : 'movement', 'storage_id' : 'movement',
'description' : 'The current amount', 'description' : 'The current amount',
'type' : 'content', 'type' : 'content',
'portal_type' : ('Accounting Transaction Line'), 'portal_type' : ('Accounting Transaction Line'),
'acquired_property_id' : ('source_debit', 'source_credit'), 'acquired_property_id' : ('source_debit', 'source_credit'),
'mode' : 'w' }, 'mode' : 'w' },
) )
_categories = () _categories = ()
############################################################################## ##############################################################################
# #
# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved. # Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
# #
# WARNING: This program as such is intended to be used by professional # WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential # programmers who take the whole responsability of assessing all potential
...@@ -24,22 +24,25 @@ ...@@ -24,22 +24,25 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# #
############################################################################## ##############################################################################
class CashContainer: class CashContainer:
""" """
VariationRange which allows to define possible VariationRange which allows to define possible
variations for a Resource, a Transformation, etc. variations for a Resource, a Transformation, etc.
""" """
_properties = ( _properties = (
{ 'id' : 'cash_number_range_start', { 'id' : 'cash_number_range_start',
'description' : '', 'description' : '',
'type' : 'string', 'type' : 'string',
'mode' : 'w' 'mode' : 'w'
}, },
{ 'id' : 'cash_number_range_stop', { 'id' : 'cash_number_range_stop',
'description' : '', 'description' : '',
'type' : 'string', 'type' : 'string',
'mode' : 'w' 'mode' : 'w'
} }
) )
_categories = ( 'emission_letter','cash_status','variation')
_categories = ( 'emission_letter','cash_status','variation')
############################################################################## ##############################################################################
# #
# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved. # Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
# Jean-Paul Smets-Solanes <jp@nexedi.com> # Jean-Paul Smets-Solanes <jp@nexedi.com>
# #
# WARNING: This program as such is intended to be used by professional # WARNING: This program as such is intended to be used by professional
...@@ -26,13 +26,15 @@ ...@@ -26,13 +26,15 @@
# #
############################################################################## ##############################################################################
class CashCurrency:
"""
Properties which allow to define a BankNote or a Coin
"""
_properties = () class CashCurrency:
"""
Properties which allow to define a BankNote or a Coin.
"""
_categories = ( 'emission_letter','cash_status','variation') _properties = ()
_categories = ( 'emission_letter'
, 'cash_status'
, 'variation'
)
############################################################################## ##############################################################################
# #
# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved. # Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
# Jean-Paul Smets-Solanes <jp@nexedi.com> # Jean-Paul Smets-Solanes <jp@nexedi.com>
# #
# WARNING: This program as such is intended to be used by professional # WARNING: This program as such is intended to be used by professional
...@@ -27,12 +27,14 @@ ...@@ -27,12 +27,14 @@
############################################################################## ##############################################################################
class CashDeliveryLine: class CashDeliveryLine:
""" """
VariationRange which allows to define possible VariationRange which allows to define possible
variations for a Resource, a Transformation, etc. variations for a Resource, a Transformation, etc.
""" """
_properties = ( _properties = (
) )
_categories = ('emission_letter','cash_status') _categories = ( 'emission_letter'
, 'cash_status'
)
############################################################################## ##############################################################################
# #
# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved. # Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
# #
# WARNING: This program as such is intended to be used by professional # WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential # programmers who take the whole responsability of assessing all potential
...@@ -24,28 +24,31 @@ ...@@ -24,28 +24,31 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# #
############################################################################## ##############################################################################
class Checkbook: class Checkbook:
""" """
VariationRange which allows to define possible VariationRange which allows to define possible
variations for a Resource, a Transformation, etc. variations for a Resource, a Transformation, etc.
""" """
_properties = (
{ 'id' : 'check_number_range_start',
'description' : '',
'type' : 'string',
'mode' : 'w'
},
{ 'id' : 'check_number_range_stop',
'description' : '',
'type' : 'string',
'mode' : 'w'
},
{ 'id' : 'variation_base_category',
'description' : '',
'type' : 'lines',
'mode' : 'r',
'default' : ['checkbook_type']
}
)
_properties = ( _categories = ('checkbook_type',)
{ 'id' : 'check_number_range_start',
'description' : '',
'type' : 'string',
'mode' : 'w'
},
{ 'id' : 'check_number_range_stop',
'description' : '',
'type' : 'string',
'mode' : 'w'
},
{ 'id' : 'variation_base_category',
'description' : '',
'type' : 'lines',
'mode' : 'r',
'default' : ['checkbook_type']
}
)
_categories = ('checkbook_type',)
...@@ -281,7 +281,7 @@ ...@@ -281,7 +281,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>python:[(\'\',\'\')]+map(lambda x:(x.id,\'currency/%s\' %x.id),here.currency.objectValues())</string> </value> <value> <string>python:[(\'\',\'\')]+map(lambda x:(x.id,\'currency_module/%s\' %x.id),here.currency_module.objectValues())</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value> <string encoding="base64">O/INCg==</string> </value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string># Return the currency used as a reference for banking transaction.\n
return \'EUR\'\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value> <string encoding="base64">YwAAAAAAAAAAAQAAAEAAAABzDQAAAGQBAIQAAFoAAGQAAFMoAgAAAE5jAAAAAAAAAAACAAAAQwAA
AHMIAAAAZAEAU2QAAFMoAgAAAE5zAwAAAEVVUigAAAAAKAAAAAAoAAAAACgAAAAAcw8AAABTY3Jp
cHQgKFB5dGhvbilzIwAAAEJhb2JhYl9nZXRQb3J0YWxSZWZlcmVuY2VDdXJyZW5jeUlEAQAAAHMC
AAAAAAEoAQAAAHMjAAAAQmFvYmFiX2dldFBvcnRhbFJlZmVyZW5jZUN1cnJlbmN5SUQoAQAAAHMj
AAAAQmFvYmFiX2dldFBvcnRhbFJlZmVyZW5jZUN1cnJlbmN5SUQoAAAAACgAAAAAcw8AAABTY3Jp
cHQgKFB5dGhvbilzCAAAADxtb2R1bGU+AQAAAHMAAAAA</string> </value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value> <string>Script (Python):/baobab/portal_skins/erp5_banking_core/Baobab_getPortalReferenceCurrencyID</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Baobab_getPortalReferenceCurrencyID</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -70,7 +70,12 @@ ...@@ -70,7 +70,12 @@
# get the current logged user site\n # get the current logged user site\n
user_id = context.portal_membership.getAuthenticatedMember().getUserName()\n user_id = context.portal_membership.getAuthenticatedMember().getUserName()\n
person = context.person[user_id]\n \n
### KEV HACK: support old and new person module id\n
try:\n
person = context.person[user_id]\n
except:\n
person = context.person_module[user_id]\n
\n \n
assignment_list = person.contentValues(filter={\'portal_type\': \'Assignment\'})\n assignment_list = person.contentValues(filter={\'portal_type\': \'Assignment\'})\n
\n \n
...@@ -92,26 +97,27 @@ return valid_assignment_list\n ...@@ -92,26 +97,27 @@ return valid_assignment_list\n
</item> </item>
<item> <item>
<key> <string>_code</string> </key> <key> <string>_code</string> </key>
<value> <string encoding="base64">YwAAAAAAAAAAAQAAAEAAAABzDQAAAGQBAIQAAFoAAGQAAFMoAgAAAE5jAAAAAA4AAAANAAAAQwAA <value> <string encoding="base64">YwAAAAAAAAAAAQAAAEAAAABzDQAAAGQBAIQAAFoAAGQAAFMoAgAAAE5jAAAAAA4AAAATAAAAQwAA
AHMVAQAAdAAAdAAAdAAAdAEAZAEAgwIAZAIAgwIAgwAAZAMAgwIAgwAAfQIAdAMAdAAAdAEAZAQA AHM7AQAAdAAAdAAAdAAAdAEAZAEAgwIAZAIAgwIAgwAAZAMAgwIAgwAAfQIAeRwAdAMAdAAAdAEA
gwIAfAIAgwIAfQQAdAAAfAQAZAUAgwIAZAYAaAAABGQHAGQIAAM8gwABfQUAdAYAfAUAgwEAZAkA ZAQAgwIAfAIAgwIAfQQAV24fAAEBAXQDAHQAAHQBAGQFAIMCAHwCAIMCAH0EAG4BAFh0AAB8BABk
agIAbwgAAWcAAFNuAQABZwAAfQcAeIkAdAgAfAUAgwEARF17AH0JAHQAAHwJAGQKAIMCAIMAAH0K BgCDAgBkBwBoAAAEZAgAZAkAAzyDAAF9BQB0BgB8BQCDAQBkCgBqAgBvCAABZwAAU24BAAFnAAB9
AHQAAHwJAGQLAIMCAIMAAH0LAHwKAHQMAIMAAGoEAHAKAAF8CgB0DQBqAgBvGgABfAsAdAwAgwAA BwB4iQB0CAB8BQCDAQBEXXsAfQkAdAAAfAkAZAsAgwIAgwAAfQoAdAAAfAkAZAwAgwIAgwAAfQsA
agAAcAoAAXwLAHQNAGoCAG8XAAF0AAB8BwBkDACDAgB8CQCDAQABcY4AAXGOAFd8BwBTZAAAUygN fAoAdAwAgwAAagQAcAoAAXwKAHQNAGoCAG8aAAF8CwB0DACDAABqAABwCgABfAsAdA0AagIAbxcA
AAAATnMRAAAAcG9ydGFsX21lbWJlcnNoaXBzFgAAAGdldEF1dGhlbnRpY2F0ZWRNZW1iZXJzCwAA AXQAAHwHAGQNAIMCAHwJAIMBAAFxtAABcbQAV3wHAFNkAABTKA4AAABOcxEAAABwb3J0YWxfbWVt
AGdldFVzZXJOYW1lcwYAAABwZXJzb25zDQAAAGNvbnRlbnRWYWx1ZXNzBgAAAGZpbHRlcnMLAAAA YmVyc2hpcHMWAAAAZ2V0QXV0aGVudGljYXRlZE1lbWJlcnMLAAAAZ2V0VXNlck5hbWVzBgAAAHBl
cG9ydGFsX3R5cGVzCgAAAEFzc2lnbm1lbnRpAAAAAHMLAAAAZ2V0U3RvcERhdGVzDAAAAGdldFN0 cnNvbnMNAAAAcGVyc29uX21vZHVsZXMNAAAAY29udGVudFZhbHVlc3MGAAAAZmlsdGVycwsAAABw
YXJ0RGF0ZXMGAAAAYXBwZW5kKA4AAABzCQAAAF9nZXRhdHRyX3MHAAAAY29udGV4dHMHAAAAdXNl b3J0YWxfdHlwZXMKAAAAQXNzaWdubWVudGkAAAAAcwsAAABnZXRTdG9wRGF0ZXMMAAAAZ2V0U3Rh
cl9pZHMJAAAAX2dldGl0ZW1fcwYAAABwZXJzb25zDwAAAGFzc2lnbm1lbnRfbGlzdHMDAAAAbGVu cnREYXRlcwYAAABhcHBlbmQoDgAAAHMJAAAAX2dldGF0dHJfcwcAAABjb250ZXh0cwcAAAB1c2Vy
cxUAAAB2YWxpZF9hc3NpZ25tZW50X2xpc3RzCQAAAF9nZXRpdGVyX3MBAAAAYXMEAAAAc3RvcHMF X2lkcwkAAABfZ2V0aXRlbV9zBgAAAHBlcnNvbnMPAAAAYXNzaWdubWVudF9saXN0cwMAAABsZW5z
AAAAc3RhcnRzCAAAAERhdGVUaW1lcwQAAABOb25lKA4AAABzCQAAAF9nZXRhdHRyX3MHAAAAY29u FQAAAHZhbGlkX2Fzc2lnbm1lbnRfbGlzdHMJAAAAX2dldGl0ZXJfcwEAAABhcwQAAABzdG9wcwUA
dGV4dHMHAAAAdXNlcl9pZHMJAAAAX2dldGl0ZW1fcwYAAABwZXJzb25zDwAAAGFzc2lnbm1lbnRf AABzdGFydHMIAAAARGF0ZVRpbWVzBAAAAE5vbmUoDgAAAHMJAAAAX2dldGF0dHJfcwcAAABjb250
bGlzdHMDAAAAbGVucxUAAAB2YWxpZF9hc3NpZ25tZW50X2xpc3RzCQAAAF9nZXRpdGVyX3MBAAAA ZXh0cwcAAAB1c2VyX2lkcwkAAABfZ2V0aXRlbV9zBgAAAHBlcnNvbnMPAAAAYXNzaWdubWVudF9s
YXMEAAAAc3RvcHMFAAAAc3RhcnRzCAAAAERhdGVUaW1lcwQAAABOb25lKAAAAAAoAAAAAHMPAAAA aXN0cwMAAABsZW5zFQAAAHZhbGlkX2Fzc2lnbm1lbnRfbGlzdHMJAAAAX2dldGl0ZXJfcwEAAABh
U2NyaXB0IChQeXRob24pcxwAAABCYW9iYWJfZ2V0VXNlckFzc2lnbm1lbnRMaXN0AQAAAHMaAAAA cwQAAABzdG9wcwUAAABzdGFydHMIAAAARGF0ZVRpbWVzBAAAAE5vbmUoAAAAACgAAAAAcw8AAABT
AAEnARgCIQITAQgCBgINAAYBEgESAT0BGAIoAQAAAHMcAAAAQmFvYmFiX2dldFVzZXJBc3NpZ25t Y3JpcHQgKFB5dGhvbilzHAAAAEJhb2JhYl9nZXRVc2VyQXNzaWdubWVudExpc3QBAAAAcx4AAAAA
ZW50TGlzdCgBAAAAcxwAAABCYW9iYWJfZ2V0VXNlckFzc2lnbm1lbnRMaXN0KAAAAAAoAAAAAHMP AScDAwEfAhwCIQITAQgCBgINAAYBEgESAT0BGAIoAQAAAHMcAAAAQmFvYmFiX2dldFVzZXJBc3Np
AAAAU2NyaXB0IChQeXRob24pcwgAAAA8bW9kdWxlPgEAAABzAAAAAA==</string> </value> Z25tZW50TGlzdCgBAAAAcxwAAABCYW9iYWJfZ2V0VXNlckFzc2lnbm1lbnRMaXN0KAAAAAAoAAAA
AHMPAAAAU2NyaXB0IChQeXRob24pcwgAAAA8bW9kdWxlPgEAAABzAAAAAA==</string> </value>
</item> </item>
<item> <item>
<key> <string>_filepath</string> </key> <key> <string>_filepath</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value> <string encoding="base64">O/INCg==</string> </value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>CashMovement_cashDetail_parameter = { \'line_portalType\' : \'Cash Movement Line\'\n
, \'operation_currency\' : \'EUR\'\n
, \'variation_list\' : None\n
, \'cashStatus_list\' : [\'not_defined\']\n
, \'emissionLetter_list\' : None\n
}\n
\n
CashMovement_cashDetail_parameter = { \'line_portalType\' : \'Cash Movement Line\' # The portal type that the fastinput will create\n
, \'operation_currency\' : context.Baobab_getPortalReferenceCurrencyID() # The operation currency\n
, \'cashStatus_list\' : None # List of possible cashStatus or None if all\n
, \'emissionLetter_list\' : None # List of possible emissionLetter or None if all\n
, \'variation_list\' : None # List of possible variation or None if all\n
, \'currencyCash_portalType\' : None # \'Coin\' or \'Banknote\' or None if both\n
, \'updatePossible\' : True # If true, the fastinput will not allow change\n
, \'columnBase\' : \'variation\' # possible values : \'variation\', \'cashStatus\', \'emissionLetter\'\n
#, \'columnBase\' : \'emissionLetter\' # possible values : \'variation\', \'cashStatus\', \'emissionLetter\'\n
#, \'columnBase\' : \'cashStatus\' # possible values : \'variation\', \'cashStatus\', \'emissionLetter\'\n
}\n
\n
\n
\n
\n
return context.CashDetail_fastInputUpdate( listbox = None\n
, cashDetail_parameter = CashMovement_cashDetail_parameter\n
, destination = context.getObject().absolute_url())\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value> <string encoding="base64">YwAAAAAAAAAAAQAAAEAAAABzDQAAAGQBAIQAAFoAAGQAAFMoAgAAAE5jAAAAAAUAAAALAAAAQwAA
AHPOAAAAaAAABGQBAGQCAAM8BGQDAGQEAAM8BGQFAHQAAAM8BGQGAGQHAGcBAAM8BGQIAHQAAAM8
fQEAaAAABGQBAGQCAAM8BGQDAHQCAHQDAGQJAIMCAIMAAAM8BGQGAHQAAAM8BGQIAHQAAAM8BGQF
AHQAAAM8BGQKAHQAAAM8BGQLAHQEAAM8BGQMAGQNAAM8fQEAdAIAdAMAZA4AgwIAZA8AdAAAZBAA
fAEAZBEAdAIAdAIAdAMAZBIAgwIAgwAAZBMAgwIAgwAAgwADU2QAAFMoFAAAAE5zDwAAAGxpbmVf
cG9ydGFsVHlwZXMSAAAAQ2FzaCBNb3ZlbWVudCBMaW5lcxIAAABvcGVyYXRpb25fY3VycmVuY3lz
AwAAAEVVUnMOAAAAdmFyaWF0aW9uX2xpc3RzDwAAAGNhc2hTdGF0dXNfbGlzdHMLAAAAbm90X2Rl
ZmluZWRzEwAAAGVtaXNzaW9uTGV0dGVyX2xpc3RzIwAAAEJhb2JhYl9nZXRQb3J0YWxSZWZlcmVu
Y2VDdXJyZW5jeUlEcxcAAABjdXJyZW5jeUNhc2hfcG9ydGFsVHlwZXMOAAAAdXBkYXRlUG9zc2li
bGVzCgAAAGNvbHVtbkJhc2VzCQAAAHZhcmlhdGlvbnMaAAAAQ2FzaERldGFpbF9mYXN0SW5wdXRV
cGRhdGVzBwAAAGxpc3Rib3hzFAAAAGNhc2hEZXRhaWxfcGFyYW1ldGVycwsAAABkZXN0aW5hdGlv
bnMJAAAAZ2V0T2JqZWN0cwwAAABhYnNvbHV0ZV91cmwoBQAAAHMEAAAATm9uZXMhAAAAQ2FzaE1v
dmVtZW50X2Nhc2hEZXRhaWxfcGFyYW1ldGVycwkAAABfZ2V0YXR0cl9zBwAAAGNvbnRleHRzBAAA
AFRydWUoBQAAAHMEAAAATm9uZXMhAAAAQ2FzaE1vdmVtZW50X2Nhc2hEZXRhaWxfcGFyYW1ldGVy
cwkAAABfZ2V0YXR0cl9zBwAAAGNvbnRleHRzBAAAAFRydWUoAAAAACgAAAAAcw8AAABTY3JpcHQg
KFB5dGhvbilzHQAAAENhc2hEZXRhaWxfbG9hZFNjcmlwdF9leGFtcGxlAQAAAHMaAAAAGQIJAQwB
CAMTARIBCQEJAQkBCQERCRUBDAEoAQAAAHMdAAAAQ2FzaERldGFpbF9sb2FkU2NyaXB0X2V4YW1w
bGUoAQAAAHMdAAAAQ2FzaERldGFpbF9sb2FkU2NyaXB0X2V4YW1wbGUoAAAAACgAAAAAcw8AAABT
Y3JpcHQgKFB5dGhvbilzCAAAADxtb2R1bGU+AQAAAHMAAAAA</string> </value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value> <string>Script (Python):/baobab/portal_skins/erp5_banking_core/CashDetail_loadScript_example</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>None</string>
<string>CashMovement_cashDetail_parameter</string>
<string>_getattr_</string>
<string>context</string>
<string>True</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CashDetail_loadScript_example</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -281,7 +281,7 @@ ...@@ -281,7 +281,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>python:[(\'\',\'\')]+map(lambda x:(x.id,\'currency/%s\' %x.id),here.currency.objectValues())</string> </value> <value> <string>python:[(\'\',\'\')]+map(lambda x:(x.id,\'currency_module/%s\' %x.id),here.currency_module.objectValues())</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -66,102 +66,44 @@ ...@@ -66,102 +66,44 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string>assigned_role_mapping = {}\n <value> <string>lineTotalPrice_list = [x.getObject().getTotalPrice() for x in context.searchFolder(portal_type="Container Line")]\n
\n totalPrice = 0\n
# Parse each role information\n for x in lineTotalPrice_list :\n
for role_id, role_information_list in role_mapping.items():\n totalPrice += x\n
for role_information in role_information_list:\n return totalPrice\n
if not assigned_role_mapping.has_key(role_id):\n
assigned_role_mapping[role_id] = []\n
\n
base_category = role_information[\'base_category\']\n
category = list(role_information[\'category\']) # turn this into a list so that we can append more categories\n
\n
site = None\n
group = None\n
function = None\n
\n
for cat_item in category:\n
# Parse each category and extract site, group, function\n
cat_list = cat_item.split(\'/\')\n
if cat_list[0] == \'site\':\n
site = \'/\'.join(cat_list[1:])\n
elif cat_list[0] == \'group\':\n
group = \'/\'.join(cat_list[1:])\n
elif cat_list[0] == \'function\':\n
function = \'/\'.join(cat_list[1:])\n
\n
# Rebuild the mapping_item - None means that Baobab_assignLocalRole will\n
# get it from the user assignments. No value means we should not care\n
mapping_item = {}\n
if site is not None or \'site\' in base_category:\n
mapping_item[\'site\'] = site\n
if group is not None or \'group\' in base_category:\n
mapping_item[\'group\'] = group\n
if function is not None or \'function\' in base_category:\n
mapping_item[\'function\'] = function\n
\n
assigned_role_mapping[role_id].append(mapping_item)\n
\n
context.setDescription(str(assigned_role_mapping))\n
\n
context.Baobab_assignLocalRole(**assigned_role_mapping)\n
\n
#raise \'KHADIM\', repr(context.Baobab_assignLocalRole(**assigned_role_mapping))\n
</string> </value> </string> </value>
</item> </item>
<item> <item>
<key> <string>_code</string> </key> <key> <string>_code</string> </key>
<value> <string encoding="base64">YwAAAAAAAAAAAQAAAEAAAABzDQAAAGQBAIQAAFoAAGQAAFMoAgAAAE5jAQAAABYAAAAYAAAAQwAA <value> <string encoding="base64">YwAAAAAAAAAAAgAAAEAAAABzEAAAAGUAAGQBAIQBAFoBAGQAAFMoAgAAAE5jAQAAAAoAAAAKAAAA
AHNzAgAAaAAAfQEAeDcCdAEAdAIAfAAAZAEAgwIAgwAAgwEARF0dAnQBAAKDAQBcAgB9BAB9BQB4 SwAAAHOGAAAAZwAABGkAAH0DAHQCAHQDAHQEAGQBAIMCAGQCAGQDAIMAAYMBAERdKAB9BwB8AwB0
BwJ0AQB8BQCDAQBEXfkBfQYAdAIAfAEAZAIAgwIAfAQAgwEADG8UAAFnAAB0BwB8AQCDAQB8BAA8 AwB0AwB8BwBkBACDAgCDAABkBQCDAgCDAACDAQABcSYAfgMAfQgAZAYAfQkAeB4AdAIAfAgAgwEA
bgEAAXQIAHwGAGQDAIMCAH0JAHQKAHQIAHwGAGQEAIMCAIMBAH0LAHQMAH0NAHQMAH0OAHQMAH0P RF0QAH0HAHwJAHwHADd9CQBxagBXfAkAU2QAAFMoBwAAAE5zDAAAAHNlYXJjaEZvbGRlcnMLAAAA
AHjjAHQBAHwLAIMBAERd1QB9EAB0AgB8EABkBQCDAgBkBgCDAQB9EQB0CAB8EQBkBwCDAgBkCABq cG9ydGFsX3R5cGVzDgAAAENvbnRhaW5lciBMaW5lcwkAAABnZXRPYmplY3RzDQAAAGdldFRvdGFs
AgBvKAABdAIAZAYAZAkAgwIAdAgAfBEAZAoAZAAAhQIAgwIAgwEAfQ0AcbMAAXQIAHwRAGQHAIMC UHJpY2VpAAAAACgIAAAAcwYAAABhcHBlbmRzCAAAACRhcHBlbmQwcwkAAABfZ2V0aXRlcl9zCQAA
AGQLAGoCAG8oAAF0AgBkBgBkCQCDAgB0CAB8EQBkCgBkAACFAgCDAgCDAQB9DgBxswABdAgAfBEA AF9nZXRhdHRyX3MHAAAAY29udGV4dHMBAAAAeHMTAAAAbGluZVRvdGFsUHJpY2VfbGlzdHMKAAAA
ZAcAgwIAZAwAagIAbygAAXQCAGQGAGQJAIMCAHQIAHwRAGQKAGQAAIUCAIMCAIMBAH0PAHGzAAFx dG90YWxQcmljZSgKAAAAcwcAAABsaXN0Ym94cwIAAABrd3MGAAAAYXBwZW5kcwgAAAAkYXBwZW5k
swBXaAAAfRIAfA0AdAwAagkAcAoAAWQIAHwJAGoGAG8UAAF8DQB0BwB8EgCDAQBkCAA8bgEAAXwO MHMJAAAAX2dldGl0ZXJfcwkAAABfZ2V0YXR0cl9zBwAAAGNvbnRleHRzAQAAAHhzEwAAAGxpbmVU
AHQMAGoJAHAKAAFkCwB8CQBqBgBvFAABfA4AdAcAfBIAgwEAZAsAPG4BAAF8DwB0DABqCQBwCgAB b3RhbFByaWNlX2xpc3RzCgAAAHRvdGFsUHJpY2UoAAAAACgAAAAAcw8AAABTY3JpcHQgKFB5dGhv
ZAwAfAkAagYAbxQAAXwPAHQHAHwSAIMBAGQMADxuAQABdAIAdAgAfAEAfAQAgwIAZA0AgwIAfBIA bilzIAAAAENvbnRhaW5lcl9nZXRDb250YWluZWVUb3RhbFByaWNlAQAAAHMMAAAAJgAxAQYBDQAG
gwEAAXE/AFdxHwBXdAIAdBMAZA4AgwIAdBQAfAEAgwEAgwEAAXQVAHQCAHQTAGQPAIMCAHwBAI0B AQ4BKAIAAABzBAAAAE5vbmVzIAAAAENvbnRhaW5lcl9nZXRDb250YWluZWVUb3RhbFByaWNlKAIA
AAFkAABTKBAAAABOcwUAAABpdGVtc3MHAAAAaGFzX2tleXMNAAAAYmFzZV9jYXRlZ29yeXMIAAAA AABzBAAAAE5vbmVzIAAAAENvbnRhaW5lcl9nZXRDb250YWluZWVUb3RhbFByaWNlKAAAAAAoAAAA
Y2F0ZWdvcnlzBQAAAHNwbGl0cwEAAAAvaQAAAABzBAAAAHNpdGVzBAAAAGpvaW5pAQAAAHMFAAAA AHMPAAAAU2NyaXB0IChQeXRob24pcwgAAAA8bW9kdWxlPgEAAABzAAAAAA==</string> </value>
Z3JvdXBzCAAAAGZ1bmN0aW9ucwYAAABhcHBlbmRzDgAAAHNldERlc2NyaXB0aW9ucxYAAABCYW9i
YWJfYXNzaWduTG9jYWxSb2xlKBYAAABzFQAAAGFzc2lnbmVkX3JvbGVfbWFwcGluZ3MJAAAAX2dl
dGl0ZXJfcwkAAABfZ2V0YXR0cl9zDAAAAHJvbGVfbWFwcGluZ3MHAAAAcm9sZV9pZHMVAAAAcm9s
ZV9pbmZvcm1hdGlvbl9saXN0cxAAAAByb2xlX2luZm9ybWF0aW9ucwcAAABfd3JpdGVfcwkAAABf
Z2V0aXRlbV9zDQAAAGJhc2VfY2F0ZWdvcnlzBAAAAGxpc3RzCAAAAGNhdGVnb3J5cwQAAABOb25l
cwQAAABzaXRlcwUAAABncm91cHMIAAAAZnVuY3Rpb25zCAAAAGNhdF9pdGVtcwgAAABjYXRfbGlz
dHMMAAAAbWFwcGluZ19pdGVtcwcAAABjb250ZXh0cwMAAABzdHJzBwAAAF9hcHBseV8oFgAAAHMM
AAAAcm9sZV9tYXBwaW5ncxUAAABhc3NpZ25lZF9yb2xlX21hcHBpbmdzCQAAAF9nZXRpdGVyX3MJ
AAAAX2dldGF0dHJfcwcAAAByb2xlX2lkcxUAAAByb2xlX2luZm9ybWF0aW9uX2xpc3RzEAAAAHJv
bGVfaW5mb3JtYXRpb25zBwAAAF93cml0ZV9zCQAAAF9nZXRpdGVtX3MNAAAAYmFzZV9jYXRlZ29y
eXMEAAAAbGlzdHMIAAAAY2F0ZWdvcnlzBAAAAE5vbmVzBAAAAHNpdGVzBQAAAGdyb3VwcwgAAABm
dW5jdGlvbnMIAAAAY2F0X2l0ZW1zCAAAAGNhdF9saXN0cwwAAABtYXBwaW5nX2l0ZW1zBwAAAGNv
bnRleHRzAwAAAHN0cnMHAAAAX2FwcGx5XygAAAAAKAAAAABzDwAAAFNjcmlwdCAoUHl0aG9uKXMd
AAAARVJQNVR5cGVfaW5pdExvY2FsUm9sZU1hcHBpbmcBAAAAczwAAAAGAxkAEwENAAYBFwEUAg8B
FQIGAQYBBgINAAYCFQEWASgBFgEoARYBLAQGARoBFAEaARQBGgEaAiECHAIoAQAAAHMdAAAARVJQ
NVR5cGVfaW5pdExvY2FsUm9sZU1hcHBpbmcoAQAAAHMdAAAARVJQNVR5cGVfaW5pdExvY2FsUm9s
ZU1hcHBpbmcoAAAAACgAAAAAcw8AAABTY3JpcHQgKFB5dGhvbilzCAAAADxtb2R1bGU+AQAAAHMA
AAAA</string> </value>
</item> </item>
<item> <item>
<key> <string>_filepath</string> </key> <key> <string>_filepath</string> </key>
<value> <string>Script (Python):/baobab/portal_skins/erp5_banking_core/ERP5Type_initLocalRoleMapping_DEPRECATED</string> </value> <value> <string>Script (Python):/baobab/portal_skins/erp5_banking_core/Container_getContaineeTotalPrice</string> </value>
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_owner</string> </key>
<value> <string>role_mapping</string> </value>
</item>
<item>
<key> <string>_proxy_roles</string> </key>
<value> <value>
<tuple> <none/>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value> </value>
</item> </item>
<item>
<key> <string>_params</string> </key>
<value> <string>listbox=None, **kw</string> </value>
</item>
<item> <item>
<key> <string>errors</string> </key> <key> <string>errors</string> </key>
<value> <value>
...@@ -186,28 +128,16 @@ AAAA</string> </value> ...@@ -186,28 +128,16 @@ AAAA</string> </value>
<key> <string>co_varnames</string> </key> <key> <string>co_varnames</string> </key>
<value> <value>
<tuple> <tuple>
<string>role_mapping</string> <string>listbox</string>
<string>assigned_role_mapping</string> <string>kw</string>
<string>append</string>
<string>$append0</string>
<string>_getiter_</string> <string>_getiter_</string>
<string>_getattr_</string> <string>_getattr_</string>
<string>role_id</string>
<string>role_information_list</string>
<string>role_information</string>
<string>_write_</string>
<string>_getitem_</string>
<string>base_category</string>
<string>list</string>
<string>category</string>
<string>None</string>
<string>site</string>
<string>group</string>
<string>function</string>
<string>cat_item</string>
<string>cat_list</string>
<string>mapping_item</string>
<string>context</string> <string>context</string>
<string>str</string> <string>x</string>
<string>_apply_</string> <string>lineTotalPrice_list</string>
<string>totalPrice</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -219,12 +149,14 @@ AAAA</string> </value> ...@@ -219,12 +149,14 @@ AAAA</string> </value>
<item> <item>
<key> <string>func_defaults</string> </key> <key> <string>func_defaults</string> </key>
<value> <value>
<none/> <tuple>
<none/>
</tuple>
</value> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>ERP5Type_initLocalRoleMapping_DEPRECATED</string> </value> <value> <string>Container_getContaineeTotalPrice</string> </value>
</item> </item>
<item> <item>
<key> <string>warnings</string> </key> <key> <string>warnings</string> </key>
......
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string>currency_list = [(\'%s - %s\' % (x.getId(), x.getTitle()), x.getRelativeUrl())\n <value> <string>currency_list = [(\'%s - %s\' % (x.getId(), x.getTitle()), x.getRelativeUrl())\n
for x in context.currency.objectValues()]\n for x in context.currency_module.objectValues()]\n
\n \n
currency_list.insert(0, (\'\',\'\'))\n currency_list.insert(0, (\'\',\'\'))\n
\n \n
...@@ -79,16 +79,16 @@ return currency_list\n ...@@ -79,16 +79,16 @@ return currency_list\n
<value> <string encoding="base64">YwAAAAAAAAAAAQAAAEAAAABzDQAAAGQBAIQAAFoAAGQAAFMoAgAAAE5jAAAAAAcAAAAMAAAAQwAA <value> <string encoding="base64">YwAAAAAAAAAAAQAAAEAAAABzDQAAAGQBAIQAAFoAAGQAAFMoAgAAAE5jAAAAAAcAAAAMAAAAQwAA
AHOaAAAAZwAABGkAAH0BAHQCAHQDAHQDAHQEAGQBAIMCAGQCAIMCAIMAAIMBAERdRAB9BQB8AQBk AHOaAAAAZwAABGkAAH0BAHQCAHQDAHQDAHQEAGQBAIMCAGQCAIMCAIMAAIMBAERdRAB9BQB8AQBk
AwB0AwB8BQBkBACDAgCDAAB0AwB8BQBkBQCDAgCDAABmAgAWdAMAfAUAZAYAgwIAgwAAZgIAgwEA AwB0AwB8BQBkBACDAgCDAAB0AwB8BQBkBQCDAgCDAABmAgAWdAMAfAUAZAYAgwIAgwAAZgIAgwEA
AXEpAH4BAH0GAHQDAHwGAGQHAIMCAGQIAGQJAGQJAGYCAIMCAAF8BgBTZAAAUygKAAAATnMIAAAA AXEpAH4BAH0GAHQDAHwGAGQHAIMCAGQIAGQJAGQJAGYCAIMCAAF8BgBTZAAAUygKAAAATnMPAAAA
Y3VycmVuY3lzDAAAAG9iamVjdFZhbHVlc3MHAAAAJXMgLSAlc3MFAAAAZ2V0SWRzCAAAAGdldFRp Y3VycmVuY3lfbW9kdWxlcwwAAABvYmplY3RWYWx1ZXNzBwAAACVzIC0gJXNzBQAAAGdldElkcwgA
dGxlcw4AAABnZXRSZWxhdGl2ZVVybHMGAAAAaW5zZXJ0aQAAAABzAAAAACgHAAAAcwYAAABhcHBl AABnZXRUaXRsZXMOAAAAZ2V0UmVsYXRpdmVVcmxzBgAAAGluc2VydGkAAAAAcwAAAAAoBwAAAHMG
bmRzCAAAACRhcHBlbmQwcwkAAABfZ2V0aXRlcl9zCQAAAF9nZXRhdHRyX3MHAAAAY29udGV4dHMB AAAAYXBwZW5kcwgAAAAkYXBwZW5kMHMJAAAAX2dldGl0ZXJfcwkAAABfZ2V0YXR0cl9zBwAAAGNv
AAAAeHMNAAAAY3VycmVuY3lfbGlzdCgHAAAAcwYAAABhcHBlbmRzCAAAACRhcHBlbmQwcwkAAABf bnRleHRzAQAAAHhzDQAAAGN1cnJlbmN5X2xpc3QoBwAAAHMGAAAAYXBwZW5kcwgAAAAkYXBwZW5k
Z2V0aXRlcl9zCQAAAF9nZXRhdHRyX3MHAAAAY29udGV4dHMBAAAAeHMNAAAAY3VycmVuY3lfbGlz MHMJAAAAX2dldGl0ZXJfcwkAAABfZ2V0YXR0cl9zBwAAAGNvbnRleHRzAQAAAHhzDQAAAGN1cnJl
dCgAAAAAKAAAAABzDwAAAFNjcmlwdCAoUHl0aG9uKXMgAAAAQ3VycmVuY3lFeGNoYW5nZV9nZXRD bmN5X2xpc3QoAAAAACgAAAAAcw8AAABTY3JpcHQgKFB5dGhvbilzIAAAAEN1cnJlbmN5RXhjaGFu
dXJyZW5jeUxpc3QBAAAAcwgAAAATARYAUAIZAigBAAAAcyAAAABDdXJyZW5jeUV4Y2hhbmdlX2dl Z2VfZ2V0Q3VycmVuY3lMaXN0AQAAAHMIAAAAEwEWAFACGQIoAQAAAHMgAAAAQ3VycmVuY3lFeGNo
dEN1cnJlbmN5TGlzdCgBAAAAcyAAAABDdXJyZW5jeUV4Y2hhbmdlX2dldEN1cnJlbmN5TGlzdCgA YW5nZV9nZXRDdXJyZW5jeUxpc3QoAQAAAHMgAAAAQ3VycmVuY3lFeGNoYW5nZV9nZXRDdXJyZW5j
AAAAKAAAAABzDwAAAFNjcmlwdCAoUHl0aG9uKXMIAAAAPG1vZHVsZT4BAAAAcwAAAAA=</string> </value> eUxpc3QoAAAAACgAAAAAcw8AAABTY3JpcHQgKFB5dGhvbilzCAAAADxtb2R1bGU+AQAAAHMAAAAA</string> </value>
</item> </item>
<item> <item>
<key> <string>_filepath</string> </key> <key> <string>_filepath</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value> <string encoding="base64">O/INCg==</string> </value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>reference_currency = context.Baobab_getPortalReferenceCurrencyID()\n
\n
currency_list = [(\'%s - %s\' % (x.getId(), x.getTitle()), x.getRelativeUrl())\n
for x in context.currency.objectValues()\n
if x.getId() != reference_currency]\n
\n
currency_list.insert(0, (\'\',\'\'))\n
\n
return currency_list\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value> <string encoding="base64">YwAAAAAAAAAAAQAAAEAAAABzDQAAAGQBAIQAAFoAAGQAAFMoAgAAAE5jAAAAAAgAAAAMAAAAQwAA
AHPJAAAAdAAAdAEAZAEAgwIAgwAAfQIAZwAABGkDAH0EAHQFAHQAAHQAAHQBAGQCAIMCAGQDAIMC
AIMAAIMBAERdYQB9BgB0AAB8BgBkBACDAgCDAAB8AgBqAwBvQgABfAQAZAUAdAAAfAYAZAQAgwIA
gwAAdAAAfAYAZAYAgwIAgwAAZgIAFnQAAHwGAGQHAIMCAIMAAGYCAIMBAAFxOwABcTsAfgQAfQcA
dAAAfAcAZAgAgwIAZAkAZAoAZAoAZgIAgwIAAXwHAFNkAABTKAsAAABOcyMAAABCYW9iYWJfZ2V0
UG9ydGFsUmVmZXJlbmNlQ3VycmVuY3lJRHMIAAAAY3VycmVuY3lzDAAAAG9iamVjdFZhbHVlc3MF
AAAAZ2V0SWRzBwAAACVzIC0gJXNzCAAAAGdldFRpdGxlcw4AAABnZXRSZWxhdGl2ZVVybHMGAAAA
aW5zZXJ0aQAAAABzAAAAACgIAAAAcwkAAABfZ2V0YXR0cl9zBwAAAGNvbnRleHRzEgAAAHJlZmVy
ZW5jZV9jdXJyZW5jeXMGAAAAYXBwZW5kcwgAAAAkYXBwZW5kMHMJAAAAX2dldGl0ZXJfcwEAAAB4
cw0AAABjdXJyZW5jeV9saXN0KAgAAABzCQAAAF9nZXRhdHRyX3MHAAAAY29udGV4dHMSAAAAcmVm
ZXJlbmNlX2N1cnJlbmN5cwYAAABhcHBlbmRzCAAAACRhcHBlbmQwcwkAAABfZ2V0aXRlcl9zAQAA
AHhzDQAAAGN1cnJlbmN5X2xpc3QoAAAAACgAAAAAcw8AAABTY3JpcHQgKFB5dGhvbilzJwAAAEN1
cnJlbmN5RXhjaGFuZ2VfZ2V0Rm9yZWlnbkN1cnJlbmN5TGlzdAEAAABzDAAAABICEwEWAAYBZwIZ
AigBAAAAcycAAABDdXJyZW5jeUV4Y2hhbmdlX2dldEZvcmVpZ25DdXJyZW5jeUxpc3QoAQAAAHMn
AAAAQ3VycmVuY3lFeGNoYW5nZV9nZXRGb3JlaWduQ3VycmVuY3lMaXN0KAAAAAAoAAAAAHMPAAAA
U2NyaXB0IChQeXRob24pcwgAAAA8bW9kdWxlPgEAAABzAAAAAA==</string> </value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value> <string>Script (Python):/baobab/portal_skins/erp5_banking_core/CurrencyExchange_getForeignCurrencyList</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>_getattr_</string>
<string>context</string>
<string>reference_currency</string>
<string>append</string>
<string>$append0</string>
<string>_getiter_</string>
<string>x</string>
<string>currency_list</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CurrencyExchange_getForeignCurrencyList</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Move This to erp5_core ?</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.ExternalMethod.ExternalMethod</string>
<string>ExternalMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_function</string> </key>
<value> <string>ERP5Type_initLocalRoleMapping</string> </value>
</item>
<item>
<key> <string>_module</string> </key>
<value> <string>RolePolicy</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Type_initLocalRoleMapping_DEPRECATED_TOO</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
2005-12-19 Kevin
* Update z_catalog_stock_list ZSQL method to follow Seb's changes.
* Add Baobab_getPortalReferenceCurrencyID script to get the default currency.
* Change reference to getPortalReferenceCurrencyID portal method. Use Baobab_getPortalReferenceCurrencyID instead.
2005-12-14 Kevin
* Add a hack in Baobab_getUserAssignmentList to support old and new person module id.
2005-12-13 Kevin
* Add CashDelivery document.
* Clean portal_classes.
2005-12-12 Kevin
* Change the acquisition_portal_type_list attribute on base category 'site' from "'[]'" to "python: []".
* Delete deprecated ERP5Type_initLocalRoleMapping_* objects.
2005-12-08 Kevin 2005-12-08 Kevin
* Delete custom version of ERP5Type_getSecurityCategoryFromAssignment. Move it to erp5_core. * Delete custom version of ERP5Type_getSecurityCategoryFromAssignment. Move it to erp5_core.
* Update z_catalog_stock_list to v1.10. * Update z_catalog_stock_list to v1.10.
......
CashCurrency CashCurrency
CashDeliveryLine CashDeliveryLine
BankingOperation
CashContainer CashContainer
BankingOperationLine BankingOperationLine
AccountingTransactionRule AccountingTransactionRule
BankingOperation CashDelivery
\ No newline at end of file \ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment