diff --git a/bt5/erp5_trade/PropertySheetTemplateItem/InventoryConstraint.py b/bt5/erp5_trade/PropertySheetTemplateItem/InventoryConstraint.py deleted file mode 100644 index 267c68d1a2bb0f994f53b735f62c4493b416a4e1..0000000000000000000000000000000000000000 --- a/bt5/erp5_trade/PropertySheetTemplateItem/InventoryConstraint.py +++ /dev/null @@ -1,65 +0,0 @@ -############################################################################## -# -# Copyright (c) 2007 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 Products.CMFCore.Expression import Expression - -class InventoryConstraint: - """ - Inventory Constraint - """ - _constraints = ( - { - 'id': 'duplicate_inventory', - 'type': 'DuplicateInventory', - }, - { 'id' : 'destination_category_existence', - 'description' : 'Destination must be defined', - 'type' : 'CategoryExistence', - 'portal_type' : Expression('python: portal.getPortalNodeTypeList()'), - 'destination' : 1, - 'message_category_not_set': 'Wharehouse must be defined', - }, - { 'id' : 'destination_section_category_existence', - 'description' : 'Destination section must be defined', - 'type' : 'CategoryExistence', - 'portal_type' : Expression('python: portal.getPortalNodeTypeList()'), - 'destination_section' : 1, - 'message_category_not_set': 'Owner must be defined', - }, - { 'id' : 'start_date', - 'description' : 'Start Date must be defined', - 'type' : 'PropertyExistence', - 'start_date' : 1, - 'message_no_such_property': 'Inventory Date must be defined', - }, - { 'id' : 'resource_on_line', - 'description' : 'Resource must be defined on all lines', - 'type' : 'TALESConstraint', - 'expression' : 'python: None not in [x.getResourceValue() for x in object.getMovementList()]', - 'message_expression_false': 'You must define a resource on all lines', - }, - ) diff --git a/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint.xml b/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint.xml new file mode 100644 index 0000000000000000000000000000000000000000..eb1332aaa695979e409e8fdef3d0462067f58ccd --- /dev/null +++ b/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint.xml @@ -0,0 +1,64 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Property Sheet" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_count</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>_mt_index</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + </value> + </item> + <item> + <key> <string>_tree</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>InventoryConstraint</string> </value> + </item> + <item> + <key> <string>last_id</string> </key> + <value> <string>5</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Property Sheet</string> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <global name="Length" module="BTrees.Length"/> + </pickle> + <pickle> <int>0</int> </pickle> + </record> + <record id="3" aka="AAAAAAAAAAM="> + <pickle> + <global name="OOBTree" module="BTrees.OOBTree"/> + </pickle> + <pickle> + <none/> + </pickle> + </record> + <record id="4" aka="AAAAAAAAAAQ="> + <pickle> + <global name="OOBTree" module="BTrees.OOBTree"/> + </pickle> + <pickle> + <none/> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint/destination_category_existence_constraint.xml b/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint/destination_category_existence_constraint.xml new file mode 100644 index 0000000000000000000000000000000000000000..22d0764eaa152b23285eba958c1e5d5d94c13a5f --- /dev/null +++ b/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint/destination_category_existence_constraint.xml @@ -0,0 +1,44 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Category Existence Constraint" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>constraint_base_category</string> </key> + <value> + <tuple> + <string>destination</string> + </tuple> + </value> + </item> + <item> + <key> <string>constraint_portal_type</string> </key> + <value> <string>python: portal.getPortalNodeTypeList()</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>Destination must be defined</string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>destination_category_existence_constraint</string> </value> + </item> + <item> + <key> <string>message_category_not_set</string> </key> + <value> <string>Wharehouse must be defined</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Category Existence Constraint</string> </value> + </item> + <item> + <key> <string>use_acquisition</string> </key> + <value> <int>0</int> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint/destination_section_category_existence_constraint.xml b/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint/destination_section_category_existence_constraint.xml new file mode 100644 index 0000000000000000000000000000000000000000..a6d9913d5c51a44fd18e3636bf5cfaf7003c55f4 --- /dev/null +++ b/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint/destination_section_category_existence_constraint.xml @@ -0,0 +1,44 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Category Existence Constraint" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>constraint_base_category</string> </key> + <value> + <tuple> + <string>destination_section</string> + </tuple> + </value> + </item> + <item> + <key> <string>constraint_portal_type</string> </key> + <value> <string>python: portal.getPortalNodeTypeList()</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>Destination section must be defined</string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>destination_section_category_existence_constraint</string> </value> + </item> + <item> + <key> <string>message_category_not_set</string> </key> + <value> <string>Owner must be defined</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Category Existence Constraint</string> </value> + </item> + <item> + <key> <string>use_acquisition</string> </key> + <value> <int>0</int> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint/duplicate_inventory_constraint.xml b/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint/duplicate_inventory_constraint.xml new file mode 100644 index 0000000000000000000000000000000000000000..b7405b6aede33c5905499d13d8f5b076ea2266f4 --- /dev/null +++ b/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint/duplicate_inventory_constraint.xml @@ -0,0 +1,26 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Duplicate Inventory Constraint" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>duplicate_inventory_constraint</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Duplicate Inventory Constraint</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint/resource_on_line_constraint.xml b/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint/resource_on_line_constraint.xml new file mode 100644 index 0000000000000000000000000000000000000000..fe517ae97fafb9f63972254a0306c1b2feaa75b5 --- /dev/null +++ b/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint/resource_on_line_constraint.xml @@ -0,0 +1,32 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="TALES Constraint" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>description</string> </key> + <value> <string>Resource must be defined on all lines</string> </value> + </item> + <item> + <key> <string>expression</string> </key> + <value> <string>python: None not in [x.getResourceValue() for x in object.getMovementList()]</string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>resource_on_line_constraint</string> </value> + </item> + <item> + <key> <string>message_expression_false</string> </key> + <value> <string>You must define a resource on all lines</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>TALES Constraint</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint/start_date_constraint.xml b/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint/start_date_constraint.xml new file mode 100644 index 0000000000000000000000000000000000000000..212d4d355cc40cada3c901bb55b6b118ebf01775 --- /dev/null +++ b/bt5/erp5_trade/PropertySheetTemplateItem/portal_property_sheets/InventoryConstraint/start_date_constraint.xml @@ -0,0 +1,36 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Property Existence Constraint" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>constraint_property</string> </key> + <value> + <tuple> + <string>start_date</string> + </tuple> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>Start Date must be defined</string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>start_date_constraint</string> </value> + </item> + <item> + <key> <string>message_no_such_property</string> </key> + <value> <string>Inventory Date must be defined</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Property Existence Constraint</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_trade/bt/revision b/bt5/erp5_trade/bt/revision index 5afb033c80748e724e88b9c27f98284b7025656d..0da1d6394c9ae80cae81c889cf7f7dd1d96dc6d9 100644 --- a/bt5/erp5_trade/bt/revision +++ b/bt5/erp5_trade/bt/revision @@ -1 +1 @@ -1104 \ No newline at end of file +1103 \ No newline at end of file