diff --git a/__init__.py b/__init__.py index bbca7bb..5f0e991 100644 --- a/__init__.py +++ b/__init__.py @@ -7,4 +7,4 @@ import sale def register(): Pool.register( sale.Sale, - module='dashboard_sale', type_='model') + module='dash_sale', type_='model') diff --git a/sale.py b/sale.py index a3c54e5..b17a7cc 100644 --- a/sale.py +++ b/sale.py @@ -13,6 +13,39 @@ __all__ = ['Sale'] class Sale(metaclass=PoolMeta): __name__ = 'sale.sale' + @classmethod + def __setup__(cls): + super(Sale, cls).__setup__() + + @classmethod + def dash_quote(cls, args, ctx): + Shop = Pool().get('sale.shop') + shop_id = ctx['shop'] + shop = Shop(shop_id) + to_create = { + 'shop': shop_id, + 'invoice_type': 'P', + 'company': shop.company.id, + 'party': args['party']['id'], + 'sale_date': args['sale_date'], + 'shipment_address': args['shipment_address']['id'], + 'invoice_address': args['shipment_address']['id'], + 'agent': args['agent']['id'], + 'payment_term': shop.payment_term.id, + 'state': 'draft', + 'lines': [('create', args['lines'])], + } + sale, = cls.create([to_create]) + cls.quote([sale]) + + res = { + 'record': {'id': sale.id, 'number': sale.number}, + 'msg': 'sucess_order', + 'status': 'ok', + 'open_modal': True, + } + return res + @classmethod def report_sales_day(cls, args, ctx): pass diff --git a/tryton.cfg b/tryton.cfg index be8d8ab..0ee2864 100644 --- a/tryton.cfg +++ b/tryton.cfg @@ -1,9 +1,9 @@ [tryton] -version=5.0.0 +version=5.0.1 depends: party product account sale - dashboard + dash xml: