changeset 22dfe7aa3288 in modules/sale_complaint:default
details: 
https://hg.tryton.org/modules/sale_complaint?cmd=changeset;node=22dfe7aa3288
description:
        Allow to reset to draft approved and rejected complaint

        Use the queue to process the complaint.

        issue8275
        review283241004
diffstat:

 CHANGELOG                         |   3 +++
 complaint.py                      |  10 +++++++++-
 complaint.xml                     |   4 ++--
 tests/scenario_sale_complaint.rst |   7 -------
 4 files changed, 14 insertions(+), 10 deletions(-)

diffs (100 lines):

diff -r 6433ccaed79f -r 22dfe7aa3288 CHANGELOG
--- a/CHANGELOG Mon May 06 15:10:58 2019 +0200
+++ b/CHANGELOG Mon May 20 15:52:12 2019 +0200
@@ -1,3 +1,6 @@
+* Use processing delay to process approved complaint
+* Allow reset to draft approved and rejected complaint
+
 Version 5.2.0 - 2019-05-06
 * Bug fixes (see mercurial logs for details)
 
diff -r 6433ccaed79f -r 22dfe7aa3288 complaint.py
--- a/complaint.py      Mon May 06 15:10:58 2019 +0200
+++ b/complaint.py      Mon May 20 15:52:12 2019 +0200
@@ -87,9 +87,11 @@
                 ('waiting', 'approved'),
                 ('waiting', 'rejected'),
                 ('approved', 'done'),
+                ('approved', 'draft'),
                 ('draft', 'cancelled'),
                 ('waiting', 'cancelled'),
                 ('done', 'draft'),
+                ('rejected', 'draft'),
                 ('cancelled', 'draft'),
                 ))
         cls._buttons.update({
@@ -269,7 +271,13 @@
     @ModelView.button
     @Workflow.transition('approved')
     def approve(cls, complaints):
-        pass
+        pool = Pool()
+        Configuration = pool.get('sale.configuration')
+        config = Configuration(1)
+        with Transaction().set_context(
+                queue_name='sale',
+                queue_scheduled_at=config.sale_process_after):
+            cls.__queue__.process(complaints)
 
     @classmethod
     @ModelView.button
diff -r 6433ccaed79f -r 22dfe7aa3288 complaint.xml
--- a/complaint.xml     Mon May 06 15:10:58 2019 +0200
+++ b/complaint.xml     Mon May 20 15:52:12 2019 +0200
@@ -252,9 +252,9 @@
             <field name="string">Process</field>
             <field name="model" search="[('model', '=', 'sale.complaint')]"/>
         </record>
-        <record model="ir.model.button-res.group" 
id="complaint_do_button_group_sale">
+        <record model="ir.model.button-res.group" 
id="complaint_do_button_group_sale_admin">
             <field name="button" ref="complaint_do_button"/>
-            <field name="group" ref="sale.group_sale"/>
+            <field name="group" ref="sale.group_sale_admin"/>
         </record>
 
         <record model="ir.ui.view" id="action_view_form">
diff -r 6433ccaed79f -r 22dfe7aa3288 tests/scenario_sale_complaint.rst
--- a/tests/scenario_sale_complaint.rst Mon May 06 15:10:58 2019 +0200
+++ b/tests/scenario_sale_complaint.rst Mon May 20 15:52:12 2019 +0200
@@ -106,7 +106,6 @@
     >>> sale_line.quantity = 2
     >>> sale.click('quote')
     >>> sale.click('confirm')
-    >>> sale.click('process')
 
 Post the invoice::
 
@@ -130,9 +129,6 @@
     'waiting'
     >>> complaint.click('approve')
     >>> complaint.state
-    'approved'
-    >>> complaint.click('process')
-    >>> complaint.state
     'done'
     >>> action, = complaint.actions
     >>> return_sale = action.result
@@ -152,7 +148,6 @@
     >>> action.quantity = 1
     >>> complaint.click('wait')
     >>> complaint.click('approve')
-    >>> complaint.click('process')
     >>> complaint.state
     'done'
     >>> action, = complaint.actions
@@ -171,7 +166,6 @@
     >>> action.action = 'credit_note'
     >>> complaint.click('wait')
     >>> complaint.click('approve')
-    >>> complaint.click('process')
     >>> complaint.state
     'done'
     >>> action, = complaint.actions
@@ -194,7 +188,6 @@
     >>> action.quantity = 1
     >>> complaint.click('wait')
     >>> complaint.click('approve')
-    >>> complaint.click('process')
     >>> complaint.state
     'done'
     >>> action, = complaint.actions

Reply via email to