47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
from trytond.pool import Pool, PoolMeta
|
|
from trytond.model import ModelView, fields
|
|
from trytond.exceptions import UserError
|
|
|
|
|
|
class Sale(metaclass=PoolMeta):
|
|
"Sale Fast Food"
|
|
__name__ = 'sale.sale'
|
|
|
|
pizza_number = fields.Integer("Number pizza")
|
|
|
|
@classmethod
|
|
def __setup__(cls):
|
|
super(Sale, cls).__setup__()
|
|
cls._buttons.update({
|
|
'add_pizza': {},
|
|
})
|
|
|
|
@classmethod
|
|
def default_pizza_number(cls):
|
|
return 0
|
|
|
|
@classmethod
|
|
@ModelView.button
|
|
def add_pizza(cls, records):
|
|
for record in records:
|
|
record.pizza_number +=1
|
|
record.save()
|
|
|
|
|
|
class Line(metaclass=PoolMeta):
|
|
"Sale Line Fast Food"
|
|
__name__ = 'sale.line'
|
|
|
|
pizza = fields.Integer("Pizza")
|
|
|
|
|
|
@fields.depends('product', 'unit', 'sale',
|
|
'_parent_sale.party', '_parent_sale.invoice_party',
|
|
'_parent_sale.pizza_number',
|
|
methods=['compute_taxes', 'compute_unit_price',
|
|
'on_change_with_amount'])
|
|
def on_change_product(self):
|
|
super(Line, self).on_change_product()
|
|
if self.product.pizza:
|
|
self.pizza = self.sale.pizza_number
|