Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
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
Alexander Emmerich
erp5
Commits
7015185e
Commit
7015185e
authored
May 10, 2023
by
Alexander Emmerich
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
erp5_forum_tutorial: Add forum tutorial
parent
e274b020
Changes
94
Hide whitespace changes
Inline
Side-by-side
Showing
94 changed files
with
1557 additions
and
3149 deletions
+1557
-3149
bt5/erp5_forum_tutorial/ActionTemplateItem/portal_types/Discussion%20Post/view.xml
...ctionTemplateItem/portal_types/Discussion%20Post/view.xml
+0
-4
bt5/erp5_forum_tutorial/ActionTemplateItem/portal_types/Discussion%20Thread%20Module/new_thread.xml
.../portal_types/Discussion%20Thread%20Module/new_thread.xml
+1
-5
bt5/erp5_forum_tutorial/ActionTemplateItem/portal_types/Discussion%20Thread%20Module/view.xml
...teItem/portal_types/Discussion%20Thread%20Module/view.xml
+0
-4
bt5/erp5_forum_tutorial/ActionTemplateItem/portal_types/Discussion%20Thread/new_reply.xml
...mplateItem/portal_types/Discussion%20Thread/new_reply.xml
+0
-4
bt5/erp5_forum_tutorial/ActionTemplateItem/portal_types/Discussion%20Thread/view.xml
...ionTemplateItem/portal_types/Discussion%20Thread/view.xml
+0
-4
bt5/erp5_forum_tutorial/LocalRolesTemplateItem/discussion_thread_module.xml
...orial/LocalRolesTemplateItem/discussion_thread_module.xml
+3
-4
bt5/erp5_forum_tutorial/LocalRolesTemplateItem/person_module.xml
...5_forum_tutorial/LocalRolesTemplateItem/person_module.xml
+0
-12
bt5/erp5_forum_tutorial/ModuleTemplateItem/discussion_thread_module.xml
..._tutorial/ModuleTemplateItem/discussion_thread_module.xml
+0
-1
bt5/erp5_forum_tutorial/PathTemplateItem/portal_categories/function/forum.xml
...ial/PathTemplateItem/portal_categories/function/forum.xml
+1
-5
bt5/erp5_forum_tutorial/PathTemplateItem/portal_categories/function/forum/administrator.xml
...teItem/portal_categories/function/forum/administrator.xml
+0
-12
bt5/erp5_forum_tutorial/PathTemplateItem/portal_categories/function/forum/user.xml
...athTemplateItem/portal_categories/function/forum/user.xml
+0
-4
bt5/erp5_forum_tutorial/PathTemplateItem/portal_categories/function/forum/visitor.xml
...TemplateItem/portal_categories/function/forum/visitor.xml
+1
-13
bt5/erp5_forum_tutorial/PortalTypePropertySheetTemplateItem/property_sheet_list.xml
...rtalTypePropertySheetTemplateItem/property_sheet_list.xml
+3
-0
bt5/erp5_forum_tutorial/PortalTypeRolesTemplateItem/Discussion%20Thread%20Module.xml
...talTypeRolesTemplateItem/Discussion%20Thread%20Module.xml
+2
-1
bt5/erp5_forum_tutorial/PortalTypeRolesTemplateItem/Person%20Module.xml
..._tutorial/PortalTypeRolesTemplateItem/Person%20Module.xml
+0
-5
bt5/erp5_forum_tutorial/PortalTypeTemplateItem/portal_types/Discussion%20Post.xml
...PortalTypeTemplateItem/portal_types/Discussion%20Post.xml
+5
-68
bt5/erp5_forum_tutorial/PortalTypeTemplateItem/portal_types/Discussion%20Thread%20Module.xml
...emplateItem/portal_types/Discussion%20Thread%20Module.xml
+40
-43
bt5/erp5_forum_tutorial/PortalTypeTemplateItem/portal_types/Discussion%20Thread.xml
...rtalTypeTemplateItem/portal_types/Discussion%20Thread.xml
+9
-122
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum.xml
...rum_tutorial/SkinTemplateItem/portal_skins/erp5_forum.xml
+1
-1
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionPost_view.xml
...plateItem/portal_skins/erp5_forum/DiscussionPost_view.xml
+5
-26
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionPost_view/my_source_title.xml
..._skins/erp5_forum/DiscussionPost_view/my_source_title.xml
+26
-2
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionPost_view/my_text_content.xml
..._skins/erp5_forum/DiscussionPost_view/my_text_content.xml
+12
-0
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionPost_view/my_title.xml
.../portal_skins/erp5_forum/DiscussionPost_view/my_title.xml
+12
-0
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_addReply.py
...ortal_skins/erp5_forum/DiscussionThreadModule_addReply.py
+3
-3
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_addReply.xml
...rtal_skins/erp5_forum/DiscussionThreadModule_addReply.xml
+5
-1
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_addThread.py
...rtal_skins/erp5_forum/DiscussionThreadModule_addThread.py
+4
-3
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_addThread.xml
...tal_skins/erp5_forum/DiscussionThreadModule_addThread.xml
+5
-1
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewAddReplyDialog.xml
.../erp5_forum/DiscussionThreadModule_viewAddReplyDialog.xml
+6
-27
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewAddReplyDialog/your_text_content.xml
...sionThreadModule_viewAddReplyDialog/your_text_content.xml
+12
-0
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewAddReplyDialog/your_title.xml
.../DiscussionThreadModule_viewAddReplyDialog/your_title.xml
+12
-0
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewAddThreadDialog.xml
...erp5_forum/DiscussionThreadModule_viewAddThreadDialog.xml
+10
-29
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewAddThreadDialog/your_subject_list.xml
...ionThreadModule_viewAddThreadDialog/your_subject_list.xml
+58
-38
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewAddThreadDialog/your_text_content.xml
...ionThreadModule_viewAddThreadDialog/your_text_content.xml
+14
-2
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewAddThreadDialog/your_title.xml
...DiscussionThreadModule_viewAddThreadDialog/your_title.xml
+13
-1
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewDiscussionThreadList.xml
...forum/DiscussionThreadModule_viewDiscussionThreadList.xml
+4
-25
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewDiscussionThreadList/listbox.xml
...scussionThreadModule_viewDiscussionThreadList/listbox.xml
+1
-25
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewDiscussionThreadList/listbox_count.xml
...onThreadModule_viewDiscussionThreadList/listbox_count.xml
+13
-4
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread_view.xml
...ateItem/portal_skins/erp5_forum/DiscussionThread_view.xml
+11
-31
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread_view/my_listbox.xml
...tal_skins/erp5_forum/DiscussionThread_view/my_listbox.xml
+40
-35
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread_view/my_rating.xml
...rtal_skins/erp5_forum/DiscussionThread_view/my_rating.xml
+12
-0
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread_view/my_subject_list.xml
...kins/erp5_forum/DiscussionThread_view/my_subject_list.xml
+96
-0
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread_view/my_subject_list_test.xml
...erp5_forum/DiscussionThread_view/my_subject_list_test.xml
+298
-0
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread_view/my_title.xml
...ortal_skins/erp5_forum/DiscussionThread_view/my_title.xml
+12
-0
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread_view/my_translated_validation_state_title.xml
...ssionThread_view/my_translated_validation_state_title.xml
+14
-2
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_asSearchStyleHTML.xml
...tem/portal_skins/erp5_forum/ListBox_asSearchStyleHTML.xml
+0
-62
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_asSearchStyleHTML.zpt
...tem/portal_skins/erp5_forum/ListBox_asSearchStyleHTML.zpt
+0
-295
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_asStandardHTML.xml
...teItem/portal_skins/erp5_forum/ListBox_asStandardHTML.xml
+0
-62
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_asStandardHTML.zpt
...teItem/portal_skins/erp5_forum/ListBox_asStandardHTML.zpt
+0
-282
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_asTableStyleHTML.xml
...Item/portal_skins/erp5_forum/ListBox_asTableStyleHTML.xml
+0
-62
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_asTableStyleHTML.zpt
...Item/portal_skins/erp5_forum/ListBox_asTableStyleHTML.zpt
+0
-301
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_threadAsHTML.xml
...lateItem/portal_skins/erp5_forum/ListBox_threadAsHTML.xml
+3
-3
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_threadAsHTML.zpt
...lateItem/portal_skins/erp5_forum/ListBox_threadAsHTML.zpt
+65
-36
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/page_navigation_render.xml
...teItem/portal_skins/erp5_forum/page_navigation_render.xml
+0
-62
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/page_navigation_render.zpt
...teItem/portal_skins/erp5_forum/page_navigation_render.zpt
+0
-222
bt5/erp5_forum_tutorial/TestTemplateItem/portal_components/test.erp5.testDiscussionThread.py
...eItem/portal_components/test.erp5.testDiscussionThread.py
+0
-208
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow.xml
...mplateItem/portal_workflow/discussion_thread_workflow.xml
+12
-8
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/state_cancelled.xml
...l_workflow/discussion_thread_workflow/state_cancelled.xml
+102
-0
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/state_closed.xml
...rtal_workflow/discussion_thread_workflow/state_closed.xml
+13
-163
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/state_draft.xml
...ortal_workflow/discussion_thread_workflow/state_draft.xml
+12
-166
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/state_hidden.xml
...rtal_workflow/discussion_thread_workflow/state_hidden.xml
+126
-0
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/state_public.xml
...rtal_workflow/discussion_thread_workflow/state_public.xml
+20
-168
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/state_sticky.xml
...rtal_workflow/discussion_thread_workflow/state_sticky.xml
+51
-123
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_cancel.xml
...workflow/discussion_thread_workflow/transition_cancel.xml
+8
-22
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_cancel_action.xml
...w/discussion_thread_workflow/transition_cancel_action.xml
+9
-13
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_close.xml
..._workflow/discussion_thread_workflow/transition_close.xml
+7
-21
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_close_action.xml
...ow/discussion_thread_workflow/transition_close_action.xml
+9
-13
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_hide.xml
...l_workflow/discussion_thread_workflow/transition_hide.xml
+63
-0
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_hide_action.xml
...low/discussion_thread_workflow/transition_hide_action.xml
+12
-21
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_publish.xml
...orkflow/discussion_thread_workflow/transition_publish.xml
+7
-21
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_publish_action.xml
.../discussion_thread_workflow/transition_publish_action.xml
+9
-13
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_stick.xml
..._workflow/discussion_thread_workflow/transition_stick.xml
+9
-23
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_stick_action.xml
...ow/discussion_thread_workflow/transition_stick_action.xml
+13
-16
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_unclose.xml
...orkflow/discussion_thread_workflow/transition_unclose.xml
+8
-21
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_unclose_action.xml
.../discussion_thread_workflow/transition_unclose_action.xml
+10
-14
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_unhide.xml
...workflow/discussion_thread_workflow/transition_unhide.xml
+67
-0
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_unhide_action.xml
...w/discussion_thread_workflow/transition_unhide_action.xml
+68
-0
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_unstick.xml
...orkflow/discussion_thread_workflow/transition_unstick.xml
+67
-0
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_unstick_action.xml
.../discussion_thread_workflow/transition_unstick_action.xml
+13
-17
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/variable_action.xml
...l_workflow/discussion_thread_workflow/variable_action.xml
+1
-19
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/variable_actor.xml
...al_workflow/discussion_thread_workflow/variable_actor.xml
+1
-19
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/variable_comment.xml
..._workflow/discussion_thread_workflow/variable_comment.xml
+1
-19
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/variable_error_message.xml
...low/discussion_thread_workflow/variable_error_message.xml
+0
-18
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/variable_history.xml
..._workflow/discussion_thread_workflow/variable_history.xml
+0
-10
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/variable_portal_type.xml
...kflow/discussion_thread_workflow/variable_portal_type.xml
+1
-15
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/variable_time.xml
...tal_workflow/discussion_thread_workflow/variable_time.xml
+1
-19
bt5/erp5_forum_tutorial/bt/change_log
bt5/erp5_forum_tutorial/bt/change_log
+0
-14
bt5/erp5_forum_tutorial/bt/copyright_list
bt5/erp5_forum_tutorial/bt/copyright_list
+0
-1
bt5/erp5_forum_tutorial/bt/dependency_list
bt5/erp5_forum_tutorial/bt/dependency_list
+4
-0
bt5/erp5_forum_tutorial/bt/description
bt5/erp5_forum_tutorial/bt/description
+0
-1
bt5/erp5_forum_tutorial/bt/license
bt5/erp5_forum_tutorial/bt/license
+0
-1
bt5/erp5_forum_tutorial/bt/skip_coding_style_test
bt5/erp5_forum_tutorial/bt/skip_coding_style_test
+0
-1
bt5/erp5_forum_tutorial/bt/template_test_id_list
bt5/erp5_forum_tutorial/bt/template_test_id_list
+0
-1
bt5/erp5_forum_tutorial/bt/test_dependency_list
bt5/erp5_forum_tutorial/bt/test_dependency_list
+0
-5
bt5/erp5_forum_tutorial/bt/version
bt5/erp5_forum_tutorial/bt/version
+1
-1
No files found.
bt5/erp5_forum_tutorial/ActionTemplateItem/portal_types/Discussion%20Post/view.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/ActionTemplateItem/portal_types/Discussion%20Thread%20Module/new_thread.xml
View file @
7015185e
...
...
@@ -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}/Discussion
ModuleThread
_viewAddThreadDialog
</string>
</value>
<value>
<string>
string:${object_url}/Discussion
ThreadModule
_viewAddThreadDialog
</string>
</value>
</item>
</dictionary>
</pickle>
...
...
bt5/erp5_forum_tutorial/ActionTemplateItem/portal_types/Discussion%20Thread%20Module/view.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/ActionTemplateItem/portal_types/Discussion%20Thread/new_reply.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/ActionTemplateItem/portal_types/Discussion%20Thread/view.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/LocalRolesTemplateItem/discussion_thread_module.xml
View file @
7015185e
<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=
'VS
R
'
>
<role
id=
'VS
T
'
>
<item>
Auditor
</item>
</role>
<role
id=
'lm1tnw5i0d'
>
<item>
Owner
</item>
</role>
</local_roles>
</local_roles_item>
\ No newline at end of file
bt5/erp5_forum_tutorial/LocalRolesTemplateItem/person_module.xml
View file @
7015185e
<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
bt5/erp5_forum_tutorial/ModuleTemplateItem/discussion_thread_module.xml
View file @
7015185e
...
...
@@ -79,7 +79,6 @@
<role>
Assignor
</role>
<role>
Associate
</role>
<role>
Auditor
</role>
<role>
Author
</role>
<role>
Manager
</role>
</permission>
<permission
type=
'tuple'
>
...
...
bt5/erp5_forum_tutorial/PathTemplateItem/portal_categories/function/forum.xml
View file @
7015185e
...
...
@@ -26,7 +26,7 @@
</item>
<item>
<key>
<string>
codification
</string>
</key>
<value>
<string>
FR
N
</string>
</value>
<value>
<string>
FR
M
</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>
...
...
bt5/erp5_forum_tutorial/PathTemplateItem/portal_categories/function/forum/administrator.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/PathTemplateItem/portal_categories/function/forum/user.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/PathTemplateItem/portal_categories/function/forum/visitor.xml
View file @
7015185e
...
...
@@ -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>
VS
R
</string>
</value>
<value>
<string>
VS
T
</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>
...
...
bt5/erp5_forum_tutorial/PortalTypePropertySheetTemplateItem/property_sheet_list.xml
View file @
7015185e
...
...
@@ -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
bt5/erp5_forum_tutorial/PortalTypeRolesTemplateItem/Discussion%20Thread%20Module.xml
View file @
7015185e
...
...
@@ -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
bt5/erp5_forum_tutorial/PortalTypeRolesTemplateItem/Person%20Module.xml
View file @
7015185e
...
...
@@ -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
bt5/erp5_forum_tutorial/PortalTypeTemplateItem/portal_types/Discussion%20Post.xml
View file @
7015185e
...
...
@@ -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_nam
e
</string>
</key>
<key>
<string>
type_interfac
e
</string>
</key>
<value>
<
non
e/>
<
tupl
e/>
</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>
...
...
bt5/erp5_forum_tutorial/PortalTypeTemplateItem/portal_types/Discussion%20Thread%20Module.xml
View file @
7015185e
...
...
@@ -9,20 +9,7 @@
<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>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
...
...
@@ -31,7 +18,9 @@
</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>
<global
name=
"TranslationInformation"
module=
"Products.ERP5Type.TranslationProviderBase"
/>
</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>
<global
name=
"TranslationInformation"
module=
"Products.ERP5Type.TranslationProviderBase"
/>
</pickle>
<pickle>
<dictionary>
...
...
bt5/erp5_forum_tutorial/PortalTypeTemplateItem/portal_types/Discussion%20Thread.xml
View file @
7015185e
...
...
@@ -7,160 +7,47 @@
<pickle>
<dictionary>
<item>
<key>
<string>
_property_domain_dict
</string>
</key>
<key>
<string>
content_icon
</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>
<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>
<
tupl
e/>
<
non
e/>
</value>
</item>
<item>
<key>
<string>
icon
</string>
</key>
<value>
<string>
document_icon.gif
</string>
</value>
<key>
<string>
factory
</string>
</key>
<value>
<string>
addXMLObject
</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_nam
e
</string>
</key>
<key>
<string>
type_interfac
e
</string>
</key>
<value>
<
non
e/>
<
tupl
e/>
</value>
</item>
<item>
<key>
<string>
property_name
</string>
</key>
<value>
<string>
title
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum.xml
View file @
7015185e
...
...
@@ -18,7 +18,7 @@
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
<value>
<string>
ERP5 Forum
</string>
</value>
</item>
</dictionary>
</pickle>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionPost_view.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionPost_view/my_source_title.xml
View file @
7015185e
...
...
@@ -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>
S
ource
</string>
</value>
<value>
<string>
s
ource
</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>
p
erson
</string>
<string>
P
erson
</string>
<string>
Person
</string>
</tuple>
</list>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionPost_view/my_text_content.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionPost_view/my_title.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_addReply.py
View file @
7015185e
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
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_addReply.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_addThread.py
View file @
7015185e
person
=
context
.
getPortalObject
().
portal_membership
.
getAuthenticatedMember
().
getUser
Value
()
person
=
context
.
ERP5Site_getAuthenticatedMemberPerson
Value
()
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
)
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_addThread.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewAddReplyDialog.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/Discussion
ModuleThread_viewAddThread
Dialog/your_text_content.xml
→
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/Discussion
ThreadModule_viewAddReply
Dialog/your_text_content.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/Discussion
ModuleThread_viewAddThread
Dialog/your_title.xml
→
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/Discussion
ThreadModule_viewAddReply
Dialog/your_title.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/Discussion
ModuleThread
_viewAddThreadDialog.xml
→
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/Discussion
ThreadModule
_viewAddThreadDialog.xml
View file @
7015185e
...
...
@@ -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>
Discussion
ModuleThread
_viewAddThreadDialog
</string>
</value>
<value>
<string>
Discussion
ThreadModule
_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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread
_view/my_text_conten
t.xml
→
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread
Module_viewAddThreadDialog/your_subject_lis
t.xml
View file @
7015185e
...
...
@@ -2,13 +2,13 @@
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"
String
Field"
module=
"Products.Formulator.StandardFields"
/>
<global
name=
"
TextArea
Field"
module=
"Products.Formulator.StandardFields"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_text_conten
t
</string>
</value>
<value>
<string>
your_subject_lis
t
</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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewAdd
ReplyDialog/my
_text_content.xml
→
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewAdd
ThreadDialog/your
_text_content.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewAdd
ReplyDialog/my
_title.xml
→
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewAdd
ThreadDialog/your
_title.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewDiscussionThreadList.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewDiscussionThreadList/listbox.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThreadModule_viewDiscussionThreadList/listbox_count.xml
View file @
7015185e
...
...
@@ -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>
<global
name=
"TALESMethod"
module=
"Products.Formulator.TALESField"
/>
</pickle>
<pickle>
<dictionary>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread_view.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread_view/my_listbox.xml
View file @
7015185e
...
...
@@ -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_
mod
e
</string>
</key>
<key>
<string>
page_navigation_
templat
e
</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_
mod
e
</string>
</key>
<key>
<string>
page_navigation_
templat
e
</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_
mod
e
</string>
</key>
<value>
<string>
slid
er
</string>
</value>
<key>
<string>
page_navigation_
templat
e
</string>
</key>
<value>
<string>
ListBox_viewSliderPageNavigationRender
er
</string>
</value>
</item>
<item>
<key>
<string>
page_template
</string>
</key>
<value>
<string>
ListBox_
T
hreadAsHTML
</string>
</value>
<value>
<string>
ListBox_
t
hreadAsHTML
</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>
<global
name=
"Method"
module=
"Products.Formulator.MethodField"
/>
</pickle>
<pickle>
<dictionary>
...
...
@@ -620,10 +628,7 @@
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<tuple>
<global
name=
"Method"
module=
"Products.Formulator.MethodField"
/>
<tuple/>
</tuple>
<global
name=
"Method"
module=
"Products.Formulator.MethodField"
/>
</pickle>
<pickle>
<dictionary>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread_view/my_rating.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread_view/my_subject_list.xml
0 → 100644
View file @
7015185e
<?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>
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread_view/my_subject_list_test.xml
0 → 100644
View file @
7015185e
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"LinesField"
module=
"Products.Formulator.StandardFields"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_subject_list_test
</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>
<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>
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>
</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
</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>
</item>
<item>
<key>
<string>
max_length
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
max_linelength
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
max_lines
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
required
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
unicode
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
view_separator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<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>
<item>
<key>
<string>
tales
</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
</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>
</item>
<item>
<key>
<string>
max_length
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
max_linelength
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
max_lines
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
required
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
unicode
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
view_separator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<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>
<item>
<key>
<string>
values
</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>
<list/>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
editable
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
enabled
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
height
</string>
</key>
<value>
<int>
3
</int>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
max_length
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
max_linelength
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
max_lines
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
required
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Subject Liste
</string>
</value>
</item>
<item>
<key>
<string>
unicode
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
view_separator
</string>
</key>
<value>
<string
encoding=
"cdata"
>
<![CDATA[
<br />
]]>
</string>
</value>
</item>
<item>
<key>
<string>
whitespace_preserve
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
width
</string>
</key>
<value>
<int>
30
</int>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread_view/my_title.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread_view/my_translated_validation_state.xml
→
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/DiscussionThread_view/my_translated_validation_state
_title
.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_asSearchStyleHTML.xml
deleted
100644 → 0
View file @
e274b020
<?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>
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_asSearchStyleHTML.zpt
deleted
100644 → 0
View file @
e274b020
<tal:block metal:define-macro="main"
xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
tal:define="listbox_max_lines python: int(here.getMaxLineNumber());
total_line python: int(here.total_size);
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;
your_search_text python:here.getParamDict().get('your_search_text', None)">
<!-- ListBox (search mode) starts here. -->
<input type="hidden"
name="list_selection_name"
value="default"
tal:attributes="value selection_name" />
<input tal:condition="md5_string"
type="hidden"
name="md5_object_uid_list"
value="checksum"
tal:attributes="value md5_string" />
<input type="hidden" name="listbox_uid" value="1"/>
<input tal:condition="python:form_id and is_gadget_mode" type="hidden" name="gadget_form_id" tal:attributes="value form_id" />
<tal:block tal:define="expand python: 1;
date_renderer python: context.getContext().ERP5Site_viewSearchResult.listbox_modification_date.render_pdf;">
<tal:block metal:use-macro="template/macros/ListBoxContainer">
<tal:block metal:fill-slot="ListBoxBody">
<div class="search result">
<!-- Advanced Search header -->
<div class="centeredInner searchBar extendedSearchBar"
tal:define="search_default_text python:context.getContext().Base_translateString('Search')"
tal:condition="python:not is_gadget_mode and show_search_line">
<input name="top_your_search_text" size="40" value="" type="text"
value="Search" tal:attributes="value your_search_text | search_default_text;
onfocus string:if (this.value=='${search_default_text}') this.value='';"
onfocus="this.value='';"
onkeypress="submitFormOnEnter(event, this.form, 'ERP5Site_processAdvancedSearch');"/>
<input class="button" i18n:domain="ui" i18n:attributes="value"
value="Search" name="ERP5Site_processAdvancedSearch:method" type="submit" />
</div>
<!-- Result Header -->
<div class="resultList">
<div class="searchResultHeader" >
<span class="left"
tal:define="table_form_id request/current_form_id | form_id">
<a tal:condition="not:is_gadget_mode"
tal:attributes="href string:${context_url}/${table_form_id}?list_style=table">
<img id="style_toggle_icon"
tal:attributes="src string:${portal_url_string}/images/search_style_icon.png"
alt="Search Icon"
height="16"
title="Table mode"
i18n:domain="ui" i18n:attributes="title"/>
</a>
<input tal:condition="python:not is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)"
type="image" src="text_block.png" id="listbox_flat_list_mode"
title="Flat List" name="setFlatListMode:method"
value="1" alt="Flat List"
tal:attributes="src string:${portal_url_string}/images/text_block.png;
id string:${field_id}_flat_list_mode"
i18n:domain="ui" i18n:attributes="title" />
<input tal:condition="python: not is_gadget_mode and is_report_tree_supported"
type="image" src="view_tree.png" id="listbox_report_tree_mode"
title="Report Tree" name="setReportTreeMode:method"
value="1" alt="Report Tree"
tal:attributes="src string:${portal_url_string}/images/view_tree.png;
id string:${field_id}_report_tree_mode"
i18n:domain="ui" i18n:attributes="title" />
<input tal:condition="python: not is_gadget_mode and is_domain_tree_supported"
type="image" src="view_choose.png" id="listbox_domain_tree_mode"
title="Domain Tree" name="setDomainTreeMode:method"
value="1" alt="Domain Tree"
tal:attributes="src string:${portal_url_string}/images/view_choose.png;
id string:${field_id}_domain_tree_mode"
i18n:domain="ui" i18n:attributes="title" />
<input tal:condition="python:not is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)"
type="image" src="images/showall.png" id="listbox_reset_selection"
title="Show All" name="Folder_show:method"
id="listbox_reset_selection"
value="1" alt="Flat List"
tal:attributes="src string:${portal_url_string}/images/showall.png;"
i18n:domain="ui" i18n:attributes="title" />
<!-- supporting table mode for gadget mode -->
<button tal:condition="is_gadget_mode"
tal:define = "params python: {'list_style':'table'}"
title="Table mode"
type="button"
tal:attributes="onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+'/'+table_form_id,box,box_id,params);"
i18n:domain="ui" i18n:attributes="title">
<img id="style_toggle_icon"
alt="Table Mode Icon"
tal:attributes="src string:${portal_url_string}/images/search_style_icon.png"
height="16"/>
</button>
<a tal:attributes="id string:${field_id}_title; href here/getListActionUrl"
tal:condition="python: here.field.get_value('list_action')">
<em i18n:translate=""
i18n:domain="ui" tal:content="here/getTitle" />
</a>
<tal:block tal:condition="python: not here.field.get_value('list_action')">
<em i18n:translate=""
i18n:domain="ui" tal:content="here/getTitle" />
</tal:block>
<!-- supporting domain tree mode for gadget mode (disabled)-->
<!--
<br tal:condition="is_gadget_mode"/>
<button tal:condition="python: is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)"
tal:define = "params python: {'setFlatListMode:method':1}"
id="listbox_flat_list_mode"
type="button"
title="Flat List"
alt="Flat List"
tal:attributes="id string:${field_id}_flat_list_mode;
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+'/'+form_id,box,box_id,params);"
i18n:domain="ui" i18n:attributes="title">
<img src="text_block.png"
tal:attributes="src string:${portal_url_string}/images/text_block.png;"/></button>
<button tal:condition="python: is_gadget_mode and is_report_tree_supported"
tal:define = "params python: {'setReportTreeMode:method':1}"
style="cursor:pointer;" id="listbox_report_tree_mode"
type="button"
title="Report Tree"
alt="Report Tree"
tal:attributes="id string:${field_id}_report_tree_mode;
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+'/'+form_id,box,box_id,params);"
i18n:domain="ui" i18n:attributes="title">
<img src="view_tree.png"
tal:attributes="src string:${portal_url_string}/images/view_tree.png;"/></button>
<button tal:condition="python: is_gadget_mode and is_domain_tree_supported"
tal:define = "params python: {'setDomainTreeMode:method':'1'}"
style="cursor:pointer;" id="listbox_domain_tree_mode"
type="button"
title="Domain Tree"
alt="Domain Tree"
tal:attributes="id string:${field_id}_domain_tree_mode;
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+'/'+form_id,box,box_id,params);"
i18n:domain="ui" i18n:attributes="title">
<img src="view_choose.png"
tal:attributes="src string:${portal_url_string}/images/view_choose.png;"/></button>
-->
</span>
<span class="right">
<tal:block tal:condition="python: total_line > 0"
tal:replace="structure python: real_context.Base_translateString('Results <em>${start} - ${stop}</em> of <em>${total}</em>.', mapping=dict(start=current_page_start, stop=current_page_stop, total=total_line))"/>
<span tal:condition="python: total_line == 0"
class="warning"
i18n:translate=""
i18n:domain="ui">No result !</span>
</span>
<div class="clear"></div>
</div>
<!-- Found results -->
<tal:block
tal:condition="is_web_mode">
<tal:block tal:define="global website python: real_context.getWebSiteValue()" />
</tal:block>
<table cellpadding="0" cellspacing="0" class="listbox search">
<tal:block tal:repeat="line line_list">
<tr tal:define="css python: test(repeat['line'].index % 2, 'DataB', 'DataA');
obj line/getObject;
url obj/absolute_url;
portal_type obj/getPortalType;
is_document python:portal_type in
real_context.getPortalDocumentTypeList() and portal_type != 'Web Page';
hidden_pop_dom_id string:dom_popup_${field_id}_${repeat/line/index};
details_dom_id string:${field_id}_search_details_${repeat/line/index};"
tal:attributes="id string:${field_id}_data_line_${repeat/line/index};
class python: '%s tbody' % css;">
<td class="icon">
<a tal:condition="is_document"
tal:attributes="href string: ${url}/Base_download"
i18n:translate=""
i18n:domain="ui"
title="Download Document">
<img tal:attributes="src obj/getIcon"
alt="Document Icon"/>
</a>
<img tal:condition="not: is_document"
tal:attributes="src obj/getIcon"
alt="Object Icon"
/>
</td>
<td>
<div class="item_nohighlight"
tal:attributes="onmouseover python: is_web_mode and 'showPopik(\'%s\', true)' % hidden_pop_dom_id or None;
onmouseout python: is_web_mode and 'showPopik(\'%s\', false)' % hidden_pop_dom_id or None;">
<div class="search_popup"
style="z-index:100;"
tal:condition="is_web_mode"
tal:attributes="id hidden_pop_dom_id">
<span tal:replace="structure python: obj.Document_getPopupInfo(website)"/>
</div>
<div>
<a tal:attributes="href string:${url}/view">
<span class="search_result_title" tal:content="python: obj.getTitle() or (hasattr(obj, 'getReference') and obj.getReference()) or obj.getId()" />
<span class="search_result_portal_type" tal:condition="python:portal_type != 'Web Page'" tal:content="obj/getTranslatedPortalType" />
</a>
</div>
<span class="searchDetails found"
tal:content="structure python: obj.Base_showFoundText(selection=selection)"/>
<div tal:condition="is_web_mode"
class="searchDetails coordinates">
<tal:block tal:condition="obj/getReference|nothing">
<a tal:attributes="href python: '%s/view' % website.getPermanentURL(obj)"
tal:content="obj/getReference|nothing"/> -
</tal:block>
<tal:block tal:repeat="section python: website.getWebSectionValueList(obj)">
<a href="#"
tal:content="section/getCompactTranslatedTitle"
tal:attributes="href python: '%s/view' %section.absolute_url()"/>
-
</tal:block>
<tal:block tal:repeat="owner obj/Base_getOwnerInfoList">
<a tal:content="owner/title"
tal:attributes="href owner/url"/>
-
</tal:block>
<a tal:content="python: date_renderer(obj.getModificationDate())"
tal:attributes="href string: ${url}/Base_viewHistory"/>
</div>
<div tal:condition="not: is_web_mode"
class="searchDetails coordinates">
<tal:block tal:condition="obj/getReference|nothing">
<a tal:attributes="href string: ${url}/view"
tal:content="obj/getReference|nothing"/> -
</tal:block>
<a tal:content="python: date_renderer(obj.getModificationDate())"
tal:attributes="href string: ${url}/Base_viewHistory"/>
</div>
</div>
</td>
</tr>
</tal:block>
<tr>
<td class="pageNavigation" colspan="2" style="white-space: nowrap; vertical-align: middle; text-align: right;">
<tal:block metal:use-macro="real_context/page_navigation_render/macros/page_navigation" />
</td>
</tr>
</table>
</div>
<!-- Advanced Search footer -->
<div class="centeredInner searchBar extendedSearchBar"
tal:condition="python: not is_gadget_mode and show_search_line">
<input name="bottom_your_search_text" size="40" value="" type="text"
onkeypress="submitFormOnEnter(event, this.form, 'ERP5Site_processAdvancedSearchBottom');"
tal:attributes="value your_search_text" />
<input class="button" i18n:domain="ui" i18n:attributes="value"
value="Search" name="ERP5Site_processAdvancedSearchBottom:method" type="submit" />
</div>
<!-- Advanced Search footer for gadgets -->
<div class="centeredInner searchBar extendedSearchBar"
tal:condition="python: is_gadget_mode and show_search_line">
<input tal:define ="params python: {'ERP5Site_processAdvancedSearchBottom:method':'','bottom_your_search_text':'this.value'};"
name="bottom_your_search_text" size="25" value="" type="text"
tal:attributes='value your_search_text;
onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box,box_id,params).replace("\"this.value\"","this.value")+ "return false;;}"'/>
</div>
</div>
</tal:block>
</tal:block>
</tal:block>
<!-- ListBox ends here. -->
</tal:block>
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_asStandardHTML.xml
deleted
100644 → 0
View file @
e274b020
<?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>
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_asStandardHTML.zpt
deleted
100644 → 0
View file @
e274b020
<tal:block metal:define-macro="main"
xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
xmlns:i18n="http://xml.zope.org/namespaces/i18n">
<tal:block tal:define="expand python: 1">
<tal:block metal:use-macro="template/macros/ListBoxContainer">
<tal:block metal:fill-slot="ListBoxBody">
<div class="ListSummary">
<table cellpadding="0" cellspacing="0"
summary="This table contains the listbox headers">
<tr>
<td style="height: 10px">
<img src="Left.png" alt="left"
tal:attributes="src string:${portal_url_string}/images/Left.png" />
</td>
<td class="Top" colspan="2" style="height: 10px">
<img src="spacer.png" style="width: 5px; height: 10px;" alt="spacer"
tal:attributes="src string:${portal_url_string}/images/spacer.png" />
</td>
<td class="Top" colspan="3" style="height: 10px">
<img src="spacer.png" style="width: 5px; height: 10px" alt="spacer"
tal:attributes="src string:${portal_url_string}/images/spacer.png" />
</td>
</tr>
<tr id="listbox_title_line" class="listbox_title_line"
tal:attributes="id string:${field_id}_title_line">
<td class="Left" style="width: 17px">
<img src="spacer.png" style="width: 5px; height: 5px" alt="spacer"
tal:attributes="src string:${portal_url_string}/images/spacer.png" />
</td>
<td style="white-space: nowrap; vertical-align: middle"
tal:condition="not: is_gadget_mode">
<input tal:condition="python: is_domain_tree_supported or is_report_tree_supported"
type="image" src="text_block.png" id="listbox_flat_list_mode"
class="listbox_flat_list_mode"
title="Flat List" name="setFlatListMode:method"
value="1" alt="Flat List"
tal:attributes="src string:${portal_url_string}/images/text_block.png;
id string:${field_id}_flat_list_mode"
i18n:domain="ui" i18n:attributes="title" />
<input tal:condition="is_report_tree_supported"
type="image" src="view_tree.png" id="listbox_report_tree_mode"
title="Report Tree" name="setReportTreeMode:method"
value="1" alt="Report Tree" class="listbox_report_tree_mode"
tal:attributes="src string:${portal_url_string}/images/view_tree.png;
id string:${field_id}_report_tree_mode"
i18n:domain="ui" i18n:attributes="title" />
<input tal:condition="is_domain_tree_supported"
type="image" src="view_choose.png" id="listbox_domain_tree_mode"
title="Domain Tree" name="setDomainTreeMode:method"
value="1" alt="Domain Tree" class="listbox_domain_tree_mode"
tal:attributes="src string:${portal_url_string}/images/view_choose.png;
id string:${field_id}_domain_tree_mode"
i18n:domain="ui" i18n:attributes="title" />
</td>
<td style="width: 100%; vertical-align: middle">
<a class="listbox_title"
tal:attributes="id string:${field_id}_title; href here/getListActionUrl"
tal:condition="python: here.field.get_value('list_action')">
<tal:block i18n:translate=""
i18n:domain="ui" tal:content="here/getTitle" />:
</a>
<tal:block tal:condition="python: not here.field.get_value('list_action')">
<span class="listbox_title" i18n:translate=""
i18n:domain="ui" tal:content="here/getTitle" />:
</tal:block>
<span id="listbox_record_number" class="listbox_record_number"
tal:attributes="id string:${field_id}_record_number"
i18n:translate="" i18n:domain="ui"><tal:block tal:replace="here/total_size" i18n:name="number">0</tal:block> records</span>
<span id="listbox_item_number" class="listbox_item_number"
tal:attributes="id string:${field_id}_item_number"
tal:condition="show_select_column"
i18n:translate="" i18n:domain="ui"> - <tal:block tal:replace="python: len(here.getCheckedUidList())" i18n:name="number">0</tal:block> items selected</span>
</td>
<td class="pageNavigation" style="white-space: nowrap; vertical-align: middle; text-align: center;">
<tal:block metal:use-macro="real_context/page_navigation_render/macros/page_navigation" />
</td>
</tr>
</table>
</div>
<div class="listbox">
<table cellpadding="0" cellspacing="0"
summary="This table contains the listbox content">
<tr id="listbox_label_line" class="listbox_label_line"
tal:attributes="id string:${field_id}_label_line">
<td tal:condition="is_report_tree_mode"
class="Data" style="width: 50px; text-align: left; vertical-align: middle">
<select name="report_root_url"
tal:attributes="onchange string:submitAction(this.form, '${context_url}/setReportRoot')">
<tal:block tal:repeat="c here/getReportRootList">
<option value="base_domain"
tal:define="path python: c[0]; title python: c[1]"
tal:attributes="selected python: path == here.getSelectedReportPath(); value path"
tal:content="title" i18n:domain="ui" i18n:translate="">Domain</option>
</tal:block>
</select>
</td>
<td class="AnchorColumn Data" tal:condition="show_anchor_column"> </td>
<td tal:condition="show_select_column"
class="Data" style="width: 50px; text-align: center; vertical-align: middle">
<input id="listbox_check_all" type="image"
name="checkAll:method" value="1"
src="checkall.png" alt="Check All" title="Check All"
class="listbox_check_all"
tal:attributes="id string:${field_id}_check_all;
name string:${field_id}_checkAll:method;
src string:${portal_url_string}/images/checkall.png"
i18n:domain="ui" i18n:attributes="title" /> <input id="listbox_uncheck_all" type="image" name="uncheckAll:method" value="1"
src="%(portal_url_string)s/images/decheckall.png" style="border: 0" alt="Uncheck All" title="Uncheck All" class="listbox_uncheck_all"
tal:attributes="id string:${field_id}_uncheck_all;
name string:${field_id}_uncheckAll:method;
src string:${portal_url_string}/images/decheckall.png"
i18n:domain="ui" i18n:attributes="title" />
</td>
<tal:block tal:repeat="value here/getLabelValueList">
<tal:block tal:define="sql python: value[0];
title python: value[1];
sort_order python: value[2]">
<td tal:condition="sql" class="Data">
<button type="submit" class="sort_button"
tal:condition="not: is_gadget_mode"
name="setSelectionQuickSortOrder:method"
tal:attributes="title string:${title};
value string:${field_id}.${sql}"
i18n:domain="ui" i18n:attributes="title">
<span tal:content="title" i18n:domain="ui" i18n:translate="">ID</span>
</button>
<button tal:condition="is_gadget_mode"
tal:define ="params python: {'setSelectionQuickSortOrder:method':field_id+'.'+sql};"
type="button" class="sort_button"
tal:attributes="title string:${title};
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+'/'+form_id,box_relative_url,box_id,params);"
i18n:domain="ui" i18n:attributes="title">
<span tal:content="title" i18n:domain="ui" i18n:translate="">ID</span>
</button>
<img tal:condition="python: sort_order == 'ascending'"
src="1bottomarrow.png" alt="Ascending Display" title="Ascending Display"
tal:attributes="src string:${portal_url_string}/images/1bottomarrow.png"
i18n:domain="ui" i18n:attributes="title" />
<img tal:condition="python: sort_order == 'descending'"
src="1toparrow.png" alt="Descending Display" title="Descending Display"
tal:attributes="src string:${portal_url_string}/images/1toparrow.png"
i18n:domain="ui" i18n:attributes="title" />
</td>
<td tal:condition="not: sql" class="Data" tal:content="title"
i18n:domain="ui" i18n:translate="">
ID
</td>
</tal:block>
</tal:block>
</tr>
<tr tal:condition="python: show_search_line or is_report_tree_mode"
id="listbox_search_line" class="listbox_search_line"
tal:attributes="id python: show_search_line and ('%s_search_line' % field_id) or ('%s_report_depth_line' % field_id)">
<tal:block tal:condition="is_report_tree_mode">
<td class="Data" style="width: 50px; text-align: left; vertical-align: middle" colspan="1"
tal:attributes="colspan python: show_search_line and 1 or (len(here.getSelectedColumnList()) + show_select_column + show_anchor_column + 1)"
tal:define="selection_index here/getSelectionIndex;
index python: selection_index is not None and '&selection_index=%s' % selection_index or '';
is_report_opened python: int(not here.getSelection().isReportOpened());
requested_selection_name here/getRequestedSelectionName;
url here/getUrl"><tal:block tal:repeat="i python: range(0, 6)"> <a href="?selection_name=default&selection_index=0&report_depth:int=0"
tal:attributes="href string:${url}?selection_name=${requested_selection_name}${index}&report_depth:int=${i}"
tal:content="i">0</a></tal:block> - <a href="?selection_name=default&selection_index=0&is_report_opened:int=0"
tal:attributes="href string:${url}?selection_name=${requested_selection_name}${index}&is_report_opened:int=${is_report_opened}"
tal:content="python: is_report_opened and 'Show' or 'Hide'"
i18n:domain="ui" i18n:translate="">Show</a>
</td>
</tal:block>
<td class="AnchorColumn" tal:condition="show_anchor_column"> </td>
<td tal:condition="python: show_select_column and show_search_line"
class="Data" style="width: 50px; text-align: center; vertical-align: middle">
<input id="listbox_select" type="image" src="exec16.png"
title="Action" alt="Action" name="Base_doSelect:method"
class="listbox_select"
tal:attributes="id string:${field_id}_select;
src string:${portal_url_string}/images/exec16.png"
i18n:domain="ui" i18n:attributes="title" />
</td>
<tal:block tal:condition="show_search_line"
tal:repeat="value here/getSearchValueList">
<td class="DataB" style="padding-right: 5px"
tal:define="alias python: value[0];
param python: value[1];
search_field python: value[2]">
<span tal:condition="alias" style="font-size: -3">
<tal:block tal:condition="python: search_field is not None"
tal:replace="structure python: search_field.render(value = param, key = alias)" />
<tal:block tal:condition="python: search_field is None">
<input tal:condition="not: is_gadget_mode" name="id" size="8" value=""
tal:attributes="name alias; value param" style="width: 100%"
onkeypress="submitFormOnEnter(event, this.form, 'Base_doSelect');" />
<input tal:condition="is_gadget_mode"
tal:define ="params python: {alias:'this.value'};"
size="8" type="textarea"
tal:attributes='value python: selection.getParams().get(alias,"");
onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box_relative_url,box_id,params).replace("\"this.value\"","this.value")+ "return false;;}"'/>
</tal:block>
</span>
</td>
</tal:block>
</tr>
<tal:block tal:repeat="line line_list" tal:define="checked_uid_set here/getCheckedUidSet">
<tr id="listbox_data_line_0" class="DataA"
tal:define="css python: line.getRowCSSClassName() or test(repeat['line'].index % 2, 'DataB', 'DataA');
render_result line/render;"
tal:attributes="id string:${field_id}_data_line_${repeat/line/index}; class css">
<td tal:condition="is_report_tree_mode" class="DataA" align="left" valign="middle"
tal:attributes="class css"
tal:define="section_name python: line.getDomainTitle()">
<a tal:condition="section_name"
tal:define="method_id python: line.isOpen() and 'foldReport' or 'unfoldReport'"
tal:attributes="href string:${method_id}?report_url=${line/getDomainUrl}&form_id=${form_id}&list_selection_name=${selection_name};
class python:test(line.isOpen(), 'tree_open', 'tree_closed');
style python:'white-space: nowrap;; margin-left: %spx' % (line.getDepth() * 15)"
tal:content="section_name"/>
</td>
<td class="AnchorColumn Data" tal:condition="python:show_anchor_column and len(render_result)" style="width: 20px;">
<a href="#" tal:attributes="href python:render_result[0][4]"><img src="document_icon.gif" alt="document" tal:attributes="src string:${portal_url_string}/images/line_clickable.png" /></a>
</td>
<td tal:condition="show_select_column"
class="DataA" style="width: 50px; text-align: center; vertical-align: middle"
tal:attributes="class css">
<input tal:condition="python: not line.isSummary() and line.getObject() is not None"
type="checkbox" value="checked" name="uids:list"
tal:attributes="checked python: line.getUid() in checked_uid_set;
value line/getUid;" />
<tal:block tal:condition="python: line.isSummary() or line.getObject() is None"></tal:block>
</td>
<tal:block tal:repeat="value render_result">
<td tal:define="html python: value[0];
original_value python: value[1];
error python: value[2]"
class="DataA" align="left"
tal:attributes="class python: error and (css + 'Error') or css;
align python: isinstance(original_value, (float, int, long)) and 'right' or 'left'">
<input tal:condition="not: repeat/value/index"
type="hidden" value="1" name="listbox_uid:list"
tal:attributes="value python: line.getUid() or '';
name string:${field_id}_uid:list" />
<span tal:replace="structure html">value</span>
</td>
</tal:block>
</tr>
</tal:block>
<tr tal:condition="hide_rows_on_no_search_criterion"
class="listbox_missing_search_criterion">
<td tal:attributes="colspan python: len(here.getSearchValueList()) + 1">
<span i18n:translate=""
i18n:domain="ui">
To display actual content, please fill in one or more search criterion.
</span>
</td>
</tr>
<tr tal:condition="python:here.showStat() and not hide_rows_on_no_search_criterion" id="listbox_stat_line"
class="listbox_stat_line"
tal:attributes="id string:${field_id}_stat_line">
<td tal:condition="is_report_tree_mode" class="Data"> </td>
<td class="AnchorColumn Data" tal:condition="show_anchor_column"> </td>
<td tal:condition="show_select_column" class="Data"> </td>
<tal:block tal:repeat="value here/getStatValueList">
<td class="Data" align="left"
tal:define="original_value python: value[0]; processed_value python: value[1]"
tal:attributes="align python: isinstance(original_value, (float, int, long)) and 'right' or 'left'"
tal:content="structure processed_value" />
</tal:block>
</tr>
</table>
</div>
</tal:block>
</tal:block>
</tal:block>
<!-- ListBox ends here. -->
</tal:block>
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_asTableStyleHTML.xml
deleted
100644 → 0
View file @
e274b020
<?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>
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_asTableStyleHTML.zpt
deleted
100644 → 0
View file @
e274b020
<tal:block metal:define-macro="main"
xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
xmlns:i18n="http://xml.zope.org/namespaces/i18n">
<!-- ListBox (table mode) starts here -->
<input tal:replace="nothing" type="hidden" name="form_id" tal:attributes="value form_id" tal:condition="form_id"/>
<!--<input type="hidden" name="selection_name" tal:attributes="value selection_name" tal:condition="selection_name"/>
<input type="hidden" name="selection_index" tal:attributes="value selection_index" tal:condition="selection_index"/>-->
<!--<input type="hidden" name="listbox_uid:list" value="" tal:attributes="name string:${field_id}_uid:list"/>
<input type="hidden" name="total_size" value="" tal:attributes="value here/total_size"/> -->
<input id="listbox_select" tal:attributes="id string:${field_id}_select"
title="Filter" alt="Filter" name="Base_doSelect:method"
type="submit" style="display: none"/>
<tal:block tal:define="expand python: 1;
table_form_id request/current_form_id | form_id;
your_search_text python:here.getParamDict().get('your_search_text', None)">
<tal:block metal:use-macro="template/macros/ListBoxContainer">
<tal:block metal:fill-slot="ListBoxBody">
<input tal:condition="python:is_gadget_mode" type="hidden" name="dom_id" tal:attributes="value dom_id" />
<table class="listbox table">
<caption>
<span class="left">
<a tal:condition="not:is_gadget_mode" tal:attributes="href string:${context_url}/${table_form_id}?list_style=search">
<img id="style_toggle_icon"
tal:attributes="src string:${context_url}/images/table_style_icon.png"
height="16"
title="Search mode"
alt="Search mode"
i18n:domain="ui" i18n:attributes="title"/>
</a>
<input tal:condition="python:not is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)"
type="image" src="text_block.png" id="listbox_flat_list_mode"
title="Flat List" name="setFlatListMode:method"
value="1" alt="Flat List"
tal:attributes="src string:${portal_url_string}/images/text_block.png;
id string:${field_id}_flat_list_mode"
i18n:domain="ui" i18n:attributes="title" />
<input tal:condition="python: not is_gadget_mode and is_report_tree_supported"
type="image" src="view_tree.png" id="listbox_report_tree_mode"
title="Report Tree" name="setReportTreeMode:method"
value="1" alt="Report Tree"
tal:attributes="src string:${portal_url_string}/images/view_tree.png;
id string:${field_id}_report_tree_mode"
i18n:domain="ui" i18n:attributes="title" />
<input tal:condition="python: not is_gadget_mode and is_domain_tree_supported"
type="image" src="view_choose.png" id="listbox_domain_tree_mode"
title="Domain Tree" name="setDomainTreeMode:method"
value="1" alt="Domain Tree"
tal:attributes="src string:${portal_url_string}/images/view_choose.png;
id string:${field_id}_domain_tree_mode"
i18n:domain="ui" i18n:attributes="title" />
<input tal:condition="python:not is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)"
type="image" id="listbox_reset_selection"
title="Show All" name="Folder_show:method"
id="listbox_reset_selection"
value="1" alt="Flat List"
tal:attributes="src string:${portal_url_string}/images/showall.png;"
i18n:domain="ui" i18n:attributes="title" />
<!-- supporting search mode for gadget mode -->
<button tal:condition="is_gadget_mode"
tal:define = "params python: {'list_style':'search'}"
type="button"
title="Search mode"
tal:attributes="onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+'/'+form_id,box,dom_id,params);"
i18n:domain="ui" i18n:attributes="title">
<img id="style_toggle_icon"
alt="Search mode"
tal:attributes="src string:${context_url}/images/table_style_icon.png"
height="16"/></button>
<a tal:attributes="id string:${field_id}_title; href here/getListActionUrl"
tal:condition="python: here.field.get_value('list_action')">
<em i18n:translate=""
i18n:domain="ui" tal:content="here/getTitle" />
</a>
<tal:block tal:condition="python: not here.field.get_value('list_action')">
<em i18n:translate=""
i18n:domain="ui" tal:content="here/getTitle" />
</tal:block>
<!-- supporting domain tree mode for gadget mode (disabled)-->
<!--
<br tal:condition="is_gadget_mode"/>
<button tal:condition="python: is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)"
tal:define = "params python: {'setFlatListMode:method':1}"
id="listbox_flat_list_mode"
type="button"
title="Flat List"
alt="Flat List"
tal:attributes="id string:${field_id}_flat_list_mode;
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+'/'+form_id,box,dom_id,params);"
i18n:domain="ui" i18n:attributes="title">
<img tal:attributes="src string:${portal_url_string}/images/text_block.png;"/></button>
<button tal:condition="python: is_gadget_mode and is_report_tree_supported"
tal:define = "params python: {'setReportTreeMode:method':1}"
style="cursor:pointer;" id="listbox_report_tree_mode"
type="button"
title="Report Tree"
alt="Report Tree"
tal:attributes="id string:${field_id}_report_tree_mode;
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+'/'+form_id,box,dom_id,params);"
i18n:domain="ui" i18n:attributes="title">
<img src="view_tree.png"
tal:attributes="src string:${portal_url_string}/images/view_tree.png;"/></button>
<button tal:condition="python: is_gadget_mode and is_domain_tree_supported"
tal:define = "params python: {'setDomainTreeMode:method':'1'}"
style="cursor:pointer;" id="listbox_domain_tree_mode"
type="button"
title="Domain Tree"
alt="Domain Tree"
tal:attributes="id string:${field_id}_domain_tree_mode;
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+'/'+form_id,box,dom_id,params);"
i18n:domain="ui" i18n:attributes="title">
<img tal:attributes="src string:${portal_url_string}/images/view_choose.png;"/></button>
-->
</span>
<span class="right"
tal:define="listbox_max_lines python: int(here.getMaxLineNumber());
total_line python: int(here.total_size);
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;">
<tal:block condition="python: total_line > 0"
tal:replace="structure python: real_context.Base_translateString('Results <em>${start} - ${stop}</em> of <em>${total}</em>.', mapping=dict(start=current_page_start, stop=current_page_stop, total=total_line))"/>
<span tal:condition="python: total_line == 0" class="warning" i18n:translate="" i18n:domain="ui">No result !</span>
</span>
</caption>
<tr class ="thead listbox_search_line">
<td tal:condition="python:not is_gadget_mode and show_select_column"
class="Data" style="width: 50px; text-align: center; vertical-align: middle; white-space: nowrap;">
<input id="listbox_check_all" type="image"
name="checkAll:method" value="1"
alt="Check All" title="Check All"
tal:attributes="id string:${field_id}_check_all;
name string:${field_id}_checkAll:method;
src string:${portal_url_string}/images/checkall.png"
i18n:domain="ui" i18n:attributes="title" /> <input id="listbox_uncheck_all"
type="image" name="uncheckAll:method" value="1"
style="border: 0" alt="Uncheck All" title="Uncheck All"
tal:attributes="id string:${field_id}_uncheck_all;
src string:${portal_url_string}/images/decheckall.png;
name string:${field_id}_uncheckAll:method;"
i18n:domain="ui" i18n:attributes="title" />
</td>
<tal:block tal:repeat="value here/getLabelValueList">
<tal:block tal:define="sql python: value[0];
title python: value[1];
sort_order python: value[2]">
<th tal:condition="sql">
<button tal:condition="not:is_gadget_mode" type="submit" class="sort_button"
name="setSelectionQuickSortOrder:method"
tal:attributes="title string:${title};
value string:${field_id}.${sql}"
i18n:domain="ui" i18n:attributes="title">
<span tal:content="title" i18n:domain="ui" i18n:translate="">ID</span>
</button>
<!-- Sort for gadget mode -->
<button tal:condition="is_gadget_mode"
tal:define ="params python: {'setSelectionQuickSortOrder:method':field_id+'.'+sql};"
type="button"
class="sort_button"
tal:attributes="title string:${title};
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+'/'+form_id,box,dom_id,params);"
i18n:domain="ui" i18n:attributes="title">
<span tal:content="title" i18n:domain="ui" i18n:translate="">ID</span>
</button>
<img tal:condition="python: sort_order == 'ascending'"
alt="Ascending Display" title="Ascending Display"
tal:attributes="src string:${portal_url_string}/images/1bottomarrow.png"
style="float:left"
i18n:domain="ui" i18n:attributes="title"/>
<img tal:condition="python: sort_order == 'descending'"
alt="Descending Display" title="Descending Display"
tal:attributes="src string:${portal_url_string}/images/1toparrow.png"
style="float:left"
i18n:domain="ui" i18n:attributes="title"/>
</th>
<th tal:condition="not: sql" tal:content="title" i18n:domain="ui" i18n:translate=""/>
</tal:block>
</tal:block>
</tr>
<tr class="thead listbox_search_line" tal:condition="show_search_line">
<td tal:condition="python: show_select_column and show_search_line and not is_gadget_mode"
class="Data" style="width: 50px; text-align: center; vertical-align: middle">
<input id="listbox_select" type="image"
title="Action" alt="Action" name="Base_doSelect:method"
tal:attributes="id string:${field_id}_select;
src string:${portal_url_string}/images/exec16.png"
i18n:domain="ui" i18n:attributes="title" />
</td>
<td tal:repeat="value here/getSearchValueList">
<tal:block tal:define="alias python: value[0];
param python: value[1];
search_field python: value[2]"
tal:condition="alias">
<tal:block
tal:condition="python: search_field is not None"
tal:replace="structure python: search_field.render(value=param, key=alias)"/>
<input tal:condition="python: not is_gadget_mode and search_field is None"
name="id" size="5" value=""
type="text" tal:attributes="name alias; value param"/>
<!-- Search for gadget mode -->
<input tal:condition="python: is_gadget_mode and search_field is None"
tal:define ="params python: {alias:'this.value'};"
size="8"
type="textarea"
tal:attributes='value python: selection.getParams().get(alias,"");
onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box,dom_id,params).replace("\"this.value\"","this.value")+ "return false;;}"'/>
</tal:block>
</td>
</tr>
<tal:replace tal:content="nothing">
TODO: Move pagination pre-calcultion higher in that code.
</tal:replace>
<tr class="tbody" tal:condition="line_list"
tal:repeat="line line_list" tal:define="checked_uid_set here/getCheckedUidSet">
<td tal:condition="python: show_select_column and not is_gadget_mode"
class="DataA" style="width: 50px; text-align: center; vertical-align: middle"
>
<input tal:condition="python: not line.isSummary() and line.getObject() is not None"
type="checkbox" value="checked" id="listbox_cb_1" name="uids:list"
tal:attributes="checked python: line.getUid() in checked_uid_set;
value line/getUid;
id string:${field_id}_cb_${line/getUid}" />
<tal:block tal:condition="python: line.isSummary() or line.getObject() is None"></tal:block>
</td>
<tal:block tal:repeat="value line/render">
<td tal:define="html python: value[0];
original_value python: value[1];
error python: value[2];
editable_field python: value[3];
editable_field_css python: editable_field != None and editable_field.get_value('css_class')">
<input tal:condition="not: repeat/value/index"
type="hidden" value="1" name="listbox_uid:list"
tal:attributes="value python: line.getUid() or '';
name string:${field_id}_uid:list" />
<tal:block tal:replace="structure html">value</tal:block>
</td>
</tal:block>
</tr>
<tr tal:condition="python: int(here.total_size) > int(here.getMaxLineNumber())"
class="tfoot">
<td class="pageNavigation" style="white-space: nowrap; vertical-align: middle; text-align: right;"
tal:attributes="colspan python: len(here.getSelectedColumnList()) + bool(show_select_column)">
<tal:block metal:use-macro="real_context/page_navigation_render/macros/page_navigation" />
</td>
</tr>
<tr tal:condition="hide_rows_on_no_search_criterion"
class="listbox_missing_search_criterion">
<td tal:attributes="colspan python: len(here.getSearchValueList()) + 1">
<span i18n:translate=""
i18n:domain="ui">
To display actual content, please fill in one or more search criterion.
</span>
</td>
</tr>
</table>
<!-- Advanced Search footer -->
<div class="centeredInner extendedSearchBar"
tal:condition="python:not is_gadget_mode and show_search_line and your_search_text is not None">
<input name="bottom_your_search_text" size="40" value=""
type="text" tal:attributes="value your_search_text"
onkeypress="submitFormOnEnter(event, this.form, 'ERP5Site_processAdvancedSearchBottom');"/>
<input class="button" value="Search" name="ERP5Site_processAdvancedSearchBottom:method" type="submit" />
</div>
</tal:block>
</tal:block>
</tal:block>
<!-- ListBox ends here -->
</tal:block>
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_
T
hreadAsHTML.xml
→
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_
t
hreadAsHTML.xml
View file @
7015185e
...
...
@@ -46,15 +46,15 @@
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
ListBox_
T
hreadAsHTML
</string>
</value>
<value>
<string>
ListBox_
t
hreadAsHTML
</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>
...
...
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_
T
hreadAsHTML.zpt
→
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/ListBox_
t
hreadAsHTML.zpt
View file @
7015185e
...
...
@@ -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 re
quest/is_web_m
ode | nothing;
is_web_mode re
al_context/isWebM
ode | 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"
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" />
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="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 python: real_context.restrictedTraverse(box_relative_url);
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"
tal:attributes="value 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>
</tal:block>
\ No newline at end of file
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/page_navigation_render.xml
deleted
100644 → 0
View file @
e274b020
<?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>
bt5/erp5_forum_tutorial/SkinTemplateItem/portal_skins/erp5_forum/page_navigation_render.zpt
deleted
100644 → 0
View file @
e274b020
<tal:block tal:replace="nothing"
xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
xmlns:i18n="http://xml.zope.org/namespaces/i18n">
<!-- First & Previous button navigation -->
<tal:block metal:define-macro="first_previous_page_navigation">
<tal:block tal:condition="python: here.current_page > 0">
<button type="image" src="2leftarrowv.png"
title="First Page" name="firstPage:method"
class="listbox_first_page"
tal:attributes="name string:${field_id}_firstPage:method;
src string:${portal_url_string}/images/2leftarrowv.png;
class python: test(is_default_listbox_field, 'listbox_first_page', 'listbox_first_page %s_first_page' %field_id)"
i18n:domain="ui" i18n:attributes="title">
<span class="image"/>
</button>
<button type="image" src="1leftarrowv.png"
title="Previous Page" name="previousPage:method"
class="listbox_previous_page"
tal:attributes="name string:${field_id}_previousPage:method;
src string:${portal_url_string}/images/1leftarrowv.png;
class python: test(is_default_listbox_field, 'listbox_previous_page', 'listbox_previous_page %s_previous_page' %field_id)"
i18n:domain="ui" i18n:attributes="title">
<span class="image"/>
</button>
</tal:block>
</tal:block>
<!-- Next & Last button navigation -->
<tal:block metal:define-macro="next_last_page_navigation">
<tal:block tal:condition="python: here.current_page < here.total_pages - 1">
<button type="image" src="1rightarrowv.png"
title="Next Page" name="nextPage:method" class="listbox_next_page"
tal:attributes="name string:${field_id}_nextPage:method;
src string:${portal_url_string}/images/1rightarrowv.png;
class python: test(is_default_listbox_field, 'listbox_next_page', 'listbox_next_page %s_next_page' %field_id)"
i18n:domain="ui" i18n:attributes="title">
<span class="image"/>
</button>
<button type="image" src="2rightarrowv.png"
title="Last Page" name="lastPage:method" class="listbox_last_page"
tal:attributes="name string:${field_id}_lastPage:method;
src string:${portal_url_string}/images/2rightarrowv.png;
class python: test(is_default_listbox_field, 'listbox_last_page', 'listbox_last_page %s_last_page' %field_id)"
i18n:domain="ui" i18n:attributes="title" >
<span class="image"/>
</button>
</tal:block>
</tal:block>
<!-- First & Previous button navigation (asynchronous mode) -->
<tal:block metal:define-macro="first_previous_page_navigation_asynchronous">
<tal:block tal:condition="python: here.current_page > 0">
<button tal:define ="params python: {field_id+'_firstPage:method':'', 'list_style':list_style}"
title="First Page"
name="firstPage"
type = "button"
class = "listbox_first_page"
tal:attributes="value string:|<;
onclick python:
real_context.KnowledgePad_generateAjaxCall(context_url+'/'+form_id,box,dom_id,params);
class python: test(is_default_listbox_field, 'listbox_first_page', 'listbox_first_page %s_first_page' %field_id)"
i18n:domain="ui" i18n:attributes="title">
<span class="image"/>
</button>
<button tal:define ="params python: {field_id+'_previousPage:method':'','page_start':here.current_page+1,'list_style':list_style}"
title="Previous Page"
name="previousPage"
type="button"
class="listbox_previous_page"
tal:attributes="value string:<<;
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+'/'+form_id,box,dom_id,params);
class python: test(is_default_listbox_field, 'listbox_previous_page', 'listbox_previous_page %s_previous_page' %field_id)"
i18n:domain="ui" i18n:attributes="title">
<span class="image"/>
</button>
</tal:block>
</tal:block>
<!-- Next & Last button navigation (asynchronous mode) -->
<tal:block metal:define-macro="next_last_page_navigation_asynchronous">
<tal:block tal:condition="python: current_page < total_page">
<button tal:define ="params python: {field_id+'_nextPage:method':'','page_start':here.current_page+1,'list_style':list_style}"
title="Next Page"
name="nextPage"
type="button"
class="listbox_next_page"
tal:attributes="onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+'/'+form_id,box,dom_id,params);
class python: test(is_default_listbox_field, 'listbox_next_page', 'listbox_next_page %s_next_page' %field_id)"
i18n:domain="ui" i18n:attributes="title">
<span class="image"/>
</button>
<button tal:define ="params python: {field_id+'_lastPage:method':'','total_size':int(here.total_size), 'list_style':list_style}"
title="Last Page"
name="lastPage"
type="button"
class="listbox_last_page"
tal:attributes="onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+'/'+form_id,box,dom_id,params);
class python: test(is_default_listbox_field, 'listbox_last_page', 'listbox_last_page %s_last_page' %field_id)"
i18n:domain="ui" i18n:attributes="title">
<span class="image"/>
</button>
</tal:block>
</tal:block>
<!-- Type in listbox navigation -->
<tal:block metal:define-macro="type_in_page_navigation">
<input class="listbox_set_page"
name="page_start" onblur="this.value=this.defaultValue"
tal:attributes="name string:${field_id}_page_start;
class python: test(is_default_listbox_field, 'listbox_set_page', 'listbox_set_page %s_set_page' %field_id);
value python:here.current_page + 1;
size python:len(str(here.total_pages));
onkeypress string:submitFormOnEnter(event, this.form, '${field_id}_setPage')" />
/ <tal:block content="here/total_pages" />
</tal:block>
<!-- Type in listbox page number navigation (asyncronous) -->
<tal:block metal:define-macro="type_in_page_navigation_asynchronous">
<input class="listbox_set_page"
name="page_start" onblur="this.value=this.defaultValue"
tal:define="params python: {field_id+'_setPage:method':'',field_id+'_page_start':'this.value','list_style':list_style}"
tal:attributes='name string:${field_id}_page_start;
class python: test(is_default_listbox_field, "listbox_set_page", "listbox_set_page %s_set_page" %field_id);
value python:here.current_page + 1;
size python:len(str(here.total_pages));
onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box,dom_id,params).replace("\"this.value\"","this.value")+ "return false;;}"'/>
/ <tal:block content="here/total_pages" />
</tal:block>
<!-- Show list of direct listbox page selection -->
<tal:block metal:define-macro="text_link_page_navigation">
<tal:block tal:repeat="page_index page_index_list ">
<a tal:attributes="href python: '%s_setPage?%s_page_start=%s&list_selection_name=%s&listbox_uid:list=[]' %(field_id, field_id, page_index, selection_name);
class python: test(page_index==current_page, 'selected', '');
title string:Page ${page_index}"
tal:content="page_index"/>
</tal:block>
</tal:block>
<!-- Show list of direct listbox page selection (asynchronous) -->
<tal:block metal:define-macro="text_link_page_navigation_asynchronous">
<tal:block tal:repeat="page_index page_index_list ">
<a tal:define="params python: {field_id+'_setPage:method':'',field_id+'_page_start':page_index,'list_style':list_style, 'list_selection_name':selection_name, 'listbox_uid':[]}"
tal:attributes="onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+'/'+form_id,box,dom_id,params);
class python: test(page_index==current_page, 'selected', '');
title string:Page ${page_index}"
tal:content="page_index"/>
</tal:block>
</tal:block>
<!-- Text navigation (i.e. 1 2 3 4 .. n links)-->
<tal:block metal:define-macro="text_navigation"
tal:define="offset python: 7;
all_page_index_list python: range(1, here.total_pages + 1);
page_index_list python: all_page_index_list[max(current_page-offset, 1)-1: min(current_page+offset, len(all_page_index_list))];
is_default_listbox_field python: field_id=='listbox';">
<!-- Non gadget mode -->
<tal:block tal:condition="not: is_gadget_mode">
<tal:block metal:use-macro="real_context/page_navigation_render/macros/first_previous_page_navigation" />
<tal:block metal:use-macro="real_context/page_navigation_render/macros/text_link_page_navigation" />
<tal:block metal:use-macro="real_context/page_navigation_render/macros/next_last_page_navigation" />
</tal:block>
<!-- Gadget mode -->
<tal:block tal:condition="is_gadget_mode"
tal:define="max_lines python: here.getMaxLineNumber();
total_page python: here.total_pages;
page_id python: here.current_page;
current_page python: page_id + 1;
previous_page python: current_page - 1;
next_page python: current_page + 1;">
<tal:block metal:use-macro="real_context/page_navigation_render/macros/first_previous_page_navigation_asynchronous" />
<tal:block metal:use-macro="real_context/page_navigation_render/macros/text_link_page_navigation_asynchronous" />
<tal:block metal:use-macro="real_context/page_navigation_render/macros/next_last_page_navigation_asynchronous" />
</tal:block>
</tal:block>
<!-- Slider navigation with input (i.e. first, previous, next, last links)-->
<tal:block metal:define-macro="page_navigation"
tal:define="is_default_listbox_field python: field_id=='listbox';">
<tal:block tal:condition="python: here.total_pages > 1">
<!-- Non gadget mode -->
<tal:block tal:condition="not: is_gadget_mode">
<tal:block metal:use-macro="real_context/page_navigation_render/macros/first_previous_page_navigation" />
<tal:block metal:use-macro="real_context/page_navigation_render/macros/type_in_page_navigation" />
<tal:block metal:use-macro="real_context/page_navigation_render/macros/next_last_page_navigation" />
</tal:block>
<!-- Gadget mode -->
<tal:block tal:condition="is_gadget_mode"
tal:define="max_lines python: here.getMaxLineNumber();
total_page python: here.total_pages;
page_id python: here.current_page;
current_page python: page_id + 1;
previous_page python: current_page - 1;
next_page python: current_page + 1;">
<tal:block metal:use-macro="real_context/page_navigation_render/macros/first_previous_page_navigation_asynchronous" />
<tal:block metal:use-macro="real_context/page_navigation_render/macros/type_in_page_navigation_asynchronous" />
<tal:block metal:use-macro="real_context/page_navigation_render/macros/next_last_page_navigation_asynchronous" />
</tal:block>
</tal:block>
</tal:block>
</tal:block>
bt5/erp5_forum_tutorial/TestTemplateItem/portal_components/test.erp5.testDiscussionThread.py
deleted
100644 → 0
View file @
e274b020
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
)
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/
TestTemplateItem/portal_components/test.erp5.testDiscussionThrea
d.xml
→
bt5/erp5_forum_tutorial/
WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/state_cancelle
d.xml
View file @
7015185e
...
...
@@ -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,9 +64,33 @@
<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>
<tuple/>
</value>
</item>
<item>
<key>
<string>
Add portal content
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
Delete objects
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
Modify portal content
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
View
</string>
</key>
<value>
<tuple/>
</value>
</item>
</dictionary>
...
...
@@ -59,59 +99,4 @@
</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>
<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>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
time
</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>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
validated
</string>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/state_closed.xml
View file @
7015185e
...
...
@@ -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>
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/state_draft.xml
View file @
7015185e
...
...
@@ -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>
Manage
r
</string>
<string>
Assigno
r
</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>
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/state_
cancel
.xml
→
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/state_
hidden
.xml
View file @
7015185e
...
...
@@ -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,128 +67,55 @@
<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>
<value>
<dictionary/>
</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>
Add portal content
</string
>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
<tuple>
<string>
Assignor
</string>
<string>
Owner
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<
int>
1
</int
>
</key>
<key>
<
string>
Delete objects
</string
>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAY=
</string>
</persistent>
<tuple>
<string>
Assignor
</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>
<value>
<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>
<key>
<string>
Modify portal content
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
<string>
Owner
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
Reviewer
</string>
</key>
<value>
<int>
10
</int>
</value>
<key>
<string>
View
</string>
</key>
<value>
<tuple>
<string>
Owner
</string>
<string>
Assignee
</string>
<string>
Manager
</string>
<string>
Assignor
</string>
</tuple>
</value>
</item>
</dictionary>
</value>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/state_public.xml
View file @
7015185e
...
...
@@ -18,41 +18,39 @@
<tuple>
<string>
destination/portal_workflow/discussion_thread_workflow/transition_close
</string>
<string>
destination/portal_workflow/discussion_thread_workflow/transition_close_action
</string>
<string>
destination/portal_workflow/discussion_thread_workflow/transition_sticky
</string>
<string>
destination/portal_workflow/discussion_thread_workflow/transition_sticky_action
</string>
<string>
destination/portal_workflow/discussion_thread_workflow/transition_hide
</string>
<string>
destination/portal_workflow/discussion_thread_workflow/transition_hide_action
</string>
<string>
destination/portal_workflow/discussion_thread_workflow/transition_stick
</string>
<string>
destination/portal_workflow/discussion_thread_workflow/transition_stick_action
</string>
</tuple>
</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_public
</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_public
</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>
...
...
@@ -63,28 +61,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,11 +74,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>
...
...
@@ -112,9 +88,9 @@
<value>
<tuple>
<string>
Assignor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
<string>
Manager
</string>
<string>
Author
</string>
</tuple>
</value>
</item>
...
...
@@ -132,8 +108,8 @@
<value>
<tuple>
<string>
Assignor
</string>
<string>
Manager
</string>
<string>
Owner
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
...
...
@@ -141,11 +117,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>
...
...
@@ -156,128 +132,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>
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/state_sticky.xml
View file @
7015185e
...
...
@@ -18,41 +18,37 @@
<tuple>
<string>
destination/portal_workflow/discussion_thread_workflow/transition_close
</string>
<string>
destination/portal_workflow/discussion_thread_workflow/transition_close_action
</string>
<string>
destination/portal_workflow/discussion_thread_workflow/transition_unstick
y
</string>
<string>
destination/portal_workflow/discussion_thread_workflow/transition_unstick
y
_action
</string>
<string>
destination/portal_workflow/discussion_thread_workflow/transition_unstick
</string>
<string>
destination/portal_workflow/discussion_thread_workflow/transition_unstick_action
</string>
</tuple>
</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_sticky
</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_sticky
</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>
...
...
@@ -73,128 +69,60 @@
<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>
Author
</string>
<string>
Assignee
</string>
<string>
Manager
</string>
<string>
Auditor
</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>
<value>
<dictionary/>
</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>
Add portal content
</string
>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
<tuple>
<string>
Assignor
</string>
<string>
Owner
</string>
<string>
Manager
</string>
<string>
Author
</string>
</tuple>
</value>
</item>
<item>
<key>
<
int>
1
</int
>
</key>
<key>
<
string>
Delete objects
</string
>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAY=
</string>
</persistent>
<tuple>
<string>
Assignor
</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>
<value>
<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>
<key>
<string>
Modify portal content
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
<string>
Owner
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
Reviewer
</string>
</key>
<value>
<int>
10
</int>
</value>
<key>
<string>
View
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
<string>
Author
</string>
<string>
Assignee
</string>
<string>
Manager
</string>
<string>
Auditor
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
</dictionary>
</value>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_cancel.xml
View file @
7015185e
...
...
@@ -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_cancel
led
</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>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_cancel_action.xml
View file @
7015185e
...
...
@@ -12,7 +12,7 @@
</item>
<item>
<key>
<string>
action_name
</string>
</key>
<value>
<string>
Cancel
led
</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>
<
tupl
e/>
<
non
e/>
</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>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_close.xml
View file @
7015185e
...
...
@@ -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>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_close_action.xml
View file @
7015185e
...
...
@@ -12,7 +12,7 @@
</item>
<item>
<key>
<string>
action_name
</string>
</key>
<value>
<string>
Close
d
</string>
</value>
<value>
<string>
Close
</string>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
...
...
@@ -25,18 +25,16 @@
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Close the thread.
</string>
</value>
</item>
<item>
<key>
<string>
guard_group
</string>
</key>
<value>
<
tupl
e/>
<
non
e/>
</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_close_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>
Close Action
</string>
</value>
</item>
<item>
<key>
<string>
trigger_type
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_hide.xml
0 → 100644
View file @
7015185e
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Transition"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
action_type/workflow
</string>
<string>
destination/portal_workflow/discussion_thread_workflow/state_hidden
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
guard_permission
</string>
</key>
<value>
<tuple>
<string>
Modify portal content
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
guard_role
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
icon
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
transition_hide
</string>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Hide
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_
unsticky
.xml
→
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_
hide_action
.xml
View file @
7015185e
...
...
@@ -8,21 +8,18 @@
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<none/>
</value>
<value>
<string>
%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=hide_action
</string>
</value>
</item>
<item>
<key>
<string>
action_name
</string>
</key>
<value>
<none/>
</value>
<value>
<string>
Hide
</string>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
action_type/workflow
</string>
<string>
after_script/portal_workflow/discussion_thread_workflow/transition_hide
</string>
</tuple>
</value>
</item>
...
...
@@ -32,16 +29,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>
...
...
@@ -60,19 +53,17 @@
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
transition_
unsticky
</string>
</value>
<value>
<string>
transition_
hide_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>
Unsticky
</string>
</value>
</item>
<item>
<key>
<string>
trigger_type
</string>
</key>
<value>
<int>
2
</int>
</value>
<value>
<string>
Hide Action
</string>
</value>
</item>
</dictionary>
</pickle>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_publish.xml
View file @
7015185e
...
...
@@ -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,12 +21,6 @@
<none/>
</value>
</item>
<item>
<key>
<string>
guard_group
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
guard_permission
</string>
</key>
<value>
...
...
@@ -50,7 +32,9 @@
<item>
<key>
<string>
guard_role
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
...
...
@@ -64,8 +48,10 @@
<value>
<string>
transition_publish
</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>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_publish_action.xml
View file @
7015185e
...
...
@@ -25,25 +25,23 @@
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Publish a thread.
</string>
</value>
</item>
<item>
<key>
<string>
guard_group
</string>
</key>
<value>
<
tupl
e/>
<
non
e/>
</value>
</item>
<item>
<key>
<string>
guard_permission
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
Modify portal content
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
guard_role
</string>
</key>
<value>
<tuple>
<string>
Assigno
r
</string>
<string>
Owne
r
</string>
</tuple>
</value>
</item>
...
...
@@ -58,17 +56,15 @@
<value>
<string>
transition_publish_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>
Publish Action
</string>
</value>
</item>
<item>
<key>
<string>
trigger_type
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_stick
y
.xml
→
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_stick.xml
View file @
7015185e
...
...
@@ -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>
...
...
@@ -61,15 +45,17 @@
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
transition_stick
y
</string>
</value>
<value>
<string>
transition_stick
</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>
Stick
y
</string>
</value>
<value>
<string>
Stick
</string>
</value>
</item>
<item>
<key>
<string>
trigger_type
</string>
</key>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_
unsticky
_action.xml
→
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_
stick
_action.xml
View file @
7015185e
...
...
@@ -8,34 +8,33 @@
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=
unsticky
_action
</string>
</value>
<value>
<string>
%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=
stick
_action
</string>
</value>
</item>
<item>
<key>
<string>
action_name
</string>
</key>
<value>
<string>
Unsticky
</string>
</value>
<value>
<string>
Stick
</string>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
action_type/workflow
</string>
<string>
after_script/portal_workflow/discussion_thread_workflow/transition_stick
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Unsticky the thread.
</string>
</value>
</item>
<item>
<key>
<string>
guard_group
</string>
</key>
<value>
<
tupl
e/>
<
non
e/>
</value>
</item>
<item>
<key>
<string>
guard_permission
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
Modify portal content
</string>
</tuple>
</value>
</item>
<item>
...
...
@@ -54,19 +53,17 @@
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
transition_
unsticky
_action
</string>
</value>
<value>
<string>
transition_
stick
_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>
Unsticky Action
</string>
</value>
</item>
<item>
<key>
<string>
trigger_type
</string>
</key>
<value>
<int>
1
</int>
</value>
<value>
<string>
Stick Action
</string>
</value>
</item>
</dictionary>
</pickle>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_unclose.xml
View file @
7015185e
...
...
@@ -6,23 +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_public
</string>
</tuple>
</value>
</item>
...
...
@@ -32,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>
...
...
@@ -63,8 +48,10 @@
<value>
<string>
transition_unclose
</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>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_unclose_action.xml
View file @
7015185e
...
...
@@ -12,31 +12,29 @@
</item>
<item>
<key>
<string>
action_name
</string>
</key>
<value>
<string>
Unclose
d
</string>
</value>
<value>
<string>
Unclose
</string>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
action_type/workflow
</string>
<string>
destination/portal_workflow/discussion_thread_workflow/state_draft
</string>
<string>
after_script/portal_workflow/discussion_thread_workflow/transition_unclose
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Unclose the thread.
</string>
</value>
</item>
<item>
<key>
<string>
guard_group
</string>
</key>
<value>
<
tupl
e/>
<
non
e/>
</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_unclose_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>
Unclose Action
</string>
</value>
</item>
<item>
<key>
<string>
trigger_type
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_unhide.xml
0 → 100644
View file @
7015185e
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Transition"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
action_type/workflow
</string>
<string>
destination/portal_workflow/discussion_thread_workflow/state_public
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
guard_permission
</string>
</key>
<value>
<tuple>
<string>
Modify portal content
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
guard_role
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
icon
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
transition_unhide
</string>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Unhide
</string>
</value>
</item>
<item>
<key>
<string>
trigger_type
</string>
</key>
<value>
<int>
2
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_unhide_action.xml
0 → 100644
View file @
7015185e
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Transition"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=unhide_action
</string>
</value>
</item>
<item>
<key>
<string>
action_name
</string>
</key>
<value>
<string>
Unhide
</string>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
action_type/workflow
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Unhide a thread in the forum
</string>
</value>
</item>
<item>
<key>
<string>
guard_permission
</string>
</key>
<value>
<tuple>
<string>
Modify portal content
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
guard_role
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
icon
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
transition_unhide_action
</string>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Unhide Action
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_unstick.xml
0 → 100644
View file @
7015185e
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Transition"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
action_type/workflow
</string>
<string>
destination/portal_workflow/discussion_thread_workflow/state_public
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
guard_permission
</string>
</key>
<value>
<tuple>
<string>
Modify portal content
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
guard_role
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
icon
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
transition_unstick
</string>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Unstick
</string>
</value>
</item>
<item>
<key>
<string>
trigger_type
</string>
</key>
<value>
<int>
2
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_
sticky
_action.xml
→
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/transition_
unstick
_action.xml
View file @
7015185e
...
...
@@ -8,35 +8,33 @@
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=
sticky
_action
</string>
</value>
<value>
<string>
%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=
unstick
_action
</string>
</value>
</item>
<item>
<key>
<string>
action_name
</string>
</key>
<value>
<string>
Sticky
</string>
</value>
<value>
<string>
Unstick
</string>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
action_type/workflow
</string>
<string>
after_script/portal_workflow/discussion_thread_workflow/transition_
sticky
</string>
<string>
after_script/portal_workflow/discussion_thread_workflow/transition_
unstick
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Sticky the thread.
</string>
</value>
</item>
<item>
<key>
<string>
guard_group
</string>
</key>
<value>
<
tupl
e/>
<
non
e/>
</value>
</item>
<item>
<key>
<string>
guard_permission
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
Modify portal content
</string>
</tuple>
</value>
</item>
<item>
...
...
@@ -55,19 +53,17 @@
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
transition_
sticky
_action
</string>
</value>
<value>
<string>
transition_
unstick
_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>
Sticky Action
</string>
</value>
</item>
<item>
<key>
<string>
trigger_type
</string>
</key>
<value>
<int>
1
</int>
</value>
<value>
<string>
Unstick Action
</string>
</value>
</item>
</dictionary>
</pickle>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/variable_action.xml
View file @
7015185e
...
...
@@ -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>
T
he last transition
</string>
</value>
<value>
<string>
T
ransition 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>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/variable_actor.xml
View file @
7015185e
...
...
@@ -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 name of the user who performed the last
transition
</string>
</value>
<value>
<string>
Name of the user who performed
transition
</string>
</value>
</item>
<item>
<key>
<string>
for_catalog
</string>
</key>
...
...
@@ -22,20 +18,6 @@
<key>
<string>
id
</string>
</key>
<value>
<string>
variable_actor
</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>
user/getIdOrUserName
</string>
</value>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/variable_comment.xml
View file @
7015185e
...
...
@@ -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>
Comment
s about the las
t transition
</string>
</value>
<value>
<string>
Comment
abou
t transition
</string>
</value>
</item>
<item>
<key>
<string>
for_catalog
</string>
</key>
...
...
@@ -22,20 +18,6 @@
<key>
<string>
id
</string>
</key>
<value>
<string>
variable_comment
</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>
python:state_change.kwargs.get(\'comment\', \'\')
</string>
</value>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/variable_error_message.xml
View file @
7015185e
...
...
@@ -6,10 +6,6 @@
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
automatic_update
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Error message if validation failed
</string>
</value>
...
...
@@ -22,20 +18,6 @@
<key>
<string>
id
</string>
</key>
<value>
<string>
variable_error_message
</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>
</dictionary>
</pickle>
</record>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/variable_history.xml
View file @
7015185e
...
...
@@ -22,20 +22,10 @@
<key>
<string>
id
</string>
</key>
<value>
<string>
variable_history
</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>
0
</int>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
variable_default_expression
</string>
</key>
<value>
<string>
state_change/getHistory
</string>
</value>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/variable_portal_type.xml
View file @
7015185e
...
...
@@ -12,30 +12,16 @@
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
portal type (use as filter for worklists)
</string>
</value>
</item>
<item>
<key>
<string>
for_catalog
</string>
</key>
<value>
<int>
1
</int>
</value>
<value>
<string>
Portal type (used as filter for worklists)
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
variable_portal_type
</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>
0
</int>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
bt5/erp5_forum_tutorial/WorkflowTemplateItem/portal_workflow/discussion_thread_workflow/variable_time.xml
View file @
7015185e
...
...
@@ -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>
T
ime of the last transition
</string>
</value>
<value>
<string>
T
ransition timestamp
</string>
</value>
</item>
<item>
<key>
<string>
for_catalog
</string>
</key>
...
...
@@ -22,20 +18,6 @@
<key>
<string>
id
</string>
</key>
<value>
<string>
variable_time
</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>
state_change/getDateTime
</string>
</value>
...
...
bt5/erp5_forum_tutorial/bt/change_log
deleted
100644 → 0
View file @
e274b020
2013-09-09 arnaud.fontaine
* ZODB Components: Migrate bt5 test to Live Test.
2013-09-08 arnaud.fontaine
* ZODB Components: Revert 'Allow to execute runUnitTest for bt5 Test Components' to fix tests bootstrap.
2013-09-03 arnaud.fontaine
* ZODB Components: Workflow History must always be kept, so avoid an extra step for developers.
2013-08-28 arnaud.fontaine
* ZODB Components: Migrate Documents, Extensions and Tests.
2011-02-23 Minashe
* Initial release.
\ No newline at end of file
bt5/erp5_forum_tutorial/bt/copyright_list
deleted
100644 → 0
View file @
e274b020
2011 © Nexedi SA
\ No newline at end of file
bt5/erp5_forum_tutorial/bt/dependency_list
View file @
7015185e
erp5_base,
erp5_web,
erp5_ingestion_mysql_innodb_catalog,
erp5_ingestion,
erp5_dms
\ No newline at end of file
bt5/erp5_forum_tutorial/bt/description
deleted
100644 → 0
View file @
e274b020
This business template is a result of http://www.erp5.com/developer-Learning.Track.Forum tutorial.
\ No newline at end of file
bt5/erp5_forum_tutorial/bt/license
deleted
100644 → 0
View file @
e274b020
GPL
\ No newline at end of file
bt5/erp5_forum_tutorial/bt/skip_coding_style_test
deleted
100644 → 0
View file @
e274b020
1
\ No newline at end of file
bt5/erp5_forum_tutorial/bt/template_test_id_list
deleted
100644 → 0
View file @
e274b020
test.erp5.testDiscussionThread
\ No newline at end of file
bt5/erp5_forum_tutorial/bt/test_dependency_list
deleted
100644 → 0
View file @
e274b020
erp5_full_text_mroonga_catalog
erp5_base
erp5_web
erp5_ingestion_mysql_innodb_catalog
erp5_ingestion
\ No newline at end of file
bt5/erp5_forum_tutorial/bt/version
View file @
7015185e
1.0
\ No newline at end of file
1
\ 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