diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowAction.zpt b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowAction.zpt index cc272d633468a33fba93275df43fafe6d92a3903..33b3defe0db42307d4cb8154ba909f08be906bf1 100644 --- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowAction.zpt +++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowAction.zpt @@ -51,57 +51,79 @@ <td>Change State</td> </tr> -<!-- we have a listbox with 2 lines, one for 2 Draft Foos, the other for 1 +<!-- we have a listbox with 3 lines, one for validation_state of all documents (draft), one for 2 Draft Foos, the other for 1 Validated Foo --> <tr> <td>assertText</td> <td>//span[@class="listbox-current-page-total-number workflow_action_listbox-current-page-total-number"]</td> - <td>2 records</td> + <td>3 records</td> +</tr> + +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[1]/a</td> + <td>3</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[2]/a</td> + <td>Foo</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[1]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[3]/a</td> + <td>Draft</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[4]/a</td> + <td>Foo Validation Workflow</td> +</tr> + +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[1]/a</td> <td>2</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[2]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[2]/a</td> <td>Foo</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[3]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[3]/a</td> <td>Draft</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[4]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[4]/a</td> <td>Foo Workflow</td> </tr> <tr> <td>select</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[5]/select</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[5]/select</td> <td>label=Validate Action</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-1 DataB']/td[1]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-2 ')]/td[1]/a</td> <td>1</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-1 DataB']/td[2]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-2 ')]/td[2]/a</td> <td>Foo</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-1 DataB']/td[3]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-2 ')]/td[3]/a</td> <td>Validated</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-1 DataB']/td[4]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-2 ')]/td[4]/a</td> <td>Foo Workflow</td> </tr> diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionCheckedUidSelection.zpt b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionCheckedUidSelection.zpt index 0d8d2d15d9b1b30214ea9bd57959af0294acb5e7..4adf516b3f67e77a495b83333c22cf76ec446702 100644 --- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionCheckedUidSelection.zpt +++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionCheckedUidSelection.zpt @@ -57,35 +57,57 @@ <td>Change State</td> </tr> -<!-- we have a listbox with 1 line, for 1 Draft Foo --> +<!-- we have a listbox with 2 line, for all documents by validaiton_state, and for 1 Draft Foo --> <tr> <td>assertText</td> <td>//span[@class="listbox-current-page-total-number workflow_action_listbox-current-page-total-number"]</td> - <td>1 records</td> + <td>2 records</td> +</tr> + +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[1]/a</td> + <td>1</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[2]/a</td> + <td>Foo</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[3]/a</td> + <td>Draft</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[1]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[4]/a</td> + <td>Foo Validation Workflow</td> +</tr> + +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[1]/a</td> <td>1</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[2]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[2]/a</td> <td>Foo</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[3]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[3]/a</td> <td>Draft</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[4]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[4]/a</td> <td>Foo Workflow</td> </tr> <tr> <td>select</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[5]/select</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[5]/select</td> <td>label=Validate Action</td> </tr> diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionCustomDialog.zpt b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionCustomDialog.zpt index 4a5c816336d308db8f3b2c8076212b1873b45b43..138798a3e4aa6703008ee7fac59c353b21849eac 100644 --- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionCustomDialog.zpt +++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionCustomDialog.zpt @@ -51,57 +51,79 @@ <td>Change State</td> </tr> -<!-- we have a listbox with 2 lines, one for 2 Draft Foos, the other for 1 +<!-- we have a listbox with 3 lines, one for all Drafts by validation state, one for 2 Draft Foos, the other for 1 Validated Foo --> <tr> <td>assertText</td> <td>//span[@class="listbox-current-page-total-number workflow_action_listbox-current-page-total-number"]</td> - <td>2 records</td> + <td>3 records</td> +</tr> + +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[1]/a</td> + <td>3</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[2]/a</td> + <td>Foo</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[1]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[3]/a</td> + <td>Draft</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[4]/a</td> + <td>Foo Validation Workflow</td> +</tr> + +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[1]/a</td> <td>2</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[2]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[2]/a</td> <td>Foo</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[3]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[3]/a</td> <td>Draft</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[4]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[4]/a</td> <td>Foo Workflow</td> </tr> <tr> <td>select</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[5]/select</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[5]/select</td> <td>label=Custom Dialog Action</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-1 DataB']/td[1]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-2 ')]/td[1]/a</td> <td>1</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-1 DataB']/td[2]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-2 ')]/td[2]/a</td> <td>Foo</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-1 DataB']/td[3]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-2 ')]/td[3]/a</td> <td>Validated</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-1 DataB']/td[4]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-2 ')]/td[4]/a</td> <td>Foo Workflow</td> </tr> diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionDomainTree.zpt b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionDomainTree.zpt index 9bbcd3f10c03b9105ba1d3d4929292c5b3447fcf..ff8c962fba8bb189cee5cc3881418d68c4fb5f88 100644 --- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionDomainTree.zpt +++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionDomainTree.zpt @@ -102,36 +102,58 @@ <td>Change State</td> </tr> -<!-- we have a listbox with 1 line for 2 Draft Foos --> +<!-- we have a listbox with 2 lines, one for all documents by validation state, and one for 2 Draft Foos --> <tr> <td>assertText</td> <td>//span[@class="listbox-current-page-total-number workflow_action_listbox-current-page-total-number"]</td> - <td>1 records</td> + <td>2 records</td> +</tr> + +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[1]/a</td> + <td>2</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[2]/a</td> + <td>Foo</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[3]/a</td> + <td>Draft</td> </tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[4]/a</td> + <td>Foo Validation Workflow</td> +</tr> + <!-- It's the number of element which will be validate --> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[1]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[1]/a</td> <td>2</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[2]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[2]/a</td> <td>Foo</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[3]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[3]/a</td> <td>Draft</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[4]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[4]/a</td> <td>Foo Workflow</td> </tr> <tr> <td>select</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[5]/select</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[5]/select</td> <td>label=Validate Action</td> </tr> <tr> diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionFilteredSelection.zpt b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionFilteredSelection.zpt index 0e0ccb5f0c9292a69f9e6b38ae453103f336e1e8..0c9686bea88e18b11a28c1ccd78b27a518ca2207 100644 --- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionFilteredSelection.zpt +++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionFilteredSelection.zpt @@ -62,35 +62,57 @@ <td>Change State</td> </tr> -<!-- we have a listbox with 1 line, for 1 Draft Foo --> +<!-- we have a listbox with 2 line, one for all documents by validation state, one for 1 Draft Foo --> <tr> <td>assertText</td> <td>//span[@class="listbox-current-page-total-number workflow_action_listbox-current-page-total-number"]</td> - <td>1 records</td> + <td>2 records</td> </tr> + +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[1]/a</td> + <td>1</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[2]/a</td> + <td>Foo</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[3]/a</td> + <td>Draft</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[4]/a</td> + <td>Foo Validation Workflow</td> +</tr> + <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[1]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[1]/a</td> <td>1</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[2]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[2]/a</td> <td>Foo</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[3]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[3]/a</td> <td>Draft</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[4]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[4]/a</td> <td>Foo Workflow</td> </tr> <tr> <td>select</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[5]/select</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[5]/select</td> <td>label=Validate Action</td> </tr> diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionInvertModeSelection.zpt b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionInvertModeSelection.zpt index b8bd07b0b44b641dc9dccf224b57d505e929ae52..6160c9359b44a522117d2835216ea794661ecf02 100644 --- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionInvertModeSelection.zpt +++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionInvertModeSelection.zpt @@ -64,35 +64,57 @@ <td>Change State</td> </tr> -<!-- we have a listbox with 1 line, for 1 Draft Foo --> +<!-- we have a listbox with 2 lines, one for all documents by validation state, one for 1 Draft Foo --> <tr> <td>assertText</td> <td>//span[@class="listbox-current-page-total-number workflow_action_listbox-current-page-total-number"]</td> - <td>1 records</td> + <td>2 records</td> +</tr> + +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[1]/a</td> + <td>1</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[2]/a</td> + <td>Foo</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[3]/a</td> + <td>Draft</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[1]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[4]/a</td> + <td>Foo Validation Workflow</td> +</tr> + +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[1]/a</td> <td>1</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[2]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[2]/a</td> <td>Foo</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[3]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[3]/a</td> <td>Draft</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[4]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[4]/a</td> <td>Foo Workflow</td> </tr> <tr> <td>select</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[5]/select</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[5]/select</td> <td>label=Validate Action</td> </tr> diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionMultiplePortalType.zpt b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionMultiplePortalType.zpt index 60a8af184d07e43e2de516708bf7ebc7be8e543e..dd72c90553bc56b6b2225c464eb3b21ab493b4f4 100644 --- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionMultiplePortalType.zpt +++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionMultiplePortalType.zpt @@ -41,16 +41,16 @@ <td>Change State</td> </tr> -<!-- we have a listbox with too lines, one for bars one for foos --> +<!-- we have a listbox with 4 lines, two for all documents by validation state, one for bars one for foos --> <tr> <td>assertText</td> <td>//span[@class="listbox-current-page-total-number workflow_action_listbox-current-page-total-number"]</td> - <td>2 records</td> + <td>4 records</td> </tr> <tr> <td>select</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[5]/select</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-2 ')]/td[5]/select</td> <td>label=Validate Action</td> </tr> diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionNothingSelected.zpt b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionNothingSelected.zpt index 19f982676edb627ffdb418e55ac9fa83e8bf1f47..814e160c78fd65d6d907acf23f216216e2ed0833 100644 --- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionNothingSelected.zpt +++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionNothingSelected.zpt @@ -77,12 +77,12 @@ <tr> <td>select</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[5]/select</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[5]/select</td> <td>label=Validate Action</td> </tr> <tr> <td>select</td> - <td>//tr[@class='workflow_action_listbox-data-line-1 DataB']/td[5]/select</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-2 ')]/td[5]/select</td> <td>label=Invalidate Action</td> </tr> diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionPagination.zpt b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionPagination.zpt index c786e7fe9cdd329d1e0cf9552a6955f41f7abf0a..22e9467d54ee7bf927ebac1fff2586289ba094f0 100644 --- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionPagination.zpt +++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionPagination.zpt @@ -76,66 +76,101 @@ This is currently an expected failure. <td>//input[@class="listbox_set_page workflow_action_listbox_set_page"]</td> <td>\13</td> </tr> -<!-- we have a listbox with 2 lines, one for 2 Draft Foos, the other for 1 +<!-- we have a listbox with 3 lines, one for all documents by validation_state, one for 2 Draft Foos, the last one for 1 Validated Foo --> <tr> <td>assertText</td> <td>//span[@class="listbox-current-page-total-number workflow_action_listbox-current-page-total-number"]</td> - <td>2 records</td> + <td>3 records</td> +</tr> + +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[1]/a</td> + <td>3</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[2]/a</td> + <td>Foo</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[3]/a</td> + <td>Draft</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[1]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[4]/a</td> + <td>Foo Validation Workflow</td> +</tr> + +<tr> + <td>type</td> + <td>//input[@class="listbox_set_page workflow_action_listbox_set_page"]</td> <td>2</td> </tr> +<tr> + <td>keyPressAndWait</td> + <td>//input[@class="listbox_set_page workflow_action_listbox_set_page"]</td> + <td>\13</td> +</tr> + <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[2]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[1]/a</td> + <td>2</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[2]/a</td> <td>Foo</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[3]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[3]/a</td> <td>Draft</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[4]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[4]/a</td> <td>Foo Workflow</td> </tr> <tr> <td>select</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[5]/select</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[5]/select</td> <td>label=Validate Action</td> </tr> + <tr> <td>type</td> <td>//input[@class="listbox_set_page workflow_action_listbox_set_page"]</td> - <td>2</td> + <td>3</td> </tr> <tr> <td>keyPressAndWait</td> <td>//input[@class="listbox_set_page workflow_action_listbox_set_page"]</td> <td>\13</td> </tr> + <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[1]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[1]/a</td> <td>1</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[2]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[2]/a</td> <td>Foo</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[3]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[3]/a</td> <td>Validated</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[4]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[4]/a</td> <td>Foo Workflow</td> </tr> diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionWithoutConfirmationForm.zpt b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionWithoutConfirmationForm.zpt index 28d73e272c22238b30ad9b0a3a09c7a55fd139ad..74e95b29d8ce7f86446ba302c80f9b469e6e37c7 100644 --- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionWithoutConfirmationForm.zpt +++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testFolderWorkflowActionWithoutConfirmationForm.zpt @@ -50,56 +50,79 @@ <td>select_action</td> <td>Change State</td> </tr> -<!-- we have a listbox with 2 lines, one for 2 Draft Foos, the other for 1 +<!-- we have a listbox with 3 lines, one for all documents by validation state, one for 2 Draft Foos, the last one for 1 Validated Foo --> <tr> <td>assertText</td> <td>//span[@class="listbox-current-page-total-number workflow_action_listbox-current-page-total-number"]</td> - <td>2 records</td> + <td>3 records</td> +</tr> + +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[1]/a</td> + <td>3</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[2]/a</td> + <td>Foo</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[3]/a</td> + <td>Draft</td> +</tr> +<tr> + <td>assertText</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-0 ')]/td[4]/a</td> + <td>Foo Validation Workflow</td> </tr> + <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[1]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[1]/a</td> <td>2</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[2]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[2]/a</td> <td>Foo</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[3]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[3]/a</td> <td>Draft</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[4]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[4]/a</td> <td>Foo Workflow</td> </tr> <tr> <td>select</td> - <td>//tr[@class='workflow_action_listbox-data-line-0 DataA']/td[5]/select</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-1 ')]/td[5]/select</td> <td>label=Custom Action No Dialog</td> </tr> + <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-1 DataB']/td[1]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-2 ')]/td[1]/a</td> <td>1</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-1 DataB']/td[2]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-2 ')]/td[2]/a</td> <td>Foo</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-1 DataB']/td[3]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-2 ')]/td[3]/a</td> <td>Validated</td> </tr> <tr> <td>assertText</td> - <td>//tr[@class='workflow_action_listbox-data-line-1 DataB']/td[4]/a</td> + <td>//tr[contains(concat(' ',normalize-space(@class),' '),' workflow_action_listbox-data-line-2 ')]/td[4]/a</td> <td>Foo Workflow</td> </tr> <tr> diff --git a/bt5/erp5_ui_test/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_ui_test/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml index 55b2efd4d2b39f569c7eb9a3e7c68ce7332db443..18945ee6615fad360758a9a5bd6e8afb9e66cc33 100644 --- a/bt5/erp5_ui_test/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml +++ b/bt5/erp5_ui_test/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml @@ -1,11 +1,11 @@ <workflow_chain> <chain> <type>Bar</type> - <workflow>edit_workflow, foo_workflow</workflow> + <workflow>edit_workflow, foo_workflow, bar_validation_workflow</workflow> </chain> <chain> <type>Foo</type> - <workflow>edit_workflow, foo_workflow</workflow> + <workflow>edit_workflow, foo_workflow, foo_validation_workflow</workflow> </chain> <chain> <type>Foo Line</type> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow.xml new file mode 100644 index 0000000000000000000000000000000000000000..79bc3cee68da3e15e5a51786f06332a8db7ac512 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow.xml @@ -0,0 +1,65 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="DCWorkflowDefinition" module="Products.DCWorkflow.DCWorkflow"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>creation_guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>groups</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>bar_validation_workflow</string> </value> + </item> + <item> + <key> <string>initial_state</string> </key> + <value> <string>draft</string> </value> + </item> + <item> + <key> <string>manager_bypass</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>permissions</string> </key> + <value> + <tuple> + <string>Access contents information</string> + <string>View</string> + <string>Add portal content</string> + <string>Modify portal content</string> + </tuple> + </value> + </item> + <item> + <key> <string>state_var</string> </key> + <value> <string>validation_state</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Bar Validation Workflow</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/scripts.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/scripts.xml new file mode 100644 index 0000000000000000000000000000000000000000..072c8f6540c07806bee17a34c920ec09b2de1bd5 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/scripts.xml @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Scripts" module="Products.DCWorkflow.Scripts"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_mapping</string> </key> + <value> + <dictionary/> + </value> + </item> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>scripts</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/states.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/states.xml new file mode 100644 index 0000000000000000000000000000000000000000..27ec9069024e0f59bf4b612113789f37da98879b --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/states.xml @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="States" module="Products.DCWorkflow.States"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_mapping</string> </key> + <value> + <dictionary/> + </value> + </item> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>states</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/states/draft.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/states/draft.xml new file mode 100644 index 0000000000000000000000000000000000000000..202a80904d47302ab75bc55619775bc68c5d448a --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/states/draft.xml @@ -0,0 +1,100 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="StateDefinition" module="Products.DCWorkflow.States"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>draft</string> </value> + </item> + <item> + <key> <string>permission_roles</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Draft</string> </value> + </item> + <item> + <key> <string>transitions</string> </key> + <value> + <tuple> + <string>really_validate</string> + </tuple> + </value> + </item> + <item> + <key> <string>type_list</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>data</string> </key> + <value> + <dictionary> + <item> + <key> <string>Access contents information</string> </key> + <value> + <tuple> + <string>Author</string> + <string>Manager</string> + <string>Member</string> + </tuple> + </value> + </item> + <item> + <key> <string>Add portal content</string> </key> + <value> + <tuple> + <string>Author</string> + <string>Manager</string> + <string>Member</string> + </tuple> + </value> + </item> + <item> + <key> <string>Modify portal content</string> </key> + <value> + <tuple> + <string>Author</string> + <string>Manager</string> + <string>Member</string> + </tuple> + </value> + </item> + <item> + <key> <string>View</string> </key> + <value> + <tuple> + <string>Author</string> + <string>Manager</string> + <string>Member</string> + </tuple> + </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/states/invalidated.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/states/invalidated.xml new file mode 100644 index 0000000000000000000000000000000000000000..5df083c57d94386251dee3e85d23bb833a0b3d2a --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/states/invalidated.xml @@ -0,0 +1,36 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="StateDefinition" module="Products.DCWorkflow.States"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>description</string> </key> + <value> <string>Purposedly using the wrong title for translation testing !</string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>invalidated</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Validated</string> </value> + </item> + <item> + <key> <string>transitions</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>type_list</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/states/validated.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/states/validated.xml new file mode 100644 index 0000000000000000000000000000000000000000..6ed61920930aa34833b6dd163514aabcc8f6d714 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/states/validated.xml @@ -0,0 +1,38 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="StateDefinition" module="Products.DCWorkflow.States"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>description</string> </key> + <value> <string>Purposedly using the wrong title for translation testing !</string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>validated</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Invalidated</string> </value> + </item> + <item> + <key> <string>transitions</string> </key> + <value> + <tuple> + <string>really_invalidate</string> + </tuple> + </value> + </item> + <item> + <key> <string>type_list</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/transitions.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/transitions.xml new file mode 100644 index 0000000000000000000000000000000000000000..aa36144efed916b804f5f80df9452b1e3166bdec --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/transitions.xml @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Transitions" module="Products.DCWorkflow.Transitions"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_mapping</string> </key> + <value> + <dictionary/> + </value> + </item> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>transitions</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/transitions/really_invalidate.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/transitions/really_invalidate.xml new file mode 100644 index 0000000000000000000000000000000000000000..00ea7b61c0e83e8dd0c17cd6d126f0d8ec535c24 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/transitions/really_invalidate.xml @@ -0,0 +1,75 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>actbox_category</string> </key> + <value> <string>workflow</string> </value> + </item> + <item> + <key> <string>actbox_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>actbox_url</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>after_script_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>action that will mark the document as invalidated</string> </value> + </item> + <item> + <key> <string>guard</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>really_invalidate</string> </value> + </item> + <item> + <key> <string>new_state_id</string> </key> + <value> <string>invalidated</string> </value> + </item> + <item> + <key> <string>script_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Invalidate</string> </value> + </item> + <item> + <key> <string>trigger_type</string> </key> + <value> <int>2</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <global name="Guard" module="Products.DCWorkflow.Guard"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>permissions</string> </key> + <value> + <tuple> + <string>Modify portal content</string> + </tuple> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/transitions/really_validate.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/transitions/really_validate.xml new file mode 100644 index 0000000000000000000000000000000000000000..ed10c813ba1cdc68bb2f2be9b7bd50fb07999bec --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/transitions/really_validate.xml @@ -0,0 +1,75 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>actbox_category</string> </key> + <value> <string>workflow</string> </value> + </item> + <item> + <key> <string>actbox_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>actbox_url</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>after_script_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>action that will mark the document as validated</string> </value> + </item> + <item> + <key> <string>guard</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>really_validate</string> </value> + </item> + <item> + <key> <string>new_state_id</string> </key> + <value> <string>validated</string> </value> + </item> + <item> + <key> <string>script_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Validate</string> </value> + </item> + <item> + <key> <string>trigger_type</string> </key> + <value> <int>2</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <global name="Guard" module="Products.DCWorkflow.Guard"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>permissions</string> </key> + <value> + <tuple> + <string>Modify portal content</string> + </tuple> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables.xml new file mode 100644 index 0000000000000000000000000000000000000000..bb12bef805f190ec50e023368d6ee5c6c990b816 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables.xml @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Variables" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_mapping</string> </key> + <value> + <dictionary/> + </value> + </item> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>variables</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/action.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/action.xml new file mode 100644 index 0000000000000000000000000000000000000000..7e373627980318315c844dfbb3d6507d12eca323 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/action.xml @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>default_expr</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>default_value</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>The last transition</string> </value> + </item> + <item> + <key> <string>for_catalog</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>for_status</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>action</string> </value> + </item> + <item> + <key> <string>info_guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>update_always</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <tuple> + <string>Products.CMFCore.Expression</string> + <string>Expression</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>transition/getId|nothing</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/actor.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/actor.xml new file mode 100644 index 0000000000000000000000000000000000000000..e1833e177cdd606417106d9ddcbfe4a739432805 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/actor.xml @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>default_expr</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>default_value</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>The name of the user who performed the last transition</string> </value> + </item> + <item> + <key> <string>for_catalog</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>for_status</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>actor</string> </value> + </item> + <item> + <key> <string>info_guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>update_always</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <tuple> + <string>Products.CMFCore.Expression</string> + <string>Expression</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>user/getIdOrUserName</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/comment.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/comment.xml new file mode 100644 index 0000000000000000000000000000000000000000..e22869e0c27d2b9ff5fbec5a5ee0c4eb20d6a99f --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/comment.xml @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>default_expr</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>default_value</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>Comments about the last transition</string> </value> + </item> + <item> + <key> <string>for_catalog</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>for_status</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>comment</string> </value> + </item> + <item> + <key> <string>info_guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>update_always</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <tuple> + <string>Products.CMFCore.Expression</string> + <string>Expression</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>python:state_change.kwargs.get(\'comment\', \'\')</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/custom_workflow_variable.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/custom_workflow_variable.xml new file mode 100644 index 0000000000000000000000000000000000000000..12c773d1197242088395c382046ed90befa03bf9 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/custom_workflow_variable.xml @@ -0,0 +1,48 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>default_expr</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>default_value</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>for_catalog</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>for_status</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>custom_workflow_variable</string> </value> + </item> + <item> + <key> <string>info_guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>update_always</string> </key> + <value> <int>0</int> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/error_message.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/error_message.xml new file mode 100644 index 0000000000000000000000000000000000000000..535863de2a26221cff2a356674852ea83bcee061 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/error_message.xml @@ -0,0 +1,48 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>default_expr</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>default_value</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>Error message if validation failed</string> </value> + </item> + <item> + <key> <string>for_catalog</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>for_status</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>error_message</string> </value> + </item> + <item> + <key> <string>info_guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>update_always</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/history.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/history.xml new file mode 100644 index 0000000000000000000000000000000000000000..c6cb030d70498f69546f62d557ba71a63476ff8a --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/history.xml @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>default_expr</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>default_value</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>Provides access to workflow history</string> </value> + </item> + <item> + <key> <string>for_catalog</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>for_status</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>history</string> </value> + </item> + <item> + <key> <string>info_guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>update_always</string> </key> + <value> <int>0</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <tuple> + <string>Products.CMFCore.Expression</string> + <string>Expression</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>state_change/getHistory</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/time.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/time.xml new file mode 100644 index 0000000000000000000000000000000000000000..adc65b1ab7464d566e2a29974dbbcccb0a80fb0d --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/variables/time.xml @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>default_expr</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>default_value</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>Time of the last transition</string> </value> + </item> + <item> + <key> <string>for_catalog</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>for_status</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>time</string> </value> + </item> + <item> + <key> <string>info_guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>update_always</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <tuple> + <string>Products.CMFCore.Expression</string> + <string>Expression</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>state_change/getDateTime</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/worklists.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/worklists.xml new file mode 100644 index 0000000000000000000000000000000000000000..c3432aa051eac2d67ec0692a384adb38d1b6bac8 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/bar_validation_workflow/worklists.xml @@ -0,0 +1,22 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Worklists" module="Products.DCWorkflow.Worklists"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_mapping</string> </key> + <value> + <dictionary/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>worklists</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow.xml new file mode 100644 index 0000000000000000000000000000000000000000..900fce17370b32ef2eddb7af473882c4accb698d --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow.xml @@ -0,0 +1,65 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="DCWorkflowDefinition" module="Products.DCWorkflow.DCWorkflow"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>creation_guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>groups</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>foo_validation_workflow</string> </value> + </item> + <item> + <key> <string>initial_state</string> </key> + <value> <string>draft</string> </value> + </item> + <item> + <key> <string>manager_bypass</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>permissions</string> </key> + <value> + <tuple> + <string>Access contents information</string> + <string>View</string> + <string>Add portal content</string> + <string>Modify portal content</string> + </tuple> + </value> + </item> + <item> + <key> <string>state_var</string> </key> + <value> <string>validation_state</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Foo Validation Workflow</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/scripts.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/scripts.xml new file mode 100644 index 0000000000000000000000000000000000000000..072c8f6540c07806bee17a34c920ec09b2de1bd5 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/scripts.xml @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Scripts" module="Products.DCWorkflow.Scripts"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_mapping</string> </key> + <value> + <dictionary/> + </value> + </item> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>scripts</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/states.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/states.xml new file mode 100644 index 0000000000000000000000000000000000000000..27ec9069024e0f59bf4b612113789f37da98879b --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/states.xml @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="States" module="Products.DCWorkflow.States"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_mapping</string> </key> + <value> + <dictionary/> + </value> + </item> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>states</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/states/draft.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/states/draft.xml new file mode 100644 index 0000000000000000000000000000000000000000..202a80904d47302ab75bc55619775bc68c5d448a --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/states/draft.xml @@ -0,0 +1,100 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="StateDefinition" module="Products.DCWorkflow.States"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>draft</string> </value> + </item> + <item> + <key> <string>permission_roles</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Draft</string> </value> + </item> + <item> + <key> <string>transitions</string> </key> + <value> + <tuple> + <string>really_validate</string> + </tuple> + </value> + </item> + <item> + <key> <string>type_list</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>data</string> </key> + <value> + <dictionary> + <item> + <key> <string>Access contents information</string> </key> + <value> + <tuple> + <string>Author</string> + <string>Manager</string> + <string>Member</string> + </tuple> + </value> + </item> + <item> + <key> <string>Add portal content</string> </key> + <value> + <tuple> + <string>Author</string> + <string>Manager</string> + <string>Member</string> + </tuple> + </value> + </item> + <item> + <key> <string>Modify portal content</string> </key> + <value> + <tuple> + <string>Author</string> + <string>Manager</string> + <string>Member</string> + </tuple> + </value> + </item> + <item> + <key> <string>View</string> </key> + <value> + <tuple> + <string>Author</string> + <string>Manager</string> + <string>Member</string> + </tuple> + </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/states/invalidated.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/states/invalidated.xml new file mode 100644 index 0000000000000000000000000000000000000000..477ff446390ea2e496847f7fa22866374623905b --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/states/invalidated.xml @@ -0,0 +1,36 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="StateDefinition" module="Products.DCWorkflow.States"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>invalidated</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Invalidated</string> </value> + </item> + <item> + <key> <string>transitions</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>type_list</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/states/validated.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/states/validated.xml new file mode 100644 index 0000000000000000000000000000000000000000..042fdbdf6e7c433813b88e0521bdeaa7c4a229cc --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/states/validated.xml @@ -0,0 +1,38 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="StateDefinition" module="Products.DCWorkflow.States"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>validated</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Validated</string> </value> + </item> + <item> + <key> <string>transitions</string> </key> + <value> + <tuple> + <string>really_invalidate</string> + </tuple> + </value> + </item> + <item> + <key> <string>type_list</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/transitions.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/transitions.xml new file mode 100644 index 0000000000000000000000000000000000000000..aa36144efed916b804f5f80df9452b1e3166bdec --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/transitions.xml @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Transitions" module="Products.DCWorkflow.Transitions"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_mapping</string> </key> + <value> + <dictionary/> + </value> + </item> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>transitions</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/transitions/really_invalidate.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/transitions/really_invalidate.xml new file mode 100644 index 0000000000000000000000000000000000000000..00ea7b61c0e83e8dd0c17cd6d126f0d8ec535c24 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/transitions/really_invalidate.xml @@ -0,0 +1,75 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>actbox_category</string> </key> + <value> <string>workflow</string> </value> + </item> + <item> + <key> <string>actbox_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>actbox_url</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>after_script_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>action that will mark the document as invalidated</string> </value> + </item> + <item> + <key> <string>guard</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>really_invalidate</string> </value> + </item> + <item> + <key> <string>new_state_id</string> </key> + <value> <string>invalidated</string> </value> + </item> + <item> + <key> <string>script_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Invalidate</string> </value> + </item> + <item> + <key> <string>trigger_type</string> </key> + <value> <int>2</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <global name="Guard" module="Products.DCWorkflow.Guard"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>permissions</string> </key> + <value> + <tuple> + <string>Modify portal content</string> + </tuple> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/transitions/really_validate.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/transitions/really_validate.xml new file mode 100644 index 0000000000000000000000000000000000000000..ed10c813ba1cdc68bb2f2be9b7bd50fb07999bec --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/transitions/really_validate.xml @@ -0,0 +1,75 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>actbox_category</string> </key> + <value> <string>workflow</string> </value> + </item> + <item> + <key> <string>actbox_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>actbox_url</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>after_script_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>action that will mark the document as validated</string> </value> + </item> + <item> + <key> <string>guard</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>really_validate</string> </value> + </item> + <item> + <key> <string>new_state_id</string> </key> + <value> <string>validated</string> </value> + </item> + <item> + <key> <string>script_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Validate</string> </value> + </item> + <item> + <key> <string>trigger_type</string> </key> + <value> <int>2</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <global name="Guard" module="Products.DCWorkflow.Guard"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>permissions</string> </key> + <value> + <tuple> + <string>Modify portal content</string> + </tuple> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables.xml new file mode 100644 index 0000000000000000000000000000000000000000..bb12bef805f190ec50e023368d6ee5c6c990b816 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables.xml @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Variables" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_mapping</string> </key> + <value> + <dictionary/> + </value> + </item> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>variables</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/action.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/action.xml new file mode 100644 index 0000000000000000000000000000000000000000..7e373627980318315c844dfbb3d6507d12eca323 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/action.xml @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>default_expr</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>default_value</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>The last transition</string> </value> + </item> + <item> + <key> <string>for_catalog</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>for_status</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>action</string> </value> + </item> + <item> + <key> <string>info_guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>update_always</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <tuple> + <string>Products.CMFCore.Expression</string> + <string>Expression</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>transition/getId|nothing</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/actor.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/actor.xml new file mode 100644 index 0000000000000000000000000000000000000000..e1833e177cdd606417106d9ddcbfe4a739432805 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/actor.xml @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>default_expr</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>default_value</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>The name of the user who performed the last transition</string> </value> + </item> + <item> + <key> <string>for_catalog</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>for_status</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>actor</string> </value> + </item> + <item> + <key> <string>info_guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>update_always</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <tuple> + <string>Products.CMFCore.Expression</string> + <string>Expression</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>user/getIdOrUserName</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/comment.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/comment.xml new file mode 100644 index 0000000000000000000000000000000000000000..e22869e0c27d2b9ff5fbec5a5ee0c4eb20d6a99f --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/comment.xml @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>default_expr</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>default_value</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>Comments about the last transition</string> </value> + </item> + <item> + <key> <string>for_catalog</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>for_status</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>comment</string> </value> + </item> + <item> + <key> <string>info_guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>update_always</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <tuple> + <string>Products.CMFCore.Expression</string> + <string>Expression</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>python:state_change.kwargs.get(\'comment\', \'\')</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/custom_workflow_variable.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/custom_workflow_variable.xml new file mode 100644 index 0000000000000000000000000000000000000000..12c773d1197242088395c382046ed90befa03bf9 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/custom_workflow_variable.xml @@ -0,0 +1,48 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>default_expr</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>default_value</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>for_catalog</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>for_status</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>custom_workflow_variable</string> </value> + </item> + <item> + <key> <string>info_guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>update_always</string> </key> + <value> <int>0</int> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/error_message.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/error_message.xml new file mode 100644 index 0000000000000000000000000000000000000000..535863de2a26221cff2a356674852ea83bcee061 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/error_message.xml @@ -0,0 +1,48 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>default_expr</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>default_value</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>Error message if validation failed</string> </value> + </item> + <item> + <key> <string>for_catalog</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>for_status</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>error_message</string> </value> + </item> + <item> + <key> <string>info_guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>update_always</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/history.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/history.xml new file mode 100644 index 0000000000000000000000000000000000000000..c6cb030d70498f69546f62d557ba71a63476ff8a --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/history.xml @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>default_expr</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>default_value</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>Provides access to workflow history</string> </value> + </item> + <item> + <key> <string>for_catalog</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>for_status</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>history</string> </value> + </item> + <item> + <key> <string>info_guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>update_always</string> </key> + <value> <int>0</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <tuple> + <string>Products.CMFCore.Expression</string> + <string>Expression</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>state_change/getHistory</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/time.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/time.xml new file mode 100644 index 0000000000000000000000000000000000000000..adc65b1ab7464d566e2a29974dbbcccb0a80fb0d --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/variables/time.xml @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>default_expr</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>default_value</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>Time of the last transition</string> </value> + </item> + <item> + <key> <string>for_catalog</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>for_status</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>time</string> </value> + </item> + <item> + <key> <string>info_guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>update_always</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <tuple> + <string>Products.CMFCore.Expression</string> + <string>Expression</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>state_change/getDateTime</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/worklists.xml b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/worklists.xml new file mode 100644 index 0000000000000000000000000000000000000000..c3432aa051eac2d67ec0692a384adb38d1b6bac8 --- /dev/null +++ b/bt5/erp5_ui_test/WorkflowTemplateItem/portal_workflow/foo_validation_workflow/worklists.xml @@ -0,0 +1,22 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Worklists" module="Products.DCWorkflow.Worklists"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_mapping</string> </key> + <value> + <dictionary/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>worklists</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/bt/template_portal_type_workflow_chain_list b/bt5/erp5_ui_test/bt/template_portal_type_workflow_chain_list index a1651d79db3bb683d1b3fdf3f61a0fa6f4ab9288..f1b869ce54262068fa1bd84c6b70383b168c09e7 100644 --- a/bt5/erp5_ui_test/bt/template_portal_type_workflow_chain_list +++ b/bt5/erp5_ui_test/bt/template_portal_type_workflow_chain_list @@ -1,5 +1,7 @@ Bar | edit_workflow Bar | foo_workflow +Bar | bar_validation_workflow Foo Line | pricing_interaction_workflow Foo | edit_workflow -Foo | foo_workflow \ No newline at end of file +Foo | foo_workflow +Foo | foo_valiation_workflow \ No newline at end of file diff --git a/bt5/erp5_ui_test/bt/template_workflow_id_list b/bt5/erp5_ui_test/bt/template_workflow_id_list index a5c60b2aaf6bcea9dc18e5b7a0b0896b839ca07b..1f124af28b04b768085ed34990a621caee6289e9 100644 --- a/bt5/erp5_ui_test/bt/template_workflow_id_list +++ b/bt5/erp5_ui_test/bt/template_workflow_id_list @@ -1 +1,3 @@ -foo_workflow \ No newline at end of file +bar_validation_workflow +foo_workflow +foo_validation_workflow diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateQuery.catalog_keys.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateQuery.catalog_keys.xml new file mode 100644 index 0000000000000000000000000000000000000000..a540f9431e9c394244ed71562b197938e6fe9258 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateQuery.catalog_keys.xml @@ -0,0 +1,2 @@ +<catalog_method> +</catalog_method> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateQuery.py b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateQuery.py new file mode 100644 index 0000000000000000000000000000000000000000..26dfecb9b61d2f155deda9473dfcb2836aef215b --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateQuery.py @@ -0,0 +1,9 @@ +return context.SQLCatalog_makeTranslationQuery( + search_value=search_value, + column_id='causality_state', + message_context='causality_state', + search_key=search_key, + group=group, + logical_operator=logical_operator, + comparison_operator=comparison_operator, +) diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateQuery.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateQuery.xml new file mode 100644 index 0000000000000000000000000000000000000000..341ab5b47e5736bf8da201e85e65d76a5de03252 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateQuery.xml @@ -0,0 +1,78 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Python Script" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>search_value, search_key=None, group=None, logical_operator=None, comparison_operator=None</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>SQLCatalog_makeTranslatedCausalityStateQuery</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Python Script</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> + <none/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateTitleQuery.catalog_keys.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateTitleQuery.catalog_keys.xml new file mode 100644 index 0000000000000000000000000000000000000000..a540f9431e9c394244ed71562b197938e6fe9258 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateTitleQuery.catalog_keys.xml @@ -0,0 +1,2 @@ +<catalog_method> +</catalog_method> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateTitleQuery.py b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateTitleQuery.py new file mode 100644 index 0000000000000000000000000000000000000000..19fa212bcef0c39348f2b56d7989d6c209bb8a71 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateTitleQuery.py @@ -0,0 +1,9 @@ +return context.SQLCatalog_makeTranslationQuery( + search_value=search_value, + column_id='causality_state', + message_context='causality_state_title', + search_key=search_key, + group=group, + logical_operator=logical_operator, + comparison_operator=comparison_operator, +) diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateTitleQuery.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateTitleQuery.xml new file mode 100644 index 0000000000000000000000000000000000000000..33f916865958ab09ff168cea2e7149cbe6aee9a8 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateTitleQuery.xml @@ -0,0 +1,78 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Python Script" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>search_value, search_key=None, group=None, logical_operator=None, comparison_operator=None</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>SQLCatalog_makeTranslatedCausalityStateTitleQuery</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Python Script</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> + <none/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateQuery.catalog_keys.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateQuery.catalog_keys.xml new file mode 100644 index 0000000000000000000000000000000000000000..a540f9431e9c394244ed71562b197938e6fe9258 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateQuery.catalog_keys.xml @@ -0,0 +1,2 @@ +<catalog_method> +</catalog_method> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateQuery.py b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateQuery.py new file mode 100644 index 0000000000000000000000000000000000000000..340beeaf7059a8ad29845b2192f310fe1fd13103 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateQuery.py @@ -0,0 +1,9 @@ +return context.SQLCatalog_makeTranslationQuery( + search_value=search_value, + column_id='opportunity_state', + message_context='opportunity_state', + search_key=search_key, + group=group, + logical_operator=logical_operator, + comparison_operator=comparison_operator, +) diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateQuery.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateQuery.xml new file mode 100644 index 0000000000000000000000000000000000000000..693a450e8a28a143b69b155f9c351c1dad260d51 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateQuery.xml @@ -0,0 +1,78 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Python Script" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>search_value, search_key=None, group=None, logical_operator=None, comparison_operator=None</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>SQLCatalog_makeTranslatedOpportunityStateQuery</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Python Script</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> + <none/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateTitleQuery.catalog_keys.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateTitleQuery.catalog_keys.xml new file mode 100644 index 0000000000000000000000000000000000000000..a540f9431e9c394244ed71562b197938e6fe9258 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateTitleQuery.catalog_keys.xml @@ -0,0 +1,2 @@ +<catalog_method> +</catalog_method> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateTitleQuery.py b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateTitleQuery.py new file mode 100644 index 0000000000000000000000000000000000000000..babc50b4ee4759b218c358ab5d22cd3f552d87dd --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateTitleQuery.py @@ -0,0 +1,9 @@ +return context.SQLCatalog_makeTranslationQuery( + search_value=search_value, + column_id='opportunity_state', + message_context='opportunity_state_title', + search_key=search_key, + group=group, + logical_operator=logical_operator, + comparison_operator=comparison_operator, +) diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateTitleQuery.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateTitleQuery.xml new file mode 100644 index 0000000000000000000000000000000000000000..68bb937e5286b4d84609dc10cf2ac01f1249b160 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateTitleQuery.xml @@ -0,0 +1,78 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Python Script" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>search_value, search_key=None, group=None, logical_operator=None, comparison_operator=None</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>SQLCatalog_makeTranslatedOpportunityStateTitleQuery</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Python Script</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> + <none/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedPortalTypeQuery.catalog_keys.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedPortalTypeQuery.catalog_keys.xml new file mode 100644 index 0000000000000000000000000000000000000000..a540f9431e9c394244ed71562b197938e6fe9258 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedPortalTypeQuery.catalog_keys.xml @@ -0,0 +1,2 @@ +<catalog_method> +</catalog_method> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedPortalTypeQuery.py b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedPortalTypeQuery.py new file mode 100644 index 0000000000000000000000000000000000000000..d4e3a9d0824fd920aeab7f1870b665b8d6a5eb32 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedPortalTypeQuery.py @@ -0,0 +1,20 @@ +from Products.ZSQLCatalog.SQLCatalog import SimpleQuery +operator_value_dict, logical_operator, _ = search_key.processSearchValue( + detect_like=True, + search_value=search_value, + default_logical_operator=logical_operator, + comparison_operator=comparison_operator, +) +row_list = context.SQLCatalog_zSearchTranslation( + language=context.getPortalObject().Localizer.get_selected_language(), + message_context='portal_type', + logical_operator=logical_operator, + translated_message_dict=operator_value_dict, +) +if row_list: + return SimpleQuery( + group=group, + portal_type=list({x.portal_type for x in row_list}), + ) +# No translation, match nothing. +return SimpleQuery(uid=-1) diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedPortalTypeQuery.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedPortalTypeQuery.xml new file mode 100644 index 0000000000000000000000000000000000000000..9f86fa3495efaed851c79e682341810ad1969f64 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedPortalTypeQuery.xml @@ -0,0 +1,78 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Python Script" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>search_value, search_key=None, group=None, logical_operator=None, comparison_operator=None</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>SQLCatalog_makeTranslatedPortalTypeQuery</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Python Script</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> + <none/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateQuery.catalog_keys.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateQuery.catalog_keys.xml new file mode 100644 index 0000000000000000000000000000000000000000..a540f9431e9c394244ed71562b197938e6fe9258 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateQuery.catalog_keys.xml @@ -0,0 +1,2 @@ +<catalog_method> +</catalog_method> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateQuery.py b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateQuery.py new file mode 100644 index 0000000000000000000000000000000000000000..9aff5abc26f989045d4fe8d6dfbc0c4c257bdeff --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateQuery.py @@ -0,0 +1,9 @@ +return context.SQLCatalog_makeTranslationQuery( + search_value=search_value, + column_id='simulation_state', + message_context='simulation_state', + search_key=search_key, + group=group, + logical_operator=logical_operator, + comparison_operator=comparison_operator, +) diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateQuery.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateQuery.xml new file mode 100644 index 0000000000000000000000000000000000000000..5b185046f0eb2ee27757d57cbb8846cacfa27dfd --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateQuery.xml @@ -0,0 +1,78 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Python Script" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>search_value, search_key=None, group=None, logical_operator=None, comparison_operator=None</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>SQLCatalog_makeTranslatedSimulationStateQuery</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Python Script</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> + <none/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateTitleQuery.catalog_keys.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateTitleQuery.catalog_keys.xml new file mode 100644 index 0000000000000000000000000000000000000000..a540f9431e9c394244ed71562b197938e6fe9258 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateTitleQuery.catalog_keys.xml @@ -0,0 +1,2 @@ +<catalog_method> +</catalog_method> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateTitleQuery.py b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateTitleQuery.py new file mode 100644 index 0000000000000000000000000000000000000000..0c36a29ae22dcbd4cdd0e3faf40a29d6a94287d8 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateTitleQuery.py @@ -0,0 +1,9 @@ +return context.SQLCatalog_makeTranslationQuery( + search_value=search_value, + column_id='simulation_state', + message_context='simulation_state_title', + search_key=search_key, + group=group, + logical_operator=logical_operator, + comparison_operator=comparison_operator, +) diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateTitleQuery.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateTitleQuery.xml new file mode 100644 index 0000000000000000000000000000000000000000..938bcf5a4787ba6fd66180c4494658901da5ff3c --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateTitleQuery.xml @@ -0,0 +1,78 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Python Script" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>search_value, search_key=None, group=None, logical_operator=None, comparison_operator=None</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>SQLCatalog_makeTranslatedSimulationStateTitleQuery</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Python Script</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> + <none/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateQuery.catalog_keys.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateQuery.catalog_keys.xml new file mode 100644 index 0000000000000000000000000000000000000000..a540f9431e9c394244ed71562b197938e6fe9258 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateQuery.catalog_keys.xml @@ -0,0 +1,2 @@ +<catalog_method> +</catalog_method> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateQuery.py b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateQuery.py new file mode 100644 index 0000000000000000000000000000000000000000..47e44bfdc5f6a3418b52b1939240951522fda3e3 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateQuery.py @@ -0,0 +1,9 @@ +return context.SQLCatalog_makeTranslationQuery( + search_value=search_value, + column_id='validation_state', + message_context='validation_state', + search_key=search_key, + group=group, + logical_operator=logical_operator, + comparison_operator=comparison_operator, +) diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateQuery.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateQuery.xml new file mode 100644 index 0000000000000000000000000000000000000000..af21392f65be1eb48944e05fe482992521f71f9a --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateQuery.xml @@ -0,0 +1,78 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Python Script" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>search_value, search_key=None, group=None, logical_operator=None, comparison_operator=None</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>SQLCatalog_makeTranslatedValidationStateQuery</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Python Script</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> + <none/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateTitleQuery.catalog_keys.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateTitleQuery.catalog_keys.xml new file mode 100644 index 0000000000000000000000000000000000000000..a540f9431e9c394244ed71562b197938e6fe9258 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateTitleQuery.catalog_keys.xml @@ -0,0 +1,2 @@ +<catalog_method> +</catalog_method> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateTitleQuery.py b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateTitleQuery.py new file mode 100644 index 0000000000000000000000000000000000000000..b71b76f0bff4c3b43de9afb92bb02586fcdcdbff --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateTitleQuery.py @@ -0,0 +1,9 @@ +return context.SQLCatalog_makeTranslationQuery( + search_value=search_value, + column_id='validation_state', + message_context='validation_state_title', + search_key=search_key, + group=group, + logical_operator=logical_operator, + comparison_operator=comparison_operator, +) diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateTitleQuery.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateTitleQuery.xml new file mode 100644 index 0000000000000000000000000000000000000000..1cc9ba3de9de540741c5350f93c837abea28d439 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateTitleQuery.xml @@ -0,0 +1,78 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Python Script" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>search_value, search_key=None, group=None, logical_operator=None, comparison_operator=None</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>SQLCatalog_makeTranslatedValidationStateTitleQuery</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Python Script</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> + <none/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslationQuery.catalog_keys.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslationQuery.catalog_keys.xml new file mode 100644 index 0000000000000000000000000000000000000000..a540f9431e9c394244ed71562b197938e6fe9258 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslationQuery.catalog_keys.xml @@ -0,0 +1,2 @@ +<catalog_method> +</catalog_method> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslationQuery.py b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslationQuery.py new file mode 100644 index 0000000000000000000000000000000000000000..fe8f0240a0b499a2c827bce7d48dcee9605f1b29 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslationQuery.py @@ -0,0 +1,37 @@ +from collections import defaultdict +from Products.ZSQLCatalog.SQLCatalog import SimpleQuery, ComplexQuery +operator_value_dict, logical_operator, _ = search_key.processSearchValue( + detect_like=True, + search_value=search_value, + default_logical_operator=logical_operator, + comparison_operator=comparison_operator, +) +original_message_dict = defaultdict(set) +for row in context.SQLCatalog_zSearchTranslation( + language=context.getPortalObject().Localizer.get_selected_language(), + message_context=message_context, + logical_operator=logical_operator, + translated_message_dict=operator_value_dict, +): + original_message_dict[row.original_message].add(row.portal_type) +query_list = [ + ComplexQuery( + SimpleQuery( + group=group, + comparison_operator='=', + **{column_id: original_message} + ), + SimpleQuery( + group=group, + portal_type=list(portal_type_set), + ), + logical_operator='and', + ) + for original_message, portal_type_set in original_message_dict.iteritems() +] +if len(query_list) == 1: + return query_list[0] +if query_list: + return ComplexQuery(query_list, logical_operator='or') +# No translation, match nothing. +return SimpleQuery(uid=-1) diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslationQuery.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslationQuery.xml new file mode 100644 index 0000000000000000000000000000000000000000..b4da2584a49e19cc264fd4ec18b9a31eddfd14b2 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTranslationQuery.xml @@ -0,0 +1,78 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Python Script" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>search_value, column_id, message_context, search_key=None, group=None, logical_operator=None, comparison_operator=None</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>SQLCatalog_makeTranslationQuery</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Python Script</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> + <none/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_zSearchTranslation.catalog_keys.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_zSearchTranslation.catalog_keys.xml new file mode 100644 index 0000000000000000000000000000000000000000..a540f9431e9c394244ed71562b197938e6fe9258 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_zSearchTranslation.catalog_keys.xml @@ -0,0 +1,2 @@ +<catalog_method> +</catalog_method> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_zSearchTranslation.sql b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_zSearchTranslation.sql new file mode 100644 index 0000000000000000000000000000000000000000..1fa9e6ff845f358490259b61ebbff2a8f7a96767 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_zSearchTranslation.sql @@ -0,0 +1,30 @@ +SELECT original_message, portal_type +FROM translation +<dtml-sqlgroup where> + <dtml-sqltest language type="string" op="eq"> <dtml-and> + <dtml-sqltest message_context type="string" op="eq"> <dtml-and> + <dtml-sqlgroup> + <dtml-if expr="'=' in translated_message_dict"> + <dtml-sqltest column="translated_message" type="string" op="eq" expr="translated_message_dict['=']" multiple> <dtml-var logical_operator> + </dtml-if> + <dtml-if expr="'!=' in translated_message_dict"> + <dtml-sqltest column="translated_message" type="string" op="ne" expr="translated_message_dict['!=']" multiple> <dtml-var logical_operator> + </dtml-if> + <dtml-if expr="'<' in translated_message_dict"><dtml-in expr="translated_message_dict['<']" prefix="value"> + <dtml-sqltest column="translated_message" type="string" op="lt" expr="value_item"> <dtml-var logical_operator> + </dtml-in></dtml-if> + <dtml-if expr="'<=' in translated_message_dict"><dtml-in expr="translated_message_dict['<=']" prefix="value"> + <dtml-sqltest column="translated_message" type="string" op="le" expr="value_item"> <dtml-var logical_operator> + </dtml-in></dtml-if> + <dtml-if expr="'>' in translated_message_dict"><dtml-in expr="translated_message_dict['>']" prefix="value"> + <dtml-sqltest column="translated_message" type="string" op="gt" expr="value_item"> <dtml-var logical_operator> + </dtml-in></dtml-if> + <dtml-if expr="'>=' in translated_message_dict"><dtml-in expr="translated_message_dict['>=']" prefix="value"> + <dtml-sqltest column="translated_message" type="string" op="ge" expr="value_item"> <dtml-var logical_operator> + </dtml-in></dtml-if> + <dtml-if expr="'like' in translated_message_dict"><dtml-in expr="translated_message_dict['like']" prefix="value"> + <dtml-sqltest column="translated_message" type="string" op="like" expr="value_item"> <dtml-var logical_operator> + </dtml-in></dtml-if> + <dtml-if expr="logical_operator == 'and'">1<dtml-else>0</dtml-if> + </dtml-sqlgroup> +</dtml-sqlgroup> \ No newline at end of file diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_zSearchTranslation.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_zSearchTranslation.xml new file mode 100644 index 0000000000000000000000000000000000000000..d45b14280ee0410230d9653662a32edf474707f2 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_zSearchTranslation.xml @@ -0,0 +1,55 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="SQL Method" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>allow_simple_one_argument_traversal</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>arguments_src</string> </key> + <value> <string>language\n +message_context\n +logical_operator\n +translated_message_dict</string> </value> + </item> + <item> + <key> <string>class_file_</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>class_name_</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>connection_id</string> </key> + <value> <string>erp5_sql_connection</string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>SQLCatalog_zSearchTranslation</string> </value> + </item> + <item> + <key> <string>max_rows_</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>SQL Method</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>SQLCatalog_zSearchTranslation</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogScriptableKeyTemplateItem/scriptable_key_list.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogScriptableKeyTemplateItem/scriptable_key_list.xml index 9d9d3b34680c5230251c55fc53c2c2823a66dc15..8faa66bac1a14c29d3bf842edf2841f547f3ce31 100644 --- a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogScriptableKeyTemplateItem/scriptable_key_list.xml +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogScriptableKeyTemplateItem/scriptable_key_list.xml @@ -3,5 +3,14 @@ <key>full_text | SQLCatalog_makeFullTextQuery</key> <key>quick_search_text | SQLCatalog_makeQuickSearchQuery</key> <key>search_text | SQLCatalog_makeSearchTextQuery</key> + <key>translated_causality_state | SQLCatalog_makeTranslatedCausalityStateQuery</key> + <key>translated_causality_state_title | SQLCatalog_makeTranslatedCausalityStateTitleQuery</key> + <key>translated_opportunity_state | SQLCatalog_makeTranslatedOpportunityStateQuery</key> + <key>translated_opportunity_state_title | SQLCatalog_makeTranslatedOpportunityStateTitleQuery</key> + <key>translated_portal_type | SQLCatalog_makeTranslatedPortalTypeQuery</key> + <key>translated_simulation_state | SQLCatalog_makeTranslatedSimulationStateQuery</key> + <key>translated_simulation_state_title | SQLCatalog_makeTranslatedSimulationStateTitleQuery</key> <key>translated_title | SQLCatalog_makeTranslatedTitleQuery</key> + <key>translated_validation_state | SQLCatalog_makeTranslatedValidationStateQuery</key> + <key>translated_validation_state_title | SQLCatalog_makeTranslatedValidationStateTitleQuery</key> </key_list> \ No newline at end of file diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_method_id_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_method_id_list index 2d0d43240b84e7dcd95592d6213ba714f47ab30c..8ebd5730e32f556fefc0b77730831536324e0e8b 100644 --- a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_method_id_list +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_method_id_list @@ -3,8 +3,19 @@ erp5_mysql_innodb/SQLCatalog_catalogTransformationList erp5_mysql_innodb/SQLCatalog_getDocumentValueList erp5_mysql_innodb/SQLCatalog_makeQuickSearchQuery erp5_mysql_innodb/SQLCatalog_makeSearchTextQuery +erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateQuery +erp5_mysql_innodb/SQLCatalog_makeTranslatedCausalityStateTitleQuery +erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateQuery +erp5_mysql_innodb/SQLCatalog_makeTranslatedOpportunityStateTitleQuery +erp5_mysql_innodb/SQLCatalog_makeTranslatedPortalTypeQuery +erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateQuery +erp5_mysql_innodb/SQLCatalog_makeTranslatedSimulationStateTitleQuery erp5_mysql_innodb/SQLCatalog_makeTranslatedTitleQuery +erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateQuery +erp5_mysql_innodb/SQLCatalog_makeTranslatedValidationStateTitleQuery +erp5_mysql_innodb/SQLCatalog_makeTranslationQuery erp5_mysql_innodb/SQLCatalog_zGetDocumentValueList +erp5_mysql_innodb/SQLCatalog_zSearchTranslation erp5_mysql_innodb/z0_drop_alarm erp5_mysql_innodb/z0_drop_catalog erp5_mysql_innodb/z0_drop_category diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_scriptable_key_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_scriptable_key_list index db22494ec8f09578e050d6e20232c833a847daa5..badbc8c3983045577b6c5333d22e174123f0b3e4 100644 --- a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_scriptable_key_list +++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_scriptable_key_list @@ -2,4 +2,13 @@ quick_search_text | SQLCatalog_makeQuickSearchQuery advanced_search_text | SQLCatalog_makeQuickSearchQuery full_text | SQLCatalog_makeFullTextQuery search_text | SQLCatalog_makeSearchTextQuery -translated_title | SQLCatalog_makeTranslatedTitleQuery \ No newline at end of file +translated_title | SQLCatalog_makeTranslatedTitleQuery +translated_simulation_state_title | SQLCatalog_makeTranslatedSimulationStateTitleQuery +translated_validation_state_title | SQLCatalog_makeTranslatedValidationStateTitleQuery +translated_simulation_state | SQLCatalog_makeTranslatedSimulationStateQuery +translated_validation_state | SQLCatalog_makeTranslatedValidationStateQuery +translated_portal_type | SQLCatalog_makeTranslatedPortalTypeQuery +translated_causality_state | SQLCatalog_makeTranslatedCausalityStateQuery +translated_causality_state_title | SQLCatalog_makeTranslatedCausalityStateTitleQuery +translated_opportunity_state | SQLCatalog_makeTranslatedOpportunityStateQuery +translated_opportunity_state_title | SQLCatalog_makeTranslatedOpportunityStateTitleQuery \ No newline at end of file diff --git a/product/ERP5Form/tests/testGUIwithSecurity.py b/product/ERP5Form/tests/testGUIwithSecurity.py index 0389824647e419b9575bf5436cbbd60943bb8493..4fec5e6b5d7b2660cdefbbbd05b2280c5d9c0f9c 100644 --- a/product/ERP5Form/tests/testGUIwithSecurity.py +++ b/product/ERP5Form/tests/testGUIwithSecurity.py @@ -162,3 +162,59 @@ class TestGUISecurity(ERP5TypeTestCase): self.loginAs() # user without permission to access protected property self.assertNotIn(protected_property_markup, self.portal.foo_module.foo.Foo_viewSecurity()) + def test_translated_state_title_lookup(self): + """ + Tests that looking up document which have the same translated state title + but different states are found, and conversely same state document but with + different title are not found. + + Note: not testing security, but here because this is one of the rare unit + tests which install erp5_ui_test. + """ + self.login() + portal = self.portal + newContent = portal.foo_bar_module.newContent + foo_1 = newContent(portal_type='Foo') + foo_1.reallyValidate() + foo_2 = newContent(portal_type='Foo') + foo_2.reallyValidate() + foo_2.reallyInvalidate() + bar_1 = newContent(portal_type='Bar') + bar_1.reallyValidate() + bar_2 = newContent(portal_type='Bar') + bar_2.reallyValidate() + bar_2.reallyInvalidate() + # Test sanity checks: + # - Foo: "correct" title + self.assertEqual(foo_1.getTranslatedValidationStateTitle(), 'Validated') + self.assertEqual(foo_2.getTranslatedValidationStateTitle(), 'Invalidated') + # - Bar: reversed title + self.assertEqual(bar_1.getTranslatedValidationStateTitle(), 'Invalidated') + self.assertEqual(bar_2.getTranslatedValidationStateTitle(), 'Validated') + self.tic() + self.assertItemsEqual( + portal.portal_catalog( + select_list=['translated_validation_state_title'], + uid=[ + foo_1.getUid(), + foo_2.getUid(), + bar_1.getUid(), + bar_2.getUid(), + ], + translated_validation_state_title='Validat%', + # Note: not actually tested, just checking nothing raises when this is + # provided. + sort_on=(('translated_validation_state_title', 'ASC'), ), + ).dictionaries(), + [ + { + 'path': foo_1.getPath(), + 'uid': foo_1.getUid(), + 'translated_validation_state_title': 'Validated', + }, { + 'path': bar_2.getPath(), + 'uid': bar_2.getUid(), + 'translated_validation_state_title': 'Validated', + } + ], + )