minor fix mark_commanded
This commit is contained in:
parent
040c9fecd8
commit
7e6a98c677
45
sale.py
45
sale.py
|
@ -62,8 +62,8 @@ class Sale(metaclass=PoolMeta):
|
|||
order_status_string = order_status.translated('order_status')
|
||||
# delivery_time = fields.Numeric('Delivery Time (Min)', help="In Minutes")
|
||||
# shipping_time = fields.DateTime('Shipping Time')
|
||||
waiting_time = fields.Function(fields.Integer('Shipping Time',
|
||||
help="In Minutes"), 'get_waiting_time')
|
||||
# waiting_time = fields.Function(fields.Integer('Shipping Time',
|
||||
# help="In Minutes"), 'get_waiting_time')
|
||||
order_status_time = fields.Many2One('sale.order_status.time', string='Times Order Status')
|
||||
|
||||
@classmethod
|
||||
|
@ -74,26 +74,6 @@ class Sale(metaclass=PoolMeta):
|
|||
def default_order_status():
|
||||
return 'draft'
|
||||
|
||||
def get_waiting_time(self, name=None):
|
||||
now = datetime.now()
|
||||
if self.state in ('draft', 'quotation', 'confirmed', 'processing'):
|
||||
delta = int((now - self.create_date).seconds / 60)
|
||||
return delta
|
||||
|
||||
@classmethod
|
||||
def write(cls, *args):
|
||||
actions = iter(args)
|
||||
delivery_sales = []
|
||||
for sales, values in zip(actions, actions):
|
||||
if 'delivery_party' in values:
|
||||
delivery_sales.extend(sales)
|
||||
if delivery_sales:
|
||||
now = datetime.now()
|
||||
order_status = [sale.order_status_time for sale in delivery_sales if sale.order_status_time]
|
||||
if order_status:
|
||||
Order = order_status[0].__class__
|
||||
Order.write(order_status, {'dispatched': now})
|
||||
super(Sale, cls).write(*args)
|
||||
|
||||
@classmethod
|
||||
def mark_commanded(cls, args):
|
||||
|
@ -101,25 +81,22 @@ class Sale(metaclass=PoolMeta):
|
|||
This method mark as commanded all products in sale, previous
|
||||
positive response of local printer
|
||||
"""
|
||||
Status = Pool().get('sale.order_status.time')
|
||||
Line = Pool().get('sale.line')
|
||||
sale = cls(args['sale_id'])
|
||||
sale.order_status = 'commanded'
|
||||
to_write = {'order_status': 'commanded'}
|
||||
now = datetime.now()
|
||||
if sale.order_status_time:
|
||||
sale.order_status_time.commanded = now
|
||||
sale.order_status_time.save()
|
||||
order_time = sale.order_status_time
|
||||
if order_time:
|
||||
Status.write([order_time], {'commanded': now})
|
||||
else:
|
||||
Status = Pool().get('sale.order_status.time')
|
||||
status, = Status.create([{'commanded': now, 'requested': now, 'sale': args['sale_id']}])
|
||||
sale.order_status_time = status
|
||||
sale.save()
|
||||
if sale.lines:
|
||||
to_write['order_status_time'] = status
|
||||
cls.write([sale], to_write)
|
||||
if args.get('lines_ids'):
|
||||
lines_ids = args['lines_ids']
|
||||
Line = sale.lines[0].__class__
|
||||
lines = Line.browse(lines_ids)
|
||||
Line.write(list(lines), {'order_sended': True, 'status_order': 'commanded'})
|
||||
# for line in sale.lines:
|
||||
# line.order_sended = True
|
||||
# line.save()
|
||||
|
||||
@classmethod
|
||||
def do(cls, sales):
|
||||
|
|
Loading…
Reference in New Issue