Reviewers: ,


Please review this at http://codereview.tryton.org/340004/

Affected files:
  M purchase.py
  M purchase.xml


Index: purchase.py
===================================================================
--- a/purchase.py
+++ b/purchase.py
@@ -146,16 +146,16 @@
                 ('draft', 'cancel'),
                 ('quotation', 'cancel'),
                 ('quotation', 'draft'),
+                ('cancel', 'draft'),
                 ))
         self._buttons.update({
                 'cancel': {
-                    'invisible': ((Eval('state') == 'cancel')
-                        | (~Eval('state').in_(['draft', 'quotation'])
-                            & (Eval('invoice_state') != 'exception')
-                            & (Eval('shipment_state') != 'exception'))),
+ 'invisible': ~Eval('state').in_(['draft', 'quotation']),
                     },
                 'draft': {
-                    'invisible': Eval('state') != 'quotation',
+ 'invisible': ~Eval('state').in_(['cancel', 'quotation']),
+                    'icon': If(Eval('state') == 'cancel', 'tryton-clear',
+                        'tryton-go-previous'),
                     },
                 'quote': {
                     'invisible': Eval('state') != 'draft',
@@ -697,6 +697,9 @@
         invoice_line_obj = pool.get('account.invoice.line')
         purchase_line_obj = pool.get('purchase.line')

+        if purchase.invoice_method == 'manual':
+            return
+
         if not purchase.party.account_payable:
             self.raise_user_error('missing_account_payable',
                     error_args=(purchase.party.rec_name,))
@@ -738,7 +741,8 @@
             line_obj.create_move(line)

     def is_done(self, purchase):
-        return (purchase.invoice_state == 'paid'
+        return ((purchase.invoice_state == 'paid'
+                or purchase.invoice_method == 'manual')
             and purchase.shipment_state == 'received')

     def delete(self, ids):
Index: purchase.xml
===================================================================
--- a/purchase.xml
+++ b/purchase.xml
@@ -101,8 +101,7 @@
                                 <group col="6" colspan="2" id="buttons">
<button name="cancel" type="object" string="Cancel"
                                         icon="tryton-cancel"/>
- <button name="draft" type="object" string="Draft"
-                                        icon="tryton-go-previous"/>
+ <button name="draft" type="object" string="Draft"/> <button name="quote" type="object" string="Quote"
                                         icon="tryton-go-next"/>
<button name="%(wizard_invoice_handle_exception)d"


--
[email protected] mailing list

Reply via email to