Commit 7015185e authored by Alexander Emmerich's avatar Alexander Emmerich

erp5_forum_tutorial: Add forum tutorial

parent e274b020
......@@ -50,10 +50,6 @@
</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>
......
......@@ -50,10 +50,6 @@
</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>
......@@ -77,7 +73,7 @@
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/DiscussionModuleThread_viewAddThreadDialog</string> </value>
<value> <string>string:${object_url}/DiscussionThreadModule_viewAddThreadDialog</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -48,10 +48,6 @@
</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>
......
......@@ -50,10 +50,6 @@
</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>
......
......@@ -48,10 +48,6 @@
</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>
......
<local_roles_item>
<local_roles>
<role id='ADM'>
<item>Auditor</item>
<item>Author</item>
</role>
<role id='USR'>
<item>Auditor</item>
<item>Author</item>
</role>
<role id='VSR'>
<role id='VST'>
<item>Auditor</item>
</role>
<role id='lm1tnw5i0d'>
<item>Owner</item>
</role>
</local_roles>
</local_roles_item>
\ No newline at end of file
<local_roles_item>
<local_roles>
<role id='ADM'>
<item>Auditor</item>
</role>
<role id='USR'>
<item>Auditor</item>
</role>
<role id='VSR'>
<item>Auditor</item>
</role>
<role id='lm1tnw5i0d'>
<item>Owner</item>
</role>
</local_roles>
</local_roles_item>
\ No newline at end of file
......@@ -79,7 +79,6 @@
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
......
......@@ -26,7 +26,7 @@
</item>
<item>
<key> <string>codification</string> </key>
<value> <string>FRN</string> </value>
<value> <string>FRM</string> </value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -36,10 +36,6 @@
<key> <string>id</string> </key>
<value> <string>forum</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Category</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Forum</string> </value>
......
......@@ -6,14 +6,6 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>function/forum/administrator</string>
</tuple>
</value>
</item>
<item>
<key> <string>codification</string> </key>
<value> <string>ADM</string> </value>
......@@ -26,10 +18,6 @@
<key> <string>id</string> </key>
<value> <string>administrator</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Category</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Administrator</string> </value>
......
......@@ -18,10 +18,6 @@
<key> <string>id</string> </key>
<value> <string>user</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Category</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>User</string> </value>
......
......@@ -6,17 +6,9 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>function/forum/visitor</string>
</tuple>
</value>
</item>
<item>
<key> <string>codification</string> </key>
<value> <string>VSR</string> </value>
<value> <string>VST</string> </value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -26,10 +18,6 @@
<key> <string>id</string> </key>
<value> <string>visitor</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Category</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Visitor</string> </value>
......
......@@ -2,4 +2,7 @@
<portal_type id="Discussion Post">
<item>TextDocument</item>
</portal_type>
<portal_type id="Discussion Thread">
<item>DiscussionThread</item>
</portal_type>
</property_sheet_list>
\ No newline at end of file
......@@ -6,7 +6,8 @@
<multi_property id='category'>function/forum/user</multi_property>
</role>
<role id='Auditor'>
<property id='title'>Visitor Forum</property>
<property id='title'>Visitor</property>
<property id='description'>Forum Visitors can view the discussion thread module and the public threads inside it.</property>
<multi_property id='category'>function/forum/visitor</multi_property>
</role>
</type_roles>
\ No newline at end of file
......@@ -6,9 +6,4 @@
<multi_property id='category'>function/forum/user</multi_property>
<multi_property id='category'>function/forum/administrator</multi_property>
</role>
<role id='Auditor'>
<property id='title'>Forum Visitor</property>
<property id='description'>Just a visitor.</property>
<multi_property id='category'>function/forum/visitor</multi_property>
</role>
</type_roles>
\ No newline at end of file
......@@ -6,25 +6,6 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_property_domain_dict</string> </key>
<value>
<dictionary>
<item>
<key> <string>short_title</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>acquire_local_roles</string> </key>
<value> <int>1</int> </value>
......@@ -37,13 +18,7 @@
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>factory</string> </key>
<value> <string>addTextDocument</string> </value>
<value> <string>A post for a forum</string> </value>
</item>
<item>
<key> <string>id</string> </key>
......@@ -62,53 +37,15 @@
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Base Type</string> </value>
<key> <string>type_class</string> </key>
<value> <string>TextDocument</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>domain_name</string> </key>
<key> <string>type_interface</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>property_name</string> </key>
<value> <string>short_title</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>domain_name</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>property_name</string> </key>
<value> <string>title</string> </value>
</item>
</dictionary>
</pickle>
</record>
......
......@@ -8,30 +8,19 @@
<dictionary>
<item>
<key> <string>_property_domain_dict</string> </key>
<value>
<dictionary>
<item>
<key> <string>short_title</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>content_icon</string> </key>
<value> <string>folder_icon.gif</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>factory</string> </key>
......@@ -45,28 +34,16 @@
</tuple>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string>document_icon.gif</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Discussion Thread Module</string> </value>
</item>
<item>
<key> <string>immediate_view</string> </key>
<value> <string>Folder_view</string> </value>
</item>
<item>
<key> <string>init_script</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>meta_type</string> </key>
<value> <string>ERP5 Folder</string> </value>
</item>
<item>
<key> <string>permission</string> </key>
<value>
......@@ -74,26 +51,49 @@
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Base Type</string> </value>
<key> <string>type_class</string> </key>
<value> <string>Folder</string> </value>
</item>
<item>
<key> <string>product</string> </key>
<value> <string>ERP5Type</string> </value>
<key> <string>type_interface</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>type_class</string> </key>
<value> <string>Folder</string> </value>
<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="2" aka="AAAAAAAAAAI=">
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
......@@ -108,12 +108,9 @@
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<tuple>
<global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
......
......@@ -7,160 +7,47 @@
<pickle>
<dictionary>
<item>
<key> <string>_property_domain_dict</string> </key>
<value>
<dictionary>
<item>
<key> <string>short_title</string> </key>
<key> <string>content_icon</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
<none/>
</value>
</item>
<item>
<key> <string>title</string> </key>
<key> <string>description</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
<none/>
</value>
</item>
<item>
<key> <string>acquire_local_roles</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>content_icon</string> </key>
<value> <string>None</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>ERP5 default document. Supports synchronisation and XML.</string> </value>
</item>
<item>
<key> <string>factory</string> </key>
<value> <string>addXMLObject</string> </value>
</item>
<item>
<key> <string>filter_content_types</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string>document_icon.gif</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Discussion Thread</string> </value>
</item>
<item>
<key> <string>id_generator</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id_group</string> </key>
<value> <string>None</string> </value>
</item>
<item>
<key> <string>immediate_view</string> </key>
<value> <string>XMLObject_view</string> </value>
</item>
<item>
<key> <string>init_script</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>meta_type</string> </key>
<value> <string>ERP5 XML Object</string> </value>
</item>
<item>
<key> <string>permission</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Base Type</string> </value>
</item>
<item>
<key> <string>product</string> </key>
<value> <string>ERP5Type</string> </value>
</item>
<item>
<key> <string>searchable_text_method_id</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>searchable_text_property_id</string> </key>
<value>
<tuple>
<string>title</string>
<string>description</string>
<string>id</string>
<string>reference</string>
<string>short_title</string>
</tuple>
</value>
</item>
<item>
<key> <string>short_title</string> </key>
<value> <string>None</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>domain_name</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>property_name</string> </key>
<value> <string>short_title</string> </value>
<key> <string>type_class</string> </key>
<value> <string>XMLObject</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>domain_name</string> </key>
<key> <string>type_interface</string> </key>
<value>
<none/>
<tuple/>
</value>
</item>
<item>
<key> <string>property_name</string> </key>
<value> <string>title</string> </value>
</item>
</dictionary>
</pickle>
</record>
......
......@@ -18,7 +18,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
<value> <string>ERP5 Forum</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -6,31 +6,6 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
......@@ -41,6 +16,10 @@
<key> <string>action</string> </key>
<value> <string>Base_edit</string> </value>
</item>
<item>
<key> <string>action_title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
......@@ -98,8 +77,8 @@
<value>
<list>
<string>my_title</string>
<string>my_text_content</string>
<string>my_source_title</string>
<string>my_text_content</string>
</list>
</value>
</item>
......
......@@ -81,6 +81,10 @@
<key> <string>container_getter_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>context_getter_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
......@@ -129,6 +133,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value> <string></string> </value>
......@@ -240,6 +248,10 @@
<key> <string>container_getter_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>context_getter_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
......@@ -288,6 +300,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value> <string></string> </value>
......@@ -385,7 +401,7 @@
</item>
<item>
<key> <string>base_category</string> </key>
<value> <string>Source</string> </value>
<value> <string>source</string> </value>
</item>
<item>
<key> <string>catalog_index</string> </key>
......@@ -401,6 +417,10 @@
<key> <string>container_getter_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>context_getter_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
......@@ -449,6 +469,10 @@
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value>
......@@ -486,7 +510,7 @@
<value>
<list>
<tuple>
<string>person</string>
<string>Person</string>
<string>Person</string>
</tuple>
</list>
......
......@@ -77,6 +77,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -152,6 +156,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -227,6 +235,10 @@
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......
......@@ -77,6 +77,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -152,6 +156,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -227,6 +235,10 @@
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......
person = context.getPortalObject().portal_membership.getAuthenticatedMember().getUserValue()
person = context.ERP5Site_getAuthenticatedMemberPersonValue
discussion_post = context.newContent(
title=title,
......@@ -6,8 +6,8 @@ discussion_post = context.newContent(
source_value=person,
portal_type='Discussion Post'
)
if batch_mode:
return discussion_post
#if batch_mode:
#return discussion_post
translateString = context.Base_translateString
......
......@@ -50,12 +50,16 @@
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>title, text_content, form_id, batch_mode=False, **kw</string> </value>
<value> <string>title, text_content, form_id, **kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>DiscussionThreadModule_addReply</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Add Reply</string> </value>
</item>
</dictionary>
</pickle>
</record>
......
person = context.getPortalObject().portal_membership.getAuthenticatedMember().getUserValue()
person = context.ERP5Site_getAuthenticatedMemberPersonValue()
translateString = context.Base_translateString
discussion_thread = context.newContent(
title=title,
text_content=text_content,
subject_list=subject_list,
portal_type='Discussion Thread'
)
discussion_post = discussion_thread.newContent(
......@@ -18,9 +19,9 @@ portal_status_message = translateString(
'New post created. Your post will be reviewed for approval..'
)
if batch_mode:
#if batch_mode:
# For unit tests
return discussion_thread
# return discussion_thread
return discussion_thread.Base_redirect('view',
keep_items = dict(portal_status_message=portal_status_message), **kw)
......@@ -50,12 +50,16 @@
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>title, text_content, form_id, batch_mode=False, **kw</string> </value>
<value> <string>title, text_content, subject_list, form_id, **kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>DiscussionThreadModule_addThread</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Add Thread</string> </value>
</item>
</dictionary>
</pickle>
</record>
......
......@@ -6,31 +6,6 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
......@@ -41,6 +16,10 @@
<key> <string>action</string> </key>
<value> <string>DiscussionThreadModule_addReply</string> </value>
</item>
<item>
<key> <string>action_title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
......@@ -97,8 +76,8 @@
<key> <string>left</string> </key>
<value>
<list>
<string>my_title</string>
<string>my_text_content</string>
<string>your_title</string>
<string>your_text_content</string>
</list>
</value>
</item>
......
......@@ -77,6 +77,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -152,6 +156,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -227,6 +235,10 @@
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......
......@@ -77,6 +77,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -152,6 +156,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -227,6 +235,10 @@
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......
......@@ -6,31 +6,6 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
......@@ -41,9 +16,13 @@
<key> <string>action</string> </key>
<value> <string>DiscussionThreadModule_addThread</string> </value>
</item>
<item>
<key> <string>action_title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Use this dialog to create a reply and associate it with a post.</string> </value>
<value> <string>Use this dialog to create a post and associate it with a thread</string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
......@@ -105,7 +84,9 @@
<item>
<key> <string>right</string> </key>
<value>
<list/>
<list>
<string>your_subject_list</string>
</list>
</value>
</item>
</dictionary>
......@@ -113,7 +94,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>DiscussionModuleThread_viewAddThreadDialog</string> </value>
<value> <string>DiscussionThreadModule_viewAddThreadDialog</string> </value>
</item>
<item>
<key> <string>method</string> </key>
......@@ -137,7 +118,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>New Post</string> </value>
<value> <string>New Threads</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
......
......@@ -2,13 +2,13 @@
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
<global name="TextAreaField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_text_content</string> </value>
<value> <string>your_subject_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
......@@ -18,13 +18,21 @@
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>line_too_long</string> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <string>too_many_lines</string> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
......@@ -49,14 +57,6 @@
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
......@@ -73,6 +73,10 @@
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
......@@ -82,15 +86,19 @@
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
......@@ -101,6 +109,10 @@
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -124,14 +136,6 @@
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
......@@ -148,6 +152,10 @@
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
......@@ -157,15 +165,19 @@
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
......@@ -176,6 +188,10 @@
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -199,14 +215,6 @@
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
......@@ -223,6 +231,10 @@
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
......@@ -232,17 +244,21 @@
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Text Content</string> </value>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Subject List</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
......@@ -251,6 +267,10 @@
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item>
</dictionary>
</value>
</item>
......
......@@ -8,7 +8,7 @@
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_text_content</string> </value>
<value> <string>your_text_content</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
......@@ -77,6 +77,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -152,6 +156,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -227,6 +235,10 @@
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -237,7 +249,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Text Content</string> </value>
<value> <string>Content</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
......
......@@ -8,7 +8,7 @@
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_title</string> </value>
<value> <string>your_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
......@@ -77,6 +77,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -152,6 +156,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -227,6 +235,10 @@
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......
......@@ -6,31 +6,6 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
......@@ -41,6 +16,10 @@
<key> <string>action</string> </key>
<value> <string>Base_doSelect</string> </value>
</item>
<item>
<key> <string>action_title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
......
......@@ -12,7 +12,6 @@
<list>
<string>columns</string>
<string>selection_name</string>
<string>sort</string>
<string>title</string>
</list>
</value>
......@@ -44,10 +43,6 @@
<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>
......@@ -63,10 +58,6 @@
<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>
......@@ -83,7 +74,7 @@
<string>Title</string>
</tuple>
<tuple>
<string>translated_validation_state</string>
<string>translated_validation_state_title</string>
<string>State</string>
</tuple>
<tuple>
......@@ -124,21 +115,6 @@
<key> <string>selection_name</string> </key>
<value> <string>discussion_thread_module_selection</string> </value>
</item>
<item>
<key> <string>sort</string> </key>
<value>
<list>
<tuple>
<string>Date</string>
<string>asc</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>Discussion Threads</string> </value>
......
......@@ -77,6 +77,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -154,6 +158,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -229,6 +237,10 @@
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -261,10 +273,7 @@
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
......
......@@ -6,31 +6,6 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
......@@ -41,6 +16,10 @@
<key> <string>action</string> </key>
<value> <string>Base_edit</string> </value>
</item>
<item>
<key> <string>action_title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
......@@ -84,15 +63,15 @@
<item>
<key> <string>center</string> </key>
<value>
<list>
<string>my_listbox</string>
</list>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
<list>
<string>my_subject_list_test</string>
</list>
</value>
</item>
<item>
......@@ -101,7 +80,7 @@
<list>
<string>my_title</string>
<string>my_rating</string>
<string>my_text_content</string>
<string>my_listbox</string>
</list>
</value>
</item>
......@@ -109,7 +88,8 @@
<key> <string>right</string> </key>
<value>
<list>
<string>my_translated_validation_state</string>
<string>my_translated_validation_state_title</string>
<string>my_subject_list</string>
</list>
</value>
</item>
......
......@@ -94,15 +94,11 @@
<value> <string></string> </value>
</item>
<item>
<key> <string>full_text_search_key</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>full_text_search_key_script</string> </key>
<key> <string>global_attributes</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>global_attributes</string> </key>
<key> <string>global_search_column</string> </key>
<value> <string></string> </value>
</item>
<item>
......@@ -130,7 +126,7 @@
<value> <string></string> </value>
</item>
<item>
<key> <string>page_navigation_mode</string> </key>
<key> <string>page_navigation_template</string> </key>
<value> <string></string> </value>
</item>
<item>
......@@ -185,6 +181,10 @@
<key> <string>stat_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>style_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......@@ -269,15 +269,11 @@
<value> <string></string> </value>
</item>
<item>
<key> <string>full_text_search_key</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>full_text_search_key_script</string> </key>
<key> <string>global_attributes</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>global_attributes</string> </key>
<key> <string>global_search_column</string> </key>
<value> <string></string> </value>
</item>
<item>
......@@ -305,7 +301,7 @@
<value> <string></string> </value>
</item>
<item>
<key> <string>page_navigation_mode</string> </key>
<key> <string>page_navigation_template</string> </key>
<value> <string></string> </value>
</item>
<item>
......@@ -360,6 +356,10 @@
<key> <string>stat_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>style_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......@@ -409,6 +409,10 @@
<string>rating</string>
<string>Rating</string>
</tuple>
<tuple>
<string>creation_date</string>
<string>Date</string>
</tuple>
</list>
</value>
</item>
......@@ -470,20 +474,16 @@
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>full_text_search_key</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>full_text_search_key_script</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>global_attributes</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>global_search_column</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
......@@ -513,12 +513,12 @@
</value>
</item>
<item>
<key> <string>page_navigation_mode</string> </key>
<value> <string>slider</string> </value>
<key> <string>page_navigation_template</string> </key>
<value> <string>ListBox_viewSliderPageNavigationRenderer</string> </value>
</item>
<item>
<key> <string>page_template</string> </key>
<value> <string>ListBox_ThreadAsHTML</string> </value>
<value> <string>ListBox_threadAsHTML</string> </value>
</item>
<item>
<key> <string>portal_types</string> </key>
......@@ -556,12 +556,17 @@
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string>search_selection</string> </value>
<value> <string></string> </value>
</item>
<item>
<key> <string>sort</string> </key>
<value>
<list/>
<list>
<tuple>
<string>Date</string>
<string>asc</string>
</tuple>
</list>
</value>
</item>
<item>
......@@ -580,6 +585,12 @@
<key> <string>stat_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>style_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Threads</string> </value>
......@@ -604,10 +615,7 @@
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<global name="Method" module="Products.Formulator.MethodField"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
......@@ -620,10 +628,7 @@
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<global name="Method" module="Products.Formulator.MethodField"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
......
......@@ -77,6 +77,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -152,6 +156,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -227,6 +235,10 @@
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......
<?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_subject_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_view_mode_subject_list</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewDMSFieldLibrary</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>Subject List</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -77,6 +77,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -152,6 +156,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -227,6 +235,10 @@
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......
......@@ -8,7 +8,7 @@
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_translated_validation_state</string> </value>
<value> <string>my_translated_validation_state_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
......@@ -77,6 +77,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -152,6 +156,10 @@
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......@@ -209,7 +217,7 @@
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
......@@ -227,6 +235,10 @@
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<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>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ListBox_asSearchStyleHTML</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Listboxes in search engine style</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<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>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ListBox_asStandardHTML</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<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>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ListBox_asTableStyleHTML</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Listbox as tables renderer</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -46,15 +46,15 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ListBox_ThreadAsHTML</string> </value>
<value> <string>ListBox_threadAsHTML</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
<value> <string>iso-8859-15</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
......
......@@ -6,48 +6,85 @@
form_id python: here.getForm().id;
selection_name here/getSelectionName;
selection here/getSelection;
portal_url_string here/getPortalUrlString;
real_context here/getContext;
global portal_url_string here/getPortalUrlString;
context_url real_context/absolute_url;
md5_string here/getMD5Checksum;
hide_rows_on_no_search_criterion here/isHideRowsOnNoSearchCriterion;
line_list here/query;
is_domain_tree_mode here/isDomainTreeMode;
is_report_tree_mode here/isReportTreeMode;
is_domain_tree_supported here/isDomainTreeSupported;
is_report_tree_supported here/isReportTreeSupported;
global is_domain_tree_supported here/isDomainTreeSupported;
global is_report_tree_supported here/isReportTreeSupported;
global is_gadget_mode request/is_gadget_mode | nothing;
show_select_column here/showSelectColumn;
show_anchor_column here/showAnchorColumn;
show_search_line here/showSearchLine;
is_web_mode request/is_web_mode | nothing;
is_web_mode real_context/isWebMode | nothing;
is_dialog_mode request/dialog_mode | nothing;
list_style python:request.get('list_style',
selection.getParams().get('list_style', is_web_mode and 'table' or None));
is_gadget_mode request/is_gadget_mode | nothing;
">
<!-- ListBox starts here. -->
<input type="hidden" name="list_selection_name" value="default" tal:attributes="value selection_name" />
<input type="hidden" name="list_selection_name" value="default"
display_style_list here/getDisplayStyleList;
list_style here/getListboxDisplayStyle;
global_search_column here/getGlobalSearchColumn;
global_search_column_script string:Base_doSelect;
show_global_search python: global_search_column not in ('', None);
line_list here/query;
listbox_max_lines python: int(here.getMaxLineNumber());
total_line python: int(here.total_size);
is_sample python: getattr(here, 'is_sample', False);
current_page python: int(here.current_page) + 1;
current_page_max python: listbox_max_lines * current_page;
current_page_start python: (listbox_max_lines * (current_page - 1)) + 1;
current_page_stop python: (total_line < current_page_max) and total_line or current_page_max;
form_url string:${context_url}/${form_id};
need_pagination python: total_line > listbox_max_lines;
show_list_style_selection python: len(display_style_list) > 1;
show_listbox_tree_mode_selection python: not is_gadget_mode and
(is_domain_tree_supported or is_report_tree_supported);
show_list_action_link python: here.field.get_value('list_action');
page_navigation_template python: request.get('page_navigation_template', here.getPageNavigationTemplate());
is_slider_mode python: 'Slider' in page_navigation_template;
is_default_listbox_field python: field_id=='listbox';
field_prefix python: '';">
<!-- Define hidden input. -->
<input type="hidden"
name="list_selection_name"
value="default"
tal:attributes="value selection_name" />
<input type="hidden"
name="list_selection_name"
value="default"
tal:attributes="value selection_name;
name string:${field_id}_list_selection_name" />
<input tal:condition="md5_string" type="hidden" name="md5_object_uid_list" value="checksum" tal:attributes="value md5_string" />
<input tal:condition="md5_string"
type="hidden"
name="md5_object_uid_list"
value="checksum"
tal:attributes="value md5_string" />
<input tal:condition="form_id"
type="hidden"
name="form_id"
tal:attributes="value form_id"
tal:replace="nothing"/>
<input tal:condition="field_id"
type="hidden"
name="field_id"
tal:attributes="value field_id"
tal:replace="nothing"/>
<tal:block tal:condition="is_gadget_mode">
<tal:block tal:define="global box_relative_url python: request.get('box_relative_url', '');
global box python: real_context.restrictedTraverse(box_relative_url);
global box_id python: 'visual_%s' %box_relative_url.split('/')[-1];
global dom_id python: request.get('dom_id',None) or box_id;">
global box_id python: '%s_content' %box_relative_url.replace('/', '_');
global dom_id python: request.get('dom_id',None) or box_id;
global field_prefix string:${box_id}_">
<input tal:condition="python:form_id"
type="hidden" name="gadget_form_id"
type="hidden"
name="gadget_form_id"
tal:attributes="value form_id" />
</tal:block>
</tal:block>
<tal:replace tal:content="nothing">
Because TAL cannot accept unbalanced tags, the support for a domain tree is realized by a macro.
The macro ListBoxContainer is a no-op, if not in domain tree mode. Otherwise, the macro constructs
a domain tree and extracts the body in an extra table.
</tal:replace>
<tal:block tal:define="expand python: 0">
<tal:block tal:define="expand python: 0">
<tal:block metal:define-macro="ListBoxContainer">
<tal:block tal:condition="expand">
<tal:block tal:condition="not: is_domain_tree_mode">
......@@ -97,14 +134,6 @@
</tal:block>
</tal:block>
</tal:block>
<tal:block tal:condition="python: list_style == 'search'">
<span metal:use-macro="real_context/ListBox_asSearchStyleHTML/macros/main"/>
</tal:block>
<tal:block tal:condition="python: list_style == 'table'">
<span metal:use-macro="real_context/ListBox_asTableStyleHTML/macros/main"/>
</tal:block>
<tal:block tal:condition="python: list_style not in ('search', 'table')">
<span metal:use-macro="real_context/ListBox_asStandardHTML/macros/main"/>
</tal:block>
</tal:block>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<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>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>page_navigation_render</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
from Products.ERP5Type.tests.SecurityTestCase import SecurityTestCase
from httplib import OK as HTTP_OK
class TestDiscussionThread(SecurityTestCase):
"""
A Sample Test Class
"""
user_id_dict = {}
def getTitle(self):
return "TestDiscussionThread"
def afterSetUp(self):
"""
This is ran before each and every test, used to set up the environment
"""
user_list = [
# This is Dictator, a user of our portal and a forum admin
dict(title='Dictator', reference='admin', function='forum/administrator'),
# This is "Forum User", a user of our portal. He's funny, but has no administrative power
dict(title='Forum User', reference='forum_user', function='forum/user'),
# This is yet another user. He has no administrative power
dict(title='Another Forum User', reference='another_forum_user', function='forum/user'),
# This is a Lurker. He is lurking in the forum, but is not an User
dict(title='Forum visitor', reference='visitor', function='forum/visitor'),
# This is a Spy. He has an ERP5 account, but no specific forum access.
dict(title='Spy', reference='spy', function=None),
]
# now we create the users
for user in user_list:
if not self.portal.acl_users.searchUsers(login=user['reference'], exact_match=True):
self.user_id_dict[user['reference']] = \
self.createSimpleUser(**user).Person_getUserId()
self.commit()
self.tic()
self.forum_module = self.portal.getDefaultModule(portal_type='Discussion Thread')
self.assertTrue(self.forum_module is not None)
def _newThread(self, content=''):
"""Helper function to create a new Thread"""
return self.forum_module.DiscussionThreadModule_addThread(
title='Some title',
text_content=content,
form_id='DiscussionThreadModule_viewAddThreadDialog',
batch_mode=True,
)
def testUserCanCreateContent(self):
"""
Use case:
- user creates a thread
- that user can see it
- that user can reply to his thread
"""
# forum_user should be able to access/view the forum module
self.assertUserCanAccessDocument(self.user_id_dict['forum_user'], self.forum_module)
self.assertUserCanViewDocument(self.user_id_dict['forum_user'], self.forum_module)
self.assertUserCanAddDocument(self.user_id_dict['forum_user'], self.forum_module)
self.login(self.user_id_dict['forum_user'])
thread_content='Hey, lets create a new thread!'
thread = self._newThread(content=thread_content)
# user should be able to access/view the created thread
self.assertUserCanViewDocument(self.user_id_dict['forum_user'], thread)
self.assertUserCanAccessDocument(self.user_id_dict['forum_user'], thread)
self.assertUserCanAddDocument(self.user_id_dict['forum_user'], thread)
# get thread posts
thread_posts = thread.objectValues()
# thread should have only one post
self.assertEqual(len(thread_posts), 1)
# that unique post should have the right content
self.assertEqual(thread_posts[0].getTextContent(), thread_content)
# Check that the thread is inserted in the forum module
self.assertEqual(thread.getParentValue().getRelativeUrl(), self.forum_module.getRelativeUrl())
# the thread should have been published
self.assertEqual(thread.getValidationState(), 'public')
reply_content='Can we add a reply?'
post = thread.DiscussionThreadModule_addReply(
title='A new reply',
text_content=reply_content,
form_id='DiscussionThreadModule_viewAddReplyDialog',
batch_mode=True,
)
self.assertUserCanViewDocument(self.user_id_dict['forum_user'], post)
self.assertUserCanAccessDocument(self.user_id_dict['forum_user'], post)
self.tic()
thread_posts = thread.objectValues()
# original thread and reply:
# thread should have two posts
self.assertEqual(len(thread_posts), 2)
# Check that post was inserted in thread
self.assertEqual(post.getParentValue().getRelativeUrl(), thread.getRelativeUrl())
def testSpyCannotAccessButVisitorCan(self):
"""
Unassigneds can't display threads, and visitor can:
- user creates a thread
- outsiders can't read the thread
- visitor can read the thread
"""
self.login(self.user_id_dict['forum_user'])
thread = self._newThread()
self.failIfUserCanViewDocument(self.user_id_dict['spy'], thread)
self.failIfUserCanAccessDocument(self.user_id_dict['spy'], thread)
self.assertUserCanViewDocument(self.user_id_dict['visitor'], thread)
self.assertUserCanAccessDocument(self.user_id_dict['visitor'], thread)
# Check that visitor has permissions on related objects
# for example, if visitor has no permissions on the Person
# module, the above checks will pass, but the view
# will not work, because Person.getTitle() will fail
self.assertUserCanViewDocument(self.user_id_dict['visitor'], self.portal.person_module)
self.assertUserCanAccessDocument(self.user_id_dict['visitor'], self.portal.person_module)
response = self.publish('/%s/%s' % \
(self.portal.getId(), thread.getRelativeUrl()),
'visitor:visitor'
)
self.assertEqual(response.getStatus(), HTTP_OK)
def testVisitorCannotPost(self):
"""
Use case:
- user creates a thread
- visitor cannot reply
- visitor cannot post a new thread
"""
self.login(self.user_id_dict['forum_user'])
thread = self._newThread()
# visitor cannot reply to a thread
self.failIfUserCanAddDocument(self.user_id_dict['visitor'], thread)
# visitor cannot create a new thread
self.failIfUserCanAddDocument(self.user_id_dict['visitor'], self.forum_module)
def testAdminCanModerate(self):
"""
Use case:
- admin creates a thread
- admin can display it
- admin closes it
- admin can display it
- admin reopens it
"""
self.login(self.user_id_dict['admin'])
thread = self._newThread()
self.assertUserCanPassWorkflowTransition(self.user_id_dict['admin'], 'close_action', thread)
thread.close()
self.commit()
self.assertUserCanViewDocument(self.user_id_dict['admin'], thread)
self.assertUserCanAccessDocument(self.user_id_dict['admin'], thread)
self.assertUserCanPassWorkflowTransition(self.user_id_dict['admin'], 'unclose_action', thread)
def testUserCannotModerate(self):
"""
Use case:
- user creates thread
- user cannot close it
"""
self.login(self.user_id_dict['forum_user'])
thread = self._newThread()
self.assertUserCanPassWorkflowTransition(self.user_id_dict['forum_user'], 'close_action', thread)
self.failIfUserCanPassWorkflowTransition(self.user_id_dict['another_forum_user'], 'close_action', thread)
def testCanPostIfNotOwner(self):
"""
Use case:
- forum_user creates a thread
- another_forum_user displays it
- another_forum_user replies
"""
self.login(self.user_id_dict['forum_user'])
thread = self._newThread()
# other user (not thread owner) can access and view the thread
self.assertUserCanViewDocument(self.user_id_dict['another_forum_user'], thread)
self.assertUserCanAccessDocument(self.user_id_dict['another_forum_user'], thread)
# ... and can reply to thread even if he did not start it
self.assertUserCanAddDocument(self.user_id_dict['another_forum_user'], thread)
response = self.publish('/%s/%s' % \
(self.portal.getId(), thread.getRelativeUrl()),
'another_forum_user:another_forum_user'
)
self.assertEqual(response.getStatus(), HTTP_OK)
......@@ -33,8 +33,10 @@
</value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>discussion_thread_workflow</string> </value>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -47,12 +49,14 @@
<value> <string>discussion_thread_workflow</string> </value>
</item>
<item>
<key> <string>manager_bypass</string> </key>
<value> <int>1</int> </value>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow</string> </value>
<key> <string>manager_bypass</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>state_variable</string> </key>
......@@ -67,10 +71,10 @@
<value>
<tuple>
<string>Access contents information</string>
<string>View</string>
<string>Add portal content</string>
<string>Modify portal content</string>
<string>Delete objects</string>
<string>Modify portal content</string>
<string>View</string>
</tuple>
</value>
</item>
......
......@@ -2,38 +2,54 @@
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Test Component" module="erp5.portal_type"/>
<global name="Workflow State" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>default_reference</string> </key>
<value> <string>testDiscussionThread</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testDiscussionThread</string> </value>
<key> <string>acquire_permission</string> </key>
<value>
<tuple>
<string>Access contents information</string>
<string>Add portal content</string>
<string>Delete objects</string>
<string>Modify portal content</string>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Test Component</string> </value>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>sid</string> </key>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>erp5</string> </value>
<key> <string>id</string> </key>
<value> <string>state_cancelled</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<key> <string>state_permission_role_list_dict</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Cancelled</string> </value>
</item>
</dictionary>
</pickle>
</record>
......@@ -48,67 +64,36 @@
<value>
<dictionary>
<item>
<key> <string>component_validation_workflow</string> </key>
<key> <string>Access contents information</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<key> <string>Add portal content</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
<tuple/>
</value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
<key> <string>Delete objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>time</string> </key>
<key> <string>Modify portal content</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="DateTime" module="DateTime.DateTime"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<tuple>
<float>1377844658.71</float>
<string>GMT+9</string>
</tuple>
</state>
</object>
<tuple/>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
<key> <string>View</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
......
......@@ -22,35 +22,31 @@
</value>
</item>
<item>
<key> <string>description</string> </key>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>state_closed</string> </value>
</item>
<item>
<key> <string>index</string> </key>
<key> <string>description</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow State</string> </value>
<key> <string>id</string> </key>
<value> <string>state_closed</string> </value>
</item>
<item>
<key> <string>state_permission_role_list_dict</string> </key>
<key> <string>language</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
<none/>
</value>
</item>
<item>
<key> <string>state_type</string> </key>
<key> <string>state_permission_role_list_dict</string> </key>
<value>
<tuple/>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
......@@ -61,28 +57,6 @@
</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>cell</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="PersistentMapping" module="Persistence.mapping"/>
</pickle>
......@@ -96,11 +70,11 @@
<key> <string>Access contents information</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Auditor</string>
<string>Author</string>
<string>Assignee</string>
<string>Manager</string>
<string>Auditor</string>
<string>Owner</string>
</tuple>
</value>
......@@ -136,11 +110,11 @@
<key> <string>View</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Auditor</string>
<string>Author</string>
<string>Assignee</string>
<string>Manager</string>
<string>Auditor</string>
<string>Owner</string>
</tuple>
</value>
......@@ -151,128 +125,4 @@
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <int>0</int> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
<item>
<key> <int>1</int> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>Access contents information</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>Add portal content</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>Delete objects</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>Modify portal content</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>View</string> </key>
<value> <int>4</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="6" aka="AAAAAAAAAAY=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>Anonymous</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>Assignee</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>Assignor</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>Associate</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>Auditor</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>Authenticated</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>Author</string> </key>
<value> <int>6</int> </value>
</item>
<item>
<key> <string>Manager</string> </key>
<value> <int>7</int> </value>
</item>
<item>
<key> <string>Member</string> </key>
<value> <int>8</int> </value>
</item>
<item>
<key> <string>Owner</string> </key>
<value> <int>9</int> </value>
</item>
<item>
<key> <string>Reviewer</string> </key>
<value> <int>10</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -24,35 +24,25 @@
</value>
</item>
<item>
<key> <string>description</string> </key>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>state_draft</string> </value>
</item>
<item>
<key> <string>index</string> </key>
<key> <string>description</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow State</string> </value>
<key> <string>id</string> </key>
<value> <string>state_draft</string> </value>
</item>
<item>
<key> <string>state_permission_role_list_dict</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>state_type</string> </key>
<value>
<tuple/>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
......@@ -63,28 +53,6 @@
</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>cell</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="PersistentMapping" module="Persistence.mapping"/>
</pickle>
......@@ -98,8 +66,9 @@
<key> <string>Access contents information</string> </key>
<value>
<tuple>
<string>Manager</string>
<string>Assignor</string>
<string>Owner</string>
<string>Manager</string>
</tuple>
</value>
</item>
......@@ -107,8 +76,8 @@
<key> <string>Add portal content</string> </key>
<value>
<tuple>
<string>Manager</string>
<string>Owner</string>
<string>Manager</string>
</tuple>
</value>
</item>
......@@ -124,8 +93,8 @@
<key> <string>Modify portal content</string> </key>
<value>
<tuple>
<string>Manager</string>
<string>Owner</string>
<string>Manager</string>
</tuple>
</value>
</item>
......@@ -133,8 +102,9 @@
<key> <string>View</string> </key>
<value>
<tuple>
<string>Manager</string>
<string>Owner</string>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
......@@ -144,128 +114,4 @@
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <int>0</int> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
<item>
<key> <int>1</int> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>Access contents information</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>Add portal content</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>Delete objects</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>Modify portal content</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>View</string> </key>
<value> <int>4</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="6" aka="AAAAAAAAAAY=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>Anonymous</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>Assignee</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>Assignor</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>Associate</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>Auditor</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>Authenticated</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>Author</string> </key>
<value> <int>6</int> </value>
</item>
<item>
<key> <string>Manager</string> </key>
<value> <int>7</int> </value>
</item>
<item>
<key> <string>Member</string> </key>
<value> <int>8</int> </value>
</item>
<item>
<key> <string>Owner</string> </key>
<value> <int>9</int> </value>
</item>
<item>
<key> <string>Reviewer</string> </key>
<value> <int>10</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -13,40 +13,45 @@
</value>
</item>
<item>
<key> <string>description</string> </key>
<key> <string>categories</string> </key>
<value>
<none/>
<tuple>
<string>destination/portal_workflow/discussion_thread_workflow/transition_publish</string>
<string>destination/portal_workflow/discussion_thread_workflow/transition_publish_action</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>state_cancel</string> </value>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>index</string> </key>
<key> <string>description</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow State</string> </value>
<key> <string>id</string> </key>
<value> <string>state_hidden</string> </value>
</item>
<item>
<key> <string>state_permission_role_list_dict</string> </key>
<key> <string>language</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
<none/>
</value>
</item>
<item>
<key> <string>state_type</string> </key>
<key> <string>state_permission_role_list_dict</string> </key>
<value>
<tuple/>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Cancelled</string> </value>
<value> <string>Hidden</string> </value>
</item>
</dictionary>
</pickle>
......@@ -62,130 +67,57 @@
<value>
<dictionary>
<item>
<key> <string>cell</string> </key>
<key> <string>Access contents information</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
<tuple>
<string>Assignor</string>
<string>Assignee</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
</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>
<key> <string>Add portal content</string> </key>
<value>
<dictionary/>
<tuple>
<string>Assignor</string>
<string>Owner</string>
<string>Manager</string>
</tuple>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <int>0</int> </key>
<key> <string>Delete objects</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <int>1</int> </key>
<key> <string>Modify portal content</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
<tuple>
<string>Assignor</string>
<string>Owner</string>
<string>Manager</string>
</tuple>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<key> <string>View</string> </key>
<value>
<dictionary/>
<tuple>
<string>Owner</string>
<string>Assignee</string>
<string>Manager</string>
<string>Assignor</string>
</tuple>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="6" aka="AAAAAAAAAAY=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>Anonymous</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>Assignee</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>Assignor</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>Associate</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>Auditor</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>Authenticated</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>Author</string> </key>
<value> <int>6</int> </value>
</item>
<item>
<key> <string>Manager</string> </key>
<value> <int>7</int> </value>
</item>
<item>
<key> <string>Member</string> </key>
<value> <int>8</int> </value>
</item>
<item>
<key> <string>Owner</string> </key>
<value> <int>9</int> </value>
</item>
<item>
<key> <string>Reviewer</string> </key>
<value> <int>10</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
......
......@@ -6,24 +6,12 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>action_name</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/workflow</string>
<string>destination/portal_workflow/discussion_thread_workflow/state_cancel</string>
<string>destination/portal_workflow/discussion_thread_workflow/state_cancelled</string>
</tuple>
</value>
</item>
......@@ -33,16 +21,12 @@
<none/>
</value>
</item>
<item>
<key> <string>guard_group</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>guard_permission</string> </key>
<value>
<tuple/>
<tuple>
<string>Modify portal content</string>
</tuple>
</value>
</item>
<item>
......@@ -64,8 +48,10 @@
<value> <string>transition_cancel</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow Transition</string> </value>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>title</string> </key>
......
......@@ -12,7 +12,7 @@
</item>
<item>
<key> <string>action_name</string> </key>
<value> <string>Cancelled</string> </value>
<value> <string>Cancel</string> </value>
</item>
<item>
<key> <string>categories</string> </key>
......@@ -25,18 +25,16 @@
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Cancel action.</string> </value>
</item>
<item>
<key> <string>guard_group</string> </key>
<value>
<tuple/>
<none/>
</value>
</item>
<item>
<key> <string>guard_permission</string> </key>
<value>
<tuple/>
<tuple>
<string>Modify portal content</string>
</tuple>
</value>
</item>
<item>
......@@ -58,17 +56,15 @@
<value> <string>transition_cancel_action</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow Transition</string> </value>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Cancel Action</string> </value>
</item>
<item>
<key> <string>trigger_type</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
......
......@@ -6,18 +6,6 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>action_name</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
......@@ -33,16 +21,12 @@
<none/>
</value>
</item>
<item>
<key> <string>guard_group</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>guard_permission</string> </key>
<value>
<tuple/>
<tuple>
<string>Modify portal content</string>
</tuple>
</value>
</item>
<item>
......@@ -64,8 +48,10 @@
<value> <string>transition_close</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow Transition</string> </value>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>title</string> </key>
......
......@@ -6,13 +6,9 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>automatic_update</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>The last transition</string> </value>
<value> <string>Transition id</string> </value>
</item>
<item>
<key> <string>for_catalog</string> </key>
......@@ -22,20 +18,6 @@
<key> <string>id</string> </key>
<value> <string>variable_action</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow Variable</string> </value>
</item>
<item>
<key> <string>status_included</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>variable_default_expression</string> </key>
<value> <string>transition/getReference|nothing</string> </value>
......
This diff is collapsed.
2011 © Nexedi SA
\ No newline at end of file
erp5_base,
erp5_web,
erp5_ingestion_mysql_innodb_catalog,
erp5_ingestion,
erp5_dms
\ No newline at end of file
This business template is a result of http://www.erp5.com/developer-Learning.Track.Forum tutorial.
\ No newline at end of file
GPL
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment