Commit ada4a0f9 authored by Hugo Ricateau's avatar Hugo Ricateau

[erp5_business_package]: Reorganisation of the GUI

parent d1fc9ed9
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
############################################################################## ##############################################################################
# #
# Copyright (c) 2017 Nexedi SARL and Contributors. All Rights Reserved. # Copyright (c) 2017 Nexedi SARL and Contributors. All Rights Reserved.
# Ayush-Tiwari <ayush.tiwari@nexedi.com> # Ayush Tiwari <ayush.tiwari@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
# programmers who take the whole responsability of assessing all potential # programmers who take the whole responsability of assessing all potential
...@@ -39,7 +39,6 @@ import fnmatch ...@@ -39,7 +39,6 @@ import fnmatch
import re import re
import threading import threading
import pprint import pprint
import uuid
from copy import deepcopy from copy import deepcopy
from collections import defaultdict from collections import defaultdict
...@@ -73,9 +72,9 @@ class BusinessCommit(Folder): ...@@ -73,9 +72,9 @@ class BusinessCommit(Folder):
meta_type = 'ERP5 Business Commit' meta_type = 'ERP5 Business Commit'
portal_type = 'Business Commit' portal_type = 'Business Commit'
add_permission = Permissions.AddPortalContent add_permission = Permissions.AddPortalContent
allowed_types = ('Business Item', allowed_types = ('Business Item',)
'Business Property Item',
'Business Patch item',) id_generator = '_generateUniversalUniqueId'
template_format_version = 3 template_format_version = 3
...@@ -89,10 +88,7 @@ class BusinessCommit(Folder): ...@@ -89,10 +88,7 @@ class BusinessCommit(Folder):
, 'type_class' : 'BusinessCommit' , 'type_class' : 'BusinessCommit'
, 'immediate_view' : 'BusinessCommit_view' , 'immediate_view' : 'BusinessCommit_view'
, 'allow_discussion' : 1 , 'allow_discussion' : 1
, 'allowed_content_types': ( 'Business Item', , 'allowed_content_types': ('Business Item',)
'Business Property Item',
'Business Patch Item',
)
, 'filter_content_types' : 1 , 'filter_content_types' : 1
} }
...@@ -109,17 +105,6 @@ class BusinessCommit(Folder): ...@@ -109,17 +105,6 @@ class BusinessCommit(Folder):
PropertySheet.Version, PropertySheet.Version,
) )
security.declarePublic('newContent')
def newContent(self, id=None, **kw):
"""
Override newContent so as to use 'id' generated like hash.
Also, copy the objects in the Business Commit after creating new object
"""
if id is None:
id = uuid.uuid1()
return super(BusinessCommit, self).newContent(id, **kw)
def createEquivalentSnapshot(self): def createEquivalentSnapshot(self):
""" """
This function uses the current commit to create a new snapshot This function uses the current commit to create a new snapshot
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
############################################################################## ##############################################################################
# #
# Copyright (c) 2017 Nexedi SARL and Contributors. All Rights Reserved. # Copyright (c) 2017 Nexedi SARL and Contributors. All Rights Reserved.
# Ayush-Tiwari <ayush.tiwari@nexedi.com> # Ayush Tiwari <ayush.tiwari@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
# programmers who take the whole responsability of assessing all potential # programmers who take the whole responsability of assessing all potential
...@@ -78,9 +78,9 @@ class BusinessSnapshot(Folder): ...@@ -78,9 +78,9 @@ class BusinessSnapshot(Folder):
meta_type = 'ERP5 Business Snashot' meta_type = 'ERP5 Business Snashot'
portal_type = 'Business Snapshot' portal_type = 'Business Snapshot'
add_permission = Permissions.AddPortalContent add_permission = Permissions.AddPortalContent
allowed_types = ('Business Item', allowed_types = ('Business Item',)
'Business Property Item',
'Business Patch item',) id_generator = '_generateUniversalUniqueId'
# Declarative security # Declarative security
security = ClassSecurityInfo() security = ClassSecurityInfo()
...@@ -98,14 +98,10 @@ class BusinessSnapshot(Folder): ...@@ -98,14 +98,10 @@ class BusinessSnapshot(Folder):
, 'type_class' : 'BusinessSnapshot' , 'type_class' : 'BusinessSnapshot'
, 'immediate_view' : 'BusinessSnapshot_view' , 'immediate_view' : 'BusinessSnapshot_view'
, 'allow_discussion' : 1 , 'allow_discussion' : 1
, 'allowed_content_types': ( 'Business Item', , 'allowed_content_types': ('Business Item',)
'Business Property Item',
'Business Patch Item',
)
, 'filter_content_types' : 1 , 'filter_content_types' : 1
} }
# Declarative security # Declarative security
security = ClassSecurityInfo() security = ClassSecurityInfo()
security.declareObjectProtected(Permissions.AccessContentsInformation) security.declareObjectProtected(Permissions.AccessContentsInformation)
...@@ -165,79 +161,79 @@ class BusinessSnapshot(Folder): ...@@ -165,79 +161,79 @@ class BusinessSnapshot(Folder):
return None return None
def build(self, **kwargs): #def build(self, **kwargs):
""" # """
Using equivalent commit, create a snapshot of ZODB state # Using equivalent commit, create a snapshot of ZODB state
""" # """
new_item_list = [] # new_item_list = []
new_item_path_list = [] # new_item_path_list = []
# Get the equivalent commit for the snapshot # # Get the equivalent commit for the snapshot
eqv_commit = self.getSimilarValue() # eqv_commit = self.getSimilarValue()
# Get last created snapshot # # Get last created snapshot
last_snapshot = self.getLastSnapshot() # last_snapshot = self.getLastSnapshot()
# Commit list of all commits between the last snapshot/first commit and the # # Commit list of all commits between the last snapshot/first commit and the
# current snapshot # # current snapshot
successor_commit_list = [] # successor_commit_list = []
# If there is last snapshot, then combine all the commit afterwards to create # # If there is last snapshot, then combine all the commit afterwards to create
# new snapshot # # new snapshot
if last_snapshot: # if last_snapshot:
for item in last_snapshot.objectValues(): # for item in last_snapshot.objectValues():
if item.getFollowUpValue().getAvailabilityState() == 'installable': # if item.getFollowUpValue().getAvailabilityState() == 'installable':
new_item_list.append(item) # new_item_list.append(item)
new_item_path_list.extend(item.getProperty('item_path')) # new_item_path_list.extend(item.getProperty('item_path'))
# Get next predecessor commit for this snapshot using the equivalent commit # # Get next predecessor commit for this snapshot using the equivalent commit
# Notice that we don't use the snapshot to get the next commit as the # # Notice that we don't use the snapshot to get the next commit as the
# snapshot is mere a state which uses `predecessor` just for mentioning the # # snapshot is mere a state which uses `predecessor` just for mentioning the
# equivalent commit. # # equivalent commit.
# Here the first next commit should be the commit created after last snapshot # # Here the first next commit should be the commit created after last snapshot
# which we can get using the equivalent commit of last snapshot and then # # which we can get using the equivalent commit of last snapshot and then
# finding the next commit for it # # finding the next commit for it
next_commit = last_snapshot.getSimilarValue().getPredecessorRelatedValue() # next_commit = last_snapshot.getSimilarValue().getPredecessorRelatedValue()
# If there is no last snapshot, create a new one by combining all the commits # # If there is no last snapshot, create a new one by combining all the commits
else: # else:
# Get the oldest commit and start from there to find the next commit # # Get the oldest commit and start from there to find the next commit
oldest_commit = min( # oldest_commit = min(
self.aq_parent.objectValues(portal_type='Business Commit'), # self.aq_parent.objectValues(portal_type='Business Commit'),
key=(lambda x: x.getCreationDate())) # key=(lambda x: x.getCreationDate()))
for item in oldest_commit.objectValues(): # for item in oldest_commit.objectValues():
if item.getFollowUpValue().getAvailabilityState() == 'installable': # if item.getFollowUpValue().getAvailabilityState() == 'installable':
new_item_list.append(item) # new_item_list.append(item)
new_item_path_list.extend(item.getProperty('item_path')) # new_item_path_list.extend(item.getProperty('item_path'))
next_commit = oldest_commit.getPredecessorRelatedValue() # next_commit = oldest_commit.getPredecessorRelatedValue()
# Fill sucessor commit list # # Fill sucessor commit list
while (next_commit.getId() != eqv_commit.getId()): # while (next_commit.getId() != eqv_commit.getId()):
successor_commit_list.append(next_commit) # successor_commit_list.append(next_commit)
next_commit = next_commit.getPredecessorRelatedValue() # next_commit = next_commit.getPredecessorRelatedValue()
# Append the equivalent commit to successor commits # # Append the equivalent commit to successor commits
successor_commit_list.append(eqv_commit) # successor_commit_list.append(eqv_commit)
for commit in successor_commit_list: # for commit in successor_commit_list:
for item in commit.objectValues(): # for item in commit.objectValues():
# Check if the item has a follow_up only with installable Business Template # # Check if the item has a follow_up only with installable Business Template
if item.getFollowUpValue().getAvailabilityState() == 'installable': # if item.getFollowUpValue().getAvailabilityState() == 'installable':
item_path = item.getProperty('item_path') # item_path = item.getProperty('item_path')
if item_path in new_item_path_list: # if item_path in new_item_path_list:
# Replace the old item with same path with new item # # Replace the old item with same path with new item
new_item_list = [l if l.getProperty('item_path') != item_path else item for l in new_item_list] # new_item_list = [l if l.getProperty('item_path') != item_path else item for l in new_item_list]
else: # else:
# Add the item to list if there is no existing item at that path # # Add the item to list if there is no existing item at that path
new_item_list.append(item) # new_item_list.append(item)
new_item_path_list.append(item_path) # new_item_path_list.append(item_path)
# Create hardlinks for the objects # # Create hardlinks for the objects
for item in new_item_list: # for item in new_item_list:
self._setObject(item.id, item, suppress_events=True) # self._setObject(item.id, item, suppress_events=True)
def preinstall(self): def preinstall(self):
""" """
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
############################################################################## ##############################################################################
# #
# Copyright (c) 2017 Nexedi SARL and Contributors. All Rights Reserved. # Copyright (c) 2017 Nexedi SARL and Contributors. All Rights Reserved.
# Ayush-Tiwari <ayush.tiwari@nexedi.com> # Ayush Tiwari <ayush.tiwari@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
# programmers who take the whole responsability of assessing all potential # programmers who take the whole responsability of assessing all potential
...@@ -143,9 +143,9 @@ def _recursiveRemoveUid(obj): ...@@ -143,9 +143,9 @@ def _recursiveRemoveUid(obj):
# New BusinessItem addition function # New BusinessItem addition function
def manage_addBusinessItem(self, item_path='', item_sign=1, item_layer=0, *args, **kw): def manage_addBusinessItem(self, item_path='', *args, **kw):
# Create BusinessItem object container # Create BusinessItem object container
c = BusinessItem(item_path, item_sign, item_layer) c = BusinessItem(item_path)
return c return c
...@@ -721,21 +721,7 @@ class BusinessItem(XMLObject): ...@@ -721,21 +721,7 @@ class BusinessItem(XMLObject):
icon = None icon = None
isProperty = False isProperty = False
def _edit(self, item_path='', item_sign=1, item_layer=0, *args, **kw): id_generator = '_generateUniversalUniqueId'
"""
Overriden function so that we can update attributes for BusinessItem objects
"""
edited = super(BusinessItem, self)._edit(item_path=item_path,
item_sign=item_sign,
item_layer=item_layer,
**kw)
# Build the object here, if the item_path has been added/updated
# XXX: We also need to add attribute to ensure that this doesn't happen
# while in tests or while creating them on the fly
if 'item_path' in self._v_modified_property_dict:
self.build(self.aq_parent)
def getZODBDiff(self): def getZODBDiff(self):
""" """
...@@ -802,57 +788,57 @@ class BusinessItem(XMLObject): ...@@ -802,57 +788,57 @@ class BusinessItem(XMLObject):
# Complain loudly if the follow_up is not there # Complain loudly if the follow_up is not there
raise ValueError('Follow Up Business Template V2 is not set or defined yet') raise ValueError('Follow Up Business Template V2 is not set or defined yet')
def build(self, context, **kw): #def build(self, context, **kw):
""" # """
Extract value for the given path from the OFS # Extract value for the given path from the OFS
Three different situations to extract value: # Three different situations to extract value:
1. For paths which point directly to an object in OFS # 1. For paths which point directly to an object in OFS
2. For paths which point to multiple objects inside a folder # 2. For paths which point to multiple objects inside a folder
3. For paths which point to property of an object in OFS : In this case, # 3. For paths which point to property of an object in OFS : In this case,
we can have URL delimiters like ?, #, = in the path # we can have URL delimiters like ?, #, = in the path
""" # """
LOG('Business Template V2', INFO, 'Building Business Item') # LOG('Business Template V2', INFO, 'Building Business Item')
# Remove the old sub-objects if exisiting before building # # Remove the old sub-objects if exisiting before building
id_list = [l for l in self.objectIds()] # id_list = [l for l in self.objectIds()]
if id_list: # if id_list:
self.manage_delObjects(ids=id_list) # self.manage_delObjects(ids=id_list)
p = context.getPortalObject() # p = context.getPortalObject()
path = self.getProperty('item_path') # path = self.getProperty('item_path')
obj = p.unrestrictedTraverse(path) # obj = p.unrestrictedTraverse(path)
obj = obj._getCopy(context) # obj = obj._getCopy(context)
# We should remove the extra properties of object so that there # # We should remove the extra properties of object so that there
# shouldn't be redundancy of the proeprties # # shouldn't be redundancy of the proeprties
removable_property_list = kw.get('removable_property_list', []) # removable_property_list = kw.get('removable_property_list', [])
# We should also add extra parameter to remove sub-objects by removing # # We should also add extra parameter to remove sub-objects by removing
# `_tree` for any erp5 object. This way we can have control over adding # # `_tree` for any erp5 object. This way we can have control over adding
# sub-objects as new Business Item objects # # sub-objects as new Business Item objects
remove_sub_objects = kw.get('remove_sub_objects', False) # remove_sub_objects = kw.get('remove_sub_objects', False)
if remove_sub_objects: # if remove_sub_objects:
removable_property_list.append('_tree') # removable_property_list.append('_tree')
keep_workflow_history = False # keep_workflow_history = False
# For portal_components object, we need validation_history # # For portal_components object, we need validation_history
if self.getProperty('item_path').startswith('portal_components'): # if self.getProperty('item_path').startswith('portal_components'):
keep_workflow_history = True # keep_workflow_history = True
obj = self.removeProperties(obj, # obj = self.removeProperties(obj,
1, # 1,
properties=removable_property_list, # properties=removable_property_list,
keep_workflow_history=keep_workflow_history, # keep_workflow_history=keep_workflow_history,
) # )
obj = obj.__of__(context) # obj = obj.__of__(context)
# XXX: '_recursiveRemoveUid' is not working as expected # # XXX: '_recursiveRemoveUid' is not working as expected
_recursiveRemoveUid(obj) # _recursiveRemoveUid(obj)
obj = aq_base(obj) # obj = aq_base(obj)
obj.isIndexable = ConstantGetter('isIndexable', value=False) # obj.isIndexable = ConstantGetter('isIndexable', value=False)
# In general, one Business Item only has one object in it, so we never end # # In general, one Business Item only has one object in it, so we never end
# up in conflict as we'll always be having its unique path(due to GUID of # # up in conflict as we'll always be having its unique path(due to GUID of
# Business Item), thus we can just use object Id as it is while making it # # Business Item), thus we can just use object Id as it is while making it
# a sub-object of Business Item # # a sub-object of Business Item
self._setObject(obj.id, obj, suppress_events=True) # self._setObject(obj.id, obj, suppress_events=True)
def _resolvePath(self, folder, relative_url_list, id_list): def _resolvePath(self, folder, relative_url_list, id_list):
""" """
...@@ -1116,14 +1102,8 @@ class BusinessItem(XMLObject): ...@@ -1116,14 +1102,8 @@ class BusinessItem(XMLObject):
def getBusinessPath(self): def getBusinessPath(self):
return self.getProperty('item_path') return self.getProperty('item_path')
def getBusinessPathSign(self): #def getParentBusinessTemplateV2(self):
return self.getProperty('item_sign', 1) # return self.aq_parent
def getBusinessPathLayer(self):
return self.getProperty('item_layer', 1)
def getParentBusinessTemplateV2(self):
return self.aq_parent
class BusinessPropertyItem(XMLObject): class BusinessPropertyItem(XMLObject):
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved. # Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.
# Jean-Paul Smets-Solanes <jp@nexedi.com> # Jean-Paul Smets-Solanes <jp@nexedi.com>
# Hugo Ricateau <hugo.ricateau@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
# programmers who take the whole responsability of assessing all potential # programmers who take the whole responsability of assessing all potential
...@@ -37,7 +38,6 @@ import sys ...@@ -37,7 +38,6 @@ import sys
import hashlib import hashlib
import pprint import pprint
import transaction import transaction
import uuid
from Acquisition import Implicit, Explicit from Acquisition import Implicit, Explicit
from AccessControl import ClassSecurityInfo from AccessControl import ClassSecurityInfo
...@@ -133,7 +133,7 @@ class CommitTool (BaseTool): ...@@ -133,7 +133,7 @@ class CommitTool (BaseTool):
- portal_commits/387897938794876-9 (Snapshort of erp5_trade) - portal_commits/387897938794876-9 (Snapshort of erp5_trade)
- portal_commits/387897938794876-10 (Snapshot of erp5_base) - portal_commits/387897938794876-10 (Snapshot of erp5_base)
Draft -> Commited -> Pushed (to repo) |Commit] Draft -> Committed -> Pushed (to repo) |Commit]
Draft -> Installed <-> Uninstalled |Snapshot] Draft -> Installed <-> Uninstalled |Snapshot]
Developer mode: make commits and push them (nothing else) Developer mode: make commits and push them (nothing else)
...@@ -154,6 +154,7 @@ class CommitTool (BaseTool): ...@@ -154,6 +154,7 @@ class CommitTool (BaseTool):
We should try first with Commit and Snapshot We should try first with Commit and Snapshot
""" """
id = 'portal_commits' id = 'portal_commits'
title = 'Commit Tool' title = 'Commit Tool'
meta_type = 'ERP5 Commit Tool' meta_type = 'ERP5 Commit Tool'
...@@ -163,6 +164,8 @@ class CommitTool (BaseTool): ...@@ -163,6 +164,8 @@ class CommitTool (BaseTool):
'Business Snapshot', 'Business Snapshot',
) )
id_generator = '_generateUniversalUniqueId'
# This stores information on repositories. # This stores information on repositories.
repository_dict = {} repository_dict = {}
...@@ -204,39 +207,23 @@ class CommitTool (BaseTool): ...@@ -204,39 +207,23 @@ class CommitTool (BaseTool):
security.declarePublic('newContent') security.declarePublic('newContent')
def newContent(self, id=None, portal_type=None, **kw): def newContent(self, id=None, portal_type=None, **kw):
""" """
Override newContent so as to use 'id' generated like hash Overrides newContent in order to automatically hint the predecessor.
Also, create new commit only when all old commits are committed
""" """
old_commit_list = self.objectValues(portal_type='Business Commit')
# Check if all the commits created before are commited or not
all_commited = all([l.getTranslatedValidationState() == 'commited'
for l in old_commit_list])
if not all_commited and (portal_type == 'Business Commit'):
raise ValueError('Please commit your last commit before creating new one')
if id is None:
id = uuid.uuid1()
new_obj = super(CommitTool, self).newContent(id, portal_type,**kw)
# Add the last commit as its predecessor new_object = super(CommitTool, self).newContent(id, portal_type, **kw)
commit_list = [l for l
in self.objectValues(portal_type='Business Commit')
if l != new_obj]
if commit_list: # Adds the last committed or pushed commit as its predecessor if there is one
latest_commit = max(commit_list, key=(lambda x: x.getCreationDate())) committed_or_pushed_commit_list = [c for c
in self.searchFolder(portal_type='Business Commit')
if c != new_object and
c.getValidationState() != 'draft' and
c.getValidationState() != 'deleted']
if new_obj.getPortalType() == 'Business Commit': if committed_or_pushed_commit_list:
# TODO: Add check for no latest_commit. Usable especially for 1st BC latest_committed_or_pushed_commit = max(committed_or_pushed_commit_list,
new_obj.setPredecessorValue(latest_commit) key=(lambda c:c.getModificationDate()))
else: new_object.setPredecessorValue(latest_committed_or_pushed_commit)
# If the new_obj is Business Snapshot, create a similar value for the
# latest commit
new_obj.setSimilarValue(latest_commit)
latest_commit.setSimilarValue(new_obj)
return new_obj return new_object
InitializeClass(CommitTool) InitializeClass(CommitTool)
...@@ -42,13 +42,13 @@ ...@@ -42,13 +42,13 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>rebuild_subobjects</string> </value> <value> <string>build_items</string> </value>
</item> </item>
<item> <item>
<key> <string>permissions</string> </key> <key> <string>permissions</string> </key>
<value> <value>
<tuple> <tuple>
<string>View</string> <string>Manage portal</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -58,11 +58,11 @@ ...@@ -58,11 +58,11 @@
</item> </item>
<item> <item>
<key> <string>priority</string> </key> <key> <string>priority</string> </key>
<value> <float>3.0</float> </value> <value> <float>1.0</float> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Rebuild sub-objects</string> </value> <value> <string>Build all items</string> </value>
</item> </item>
<item> <item>
<key> <string>visible</string> </key> <key> <string>visible</string> </key>
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>text</string> </key>
<value> <string>string:${object_url}/BusinessCommit_rebuild</string> </value> <value> <string>string:${object_url}/BusinessCommit_buildItems</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>content_view</string> </value> <value> <string>view</string> </value>
</item> </item>
<item> <item>
<key> <string>permissions</string> </key> <key> <string>permissions</string> </key>
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>content_view</string> </value> <value> <string>view</string> </value>
</item> </item>
<item> <item>
<key> <string>permissions</string> </key> <key> <string>permissions</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_view</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>content_view</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/BusinessPatchItem_view</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_view</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>diff_view</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>2.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Diff</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/BusinessPatchItem_viewDiff</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_view</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>content_view</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/BusinessPropertyItem_view</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>content_view</string> </value> <value> <string>view</string> </value>
</item> </item>
<item> <item>
<key> <string>permissions</string> </key> <key> <string>permissions</string> </key>
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Manage Commits</string> </value> <value> <string>Manage Commits and Snapshots</string> </value>
</item> </item>
<item> <item>
<key> <string>visible</string> </key> <key> <string>visible</string> </key>
......
<allowed_content_type_list> <allowed_content_type_list>
<portal_type id="Business Commit"> <portal_type id="Business Commit">
<item>Business Item</item> <item>Business Item</item>
<item>Business Patch Item</item>
<item>Business Property Item</item>
</portal_type>
<portal_type id="Business Patch Item">
<item>Business Item</item>
<item>Business Property Item</item>
</portal_type>
<portal_type id="Business Snapshot">
<item>Business Item</item>
<item>Business Patch Item</item>
<item>Business Property Item</item>
</portal_type> </portal_type>
<portal_type id="Commit Tool"> <portal_type id="Commit Tool">
<item>Business Commit</item> <item>Business Commit</item>
......
<base_category_list> <base_category_list>
<portal_type id="Business Commit"> <portal_type id="Business Commit">
<item>predecessor</item> <item>predecessor</item>
<item>similar</item>
<item>source_project</item>
</portal_type> </portal_type>
<portal_type id="Business Item"> <portal_type id="Business Item">
<item>follow_up</item> <item>follow_up</item>
</portal_type> <item>predecessor</item>
<portal_type id="Business Patch Item">
<item>follow_up</item>
</portal_type>
<portal_type id="Business Property Item">
<item>follow_up</item>
</portal_type> </portal_type>
<portal_type id="Business Snapshot"> <portal_type id="Business Snapshot">
<item>similar</item> <item>predecessor</item>
</portal_type> </portal_type>
</base_category_list> </base_category_list>
\ No newline at end of file
<hidden_content_type_list>
<portal_type id="Business Snapshot">
<item>Business Item</item>
</portal_type>
</hidden_content_type_list>
\ No newline at end of file
<property_sheet_list> <property_sheet_list>
<portal_type id="Business Commit">
<item>BusinessCommit</item>
</portal_type>
<portal_type id="Business Item"> <portal_type id="Business Item">
<item>BusinessItem</item>
<item>BusinessItemConstraint</item> <item>BusinessItemConstraint</item>
</portal_type> </portal_type>
<portal_type id="Business Property Item"> <portal_type id="Business Snapshot">
<item>BusinessItemConstraint</item> <item>BusinessCommit</item>
</portal_type> </portal_type>
<portal_type id="Commit Tool"> <portal_type id="Commit Tool">
<item>CommitTool</item> <item>CommitTool</item>
......
...@@ -36,6 +36,17 @@ ...@@ -36,6 +36,17 @@
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
<value> <string>Base Type</string> </value> <value> <string>Base Type</string> </value>
</item> </item>
<item>
<key> <string>searchable_text_property_id</string> </key>
<value>
<tuple>
<string>title</string>
<string>description</string>
<string>reference</string>
<string>short_title</string>
</tuple>
</value>
</item>
<item> <item>
<key> <string>type_class</string> </key> <key> <string>type_class</string> </key>
<value> <string>BusinessCommit</string> </value> <value> <string>BusinessCommit</string> </value>
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
</item> </item>
<item> <item>
<key> <string>filter_content_types</string> </key> <key> <string>filter_content_types</string> </key>
<value> <int>0</int> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
...@@ -42,6 +42,17 @@ ...@@ -42,6 +42,17 @@
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
<value> <string>Base Type</string> </value> <value> <string>Base Type</string> </value>
</item> </item>
<item>
<key> <string>searchable_text_property_id</string> </key>
<value>
<tuple>
<string>title</string>
<string>description</string>
<string>reference</string>
<string>short_title</string>
</tuple>
</value>
</item>
<item> <item>
<key> <string>type_class</string> </key> <key> <string>type_class</string> </key>
<value> <string>BusinessItem</string> </value> <value> <string>BusinessItem</string> </value>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Base Type" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>content_icon</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>filter_content_types</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Business Patch Item</string> </value>
</item>
<item>
<key> <string>permission</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Base Type</string> </value>
</item>
<item>
<key> <string>type_class</string> </key>
<value> <string>BusinessPatchItem</string> </value>
</item>
<item>
<key> <string>type_interface</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>type_mixin</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Base Type" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>content_icon</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>filter_content_types</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Business Property Item</string> </value>
</item>
<item>
<key> <string>init_script</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>permission</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Base Type</string> </value>
</item>
<item>
<key> <string>type_class</string> </key>
<value> <string>BusinessPropertyItem</string> </value>
</item>
<item>
<key> <string>type_interface</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>type_mixin</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
</item> </item>
<item> <item>
<key> <string>filter_content_types</string> </key> <key> <string>filter_content_types</string> </key>
<value> <int>1</int> </value> <value> <int>0</int> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
...@@ -36,6 +36,17 @@ ...@@ -36,6 +36,17 @@
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
<value> <string>Base Type</string> </value> <value> <string>Base Type</string> </value>
</item> </item>
<item>
<key> <string>searchable_text_property_id</string> </key>
<value>
<tuple>
<string>title</string>
<string>description</string>
<string>reference</string>
<string>short_title</string>
</tuple>
</value>
</item>
<item> <item>
<key> <string>type_class</string> </key> <key> <string>type_class</string> </key>
<value> <string>BusinessSnapshot</string> </value> <value> <string>BusinessSnapshot</string> </value>
......
...@@ -36,6 +36,17 @@ ...@@ -36,6 +36,17 @@
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
<value> <string>Base Type</string> </value> <value> <string>Base Type</string> </value>
</item> </item>
<item>
<key> <string>searchable_text_property_id</string> </key>
<value>
<tuple>
<string>title</string>
<string>description</string>
<string>reference</string>
<string>short_title</string>
</tuple>
</value>
</item>
<item> <item>
<key> <string>type_class</string> </key> <key> <string>type_class</string> </key>
<value> <string>CommitTool</string> </value> <value> <string>CommitTool</string> </value>
......
...@@ -5,11 +5,7 @@ ...@@ -5,11 +5,7 @@
</chain> </chain>
<chain> <chain>
<type>Business Item</type> <type>Business Item</type>
<workflow>business_item_interaction_workflow</workflow> <workflow>business_item_interaction_workflow, business_item_validation_workflow</workflow>
</chain>
<chain>
<type>Business Property Item</type>
<workflow>business_property_item_interaction_workflow</workflow>
</chain> </chain>
<chain> <chain>
<type>Business Snapshot</type> <type>Business Snapshot</type>
......
object_truncated_description_length = 72 # as in Fortran70 (it must be greeter than 3)
object_description = context.getDescription('')
word_list = object_description.split()
object_flat_description = ' '.join(word_list)
if len(object_flat_description) <= object_truncated_description_length:
return object_flat_description
# object_truncated_description = object_flat_description[:object_truncated_description_length - 3] + '...'
object_truncated_description = ''
for word in word_list:
if len(object_truncated_description) + len(word) + 4 <= object_truncated_description_length:
object_truncated_description += word + ' '
else:
last_word = word
break
truncated_last_word = last_word[:object_truncated_description_length - len(object_truncated_description) - 3]
if truncated_last_word != last_word:
object_truncated_description += truncated_last_word
object_truncated_description += '...'
return object_truncated_description
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </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>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_getTruncatedDescription</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
site = context.getPortalObject()
commit_item_list = context.objectValues()
for item in commit_item_list:
if site.portal_workflow.isTransitionPossible(item, 'build'):
site.portal_workflow.doActionFor(item, 'build_action')
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>BusinessCommit_rebuild</string> </value> <value> <string>BusinessCommit_buildItems</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
item_list = context.objectValues()
# Re-build the sub-objects
for item in item_list:
item.build(context)
...@@ -70,10 +70,7 @@ ...@@ -70,10 +70,7 @@
<key> <string>hidden</string> </key> <key> <string>hidden</string> </key>
<value> <value>
<list> <list>
<string>listbox_item_layer</string> <string>listbox_follow_up_title_list</string>
<string>listbox_item_path</string>
<string>listbox_item_sign</string>
<string>listbox_follow_up_title</string>
</list> </list>
</value> </value>
</item> </item>
...@@ -81,11 +78,10 @@ ...@@ -81,11 +78,10 @@
<key> <string>left</string> </key> <key> <string>left</string> </key>
<value> <value>
<list> <list>
<string>my_title</string>
<string>my_id</string> <string>my_id</string>
<string>my_predecessor_title</string> <string>my_predecessor_id</string>
<string>my_source_project_title</string> <string>my_authors</string>
<string>your_business_template_title_list</string> <string>my_subject</string>
</list> </list>
</value> </value>
</item> </item>
...@@ -93,6 +89,7 @@ ...@@ -93,6 +89,7 @@
<key> <string>right</string> </key> <key> <string>right</string> </key>
<value> <value>
<list> <list>
<string>my_portal_type</string>
<string>my_creation_date</string> <string>my_creation_date</string>
<string>my_modification_date</string> <string>my_modification_date</string>
<string>my_translated_validation_state_title</string> <string>my_translated_validation_state_title</string>
......
...@@ -11,9 +11,9 @@ ...@@ -11,9 +11,9 @@
<value> <value>
<list> <list>
<string>columns</string> <string>columns</string>
<string>editable_columns</string>
<string>lines</string> <string>lines</string>
<string>list_method</string> <string>list_method</string>
<string>search</string>
<string>selection_name</string> <string>selection_name</string>
<string>sort</string> <string>sort</string>
<string>title</string> <string>title</string>
...@@ -74,43 +74,28 @@ ...@@ -74,43 +74,28 @@
<value> <value>
<list> <list>
<tuple> <tuple>
<string>item_path</string> <string>id</string>
<string>Path</string> <string>UUID</string>
</tuple>
<tuple>
<string>item_sign</string>
<string>Sign</string>
</tuple> </tuple>
<tuple> <tuple>
<string>item_layer</string> <string>predecessor_id</string>
<string>Layer</string> <string>Reference Item</string>
</tuple> </tuple>
<tuple> <tuple>
<string>portal_type</string> <string>translated_validation_state_title</string>
<string>Portal Type</string> <string>State</string>
</tuple> </tuple>
<tuple> <tuple>
<string>follow_up</string> <string>modification_date</string>
<string>Business Manager</string> <string>Modification Date</string>
</tuple> </tuple>
</list>
</value>
</item>
<item>
<key> <string>editable_columns</string> </key>
<value>
<list>
<tuple> <tuple>
<string>item_path</string> <string>item_path</string>
<string>Path</string> <string>Path</string>
</tuple> </tuple>
<tuple> <tuple>
<string>item_sign</string> <string>follow_up_title_list</string>
<string>Sign</string> <string>Business Templates</string>
</tuple>
<tuple>
<string>item_layer</string>
<string>Layer</string>
</tuple> </tuple>
</list> </list>
</value> </value>
...@@ -133,6 +118,10 @@ ...@@ -133,6 +118,10 @@
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value> </value>
</item> </item>
<item>
<key> <string>search</string> </key>
<value> <int>1</int> </value>
</item>
<item> <item>
<key> <string>selection_name</string> </key> <key> <string>selection_name</string> </key>
<value> <string>business_manager_view_selection</string> </value> <value> <string>business_manager_view_selection</string> </value>
...@@ -142,15 +131,15 @@ ...@@ -142,15 +131,15 @@
<value> <value>
<list> <list>
<tuple> <tuple>
<string>item_path</string> <string>modification_date</string>
<string>Path</string> <string>Modification Date</string>
</tuple> </tuple>
</list> </list>
</value> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Commit Items</string> </value> <value> <string>Items</string> </value>
</item> </item>
</dictionary> </dictionary>
</value> </value>
...@@ -166,7 +155,7 @@ ...@@ -166,7 +155,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>method_name</string> </key> <key> <string>method_name</string> </key>
<value> <string>objectValues</string> </value> <value> <string>searchFolder</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>required</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox_follow_up_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_relation_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Business Template</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox_item_layer</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string>1</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_integer_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Value</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: here.getBusinessPathLayer()</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>height</string>
<string>required</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox_item_path</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_text_area_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Path</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox_item_sign</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_checkbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Sign</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: cell.getBusinessPathSign()</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -9,7 +9,9 @@ ...@@ -9,7 +9,9 @@
<item> <item>
<key> <string>delegated_list</string> </key> <key> <string>delegated_list</string> </key>
<value> <value>
<list/> <list>
<string>editable</string>
</list>
</value> </value>
</item> </item>
<item> <item>
...@@ -46,6 +48,12 @@ ...@@ -46,6 +48,12 @@
<key> <string>tales</string> </key> <key> <string>tales</string> </key>
<value> <value>
<dictionary> <dictionary>
<item>
<key> <string>editable</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -61,6 +69,10 @@ ...@@ -61,6 +69,10 @@
<key> <string>values</string> </key> <key> <string>values</string> </key>
<value> <value>
<dictionary> <dictionary>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
<value> <string>my_view_mode_description</string> </value> <value> <string>my_view_mode_description</string> </value>
...@@ -75,4 +87,17 @@ ...@@ -75,4 +87,17 @@
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: here.getValidationState() == "draft"</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -241,7 +241,7 @@ ...@@ -241,7 +241,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>ID</string> </value> <value> <string>UUID</string> </value>
</item> </item>
<item> <item>
<key> <string>truncate</string> </key> <key> <string>truncate</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>my_title</string> </value> <value> <string>my_portal_type</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -77,6 +77,10 @@ ...@@ -77,6 +77,10 @@
<key> <string>hidden</string> </key> <key> <string>hidden</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>max_length</string> </key> <key> <string>max_length</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -152,6 +156,10 @@ ...@@ -152,6 +156,10 @@
<key> <string>hidden</string> </key> <key> <string>hidden</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>max_length</string> </key> <key> <string>max_length</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -193,11 +201,11 @@ ...@@ -193,11 +201,11 @@
</item> </item>
<item> <item>
<key> <string>default</string> </key> <key> <string>default</string> </key>
<value> <string>Commit 2382687362863 by Ayush</string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
<value> <string>The name of the business template, must not change between revision as this is the property used to retrieve old one when upgrading</string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>display_maxwidth</string> </key> <key> <string>display_maxwidth</string> </key>
...@@ -205,7 +213,7 @@ ...@@ -205,7 +213,7 @@
</item> </item>
<item> <item>
<key> <string>display_width</string> </key> <key> <string>display_width</string> </key>
<value> <int>30</int> </value> <value> <int>20</int> </value>
</item> </item>
<item> <item>
<key> <string>editable</string> </key> <key> <string>editable</string> </key>
...@@ -237,11 +245,11 @@ ...@@ -237,11 +245,11 @@
</item> </item>
<item> <item>
<key> <string>required</string> </key> <key> <string>required</string> </key>
<value> <int>1</int> </value> <value> <int>0</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Title</string> </value> <value> <string>Type</string> </value>
</item> </item>
<item> <item>
<key> <string>truncate</string> </key> <key> <string>truncate</string> </key>
......
...@@ -10,8 +10,13 @@ ...@@ -10,8 +10,13 @@
<key> <string>delegated_list</string> </key> <key> <string>delegated_list</string> </key>
<value> <value>
<list> <list>
<string>allow_creation</string>
<string>base_category</string>
<string>catalog_index</string> <string>catalog_index</string>
<string>columns</string>
<string>editable</string>
<string>first_item</string> <string>first_item</string>
<string>parameter_list</string>
<string>portal_type</string> <string>portal_type</string>
<string>title</string> <string>title</string>
</list> </list>
...@@ -19,7 +24,7 @@ ...@@ -19,7 +24,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>my_predecessor_title</string> </value> <value> <string>my_predecessor_id</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -51,10 +56,24 @@ ...@@ -51,10 +56,24 @@
<key> <string>tales</string> </key> <key> <string>tales</string> </key>
<value> <value>
<dictionary> <dictionary>
<item>
<key> <string>base_category</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>catalog_index</string> </key> <key> <string>catalog_index</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -67,6 +86,10 @@ ...@@ -67,6 +86,10 @@
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>parameter_list</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -82,9 +105,56 @@ ...@@ -82,9 +105,56 @@
<key> <string>values</string> </key> <key> <string>values</string> </key>
<value> <value>
<dictionary> <dictionary>
<item>
<key> <string>allow_creation</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>base_category</string> </key>
<value> <string>predecessor</string> </value>
</item>
<item> <item>
<key> <string>catalog_index</string> </key> <key> <string>catalog_index</string> </key>
<value> <string>title</string> </value> <value> <string>id</string> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value>
<list>
<tuple>
<string>id</string>
<string>UUID</string>
</tuple>
<tuple>
<string>predecessor_id</string>
<string>Predecessor</string>
</tuple>
<tuple>
<string>translated_validation_state_title</string>
<string>State</string>
</tuple>
<tuple>
<string>modification_date</string>
<string>Modification Date</string>
</tuple>
<tuple>
<string>description</string>
<string>Description</string>
</tuple>
<tuple>
<string>authors</string>
<string>Contributors</string>
</tuple>
<tuple>
<string>subject</string>
<string>Project</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
...@@ -98,6 +168,17 @@ ...@@ -98,6 +168,17 @@
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value> <value> <string>Base_viewFieldLibrary</string> </value>
</item> </item>
<item>
<key> <string>parameter_list</string> </key>
<value>
<list>
<tuple>
<string>validation_state</string>
<string>NOT draft AND NOT deleted</string>
</tuple>
</list>
</value>
</item>
<item> <item>
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
<value> <value>
...@@ -119,4 +200,17 @@ ...@@ -119,4 +200,17 @@
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: here.getValidationState() == "draft"</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>required</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_source_project_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_string_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Source Project</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -53,9 +53,7 @@ ...@@ -53,9 +53,7 @@
<item> <item>
<key> <string>bottom</string> </key> <key> <string>bottom</string> </key>
<value> <value>
<list> <list/>
<string>listbox</string>
</list>
</value> </value>
</item> </item>
<item> <item>
...@@ -74,8 +72,11 @@ ...@@ -74,8 +72,11 @@
<key> <string>left</string> </key> <key> <string>left</string> </key>
<value> <value>
<list> <list>
<string>my_id</string>
<string>my_item_path</string> <string>my_item_path</string>
<string>my_item_sign</string> <string>my_follow_up_title_list</string>
<string>my_predecessor_id</string>
<string>my_item_patch_behaviour</string>
</list> </list>
</value> </value>
</item> </item>
...@@ -83,8 +84,10 @@ ...@@ -83,8 +84,10 @@
<key> <string>right</string> </key> <key> <string>right</string> </key>
<value> <value>
<list> <list>
<string>my_item_layer</string> <string>my_portal_type</string>
<string>my_follow_up_title</string> <string>my_creation_date</string>
<string>my_modification_date</string>
<string>my_translated_validation_state_title</string>
</list> </list>
</value> </value>
</item> </item>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>columns</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>columns</string> </key>
<value>
<list>
<tuple>
<string>title</string>
<string>Title</string>
</tuple>
<tuple>
<string>id</string>
<string>ID</string>
</tuple>
<tuple>
<string>translated_portal_type</string>
<string>Type</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_view_mode_listbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Items</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -10,13 +10,14 @@ ...@@ -10,13 +10,14 @@
<key> <string>delegated_list</string> </key> <key> <string>delegated_list</string> </key>
<value> <value>
<list> <list>
<string>editable</string>
<string>title</string> <string>title</string>
</list> </list>
</value> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>listbox_item_sign</string> </value> <value> <string>my_creation_date</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -56,10 +57,6 @@ ...@@ -56,10 +57,6 @@
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary> </dictionary>
</value> </value>
</item> </item>
...@@ -67,9 +64,13 @@ ...@@ -67,9 +64,13 @@
<key> <string>values</string> </key> <key> <string>values</string> </key>
<value> <value>
<dictionary> <dictionary>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
<value> <string>my_checkbox</string> </value> <value> <string>my_date_time_field</string> </value>
</item> </item>
<item> <item>
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
...@@ -77,7 +78,7 @@ ...@@ -77,7 +78,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Sign</string> </value> <value> <string>Creation Date</string> </value>
</item> </item>
</dictionary> </dictionary>
</value> </value>
......
...@@ -10,9 +10,8 @@ ...@@ -10,9 +10,8 @@
<key> <string>delegated_list</string> </key> <key> <string>delegated_list</string> </key>
<value> <value>
<list> <list>
<string>catalog_index</string> <string>columns</string>
<string>description</string> <string>editable</string>
<string>first_item</string>
<string>portal_type</string> <string>portal_type</string>
<string>required</string> <string>required</string>
<string>title</string> <string>title</string>
...@@ -21,7 +20,7 @@ ...@@ -21,7 +20,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>my_follow_up_title</string> </value> <value> <string>my_follow_up_title_list</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -46,6 +45,10 @@ ...@@ -46,6 +45,10 @@
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary> </dictionary>
</value> </value>
</item> </item>
...@@ -54,17 +57,15 @@ ...@@ -54,17 +57,15 @@
<value> <value>
<dictionary> <dictionary>
<item> <item>
<key> <string>catalog_index</string> </key> <key> <string>editable</string> </key>
<value> <string></string> </value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item> </item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>first_item</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -77,6 +78,10 @@ ...@@ -77,6 +78,10 @@
<key> <string>required</string> </key> <key> <string>required</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -89,24 +94,31 @@ ...@@ -89,24 +94,31 @@
<value> <value>
<dictionary> <dictionary>
<item> <item>
<key> <string>catalog_index</string> </key> <key> <string>columns</string> </key>
<value> <string>title</string> </value> <value>
<list>
<tuple>
<string>title</string>
<string>Title</string>
</tuple>
<tuple>
<string>description</string>
<string>Description</string>
</tuple>
</list>
</value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>editable</string> </key>
<value> <string>Business Manager related to the Business Item</string> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
<value> <string>my_relation_field</string> </value> <value> <string>my_view_mode_follow_up_title_list</string> </value>
</item>
<item>
<key> <string>first_item</string> </key>
<value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value> <value> <string>Base_viewDMSFieldLibrary</string> </value>
</item> </item>
<item> <item>
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
...@@ -114,7 +126,7 @@ ...@@ -114,7 +126,7 @@
<list> <list>
<tuple> <tuple>
<string>Business Template V2</string> <string>Business Template V2</string>
<string>Business Template V2</string> <string>Business Template</string>
</tuple> </tuple>
</list> </list>
</value> </value>
...@@ -123,9 +135,13 @@ ...@@ -123,9 +135,13 @@
<key> <string>required</string> </key> <key> <string>required</string> </key>
<value> <int>1</int> </value> <value> <int>1</int> </value>
</item> </item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Business Template V2</string> </value> <value> <string>Business Templates</string> </value>
</item> </item>
</dictionary> </dictionary>
</value> </value>
...@@ -133,4 +149,17 @@ ...@@ -133,4 +149,17 @@
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: here.getValidationState() == "draft" or here.getValidationState() == "built"</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>my_title</string> </value> <value> <string>my_id</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -197,7 +197,7 @@ ...@@ -197,7 +197,7 @@
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
<value> <string>The name of the business template, must not change between revision as this is the property used to retrieve old one when upgrading</string> </value> <value> <string>Identification</string> </value>
</item> </item>
<item> <item>
<key> <string>display_maxwidth</string> </key> <key> <string>display_maxwidth</string> </key>
...@@ -209,7 +209,7 @@ ...@@ -209,7 +209,7 @@
</item> </item>
<item> <item>
<key> <string>editable</string> </key> <key> <string>editable</string> </key>
<value> <int>1</int> </value> <value> <int>0</int> </value>
</item> </item>
<item> <item>
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
...@@ -241,7 +241,7 @@ ...@@ -241,7 +241,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Title</string> </value> <value> <string>UUID</string> </value>
</item> </item>
<item> <item>
<key> <string>truncate</string> </key> <key> <string>truncate</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_item_layer</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_integer_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Layer</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: here.getBusinessPathLayer()</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -11,14 +11,17 @@ ...@@ -11,14 +11,17 @@
<value> <value>
<list> <list>
<string>default</string> <string>default</string>
<string>gadget_url</string> <string>editable</string>
<string>enabled</string>
<string>items</string>
<string>required</string>
<string>title</string> <string>title</string>
</list> </list>
</value> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>business_patch_item_view_diff_gadget</string> </value> <value> <string>my_item_patch_behaviour</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -43,6 +46,10 @@ ...@@ -43,6 +46,10 @@
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary> </dictionary>
</value> </value>
</item> </item>
...@@ -52,10 +59,20 @@ ...@@ -52,10 +59,20 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>default</string> </key> <key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value> </value>
</item> </item>
<item>
<key> <string>enabled</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -65,11 +82,21 @@ ...@@ -65,11 +82,21 @@
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>gadget_url</string> </key> <key> <string>items</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>required</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value> </value>
</item> </item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -85,21 +112,39 @@ ...@@ -85,21 +112,39 @@
<key> <string>default</string> </key> <key> <string>default</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>0</int> </value>
</item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
<value> <string>my_gadget_field</string> </value> <value> <string>my_view_mode_classification</string> </value>
</item> </item>
<item> <item>
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value> <value> <string>Base_viewDMSFieldLibrary</string> </value>
</item> </item>
<item> <item>
<key> <string>gadget_url</string> </key> <key> <string>items</string> </key>
<value> <string></string> </value> <value>
<list/>
</value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Diff</string> </value> <value> <string>Patch Behaviour</string> </value>
</item> </item>
</dictionary> </dictionary>
</value> </value>
...@@ -115,7 +160,7 @@ ...@@ -115,7 +160,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>python: here.getDiff()</string> </value> <value> <string>python: here.getPredecessorId() and (here.getValidationState() == "draft" or here.getValidationState() == "built")</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
...@@ -128,7 +173,33 @@ ...@@ -128,7 +173,33 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>python: field.restrictedTraverse(\'business_patch_item_view_diff_gadget.html\').absolute_url()</string> </value> <value> <string>python: here.getPredecessorId()</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: (getattr(here.portal_categories[field.getId().replace(\'my_\', \'\', 1)], preferences.getPreference(\'preferred_category_child_item_list_method_id\', \'getCategoryChildCompactLogicalPathItemList\'))(local_sort_id=(\'int_index\', \'translated_title\'), checked_permission=\'View\'))[1:]</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: here.getPredecessorId()</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_item_sign</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_checkbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Sign</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: here.getBusinessPathSign()</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -10,14 +10,14 @@ ...@@ -10,14 +10,14 @@
<key> <string>delegated_list</string> </key> <key> <string>delegated_list</string> </key>
<value> <value>
<list> <list>
<string>required</string> <string>editable</string>
<string>title</string> <string>title</string>
</list> </list>
</value> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>listbox_follow_up_title</string> </value> <value> <string>my_modification_date</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -64,21 +64,21 @@ ...@@ -64,21 +64,21 @@
<key> <string>values</string> </key> <key> <string>values</string> </key>
<value> <value>
<dictionary> <dictionary>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
<value> <string>my_relation_field</string> </value> <value> <string>my_date_time_field</string> </value>
</item> </item>
<item> <item>
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value> <value> <string>Base_viewFieldLibrary</string> </value>
</item> </item>
<item>
<key> <string>required</string> </key>
<value> <int>1</int> </value>
</item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Business Template</string> </value> <value> <string>Modification Date</string> </value>
</item> </item>
</dictionary> </dictionary>
</value> </value>
......
...@@ -10,16 +10,21 @@ ...@@ -10,16 +10,21 @@
<key> <string>delegated_list</string> </key> <key> <string>delegated_list</string> </key>
<value> <value>
<list> <list>
<string>default</string> <string>allow_creation</string>
<string>description</string> <string>base_category</string>
<string>catalog_index</string>
<string>columns</string>
<string>editable</string> <string>editable</string>
<string>first_item</string>
<string>parameter_list</string>
<string>portal_type</string>
<string>title</string> <string>title</string>
</list> </list>
</value> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>your_business_template_title_list</string> </value> <value> <string>my_predecessor_id</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -52,23 +57,43 @@ ...@@ -52,23 +57,43 @@
<value> <value>
<dictionary> <dictionary>
<item> <item>
<key> <string>default</string> </key> <key> <string>base_category</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>catalog_index</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>field_id</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>first_item</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>parameter_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -81,28 +106,89 @@ ...@@ -81,28 +106,89 @@
<value> <value>
<dictionary> <dictionary>
<item> <item>
<key> <string>default</string> </key> <key> <string>allow_creation</string> </key>
<value> <string></string> </value> <value> <int>0</int> </value>
</item>
<item>
<key> <string>base_category</string> </key>
<value> <string>predecessor</string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>catalog_index</string> </key>
<value> <string>Business Templates affected by this commit</string> </value> <value> <string>id</string> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value>
<list>
<tuple>
<string>id</string>
<string>UUID</string>
</tuple>
<tuple>
<string>predecessor_id</string>
<string>Reference Item</string>
</tuple>
<tuple>
<string>modification_date</string>
<string>Modification Date</string>
</tuple>
<tuple>
<string>item_path</string>
<string>Path</string>
</tuple>
<tuple>
<string>follow_up_title_list</string>
<string>Business Templates</string>
</tuple>
<tuple>
<string>parent_id</string>
<string>Related Commit</string>
</tuple>
</list>
</value>
</item> </item>
<item> <item>
<key> <string>editable</string> </key> <key> <string>editable</string> </key>
<value> <int>0</int> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
<value> <string>my_lines_field</string> </value> <value> <string>my_relation_field</string> </value>
</item>
<item>
<key> <string>first_item</string> </key>
<value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value> <value> <string>Base_viewFieldLibrary</string> </value>
</item> </item>
<item>
<key> <string>parameter_list</string> </key>
<value>
<list>
<tuple>
<string>validation_state</string>
<string>validated</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value>
<list>
<tuple>
<string>Business Item</string>
<string>Business Item</string>
</tuple>
</list>
</value>
</item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Business Templates</string> </value> <value> <string>Reference Item</string> </value>
</item> </item>
</dictionary> </dictionary>
</value> </value>
...@@ -118,7 +204,7 @@ ...@@ -118,7 +204,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>python: list(set([item for sublist in [l.getFollowUpTitleList() for l in here.objectValues()] for item in sublist]))</string> </value> <value> <string>python: here.getValidationState() == "draft" or here.getValidationState() == "built"</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5 Form" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Base_edit</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>my_item_path</string>
<string>my_item_sign</string>
<string>my_item_layer</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list>
<string>my_dependency_list</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>BusinessPatchItem_view</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>BusinessItem_view</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_view</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Business Item Definition</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_dependency_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_lines_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Dependencies Title</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -53,9 +53,7 @@ ...@@ -53,9 +53,7 @@
<item> <item>
<key> <string>bottom</string> </key> <key> <string>bottom</string> </key>
<value> <value>
<list> <list/>
<string>listbox</string>
</list>
</value> </value>
</item> </item>
<item> <item>
...@@ -70,10 +68,7 @@ ...@@ -70,10 +68,7 @@
<key> <string>hidden</string> </key> <key> <string>hidden</string> </key>
<value> <value>
<list> <list>
<string>listbox_item_path</string> <string>listbox</string>
<string>listbox_item_sign</string>
<string>listbox_item_layer</string>
<string>listbox_follow_up_title</string>
</list> </list>
</value> </value>
</item> </item>
...@@ -81,9 +76,8 @@ ...@@ -81,9 +76,8 @@
<key> <string>left</string> </key> <key> <string>left</string> </key>
<value> <value>
<list> <list>
<string>my_title</string>
<string>my_id</string> <string>my_id</string>
<string>my_similar_title</string> <string>my_predecessor_id</string>
</list> </list>
</value> </value>
</item> </item>
...@@ -91,6 +85,7 @@ ...@@ -91,6 +85,7 @@
<key> <string>right</string> </key> <key> <string>right</string> </key>
<value> <value>
<list> <list>
<string>my_portal_type</string>
<string>my_creation_date</string> <string>my_creation_date</string>
<string>my_modification_date</string> <string>my_modification_date</string>
<string>my_translated_validation_state_title</string> <string>my_translated_validation_state_title</string>
......
This diff is collapsed.
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