Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
W
wendelin
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nikola Balog
wendelin
Commits
35055208
Commit
35055208
authored
Apr 18, 2016
by
Douglas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert "erp5_wendelin: business template updated to new format"
This reverts commit
d0de24c4
.
parent
093000a8
Changes
89
Show whitespace changes
Inline
Side-by-side
Showing
89 changed files
with
5265 additions
and
466 deletions
+5265
-466
bt5/erp5_wendelin/ActionTemplateItem/portal_types/Data%20Array%20Line%20Existence%20Constraint/predicate.xml
...ata%20Array%20Line%20Existence%20Constraint/predicate.xml
+124
-0
bt5/erp5_wendelin/ActionTemplateItem/portal_types/Data%20Array%20Line%20Existence%20Constraint/view.xml
...pes/Data%20Array%20Line%20Existence%20Constraint/view.xml
+85
-0
bt5/erp5_wendelin/ActionTemplateItem/portal_types/Data%20Array%20Line/view.xml
...ionTemplateItem/portal_types/Data%20Array%20Line/view.xml
+85
-0
bt5/erp5_wendelin/ActionTemplateItem/portal_types/Data%20Array/preview.xml
.../ActionTemplateItem/portal_types/Data%20Array/preview.xml
+85
-0
bt5/erp5_wendelin/ActionTemplateItem/portal_types/Data%20Event%20Module/view.xml
...nTemplateItem/portal_types/Data%20Event%20Module/view.xml
+83
-0
bt5/erp5_wendelin/ActionTemplateItem/portal_types/Data%20Event/view.xml
...lin/ActionTemplateItem/portal_types/Data%20Event/view.xml
+83
-0
bt5/erp5_wendelin/DocumentTemplateItem/portal_components/document.erp5.DataArray.py
...TemplateItem/portal_components/document.erp5.DataArray.py
+11
-5
bt5/erp5_wendelin/DocumentTemplateItem/portal_components/document.erp5.DataArray.xml
...emplateItem/portal_components/document.erp5.DataArray.xml
+3
-3
bt5/erp5_wendelin/DocumentTemplateItem/portal_components/document.erp5.DataArrayLine.py
...lateItem/portal_components/document.erp5.DataArrayLine.py
+64
-0
bt5/erp5_wendelin/DocumentTemplateItem/portal_components/document.erp5.DataArrayLine.xml
...ateItem/portal_components/document.erp5.DataArrayLine.xml
+123
-0
bt5/erp5_wendelin/DocumentTemplateItem/portal_components/document.erp5.DataArrayLineExistenceConstraint.py
...ponents/document.erp5.DataArrayLineExistenceConstraint.py
+68
-0
bt5/erp5_wendelin/DocumentTemplateItem/portal_components/document.erp5.DataArrayLineExistenceConstraint.xml
...onents/document.erp5.DataArrayLineExistenceConstraint.xml
+125
-0
bt5/erp5_wendelin/ModuleTemplateItem/data_event_module.xml
bt5/erp5_wendelin/ModuleTemplateItem/data_event_module.xml
+96
-0
bt5/erp5_wendelin/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
...eAllowedContentTypeTemplateItem/allowed_content_types.xml
+9
-0
bt5/erp5_wendelin/PortalTypeBaseCategoryTemplateItem/base_category_list.xml
...PortalTypeBaseCategoryTemplateItem/base_category_list.xml
+6
-0
bt5/erp5_wendelin/PortalTypePropertySheetTemplateItem/property_sheet_list.xml
...rtalTypePropertySheetTemplateItem/property_sheet_list.xml
+10
-0
bt5/erp5_wendelin/PortalTypeTemplateItem/portal_types/Data%20Array%20Line%20Existence%20Constraint.xml
...al_types/Data%20Array%20Line%20Existence%20Constraint.xml
+68
-0
bt5/erp5_wendelin/PortalTypeTemplateItem/portal_types/Data%20Array%20Line.xml
...rtalTypeTemplateItem/portal_types/Data%20Array%20Line.xml
+58
-0
bt5/erp5_wendelin/PortalTypeTemplateItem/portal_types/Data%20Array.xml
...elin/PortalTypeTemplateItem/portal_types/Data%20Array.xml
+11
-0
bt5/erp5_wendelin/PortalTypeTemplateItem/portal_types/Data%20Event%20Module.xml
...alTypeTemplateItem/portal_types/Data%20Event%20Module.xml
+108
-0
bt5/erp5_wendelin/PortalTypeTemplateItem/portal_types/Data%20Event.xml
...elin/PortalTypeTemplateItem/portal_types/Data%20Event.xml
+64
-0
bt5/erp5_wendelin/PortalTypeTemplateItem/portal_types/Data%20Supply.xml
...lin/PortalTypeTemplateItem/portal_types/Data%20Supply.xml
+1
-1
bt5/erp5_wendelin/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
...rtalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
+4
-0
bt5/erp5_wendelin/PropertySheetTemplateItem/portal_property_sheets/DataArrayLine.xml
...heetTemplateItem/portal_property_sheets/DataArrayLine.xml
+66
-0
bt5/erp5_wendelin/PropertySheetTemplateItem/portal_property_sheets/DataArrayLine/dtype_property.xml
...m/portal_property_sheets/DataArrayLine/dtype_property.xml
+34
-0
bt5/erp5_wendelin/PropertySheetTemplateItem/portal_property_sheets/DataArrayLine/index_expression_property.xml
...operty_sheets/DataArrayLine/index_expression_property.xml
+36
-0
bt5/erp5_wendelin/PropertySheetTemplateItem/portal_property_sheets/DataEvent.xml
...rtySheetTemplateItem/portal_property_sheets/DataEvent.xml
+66
-0
bt5/erp5_wendelin/PropertySheetTemplateItem/portal_property_sheets/DataEvent/start_date_property.xml
.../portal_property_sheets/DataEvent/start_date_property.xml
+36
-0
bt5/erp5_wendelin/PropertySheetTemplateItem/portal_property_sheets/DataEvent/stop_date_property.xml
...m/portal_property_sheets/DataEvent/stop_date_property.xml
+36
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/Base_validateStringFieldWithIndexExpression.xml
..._wendelin/Base_validateStringFieldWithIndexExpression.xml
+75
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLineExistenceConstraint_view.xml
...s/erp5_wendelin/DataArrayLineExistenceConstraint_view.xml
+137
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLineExistenceConstraint_view/my_description.xml
.../DataArrayLineExistenceConstraint_view/my_description.xml
+128
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLineExistenceConstraint_view/my_dtype.xml
...ndelin/DataArrayLineExistenceConstraint_view/my_dtype.xml
+101
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLineExistenceConstraint_view/my_id.xml
..._wendelin/DataArrayLineExistenceConstraint_view/my_id.xml
+91
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLineExistenceConstraint_view/my_index_expression.xml
...ArrayLineExistenceConstraint_view/my_index_expression.xml
+121
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLineExistenceConstraint_view/my_reference.xml
...in/DataArrayLineExistenceConstraint_view/my_reference.xml
+96
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLine_view.xml
...ateItem/portal_skins/erp5_wendelin/DataArrayLine_view.xml
+136
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLine_view/my_description.xml
...skins/erp5_wendelin/DataArrayLine_view/my_description.xml
+128
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLine_view/my_dtype.xml
...ortal_skins/erp5_wendelin/DataArrayLine_view/my_dtype.xml
+101
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLine_view/my_index_expression.xml
.../erp5_wendelin/DataArrayLine_view/my_index_expression.xml
+121
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLine_view/my_reference.xml
...l_skins/erp5_wendelin/DataArrayLine_view/my_reference.xml
+90
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArray_getArrayColumnList.py
...ortal_skins/erp5_wendelin/DataArray_getArrayColumnList.py
+0
-12
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArray_getArrayColumnList.xml
...rtal_skins/erp5_wendelin/DataArray_getArrayColumnList.xml
+20
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArray_getArrayRowList.py
...m/portal_skins/erp5_wendelin/DataArray_getArrayRowList.py
+0
-58
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArray_getArrayRowList.xml
.../portal_skins/erp5_wendelin/DataArray_getArrayRowList.xml
+66
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArray_view/listbox.xml
...tem/portal_skins/erp5_wendelin/DataArray_view/listbox.xml
+41
-63
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArray_viewPreview.xml
...Item/portal_skins/erp5_wendelin/DataArray_viewPreview.xml
+133
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArray_viewPreview/listbox.xml
...tal_skins/erp5_wendelin/DataArray_viewPreview/listbox.xml
+186
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArray_viewPreview/my_title.xml
...al_skins/erp5_wendelin/DataArray_viewPreview/my_title.xml
+96
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEventModule_viewDataEventList.xml
...skins/erp5_wendelin/DataEventModule_viewDataEventList.xml
+131
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEventModule_viewDataEventList/listbox.xml
...p5_wendelin/DataEventModule_viewDataEventList/listbox.xml
+144
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_getResourceItemList.xml
...tal_skins/erp5_wendelin/DataEvent_getResourceItemList.xml
+72
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view.xml
...emplateItem/portal_skins/erp5_wendelin/DataEvent_view.xml
+140
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view/my_aggregate_title_list.xml
.../erp5_wendelin/DataEvent_view/my_aggregate_title_list.xml
+130
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view/my_description.xml
...tal_skins/erp5_wendelin/DataEvent_view/my_description.xml
+90
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view/my_destination_title.xml
...ins/erp5_wendelin/DataEvent_view/my_destination_title.xml
+108
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view/my_resource.xml
...portal_skins/erp5_wendelin/DataEvent_view/my_resource.xml
+126
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view/my_source_title.xml
...al_skins/erp5_wendelin/DataEvent_view/my_source_title.xml
+108
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view/my_start_date.xml
...rtal_skins/erp5_wendelin/DataEvent_view/my_start_date.xml
+106
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view/my_stop_date.xml
...ortal_skins/erp5_wendelin/DataEvent_view/my_stop_date.xml
+106
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view/my_title.xml
...em/portal_skins/erp5_wendelin/DataEvent_view/my_title.xml
+96
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_convertoNumpyArray.py
...rtal_skins/erp5_wendelin/DataStream_convertoNumpyArray.py
+0
-44
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_convertoNumpyArray.xml
...tal_skins/erp5_wendelin/DataStream_convertoNumpyArray.xml
+52
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_readChunkListAndTransform.py
...ins/erp5_wendelin/DataStream_readChunkListAndTransform.py
+0
-45
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_readChunkListAndTransform.xml
...ns/erp5_wendelin/DataStream_readChunkListAndTransform.xml
+53
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_transform.py
...teItem/portal_skins/erp5_wendelin/DataStream_transform.py
+0
-40
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_transform.xml
...eItem/portal_skins/erp5_wendelin/DataStream_transform.xml
+48
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_transformTail.py
...em/portal_skins/erp5_wendelin/DataStream_transformTail.py
+0
-10
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_transformTail.xml
...m/portal_skins/erp5_wendelin/DataStream_transformTail.xml
+18
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_view.xml
...mplateItem/portal_skins/erp5_wendelin/DataStream_view.xml
+1
-2
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/ERP5Site_handleDefaultFluentdIngestion.py
...s/erp5_wendelin/ERP5Site_handleDefaultFluentdIngestion.py
+0
-81
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/ERP5Site_handleDefaultFluentdIngestion.xml
.../erp5_wendelin/ERP5Site_handleDefaultFluentdIngestion.xml
+82
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/IngestionPolicyTool_addIngestionPolicy.py
...s/erp5_wendelin/IngestionPolicyTool_addIngestionPolicy.py
+0
-54
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/IngestionPolicyTool_addIngestionPolicy.xml
.../erp5_wendelin/IngestionPolicyTool_addIngestionPolicy.xml
+58
-0
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/PortalIngestionPolicy_addDataSupply.py
...kins/erp5_wendelin/PortalIngestionPolicy_addDataSupply.py
+0
-12
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/PortalIngestionPolicy_addDataSupply.xml
...ins/erp5_wendelin/PortalIngestionPolicy_addDataSupply.xml
+16
-0
bt5/erp5_wendelin/TestTemplateItem/portal_components/test.erp5.testWendelin.py
...tTemplateItem/portal_components/test.erp5.testWendelin.py
+21
-11
bt5/erp5_wendelin/TestTemplateItem/portal_components/test.erp5.testWendelin.xml
...TemplateItem/portal_components/test.erp5.testWendelin.xml
+1
-13
bt5/erp5_wendelin/WorkflowTemplateItem/portal_workflow/data_stream_interaction_workflow/scripts/DataStream_appendData.py
...eam_interaction_workflow/scripts/DataStream_appendData.py
+0
-12
bt5/erp5_wendelin/WorkflowTemplateItem/portal_workflow/data_stream_interaction_workflow/scripts/DataStream_appendData.xml
...am_interaction_workflow/scripts/DataStream_appendData.xml
+16
-0
bt5/erp5_wendelin/bt/template_action_path_list
bt5/erp5_wendelin/bt/template_action_path_list
+6
-0
bt5/erp5_wendelin/bt/template_document_id_list
bt5/erp5_wendelin/bt/template_document_id_list
+2
-0
bt5/erp5_wendelin/bt/template_module_id_list
bt5/erp5_wendelin/bt/template_module_id_list
+1
-0
bt5/erp5_wendelin/bt/template_portal_type_allowed_content_type_list
...endelin/bt/template_portal_type_allowed_content_type_list
+3
-0
bt5/erp5_wendelin/bt/template_portal_type_base_category_list
bt5/erp5_wendelin/bt/template_portal_type_base_category_list
+4
-0
bt5/erp5_wendelin/bt/template_portal_type_id_list
bt5/erp5_wendelin/bt/template_portal_type_id_list
+4
-0
bt5/erp5_wendelin/bt/template_portal_type_property_sheet_list
...erp5_wendelin/bt/template_portal_type_property_sheet_list
+4
-0
bt5/erp5_wendelin/bt/template_portal_type_workflow_chain_list
...erp5_wendelin/bt/template_portal_type_workflow_chain_list
+1
-0
bt5/erp5_wendelin/bt/template_property_sheet_id_list
bt5/erp5_wendelin/bt/template_property_sheet_id_list
+2
-0
No files found.
bt5/erp5_wendelin/ActionTemplateItem/portal_types/Data%20Array%20Line%20Existence%20Constraint/predicate.xml
0 → 100644
View file @
35055208
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"ActionInformation"
module=
"Products.CMFCore.ActionInformation"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_local_properties
</string>
</key>
<value>
<tuple>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
is_indexable
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
reindex_kw
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
</tuple>
</value>
</item>
<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>
predicate
</string>
</value>
</item>
<item>
<key>
<string>
is_indexable
</string>
</key>
<value>
<none/>
</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>
reindex_kw
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Predicate
</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}/Predicate_view
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/ActionTemplateItem/portal_types/Data%20Array%20Line%20Existence%20Constraint/view.xml
0 → 100644
View file @
35055208
<?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>
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}/DataArrayLineExistenceConstraint_view
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/ActionTemplateItem/portal_types/Data%20Array%20Line/view.xml
0 → 100644
View file @
35055208
<?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>
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}/DataArrayLine_view
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/ActionTemplateItem/portal_types/Data%20Array/preview.xml
0 → 100644
View file @
35055208
<?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>
preview
</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>
Preview
</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}/DataArray_viewPreview
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/ActionTemplateItem/portal_types/Data%20Event%20Module/view.xml
0 → 100644
View file @
35055208
<?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_list
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
category
</string>
</key>
<value>
<string>
object_list
</string>
</value>
</item>
<item>
<key>
<string>
condition
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
icon
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
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}/DataEventModule_viewDataEventList
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/ActionTemplateItem/portal_types/Data%20Event/view.xml
0 → 100644
View file @
35055208
<?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>
<string></string>
</value>
</item>
<item>
<key>
<string>
icon
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
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}/DataEvent_view
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/DocumentTemplateItem/portal_components/document.erp5.DataArray.py
View file @
35055208
...
...
@@ -101,6 +101,10 @@ class DataArray(BigFile):
"""
Implement getSize interface for ndarray
"""
array
=
self
.
getArray
()
if
array
is
None
:
return
0
else
:
return
self
.
getArray
().
nbytes
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
'getArrayShape'
)
...
...
@@ -138,8 +142,8 @@ class DataArray(BigFile):
if
range
is
not
None
:
ranges
=
HTTPRangeSupport
.
parseRange
(
range
)
# get byte view of array because we interpret ranges in bytes
data
=
self
.
getArray
()[:].
view
(
"uint8"
).
ravel
()
array
=
self
.
getArray
()
factor
=
array
.
nbytes
/
array
.
shape
[
0
]
if
if_range
is
not
None
:
# Only send ranges if the data isn't modified, otherwise send
...
...
@@ -201,7 +205,8 @@ class DataArray(BigFile):
'bytes %d-%d/%d'
%
(
start
,
end
-
1
,
self
.
getSize
()))
RESPONSE
.
setStatus
(
206
)
# Partial content
RESPONSE
.
write
(
data
[
start
:
end
].
tobytes
())
# convert ranges from bytes to array indices
RESPONSE
.
write
(
array
[
start
/
factor
:
end
/
factor
].
tobytes
())
else
:
boundary
=
choose_boundary
()
...
...
@@ -235,7 +240,8 @@ class DataArray(BigFile):
'Content-Range: bytes %d-%d/%d
\
r
\
n
\
r
\
n
'
%
(
start
,
end
-
1
,
self
.
getSize
()))
RESPONSE
.
write
(
data
[
start
:
end
].
tobytes
())
# convert ranges from bytes to array indices
RESPONSE
.
write
(
array
[
start
/
factor
:
end
/
factor
].
tobytes
())
RESPONSE
.
write
(
'
\
r
\
n
--%s--
\
r
\
n
'
%
boundary
)
return
True
bt5/erp5_wendelin/DocumentTemplateItem/portal_components/document.erp5.DataArray.xml
View file @
35055208
...
...
@@ -46,9 +46,9 @@
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<tuple>
<string>
W:11
4
, 42: Redefining built-in \'format\' (redefined-builtin)
</string>
<string>
W:13
1
, 4: Redefining built-in \'range\' (redefined-builtin)
</string>
<string>
W:1
58
, 10: No exception type(s) specified (bare-except)
</string>
<string>
W:11
8
, 42: Redefining built-in \'format\' (redefined-builtin)
</string>
<string>
W:13
5
, 4: Redefining built-in \'range\' (redefined-builtin)
</string>
<string>
W:1
62
, 10: No exception type(s) specified (bare-except)
</string>
</tuple>
</value>
</item>
...
...
bt5/erp5_wendelin/DocumentTemplateItem/portal_components/document.erp5.DataArrayLine.py
0 → 100644
View file @
35055208
# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2015 Nexedi SA and Contributors. All Rights Reserved.
# Ivan Tyagov <ivan@nexedi.com>
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from
Products.ERP5Type.Base
import
TempBase
from
erp5.component.document.DataArray
import
DataArray
from
Products.ERP5Type.Utils
import
createExpressionContext
,
\
evaluateExpressionFromString
class
GetIndex
(
TempBase
):
def
__getitem__
(
self
,
idx
):
return
idx
class
DataArrayLine
(
DataArray
):
"""
A view on parent data array
"""
def
initArray
(
self
,
shape
,
dtype
):
"""
Not Implemented.
"""
raise
NotImplementedError
def
getArray
(
self
,
default
=
None
):
"""
Get numpy view of Parent Data Array according to index.
"""
getindex
=
GetIndex
(
"getindex"
)
expression_context
=
createExpressionContext
(
None
,
portal
=
getindex
)
index
=
evaluateExpressionFromString
(
expression_context
,
"python: portal[%s]"
%
self
.
getIndexExpression
()
)
array_view
=
self
.
getParentValue
().
getArray
()[
index
]
dtype
=
self
.
getDtype
()
if
dtype
is
not
None
:
return
array_view
.
view
(
dtype
=
dtype
)
else
:
return
array_view
bt5/erp5_wendelin/DocumentTemplateItem/portal_components/document.erp5.DataArrayLine.xml
0 → 100644
View file @
35055208
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Document Component"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_recorded_property_dict
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
DataArrayLine
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
document.erp5.DataArrayLine
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Document Component
</string>
</value>
</item>
<item>
<key>
<string>
sid
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
text_content_error_message
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<string>
erp5
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
validate
</string>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
validated
</string>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/DocumentTemplateItem/portal_components/document.erp5.DataArrayLineExistenceConstraint.py
0 → 100644
View file @
35055208
##############################################################################
#
# Copyright (c) 2002-2007 Nexedi SARL and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from
Products.ERP5Type.mixin.constraint
import
ConstraintMixin
translateString
=
lambda
msg
:
msg
# just to extract messages
class
DataArrayLineExistenceConstraint
(
ConstraintMixin
):
"""
Checks if data array line with defined reference exists.
This constraint supports fixing consistency.
"""
def
_checkConsistency
(
self
,
obj
,
fixit
=
0
):
"""
Implement here the consistency checker
"""
error_list
=
[]
name
=
self
.
getReference
()
index_expression
=
self
.
getIndexExpression
()
dtype
=
self
.
getDtype
()
if
name
not
in
obj
:
message
=
"Data Array Line ${reference} does not exist"
if
fixit
:
obj
.
newContent
(
name
,
portal_type
=
"Data Array Line"
,
reference
=
name
,
index_expression
=
index_expression
,
dtype
=
dtype
)
message
=
"%s (Fixed)"
%
message
error_list
.
append
(
self
.
_generateError
(
obj
,
message
,
mapping
=
{
"reference"
:
name
}
)
)
return
error_list
bt5/erp5_wendelin/DocumentTemplateItem/portal_components/document.erp5.DataArrayLineExistenceConstraint.xml
0 → 100644
View file @
35055208
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Document Component"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_recorded_property_dict
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
DataArrayLineExistenceConstraint
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
document.erp5.DataArrayLineExistenceConstraint
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Document Component
</string>
</value>
</item>
<item>
<key>
<string>
sid
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
text_content_error_message
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<tuple>
<string>
W: 39, 2: Arguments number differs from overridden \'_checkConsistency\' method (arguments-differ)
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<string>
erp5
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
validate
</string>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
validated
</string>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/ModuleTemplateItem/data_event_module.xml
0 → 100644
View file @
35055208
<module>
<id>
data_event_module
</id>
<permission_list>
<permission
type=
'tuple'
>
<name>
Access Transient Objects
</name>
<role>
Assignee
</role>
<role>
Assignor
</role>
<role>
Associate
</role>
<role>
Auditor
</role>
<role>
Author
</role>
<role>
Manager
</role>
</permission>
<permission
type=
'tuple'
>
<name>
Access contents information
</name>
<role>
Assignee
</role>
<role>
Assignor
</role>
<role>
Associate
</role>
<role>
Auditor
</role>
<role>
Author
</role>
<role>
Manager
</role>
</permission>
<permission
type=
'tuple'
>
<name>
Access session data
</name>
<role>
Assignee
</role>
<role>
Assignor
</role>
<role>
Associate
</role>
<role>
Auditor
</role>
<role>
Author
</role>
<role>
Manager
</role>
</permission>
<permission
type=
'tuple'
>
<name>
Add portal content
</name>
<role>
Assignor
</role>
<role>
Author
</role>
<role>
Manager
</role>
</permission>
<permission
type=
'tuple'
>
<name>
Add portal folders
</name>
<role>
Assignor
</role>
<role>
Author
</role>
<role>
Manager
</role>
</permission>
<permission
type=
'tuple'
>
<name>
Change local roles
</name>
<role>
Assignor
</role>
<role>
Manager
</role>
</permission>
<permission
type=
'tuple'
>
<name>
Copy or Move
</name>
<role>
Assignee
</role>
<role>
Assignor
</role>
<role>
Associate
</role>
<role>
Auditor
</role>
<role>
Author
</role>
<role>
Manager
</role>
</permission>
<permission
type=
'tuple'
>
<name>
Delete objects
</name>
<role>
Assignor
</role>
<role>
Manager
</role>
</permission>
<permission
type=
'tuple'
>
<name>
List folder contents
</name>
<role>
Assignee
</role>
<role>
Assignor
</role>
<role>
Associate
</role>
<role>
Auditor
</role>
<role>
Author
</role>
<role>
Manager
</role>
</permission>
<permission
type=
'tuple'
>
<name>
Modify portal content
</name>
<role>
Assignor
</role>
<role>
Manager
</role>
</permission>
<permission
type=
'tuple'
>
<name>
View
</name>
<role>
Assignee
</role>
<role>
Assignor
</role>
<role>
Associate
</role>
<role>
Auditor
</role>
<role>
Manager
</role>
</permission>
<permission
type=
'tuple'
>
<name>
View History
</name>
<role>
Assignee
</role>
<role>
Assignor
</role>
<role>
Associate
</role>
<role>
Auditor
</role>
<role>
Author
</role>
<role>
Manager
</role>
</permission>
</permission_list>
<portal_type>
Data Event Module
</portal_type>
<title>
Data Events
</title>
</module>
\ No newline at end of file
bt5/erp5_wendelin/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
View file @
35055208
...
...
@@ -11,9 +11,15 @@
<portal_type
id=
"Data Analysis Module"
>
<item>
Data Analysis
</item>
</portal_type>
<portal_type
id=
"Data Array"
>
<item>
Data Array Line
</item>
</portal_type>
<portal_type
id=
"Data Array Module"
>
<item>
Data Array
</item>
</portal_type>
<portal_type
id=
"Data Event Module"
>
<item>
Data Event
</item>
</portal_type>
<portal_type
id=
"Data Ingestion"
>
<item>
Data Ingestion Line
</item>
</portal_type>
...
...
@@ -50,6 +56,9 @@
<portal_type
id=
"Ingestion Policy Tool"
>
<item>
Ingestion Policy
</item>
</portal_type>
<portal_type
id=
"Property Sheet"
>
<item>
Data Array Line Existence Constraint
</item>
</portal_type>
<portal_type
id=
"Sensor Module"
>
<item>
Sensor
</item>
</portal_type>
...
...
bt5/erp5_wendelin/PortalTypeBaseCategoryTemplateItem/base_category_list.xml
View file @
35055208
<base_category_list>
<portal_type
id=
"Data Event"
>
<item>
aggregate
</item>
<item>
destination
</item>
<item>
resource
</item>
<item>
source
</item>
</portal_type>
<portal_type
id=
"Sensor"
>
<item>
destination
</item>
<item>
source
</item>
...
...
bt5/erp5_wendelin/PortalTypePropertySheetTemplateItem/property_sheet_list.xml
View file @
35055208
...
...
@@ -2,6 +2,16 @@
<portal_type
id=
"Data Array"
>
<item>
DataArray
</item>
</portal_type>
<portal_type
id=
"Data Array Line"
>
<item>
DataArrayLine
</item>
</portal_type>
<portal_type
id=
"Data Array Line Existence Constraint"
>
<item>
ConstraintType
</item>
<item>
DataArrayLine
</item>
</portal_type>
<portal_type
id=
"Data Event"
>
<item>
DataEvent
</item>
</portal_type>
<portal_type
id=
"Data Operation"
>
<item>
Predicate
</item>
</portal_type>
...
...
bt5/erp5_wendelin/PortalTypeTemplateItem/portal_types/Data%20Array%20Line%20Existence%20Constraint.xml
0 → 100644
View file @
35055208
<?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>
group_list
</string>
</key>
<value>
<tuple>
<string>
constraint
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
Data Array Line Existence Constraint
</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>
DataArrayLineExistenceConstraint
</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>
bt5/erp5_wendelin/PortalTypeTemplateItem/portal_types/Data%20Array%20Line.xml
0 → 100644
View file @
35055208
<?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>
<string>
A view on parent data array
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
Data Array Line
</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>
DataArrayLine
</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>
bt5/erp5_wendelin/PortalTypeTemplateItem/portal_types/Data%20Array.xml
View file @
35055208
...
...
@@ -40,6 +40,17 @@
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Base Type
</string>
</value>
</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>
<key>
<string>
type_class
</string>
</key>
<value>
<string>
DataArray
</string>
</value>
...
...
bt5/erp5_wendelin/PortalTypeTemplateItem/portal_types/Data%20Event%20Module.xml
0 → 100644
View file @
35055208
<?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>
_property_domain_dict
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
content_icon
</string>
</key>
<value>
<string>
folder_icon.gif
</string>
</value>
</item>
<item>
<key>
<string>
factory
</string>
</key>
<value>
<string>
addFolder
</string>
</value>
</item>
<item>
<key>
<string>
group_list
</string>
</key>
<value>
<tuple>
<string>
module
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
Data Event Module
</string>
</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>
Folder
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
short_title
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"TranslationInformation"
module=
"Products.ERP5Type.TranslationProviderBase"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
domain_name
</string>
</key>
<value>
<string>
erp5_ui
</string>
</value>
</item>
<item>
<key>
<string>
property_name
</string>
</key>
<value>
<string>
short_title
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"TranslationInformation"
module=
"Products.ERP5Type.TranslationProviderBase"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
domain_name
</string>
</key>
<value>
<string>
erp5_ui
</string>
</value>
</item>
<item>
<key>
<string>
property_name
</string>
</key>
<value>
<string>
title
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/PortalTypeTemplateItem/portal_types/Data%20Event.xml
0 → 100644
View file @
35055208
<?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>
factory
</string>
</key>
<value>
<string>
addXMLObject
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
Data Event
</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>
XMLObject
</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>
bt5/erp5_wendelin/PortalTypeTemplateItem/portal_types/Data%20Supply.xml
View file @
35055208
...
...
@@ -50,7 +50,7 @@ It is used by Ingestion Policy.</string> </value>
</item>
<item>
<key>
<string>
type_class
</string>
</key>
<value>
<string>
Suppl
y
</string>
</value>
<value>
<string>
Deliver
y
</string>
</value>
</item>
<item>
<key>
<string>
type_interface
</string>
</key>
...
...
bt5/erp5_wendelin/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
View file @
35055208
...
...
@@ -19,6 +19,10 @@
<type>
Data Array
</type>
<workflow>
edit_workflow, validation_workflow
</workflow>
</chain>
<chain>
<type>
Data Event
</type>
<workflow>
edit_workflow
</workflow>
</chain>
<chain>
<type>
Data Ingestion
</type>
<workflow>
edit_workflow, validation_workflow
</workflow>
...
...
bt5/erp5_wendelin/PropertySheetTemplateItem/portal_property_sheets/DataArrayLine.xml
0 → 100644
View file @
35055208
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Property Sheet"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_count
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_mt_index
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_tree
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
DataArrayLine
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Property Sheet
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Length"
module=
"BTrees.Length"
/>
</pickle>
<pickle>
<int>
0
</int>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"OOBTree"
module=
"BTrees.OOBTree"
/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"OOBTree"
module=
"BTrees.OOBTree"
/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/PropertySheetTemplateItem/portal_property_sheets/DataArrayLine/dtype_property.xml
0 → 100644
View file @
35055208
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Standard Property"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
elementary_type/string
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
dtype_property
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Standard Property
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/PropertySheetTemplateItem/portal_property_sheets/DataArrayLine/index_expression_property.xml
0 → 100644
View file @
35055208
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Standard Property"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
elementary_type/string
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
A tales expression to define the index(es) included in the view of the parent data array.
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
index_expression_property
</string>
</value>
</item>
<item>
<key>
<string>
multivalued
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Standard Property
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/PropertySheetTemplateItem/portal_property_sheets/DataEvent.xml
0 → 100644
View file @
35055208
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Property Sheet"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_count
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_mt_index
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_tree
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
DataEvent
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Property Sheet
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Length"
module=
"BTrees.Length"
/>
</pickle>
<pickle>
<int>
0
</int>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"OOBTree"
module=
"BTrees.OOBTree"
/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"OOBTree"
module=
"BTrees.OOBTree"
/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/PropertySheetTemplateItem/portal_property_sheets/DataEvent/start_date_property.xml
0 → 100644
View file @
35055208
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Standard Property"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
elementary_type/date
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
The date of the start of the logged period
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
start_date_property
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Standard Property
</string>
</value>
</item>
<item>
<key>
<string>
property_default
</string>
</key>
<value>
<string>
python: None
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/PropertySheetTemplateItem/portal_property_sheets/DataEvent/stop_date_property.xml
0 → 100644
View file @
35055208
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Standard Property"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
elementary_type/date
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
The date of the end of the logged period
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
stop_date_property
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Standard Property
</string>
</value>
</item>
<item>
<key>
<string>
property_default
</string>
</key>
<value>
<string>
python: None
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/Base_validateStringFieldWithIndexExpression.xml
0 → 100644
View file @
35055208
<?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>
_body
</string>
</key>
<value>
<string>
from Products.ERP5Type.Utils import isValidTALESExpression\n
from Products.Formulator.Errors import ValidationError\n
if not value:\n
return True\n
\n
valid, message = isValidTALESExpression("python: getindex[%s]" % value)\n
if valid:\n
return True\n
raise ValidationError(\'external_validator_failed\', context, error_text=message)\n
</string>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
value, REQUEST
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
Base_validateStringFieldWithIndexExpression
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLineExistenceConstraint_view.xml
0 → 100644
View file @
35055208
<?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>
<string>
my_description
</string>
</list>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<list/>
</value>
</item>
<item>
<key>
<string>
left
</string>
</key>
<value>
<list>
<string>
my_id
</string>
<string>
my_reference
</string>
</list>
</value>
</item>
<item>
<key>
<string>
right
</string>
</key>
<value>
<list>
<string>
my_dtype
</string>
<string>
my_index_expression
</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
DataArrayLineExistenceConstraint_view
</string>
</value>
</item>
<item>
<key>
<string>
method
</string>
</key>
<value>
<string>
POST
</string>
</value>
</item>
<item>
<key>
<string>
name
</string>
</key>
<value>
<string>
DataArrayLine_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>
Data Array Line
</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>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLineExistenceConstraint_view/my_description.xml
0 → 100644
View file @
35055208
<?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/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_description
</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>
alternate_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
editable
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
enabled
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra_context
</string>
</key>
<value>
<string></string>
</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>
hidden
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
tales
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
extra_context
</string>
</key>
<value>
<string></string>
</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>
</dictionary>
</value>
</item>
<item>
<key>
<string>
values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
extra_context
</string>
</key>
<value>
<list/>
</value>
</item>
<item>
<key>
<string>
field_id
</string>
</key>
<value>
<string>
my_description
</string>
</value>
</item>
<item>
<key>
<string>
form_id
</string>
</key>
<value>
<string>
Base_viewPDMFieldLibrary
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLineExistenceConstraint_view/my_dtype.xml
0 → 100644
View file @
35055208
<?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>
display_width
</string>
<string>
title
</string>
</list>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_dtype
</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>
<item>
<key>
<string>
target
</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>
target
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
display_width
</string>
</key>
<value>
<int>
20
</int>
</value>
</item>
<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>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Dtype
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLineExistenceConstraint_view/my_id.xml
0 → 100644
View file @
35055208
<?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/>
</value>
</item>
<item>
<key>
<string>
delegated_message_list
</string>
</key>
<value>
<list/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_id
</string>
</value>
</item>
<item>
<key>
<string>
message_values
</string>
</key>
<value>
<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>
<item>
<key>
<string>
target
</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>
target
</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_view_mode_read_only_id
</string>
</value>
</item>
<item>
<key>
<string>
form_id
</string>
</key>
<value>
<string>
Base_viewFieldLibrary
</string>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLineExistenceConstraint_view/my_index_expression.xml
0 → 100644
View file @
35055208
<?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>
external_validator
</string>
<string>
title
</string>
<string>
width
</string>
</list>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_index_expression
</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>
<item>
<key>
<string>
target
</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>
target
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<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>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Index Expression
</string>
</value>
</item>
<item>
<key>
<string>
width
</string>
</key>
<value>
<int>
40
</int>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Method"
module=
"Products.Formulator.MethodField"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
method_name
</string>
</key>
<value>
<string>
Base_validateStringFieldWithIndexExpression
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLineExistenceConstraint_view/my_reference.xml
0 → 100644
View file @
35055208
<?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_reference
</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>
<item>
<key>
<string>
target
</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>
target
</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_view_mode_reference_as_name
</string>
</value>
</item>
<item>
<key>
<string>
form_id
</string>
</key>
<value>
<string>
Base_viewFieldLibrary
</string>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Name
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLine_view.xml
0 → 100644
View file @
35055208
<?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>
<string>
my_description
</string>
</list>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<list/>
</value>
</item>
<item>
<key>
<string>
left
</string>
</key>
<value>
<list>
<string>
my_reference
</string>
<string>
my_dtype
</string>
</list>
</value>
</item>
<item>
<key>
<string>
right
</string>
</key>
<value>
<list>
<string>
my_index_expression
</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
DataArrayLine_view
</string>
</value>
</item>
<item>
<key>
<string>
method
</string>
</key>
<value>
<string>
POST
</string>
</value>
</item>
<item>
<key>
<string>
name
</string>
</key>
<value>
<string>
DataArrayLine_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>
Data Array Line
</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>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLine_view/my_description.xml
0 → 100644
View file @
35055208
<?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/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_description
</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>
alternate_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
editable
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
enabled
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra_context
</string>
</key>
<value>
<string></string>
</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>
hidden
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
tales
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
extra_context
</string>
</key>
<value>
<string></string>
</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>
</dictionary>
</value>
</item>
<item>
<key>
<string>
values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
extra_context
</string>
</key>
<value>
<list/>
</value>
</item>
<item>
<key>
<string>
field_id
</string>
</key>
<value>
<string>
my_description
</string>
</value>
</item>
<item>
<key>
<string>
form_id
</string>
</key>
<value>
<string>
Base_viewPDMFieldLibrary
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLine_view/my_dtype.xml
0 → 100644
View file @
35055208
<?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>
display_width
</string>
<string>
title
</string>
</list>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_dtype
</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>
<item>
<key>
<string>
target
</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>
target
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
display_width
</string>
</key>
<value>
<int>
20
</int>
</value>
</item>
<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>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Dtype
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLine_view/my_index_expression.xml
0 → 100644
View file @
35055208
<?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>
external_validator
</string>
<string>
title
</string>
<string>
width
</string>
</list>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_index_expression
</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>
<item>
<key>
<string>
target
</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>
target
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<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>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Index Expression
</string>
</value>
</item>
<item>
<key>
<string>
width
</string>
</key>
<value>
<int>
40
</int>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Method"
module=
"Products.Formulator.MethodField"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
method_name
</string>
</key>
<value>
<string>
Base_validateStringFieldWithIndexExpression
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArrayLine_view/my_reference.xml
0 → 100644
View file @
35055208
<?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/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_reference
</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>
<item>
<key>
<string>
target
</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>
target
</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_view_mode_reference
</string>
</value>
</item>
<item>
<key>
<string>
form_id
</string>
</key>
<value>
<string>
Base_viewFieldLibrary
</string>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArray_getArrayColumnList.py
deleted
100644 → 0
View file @
093000a8
# return columns from shape of axis 1 of ndarray
# never return more than the first 100 columns
array
=
context
.
getArray
()
if
array
is
None
:
return
[]
else
:
if
len
(
context
.
getArrayShape
())
<
2
:
return
[(
'index'
,
'Index'
),
(
'1'
,
'1'
)]
else
:
return
[(
'index'
,
'Index'
)]
+
[(
str
(
i
),
str
(
i
))
for
i
in
range
(
min
(
context
.
getArrayShape
()[
1
],
100
))]
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArray_getArrayColumnList.xml
View file @
35055208
...
...
@@ -48,6 +48,26 @@
</object>
</value>
</item>
<item>
<key>
<string>
_body
</string>
</key>
<value>
<string
encoding=
"cdata"
>
<![CDATA[
# return columns from shape of axis 1 of ndarray\n
# never return more than the first 100 columns\n
array = context.getArray()\n
\n
if array is None:\n
return []\n
\n
else:\n
if len(context.getArrayShape()) < 2:\n
return [(\'index\', \'Index\'), (\'1\', \'1\')]\n
else:\n
return [(\'index\', \'Index\')] + [(str(i), str(i)) for i in range(min(context.getArrayShape()[1], 100))]\n
]]>
</string>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string></string>
</value>
...
...
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArray_getArrayRowList.py
deleted
100644 → 0
View file @
093000a8
from
Products.ERP5Type.Document
import
newTempBase
if
context
.
getArray
()
is
None
:
return
[]
class
SequenceSliceMap
():
def
__init__
(
self
,
sequence_slice
,
usual_slice_length
,
total_length
):
self
.
sequence_slice
=
sequence_slice
self
.
length
=
usual_slice_length
self
.
total_length
=
total_length
def
__repr__
(
self
):
return
repr
(
list
(
self
))
def
__len__
(
self
):
return
self
.
total_length
def
__getitem__
(
self
,
index
):
return
self
.
sequence_slice
[
index
%
self
.
length
]
def
createTempBase
(
nr
,
row
):
def
getElementFromArray
(
array
,
index
):
return
array
[
index
]
def
getElementFromScalar
(
scalar
,
index
=
None
):
return
scalar
column_list
=
[
col
for
col
in
context
.
DataArray_getArrayColumnList
()
if
col
[
0
]
!=
'index'
]
column_iterator
=
enumerate
(
column_list
)
if
len
(
column_list
)
==
1
:
getElement
=
getElementFromScalar
else
:
getElement
=
getElementFromArray
return
newTempBase
(
context
.
getPortalObject
(),
str
(
id
(
row
)),
index
=
nr
,
**
{
col
[
0
]:
str
(
getElement
(
row
,
i
))
for
i
,
col
in
column_iterator
})
length
=
context
.
getArrayShape
()[
0
]
# never access more than 1000 lines at once
list_lines
=
min
(
list_lines
,
limit
,
1000
)
list_end
=
list_start
+
list_lines
if
list_end
>
length
:
list_end
=
length
list_start
=
list_end
-
(
list_end
%
list_lines
)
if
list_start
==
list_end
:
array_slice
=
[
context
.
getArrayIndex
(
list_start
)]
else
:
array_slice
=
context
.
getArraySlice
(
list_start
,
list_end
)
temp_base_list
=
[
createTempBase
(
nr
+
list_start
,
row
)
for
nr
,
row
in
enumerate
(
array_slice
)]
# return lazy sequence of temp objects
return
SequenceSliceMap
(
temp_base_list
,
list_lines
,
length
)
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArray_getArrayRowList.xml
View file @
35055208
...
...
@@ -48,6 +48,72 @@
</object>
</value>
</item>
<item>
<key>
<string>
_body
</string>
</key>
<value>
<string
encoding=
"cdata"
>
<![CDATA[
from Products.ERP5Type.Document import newTempBase\n
\n
if context.getArray() is None:\n
return []\n
\n
class SequenceSliceMap():\n
def __init__(self, sequence_slice, usual_slice_length, total_length):\n
self.sequence_slice = sequence_slice\n
self.length = usual_slice_length\n
self.total_length = total_length\n
\n
def __repr__(self):\n
return repr(list(self))\n
\n
def __len__(self):\n
return self.total_length\n
\n
def __getitem__(self, index):\n
return self.sequence_slice[index % self.length]\n
\n
def createTempBase(nr, row):\n
def getElementFromArray(array, index):\n
return array[index]\n
\n
def getElementFromScalar(scalar, index=None):\n
return scalar\n
\n
column_list = [col for col in context.DataArray_getArrayColumnList() if col[0] != \'index\']\n
column_iterator = enumerate(column_list)\n
if len(column_list) == 1:\n
getElement = getElementFromScalar\n
else:\n
getElement = getElementFromArray\n
return newTempBase(context.getPortalObject(),\n
str(id(row)),\n
index = nr,\n
**{col[0]: str(getElement(row, i)) for i, col in column_iterator})\n
\n
\n
length = context.getArrayShape()[0]\n
\n
# never access more than 1000 lines at once\n
list_lines = min(list_lines, limit, 1000)\n
list_end = list_start + list_lines\n
\n
if list_end >
length:\n
list_end = length\n
list_start = list_end - (list_end % list_lines)\n
\n
if list_start == list_end:\n
array_slice = [context.getArrayIndex(list_start)]\n
else:\n
array_slice = context.getArraySlice(list_start, list_end)\n
\n
temp_base_list = [createTempBase(nr + list_start, row) for nr, row in enumerate(array_slice)]\n
\n
# return lazy sequence of temp objects\n
return SequenceSliceMap(temp_base_list, list_lines, length)\n
]]>
</string>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
list_start=0, list_lines=15, limit=1000, **kw
</string>
</value>
...
...
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArray_view/listbox.xml
View file @
35055208
...
...
@@ -11,10 +11,10 @@
<value>
<list>
<string>
columns
</string>
<string>
editable
</string>
<string>
list_method
</string>
<string>
portal_types
</string>
<string>
selection_name
</string>
<string>
title
</string>
<string>
url_columns
</string>
</list>
</value>
</item>
...
...
@@ -56,12 +56,6 @@
<key>
<string>
tales
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
columns
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
field_id
</string>
</key>
<value>
<string></string>
</value>
...
...
@@ -70,24 +64,10 @@
<key>
<string>
form_id
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
list_method
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
url_columns
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
...
...
@@ -100,16 +80,20 @@
<value>
<list>
<tuple>
<string>
title
</string>
<string>
title
</string>
<string>
reference
</string>
<string>
Reference
</string>
</tuple>
<tuple>
<string>
dtype
</string>
<string>
Dtype
</string>
</tuple>
<tuple>
<string>
index_expression
</string>
<string>
Index Expression
</string>
</tuple>
</list>
</value>
</item>
<item>
<key>
<string>
editable
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
field_id
</string>
</key>
<value>
<string>
my_view_mode_listbox
</string>
</value>
...
...
@@ -121,56 +105,50 @@
<item>
<key>
<string>
list_method
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
Q
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
I
=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Preview
</string>
</value>
<key>
<string>
portal_type
</string>
</key>
<value>
<list>
<tuple>
<string>
Data Acquisition Sensor
</string>
<string>
Data Acquisition Sensor
</string>
</tuple>
</list>
</value>
</item>
<item>
<key>
<string>
url_column
s
</string>
</key>
<key>
<string>
portal_type
s
</string>
</key>
<value>
<list/>
<list>
<tuple>
<string>
Data Array Line
</string>
<string>
Data Array Line
</string>
</tuple>
</list>
</value>
</item>
</dictionary>
</value>
<item>
<key>
<string>
selection_name
</string>
</key>
<value>
<string>
data_array_line
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"TALESMethod"
module=
"Products.Formulator.TALESField"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_tex
t
</string>
</key>
<value>
<string>
python: here.DataArray_getArrayColumnList()
</string>
</value>
<key>
<string>
targe
t
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"TALESMethod"
module=
"Products.Formulator.TALESField"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_text
</string>
</key>
<value>
<string>
python: [(col[0], None) for col in here.DataArray_getArrayColumnList()]
</string>
</value>
<key>
<string>
title
</string>
</key>
<value>
<string>
Data Array Lines
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"
4"
aka=
"AAAAAAAAAAQ
="
>
<record
id=
"
2"
aka=
"AAAAAAAAAAI
="
>
<pickle>
<global
name=
"Method"
module=
"Products.Formulator.MethodField"
/>
</pickle>
...
...
@@ -178,7 +156,7 @@
<dictionary>
<item>
<key>
<string>
method_name
</string>
</key>
<value>
<string>
DataArray_getArrayRowList
</string>
</value>
<value>
<string>
objectValues
</string>
</value>
</item>
</dictionary>
</pickle>
...
...
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArray_viewPreview.xml
0 → 100644
View file @
35055208
<?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></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>
<string>
listbox
</string>
</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_title
</string>
</list>
</value>
</item>
<item>
<key>
<string>
right
</string>
</key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
DataArray_viewPreview
</string>
</value>
</item>
<item>
<key>
<string>
method
</string>
</key>
<value>
<string>
POST
</string>
</value>
</item>
<item>
<key>
<string>
name
</string>
</key>
<value>
<string>
DataArray_viewPreview
</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>
Preview
</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>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArray_viewPreview/listbox.xml
0 → 100644
View file @
35055208
<?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>
editable
</string>
<string>
list_method
</string>
<string>
title
</string>
<string>
url_columns
</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>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
tales
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
columns
</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>
list_method
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
url_columns
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</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>
</list>
</value>
</item>
<item>
<key>
<string>
editable
</string>
</key>
<value>
<int>
0
</int>
</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>
list_method
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Preview
</string>
</value>
</item>
<item>
<key>
<string>
url_columns
</string>
</key>
<value>
<list/>
</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.DataArray_getArrayColumnList()
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"TALESMethod"
module=
"Products.Formulator.TALESField"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_text
</string>
</key>
<value>
<string>
python: [(col[0], None) for col in here.DataArray_getArrayColumnList()]
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"Method"
module=
"Products.Formulator.MethodField"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
method_name
</string>
</key>
<value>
<string>
DataArray_getArrayRowList
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataArray_viewPreview/my_title.xml
0 → 100644
View file @
35055208
<?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>
editable
</string>
</list>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_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>
<item>
<key>
<string>
target
</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>
target
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
editable
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
field_id
</string>
</key>
<value>
<string>
my_view_mode_title
</string>
</value>
</item>
<item>
<key>
<string>
form_id
</string>
</key>
<value>
<string>
Base_viewFieldLibrary
</string>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEventModule_viewDataEventList.xml
0 → 100644
View file @
35055208
<?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_doSelect
</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>
<string>
listbox
</string>
</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/>
</value>
</item>
<item>
<key>
<string>
right
</string>
</key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
DataEventModule_viewDataEventList
</string>
</value>
</item>
<item>
<key>
<string>
method
</string>
</key>
<value>
<string>
POST
</string>
</value>
</item>
<item>
<key>
<string>
name
</string>
</key>
<value>
<string>
DataEventModule_viewDataEventList
</string>
</value>
</item>
<item>
<key>
<string>
pt
</string>
</key>
<value>
<string>
form_list
</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>
Data Events
</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>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEventModule_viewDataEventList/listbox.xml
0 → 100644
View file @
35055208
<?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>
selection_name
</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>
<item>
<key>
<string>
target
</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>
target
</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>
source_title
</string>
<string>
Source
</string>
</tuple>
<tuple>
<string>
destination_title
</string>
<string>
Destination
</string>
</tuple>
<tuple>
<string>
resource_title
</string>
<string>
Event Nature
</string>
</tuple>
<tuple>
<string>
start_date
</string>
<string>
Start Date
</string>
</tuple>
<tuple>
<string>
stop_date
</string>
<string>
Stop Date
</string>
</tuple>
</list>
</value>
</item>
<item>
<key>
<string>
field_id
</string>
</key>
<value>
<string>
my_list_mode_listbox
</string>
</value>
</item>
<item>
<key>
<string>
form_id
</string>
</key>
<value>
<string>
Base_viewFieldLibrary
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<list>
<tuple>
<string>
Data Event
</string>
<string>
Data Event
</string>
</tuple>
</list>
</value>
</item>
<item>
<key>
<string>
selection_name
</string>
</key>
<value>
<string>
data_event_module_selection
</string>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Data Events
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_getResourceItemList.xml
0 → 100644
View file @
35055208
<?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>
_body
</string>
</key>
<value>
<string>
"""\n
This script returns the list of items based on the preferred\n
resources for events. It is intended to be used\n
by ListField instances.\n
"""\n
return context.Ticket_getResourceItemList(portal_type=\'Data Event\')\n
</string>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
DataEvent_getResourceItemList
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view.xml
0 → 100644
View file @
35055208
<?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>
<string>
my_description
</string>
</list>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<list/>
</value>
</item>
<item>
<key>
<string>
left
</string>
</key>
<value>
<list>
<string>
my_title
</string>
<string>
my_source_title
</string>
<string>
my_destination_title
</string>
<string>
my_resource
</string>
</list>
</value>
</item>
<item>
<key>
<string>
right
</string>
</key>
<value>
<list>
<string>
my_start_date
</string>
<string>
my_stop_date
</string>
<string>
my_aggregate_title_list
</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
DataEvent_view
</string>
</value>
</item>
<item>
<key>
<string>
method
</string>
</key>
<value>
<string>
POST
</string>
</value>
</item>
<item>
<key>
<string>
name
</string>
</key>
<value>
<string>
DataEvent_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>
Data Event
</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>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view/my_aggregate_title_list.xml
0 → 100644
View file @
35055208
<?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>
portal_type
</string>
<string>
title
</string>
<string>
view_separator
</string>
</list>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_aggregate_title_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>
<item>
<key>
<string>
target
</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>
target
</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_multi_relation_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>
5
</int>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<list>
<tuple>
<string>
Data Acquisition Unit
</string>
<string>
Data Acquisition Unit
</string>
</tuple>
<tuple>
<string>
Data Aggregation Unit
</string>
<string>
Data Aggregation Unit
</string>
</tuple>
<tuple>
<string>
Sensor
</string>
<string>
Sensor
</string>
</tuple>
</list>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Aggregate
</string>
</value>
</item>
<item>
<key>
<string>
view_separator
</string>
</key>
<value>
<string
encoding=
"cdata"
>
<![CDATA[
<br />
]]>
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view/my_description.xml
0 → 100644
View file @
35055208
<?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/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_description
</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>
<item>
<key>
<string>
target
</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>
target
</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_view_mode_description
</string>
</value>
</item>
<item>
<key>
<string>
form_id
</string>
</key>
<value>
<string>
Base_viewFieldLibrary
</string>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view/my_destination_title.xml
0 → 100644
View file @
35055208
<?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>
portal_type
</string>
<string>
title
</string>
</list>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_destination_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>
<item>
<key>
<string>
target
</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>
target
</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>
portal_type
</string>
</key>
<value>
<list>
<tuple>
<string>
Organisation
</string>
<string>
Organisation
</string>
</tuple>
</list>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Destination
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view/my_resource.xml
0 → 100644
View file @
35055208
<?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>
items
</string>
<string>
title
</string>
</list>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_resource
</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>
<item>
<key>
<string>
target
</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>
items
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
target
</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_view_mode_category
</string>
</value>
</item>
<item>
<key>
<string>
form_id
</string>
</key>
<value>
<string>
Base_viewFieldLibrary
</string>
</value>
</item>
<item>
<key>
<string>
items
</string>
</key>
<value>
<list/>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Event Nature
</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>
here/DataEvent_getResourceItemList
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view/my_source_title.xml
0 → 100644
View file @
35055208
<?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>
portal_type
</string>
<string>
title
</string>
</list>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_source_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>
<item>
<key>
<string>
target
</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>
target
</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>
portal_type
</string>
</key>
<value>
<list>
<tuple>
<string>
Organisation
</string>
<string>
Organisation
</string>
</tuple>
</list>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Source
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view/my_start_date.xml
0 → 100644
View file @
35055208
<?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>
date_only
</string>
<string>
required
</string>
<string>
title
</string>
</list>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_start_date
</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>
<item>
<key>
<string>
target
</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>
target
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
date_only
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
field_id
</string>
</key>
<value>
<string>
my_date_time_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>
0
</int>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Start Date
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view/my_stop_date.xml
0 → 100644
View file @
35055208
<?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>
date_only
</string>
<string>
required
</string>
<string>
title
</string>
</list>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_stop_date
</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>
<item>
<key>
<string>
target
</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>
target
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
date_only
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
field_id
</string>
</key>
<value>
<string>
my_date_time_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>
0
</int>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Stop Date
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataEvent_view/my_title.xml
0 → 100644
View file @
35055208
<?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>
display_width
</string>
</list>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_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>
<item>
<key>
<string>
target
</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>
target
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
display_width
</string>
</key>
<value>
<int>
20
</int>
</value>
</item>
<item>
<key>
<string>
field_id
</string>
</key>
<value>
<string>
my_view_mode_title
</string>
</value>
</item>
<item>
<key>
<string>
form_id
</string>
</key>
<value>
<string>
Base_viewFieldLibrary
</string>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_convertoNumpyArray.py
deleted
100644 → 0
View file @
093000a8
"""
Get a chunks of data from a Data Stream, convert it to numpy array
and return proper start and end for next record.
This script assumes stream has following format.
{dict1}{dict2}
{dict3}
And it's possible that last chunk in its last line is incomplete dictionary
thus correction needed.
"""
import
json
chunk_text
=
''
.
join
(
chunk_list
)
#context.log('%s %s %s' %(start, end, len(chunk_text)))
# remove last line as it might be uncomplete and correct start and end offsets
line_list
=
chunk_text
.
split
(
'
\
n
'
)
last_line
=
line_list
[
-
1
]
line_list
.
pop
(
-
1
)
for
line
in
line_list
:
# must have proper format
assert
line
.
endswith
(
'}'
)
assert
line
.
startswith
(
'{'
)
# fix ' -> "
line
=
line
.
replace
(
"'"
,
'"'
)
if
line
.
count
(
'{'
)
>
1
:
# multiple concatenated dictionaries in one line, bad format ignore for now
pass
else
:
d
=
json
.
loads
(
line
)
# xxx: save this value as a Data Array identified by data_array_reference
# start and enf offsets may not match existing record structure in stream
# thus corrections in start and end offsets is needed thus we
# return transformed values which is just last line length
start
-=
len
(
last_line
)
end
-=
len
(
last_line
)
return
start
,
end
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_convertoNumpyArray.xml
View file @
35055208
...
...
@@ -48,6 +48,58 @@
</object>
</value>
</item>
<item>
<key>
<string>
_body
</string>
</key>
<value>
<string
encoding=
"cdata"
>
<![CDATA[
"""\n
Get a chunks of data from a Data Stream, convert it to numpy array\n
and return proper start and end for next record.\n
\n
This script assumes stream has following format.\n
{dict1}{dict2}\n
{dict3}\n
\n
And it\'s possible that last chunk in its last line is incomplete dictionary \n
thus correction needed.\n
\n
"""\n
import json\n
\n
chunk_text = \'\'.join(chunk_list)\n
#context.log(\'%s %s %s\' %(start, end, len(chunk_text)))\n
\n
# remove last line as it might be uncomplete and correct start and end offsets\n
line_list = chunk_text.split(\'\\n\')\n
last_line = line_list[-1]\n
line_list.pop(-1)\n
\n
for line in line_list:\n
# must have proper format\n
assert line.endswith(\'}\')\n
assert line.startswith(\'{\')\n
\n
# fix \' ->
"\n
line = line.replace("\'", \'"\')\n
\n
if line.count(\'{\') > 1:\n
# multiple concatenated dictionaries in one line, bad format ignore for now\n
pass \n
else:\n
d = json.loads(line)\n
# xxx: save this value as a Data Array identified by data_array_reference\n
\n
# start and enf offsets may not match existing record structure in stream\n
# thus corrections in start and end offsets is needed thus we\n
# return transformed values which is just last line length\n
start -= len(last_line)\n
end -= len(last_line)\n
\n
return start, end\n
]]>
</string>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
chunk_list, start, end, data_array_reference=None
</string>
</value>
...
...
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_readChunkListAndTransform.py
deleted
100644 → 0
View file @
093000a8
"""
Simply a wrapper to real method.
"""
total_stream_length
=
context
.
getSize
()
if
start
>
total_stream_length
:
# end reached
return
data_stream_chunk_list
=
context
.
readChunkList
(
start
,
end
)
# do call transformation script
if
transform_script_id
is
not
None
:
transform_script
=
getattr
(
context
,
transform_script_id
,
None
)
if
transform_script
is
not
None
:
start
,
end
=
transform_script
(
context
,
data_stream_chunk_list
,
\
start
,
\
end
,
\
data_array_reference
,
\
**
kw
)
# [warning] store current position offset in Data Stream, this can cause easily
# ConflictErrors and it spawns re-index activities on DataStream. Thus
# disable for now.
#context.setIntOffsetIndex(end)
# start another read in another activity
start
+=
chunk_length
end
+=
chunk_length
if
end
>
total_stream_length
:
# no read beyond end of stream
end
=
total_stream_length
if
recursive
:
# some bytes left ...
context
.
activate
().
DataStream_readChunkListAndTransform
(
\
start
,
\
end
,
\
chunk_length
,
\
transform_script_id
,
\
data_array_reference
,
\
recursive
=
recursive
,
\
**
kw
)
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_readChunkListAndTransform.xml
View file @
35055208
...
...
@@ -48,6 +48,59 @@
</object>
</value>
</item>
<item>
<key>
<string>
_body
</string>
</key>
<value>
<string
encoding=
"cdata"
>
<![CDATA[
"""\n
Simply a wrapper to real method.\n
"""\n
\n
total_stream_length = context.getSize()\n
\n
if start >
total_stream_length:\n
# end reached\n
return\n
\n
data_stream_chunk_list = context.readChunkList(start, end)\n
\n
# do call transformation script\n
if transform_script_id is not None:\n
transform_script = getattr(context, transform_script_id, None)\n
if transform_script is not None:\n
start, end = transform_script(context, data_stream_chunk_list, \\\n
start, \\\n
end, \\\n
data_array_reference, \\\n
**kw)\n
\n
# [warning] store current position offset in Data Stream, this can cause easily \n
# ConflictErrors and it spawns re-index activities on DataStream. Thus \n
# disable for now.\n
#context.setIntOffsetIndex(end)\n
\n
# start another read in another activity\n
start += chunk_length\n
end += chunk_length\n
\n
if end > total_stream_length:\n
# no read beyond end of stream\n
end = total_stream_length\n
\n
if recursive:\n
# some bytes left ...\n
context.activate().DataStream_readChunkListAndTransform( \\\n
start, \\\n
end, \\\n
chunk_length, \\\n
transform_script_id,\\\n
data_array_reference,\\\n
recursive = recursive, \\\n
**kw)\n
]]>
</string>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
start, end, chunk_length, transform_script_id=None, data_array_reference=None, recursive=1,**kw
</string>
</value>
...
...
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_transform.py
deleted
100644 → 0
View file @
093000a8
"""
Read entire stream using activities either in a sequence or in a oarallel mode.
Pass stream's data to handler script who can transform it.
Parameters:
* transform_script_id - the script which will transform data
* chunk_length - the length of a chunk
* data_array_reference - the reference of the output Data Array
* parallelize - try to transform in parallel or not, in this case
developer must carefully choose chunk_length to match record (s) size
"""
start
=
0
end
=
chunk_length
if
not
parallelize
:
# sequential case
context
.
activate
().
DataStream_readChunkListAndTransform
(
\
start
,
\
end
,
\
chunk_length
,
\
transform_script_id
,
\
data_array_reference
,
\
recursive
=
1
,
\
**
kw
)
else
:
# parallel case
total_size
=
context
.
getSize
()
while
total_size
>
start
:
start
+=
chunk_length
+
1
end
+=
chunk_length
+
1
if
end
>
total_size
:
end
=
total_size
# call transformation in an activity
context
.
activate
(
activity
=
'SQLQueue'
).
DataStream_readChunkListAndTransform
(
\
start
,
\
end
,
\
chunk_length
,
\
transform_script_id
,
\
data_array_reference
,
\
recursive
=
0
,
\
**
kw
)
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_transform.xml
View file @
35055208
...
...
@@ -48,6 +48,54 @@
</object>
</value>
</item>
<item>
<key>
<string>
_body
</string>
</key>
<value>
<string
encoding=
"cdata"
>
<![CDATA[
""" \n
Read entire stream using activities either in a sequence or in a oarallel mode.\n
Pass stream\'s data to handler script who can transform it.\n
Parameters:\n
* transform_script_id - the script which will transform data\n
* chunk_length - the length of a chunk\n
* data_array_reference - the reference of the output Data Array\n
* parallelize - try to transform in parallel or not, in this case\n
developer must carefully choose chunk_length to match record (s) size\n
"""\n
start = 0\n
end = chunk_length\n
if not parallelize:\n
# sequential case\n
context.activate().DataStream_readChunkListAndTransform( \\\n
start, \\\n
end, \\\n
chunk_length, \\\n
transform_script_id, \\\n
data_array_reference,\\\n
recursive =1, \\\n
**kw)\n
else:\n
# parallel case\n
total_size = context.getSize()\n
while total_size >
start:\n
start += chunk_length + 1\n
end += chunk_length +1\n
if end > total_size:\n
end = total_size\n
\n
# call transformation in an activity\n
context.activate(activity=\'SQLQueue\').DataStream_readChunkListAndTransform( \\\n
start, \\\n
end, \\\n
chunk_length, \\\n
transform_script_id, \\\n
data_array_reference,\\\n
recursive = 0, \\\n
**kw)\n
]]>
</string>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
chunk_length=1048576, transform_script_id=None, data_array_reference=None,parallelize=0, **kw
</string>
</value>
...
...
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_transformTail.py
deleted
100644 → 0
View file @
093000a8
"""
Read tail of a Data Stream and aplly needed transformations.
This script is called every time we appendData to a Stream
using data_stream_interaction_workflow.
The idea is to provide close to real time data transformations.
As transformation is quite specific we leave this script empty so developers
can hook in and add needed transformations.
"""
assert
start_offset
<
end_offset
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_transformTail.xml
View file @
35055208
...
...
@@ -48,6 +48,24 @@
</object>
</value>
</item>
<item>
<key>
<string>
_body
</string>
</key>
<value>
<string
encoding=
"cdata"
>
<![CDATA[
"""\n
Read tail of a Data Stream and aplly needed transformations.\n
This script is called every time we appendData to a Stream\n
using data_stream_interaction_workflow.\n
\n
The idea is to provide close to real time data transformations.\n
As transformation is quite specific we leave this script empty so developers\n
can hook in and add needed transformations.\n
"""\n
assert start_offset < end_offset\n
]]>
</string>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
start_offset, end_offset
</string>
</value>
...
...
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/DataStream_view.xml
View file @
35055208
...
...
@@ -14,7 +14,7 @@
</item>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
DataStream_saveDataStream
</string>
</value>
<value>
<string>
Base_edit
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
...
...
@@ -90,7 +90,6 @@
<string>
my_filename
</string>
<string>
my_size
</string>
<string>
my_file
</string>
<string>
my_append_file
</string>
<string>
my_translated_validation_state_title
</string>
</list>
</value>
...
...
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/ERP5Site_handleDefaultFluentdIngestion.py
deleted
100644 → 0
View file @
093000a8
"""
Example of ingesting data in ERP5 coming from fluentd.
Fluentd sends to us a JSON dictionary using msgpack protocol.
In this implementation we find respective Data Stream and simply
append data there. We save raw JSON dictionary.
Ingestion Policy -> Data Supply -> Data Supply Line -> Sensor
-> Data Stream
"""
from
DateTime
import
DateTime
from
zExceptions
import
NotFound
now
=
DateTime
()
request
=
context
.
REQUEST
portal_catalog
=
context
.
portal_catalog
# keep backwards compatability
reference
=
request
.
get
(
'reference'
,
\
request
.
get
(
'input_stream_ref'
))
data_chunk
=
request
.
get
(
'data_chunk'
)
# XXX: add start_data and stop_date so all searches are time aware
default_kw
=
dict
(
validation_state
=
'validated'
)
if
data_chunk
is
not
None
and
reference
is
not
None
:
# here we rely that fluentd will pass to us its tag which we use
# as reference but we can extract it sometimes from sensor data
# it thus depends on sensor and the fluentd topography
data_supply
=
portal_catalog
.
getResultValue
(
\
portal_type
=
'Data Supply'
,
\
reference
=
reference
,
\
**
default_kw
)
#context.log(data_supply)
# we can have multiple lines for each sensor and we filter out by reference
# XXX: in future we will use Predicates to find already generated
# Data Ingestion (Movements)
if
data_supply
is
not
None
:
for
data_supply_line
in
data_supply
.
objectValues
():
sensor
=
data_supply_line
.
getSourceValue
()
if
sensor
is
not
None
and
sensor
.
getReference
()
==
reference
:
# Sensor is defined as destination
data_stream
=
data_supply_line
.
getDestinationValue
()
break
#context.log(sensor)
#context.log(data_stream)
if
data_stream
is
not
None
:
pretty_data_chunk_list
=
[]
data_chunk_list
=
context
.
unpack
(
data_chunk
)
# in some case we can format data based on content type
content_type
=
data_stream
.
getContentType
()
if
content_type
in
(
'application/csv'
,):
for
data_chunk
in
data_chunk_list
:
pretty_data
=
','
.
join
([
'"%s"'
%
x
for
x
in
data_chunk
[
1
].
values
()])
pretty_data_chunk_list
.
append
(
pretty_data
)
data
=
'
\
n
'
.
join
(
pretty_data_chunk_list
)
else
:
for
data_chunk
in
data_chunk_list
:
pretty_data
=
str
(
data_chunk
[
1
])
pretty_data_chunk_list
.
append
(
pretty_data
)
data
=
''
.
join
(
pretty_data_chunk_list
)
# append data
data_stream
.
appendData
(
data
)
#context.log("Appended %s bytes to %s (%s, %s, %s)"
# %(len(data), reference, data_supply, sensor, data_stream))
# XXX: open question -> we do not store the act of ingestion.
# one way is to have a business process for who's "ingestion"
# trade_phase / state we generate simulation movements and respective
# objects in data_ingestion_module. We can use same approach and same
# business process for analytics stage (just different trade_state / phase)?
# JP: we should use this approach at a later stage
# this approach can be hooked through interaction workflow on data stream
else
:
raise
NotFound
(
'No data stream configuration found.'
)
else
:
raise
NotFound
(
'No data supply configuration found.'
)
else
:
raise
NotFound
(
'No data or any configuration not found.'
)
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/ERP5Site_handleDefaultFluentdIngestion.xml
View file @
35055208
...
...
@@ -48,6 +48,88 @@
</object>
</value>
</item>
<item>
<key>
<string>
_body
</string>
</key>
<value>
<string
encoding=
"cdata"
>
<![CDATA[
"""\n
Example of ingesting data in ERP5 coming from fluentd.\n
Fluentd sends to us a JSON dictionary using msgpack protocol.\n
In this implementation we find respective Data Stream and simply\n
append data there. We save raw JSON dictionary as string.\n
Ingestion Policy ->
Data Supply -> Data Supply Line -> Sensor\n
-> Data Stream\n
"""\n
from DateTime import DateTime\n
from zExceptions import NotFound\n
from Products.ZSQLCatalog.SQLCatalog import ComplexQuery\n
from Products.ZSQLCatalog.SQLCatalog import Query\n
\n
\n
now = DateTime()\n
request = context.REQUEST\n
portal_catalog = context.portal_catalog\n
\n
reference = request.get(\'reference\')\n
data_chunk = request.get(\'data_chunk\')\n
\n
if data_chunk is not None and reference is not None:\n
# here we rely that fluentd will pass to us its tag which we use\n
# as reference but we can extract it sometimes from sensor data\n
# it thus depends on sensor and the fluentd topography\n
query=ComplexQuery(Query(portal_type = \'Data Supply\'),\n
Query(reference = reference),\n
Query(validation_state = \'validated\'),\n
Query( **{\'delivery.stop_date\':now, \'range\': \'min\'}),\n
Query( **{\'delivery.start_date\':now, \'range\': \'max\'}),\n
operator="AND")\n
data_supply = portal_catalog.getResultValue(query=query)\n
\n
#context.log(data_supply)\n
# we can have multiple lines for each sensor and we filter out by reference\n
# XXX: in future we will use Predicates to find already generated\n
# Data Ingestion (Movements)\n
if data_supply is not None:\n
for data_supply_line in data_supply.objectValues():\n
sensor = data_supply_line.getSourceValue()\n
if sensor is not None and sensor.getReference() == reference:\n
# Sensor is defined as destination\n
data_stream = data_supply_line.getDestinationValue()\n
break\n
\n
#context.log(sensor)\n
#context.log(data_stream)\n
if data_stream is not None:\n
pretty_data_chunk_list = []\n
data_chunk_list = context.unpack(data_chunk)\n
\n
for data_chunk in data_chunk_list:\n
pretty_data = str(data_chunk[1])\n
pretty_data_chunk_list.append(pretty_data)\n
data = \'\'.join(pretty_data_chunk_list)\n
\n
# append data\n
data_stream.appendData(data)\n
\n
#context.log("Appended %s bytes to %s (%s, %s, %s)" \n
# %(len(data), reference, data_supply, sensor, data_stream))\n
# XXX: open question -> we do not store the act of ingestion.\n
# one way is to have a business process for who\'s "ingestion" \n
# trade_phase / state we generate simulation movements and respective \n
# objects in data_ingestion_module. We can use same approach and same \n
# business process for analytics stage (just different trade_state / phase)?\n
# JP: we should use this approach at a later stage\n
# this approach can be hooked through interaction workflow on data stream\n
else:\n
raise NotFound(\'No data stream configuration found.\') \n
else:\n
raise NotFound(\'No data supply configuration found.\')\n
else:\n
raise NotFound(\'No data or any configuration found.\')\n
]]>
</string>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string></string>
</value>
...
...
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/IngestionPolicyTool_addIngestionPolicy.py
deleted
100644 → 0
View file @
093000a8
"""
Create all required types for proper ingestion.
"""
from
DateTime
import
DateTime
now
=
DateTime
()
ingestion_policy
=
context
.
newContent
(
\
id
=
reference
,
portal_type
=
'Ingestion Policy'
,
reference
=
reference
,
version
=
'001'
,
script_id
=
'ERP5Site_handleDefaultFluentdIngestion'
)
ingestion_policy
.
validate
()
# create sensor
sensor
=
context
.
sensor_module
.
newContent
(
\
portal_type
=
'Sensor'
,
reference
=
reference
)
sensor
.
validate
()
# create new Data Stream
data_stream
=
context
.
data_stream_module
.
newContent
(
\
portal_type
=
'Data Stream'
,
\
version
=
'001'
,
\
reference
=
reference
)
data_stream
.
validate
()
# create Data Supply
resource
=
context
.
restrictedTraverse
(
'data_product_module/wendelin_4'
)
data_supply_kw
=
{
'reference'
:
reference
,
'version'
:
'001'
,
'start_date'
:
now
,
'stop_date'
:
now
+
365
}
data_supply_line_kw
=
{
'resource_value'
:
resource
,
'source_value'
:
sensor
,
'destination_value'
:
data_stream
}
data_supply
=
ingestion_policy
.
PortalIngestionPolicy_addDataSupply
(
\
data_supply_kw
,
\
data_supply_line_kw
)
data_array
=
context
.
data_array_module
.
newContent
(
portal_type
=
'Data Array'
,
reference
=
reference
,
version
=
'001'
)
data_array
.
validate
()
if
batch_mode
:
return
ingestion_policy
,
data_supply
,
data_stream
,
data_array
else
:
# UI case
ingestion_policy
.
Base_redirect
(
\
form_id
=
'view'
,
\
keep_items
=
{
'portal_status_message'
:
\
context
.
Base_translateString
(
'Ingestion Policy added.'
)})
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/IngestionPolicyTool_addIngestionPolicy.xml
View file @
35055208
...
...
@@ -48,6 +48,64 @@
</object>
</value>
</item>
<item>
<key>
<string>
_body
</string>
</key>
<value>
<string>
"""\n
Create all required types for proper ingestion.\n
"""\n
from DateTime import DateTime\n
\n
now = DateTime()\n
ingestion_policy = context.newContent( \\\n
id = reference,\n
portal_type =\'Ingestion Policy\',\n
reference = reference,\n
version = \'001\',\n
script_id = \'ERP5Site_handleDefaultFluentdIngestion\')\n
ingestion_policy.validate()\n
\n
# create sensor\n
sensor = context.sensor_module.newContent( \\\n
portal_type=\'Sensor\', \n
reference = reference)\n
sensor.validate()\n
\n
# create new Data Stream\n
data_stream = context.data_stream_module.newContent( \\\n
portal_type=\'Data Stream\', \\\n
version = \'001\', \\\n
reference=reference)\n
data_stream.validate()\n
\n
# create Data Supply\n
resource = context.restrictedTraverse(\'data_product_module/wendelin_4\')\n
data_supply_kw = {\'reference\': reference,\n
\'version\': \'001\',\n
\'start_date\': now,\n
\'stop_date\': now + 365}\n
data_supply_line_kw = {\'resource_value\': resource,\n
\'source_value\': sensor,\n
\'destination_value\': data_stream}\n
data_supply = ingestion_policy.PortalIngestionPolicy_addDataSupply( \\\n
data_supply_kw, \\\n
data_supply_line_kw)\n
\n
data_array = context.data_array_module.newContent(\n
portal_type=\'Data Array\',\n
reference = reference,\n
version = \'001\')\n
data_array.validate()\n
\n
if batch_mode:\n
return ingestion_policy, data_supply, data_stream, data_array\n
else:\n
# UI case\n
ingestion_policy.Base_redirect(\\\n
form_id=\'view\', \\\n
keep_items={\'portal_status_message\': \\\n
context.Base_translateString(\'Ingestion Policy added.\')})\n
</string>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
reference=None, batch_mode=0
</string>
</value>
...
...
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/PortalIngestionPolicy_addDataSupply.py
deleted
100644 → 0
View file @
093000a8
"""
Add a data supply structure for a data ingestion on a portal ingestion policy.
"""
data_supply
=
context
.
data_supply_module
.
newContent
(
\
portal_type
=
'Data Supply'
,
**
data_supply_kw
)
data_supply
.
validate
()
# add default line
data_supply_line
=
data_supply
.
newContent
(
portal_type
=
'Data Supply Line'
,
\
**
data_supply_line_kw
)
return
data_supply
bt5/erp5_wendelin/SkinTemplateItem/portal_skins/erp5_wendelin/PortalIngestionPolicy_addDataSupply.xml
View file @
35055208
...
...
@@ -48,6 +48,22 @@
</object>
</value>
</item>
<item>
<key>
<string>
_body
</string>
</key>
<value>
<string>
"""\n
Add a data supply structure for a data ingestion on a portal ingestion policy.\n
"""\n
data_supply = context.data_supply_module.newContent( \\\n
portal_type=\'Data Supply\', **data_supply_kw)\n
data_supply.validate()\n
\n
# add default line\n
data_supply_line = data_supply.newContent(portal_type=\'Data Supply Line\', \\\n
**data_supply_line_kw)\n
\n
return data_supply\n
</string>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
data_supply_kw, data_supply_line_kw
</string>
</value>
...
...
bt5/erp5_wendelin/TestTemplateItem/portal_components/test.erp5.testWendelin.py
View file @
35055208
...
...
@@ -28,6 +28,8 @@
from
Products.ERP5Type.tests.ERP5TypeTestCase
import
ERP5TypeTestCase
from
Products.ERP5Type.tests.utils
import
createZODBPythonScript
from
wendelin.bigarray.array_zodb
import
ZBigArray
from
DateTime
import
DateTime
from
zExceptions
import
NotFound
import
msgpack
import
numpy
as
np
import
string
...
...
@@ -35,7 +37,7 @@ import random
def
getRandomString
():
return
'test_%s'
%
''
.
join
([
random
.
choice
(
string
.
ascii_letters
+
string
.
digits
)
\
for
n
in
xrange
(
32
)])
for
_
in
xrange
(
32
)])
def
chunks
(
l
,
n
):
"""Yield successive n-sized chunks from l."""
...
...
@@ -65,6 +67,8 @@ class Test(ERP5TypeTestCase):
self
.
portal
.
portal_ingestion_policies
.
IngestionPolicyTool_addIngestionPolicy
(
\
reference
=
reference
,
\
batch_mode
=
1
)
# to avoid random test failures due to test execution we make start date one day before
data_supply
.
setStartDate
(
DateTime
()
-
1
)
self
.
tic
()
return
ingestion_policy
,
data_supply
,
data_stream
,
data_array
...
...
@@ -75,9 +79,10 @@ class Test(ERP5TypeTestCase):
Test we can import certain libraries but still failure to do so should be a
a test step failure rather than global test failure.
"""
import
scipy
import
sklearn
import
pandas
import
scipy
as
_
import
sklearn
as
_
import
pandas
as
_
import
matplotlib
as
_
def
test_01_IngestionFromFluentd
(
self
):
"""
...
...
@@ -95,7 +100,7 @@ class Test(ERP5TypeTestCase):
# make sure real_data tail is also a full line
real_data
+=
'
\
n
'
ingestion_policy
,
data_supply
,
data_stream
,
data_array
=
\
ingestion_policy
,
_
,
data_stream
,
data_array
=
\
self
.
stepSetupIngestion
(
reference
)
# simulate fluentd by setting proper values in REQUEST
...
...
@@ -121,6 +126,11 @@ class Test(ERP5TypeTestCase):
self
.
assertEqual
(
np
.
average
(
zarray
),
np
.
average
(
np
.
arange
(
100001
)))
self
.
assertTrue
(
np
.
array_equal
(
zarray
,
np
.
arange
(
100001
)))
# test ingesting with bad reference and raise of NotFound
request
.
set
(
'reference'
,
reference
+
'not_existing'
)
self
.
assertRaises
(
NotFound
,
ingestion_policy
.
ingest
)
def
test_01_1_IngestionTail
(
self
):
"""
Test real time convertion to a numpy array by appending data to a data stream.
...
...
@@ -135,7 +145,7 @@ class Test(ERP5TypeTestCase):
# make sure real_data tail is also a full line
real_data
+=
'
\
n
'
ingestion_policy
,
data_supply
,
data_stream
,
data_array
=
self
.
stepSetupIngestion
(
reference
)
_
,
_
,
data_stream
,
data_array
=
self
.
stepSetupIngestion
(
reference
)
data_stream
.
appendData
(
real_data
)
self
.
tic
()
...
...
@@ -144,7 +154,7 @@ class Test(ERP5TypeTestCase):
# override DataStream_transformTail to actually do transformation on appenData
start
=
data_stream
.
getSize
()
script_id
=
'DataStream_transformTail'
script_content_list
=
[
"
*argument_lis
t"
,
"""
script_content_list
=
[
"
start_offset, end_offse
t"
,
"""
# created by testWendelin.test_01_1_IngestionTail
start = %s
end = %s
...
...
@@ -189,7 +199,7 @@ context.activate().DataStream_readChunkListAndTransform( \
offset
=
max_elements
/
jobs
start
=
0
end
=
start
+
offset
for
i
in
range
(
jobs
):
for
_
in
range
(
jobs
):
# calculate directly expectations
expected_result_list
.
append
(
np
.
average
(
expected_numpy_array
[
start
:
end
]))
data_array
.
activate
(
...
...
@@ -219,7 +229,7 @@ context.activate().DataStream_readChunkListAndTransform( \
portal
.
log
(
real_data
)
ingestion_policy
,
data_supply
,
data_stream
,
data_array
=
self
.
stepSetupIngestion
(
reference
)
_
,
_
,
data_stream
,
_
=
self
.
stepSetupIngestion
(
reference
)
data_stream
.
appendData
(
real_data
)
self
.
tic
()
...
...
bt5/erp5_wendelin/TestTemplateItem/portal_components/test.erp5.testWendelin.xml
View file @
35055208
...
...
@@ -45,19 +45,7 @@
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<tuple>
<string>
W: 38, 8: Unused variable \'n\' (unused-variable)
</string>
<string>
W: 78, 4: Unused variable \'scipy\' (unused-variable)
</string>
<string>
W: 80, 4: Unused variable \'pandas\' (unused-variable)
</string>
<string>
W: 79, 4: Unused variable \'sklearn\' (unused-variable)
</string>
<string>
W: 98, 22: Unused variable \'data_supply\' (unused-variable)
</string>
<string>
W:138, 22: Unused variable \'data_supply\' (unused-variable)
</string>
<string>
W:192, 8: Unused variable \'i\' (unused-variable)
</string>
<string>
W:138, 4: Unused variable \'ingestion_policy\' (unused-variable)
</string>
<string>
W:222, 4: Unused variable \'ingestion_policy\' (unused-variable)
</string>
<string>
W:222, 22: Unused variable \'data_supply\' (unused-variable)
</string>
<string>
W:222, 48: Unused variable \'data_array\' (unused-variable)
</string>
</tuple>
<tuple/>
</value>
</item>
<item>
...
...
bt5/erp5_wendelin/WorkflowTemplateItem/portal_workflow/data_stream_interaction_workflow/scripts/DataStream_appendData.py
deleted
100644 → 0
View file @
093000a8
"""
Handle appended data chunks.
"""
data_stream
=
state_change
[
'object'
]
argument_list
=
state_change
[
'kwargs'
][
'workflow_method_args'
]
# call you own script to handle newly appended data which
# is not processed yet, pass data stream start end offset only
end_offset
=
data_stream
.
getSize
()
packet_size
=
len
(
argument_list
[
0
])
start_offset
=
end_offset
-
packet_size
data_stream
.
activate
().
DataStream_transformTail
(
start_offset
,
end_offset
)
bt5/erp5_wendelin/WorkflowTemplateItem/portal_workflow/data_stream_interaction_workflow/scripts/DataStream_appendData.xml
View file @
35055208
...
...
@@ -48,6 +48,22 @@
</object>
</value>
</item>
<item>
<key>
<string>
_body
</string>
</key>
<value>
<string>
"""\n
Handle appended data chunks.\n
"""\n
data_stream = state_change[\'object\']\n
argument_list = state_change[\'kwargs\'][\'workflow_method_args\']\n
\n
# call you own script to handle newly appended data which \n
# is not processed yet, pass data stream start end offset only\n
end_offset = data_stream.getSize()\n
packet_size = len(argument_list[0])\n
start_offset = end_offset - packet_size\n
data_stream.activate().DataStream_transformTail(start_offset, end_offset)\n
</string>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
state_change,**kw
</string>
</value>
...
...
bt5/erp5_wendelin/bt/template_action_path_list
View file @
35055208
...
...
@@ -5,8 +5,14 @@ Data Aggregation Unit | view
Data Analysis Line | view
Data Analysis Module | view
Data Analysis | view
Data Array Line Existence Constraint | predicate
Data Array Line Existence Constraint | view
Data Array Line | view
Data Array Module | view
Data Array | preview
Data Array | view
Data Event Module | view
Data Event | view
Data Ingestion Line | view
Data Ingestion Module | view
Data Ingestion | view
...
...
bt5/erp5_wendelin/bt/template_document_id_list
View file @
35055208
document.erp5.IngestionPolicyTool
document.erp5.IngestionPolicy
document.erp5.DataArray
document.erp5.DataArrayLine
document.erp5.DataArrayLineExistenceConstraint
document.erp5.DataStream
\ No newline at end of file
bt5/erp5_wendelin/bt/template_module_id_list
View file @
35055208
...
...
@@ -2,6 +2,7 @@ data_acquisition_unit_module
data_aggregation_unit_module
data_analysis_module
data_array_module
data_event_module
data_ingestion_module
data_license_module
data_operation_module
...
...
bt5/erp5_wendelin/bt/template_portal_type_allowed_content_type_list
View file @
35055208
...
...
@@ -3,6 +3,8 @@ Data Aggregation Unit Module | Data Aggregation Unit
Data Analysis Module | Data Analysis
Data Analysis | Data Analysis Line
Data Array Module | Data Array
Data Array | Data Array Line
Data Event Module | Data Event
Data Ingestion Module | Data Ingestion
Data Ingestion | Data Ingestion Line
Data License Module | Data License
...
...
@@ -15,4 +17,5 @@ Data Stream Module | Data Stream
Data Supply Module | Data Supply
Data Supply | Data Supply Line
Ingestion Policy Tool | Ingestion Policy
Property Sheet | Data Array Line Existence Constraint
Sensor Module | Sensor
\ No newline at end of file
bt5/erp5_wendelin/bt/template_portal_type_base_category_list
View file @
35055208
Data Event | aggregate
Data Event | destination
Data Event | resource
Data Event | source
Sensor | destination
Sensor | source
\ No newline at end of file
bt5/erp5_wendelin/bt/template_portal_type_id_list
View file @
35055208
...
...
@@ -6,7 +6,11 @@ Data Analysis
Data Analysis Line
Data Analysis Module
Data Array
Data Array Line
Data Array Line Existence Constraint
Data Array Module
Data Event
Data Event Module
Data Ingestion
Data Ingestion Line
Data Ingestion Module
...
...
bt5/erp5_wendelin/bt/template_portal_type_property_sheet_list
View file @
35055208
Data Array Line Existence Constraint | ConstraintType
Data Array Line Existence Constraint | DataArrayLine
Data Array Line | DataArrayLine
Data Array | DataArray
Data Event | DataEvent
Data Operation | Predicate
Data Product | DefaultImage
Data Release | Predicate
...
...
bt5/erp5_wendelin/bt/template_portal_type_workflow_chain_list
View file @
35055208
...
...
@@ -7,6 +7,7 @@ Data Analysis | edit_workflow
Data Analysis | validation_workflow
Data Array | edit_workflow
Data Array | validation_workflow
Data Event | edit_workflow
Data Ingestion Line | edit_workflow
Data Ingestion | edit_workflow
Data Ingestion | validation_workflow
...
...
bt5/erp5_wendelin/bt/template_property_sheet_id_list
View file @
35055208
IngestionPolicy
DataArray
DataArrayLine
DataEvent
OffsetIndex
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment