Skip to content

Instantly share code, notes, and snippets.

@ianjosephwilson
Created October 20, 2014 22:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ianjosephwilson/8337173044dd4f193b23 to your computer and use it in GitHub Desktop.
Save ianjosephwilson/8337173044dd4f193b23 to your computer and use it in GitHub Desktop.
import logging
from trytond.model import Workflow, ModelView, ModelSQL, fields
from trytond.pyson import Eval, Or, And, Not, Bool, Equal
from trytond.wizard import Wizard, StateView, StateTransition, Button
from trytond.transaction import Transaction
from trytond.pool import Pool, PoolMeta
from trytond.rpc import RPC
__metaclass__ = PoolMeta
log = logging.getLogger(__name__)
class Sale(Workflow, ModelSQL, ModelView):
"Sale"
__name__ = 'sale.sale'
_description = __doc__
_rec_name = 'id'
@classmethod
def __setup__(cls):
super(Sale, cls).__setup__()
cls._buttons.update({
'cancel': {
'invisible': ~(Eval('state').in_(['draft', 'quotation']) |
(Eval('state').in_(['processing']) &
Eval('shipment_state').in_(['none', 'exception']) &
Eval('invoice_state').in_(['none', 'exception']))),
},
})
cls._transitions |= set([('processing', 'cancel')])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment