minor fix for print tickect and invoice
This commit is contained in:
parent
e36a2c6fce
commit
85cd66c923
83
sale.py
83
sale.py
|
@ -208,8 +208,87 @@ class Sale(metaclass=PoolMeta):
|
|||
response_process_pay = process_response(response)
|
||||
if response_process_pay is not None:
|
||||
break
|
||||
print(response_process_pay)
|
||||
return get_dict_response_pay(response_process_pay) if response_process_pay else {'status': 'error al procesar pago'}
|
||||
if response_process_pay:
|
||||
data_pay = get_dict_response_pay(response_process_pay)
|
||||
result = {
|
||||
'pay': data_pay,
|
||||
'status': 'ok',
|
||||
'msg': 'Pago exitoso'
|
||||
}
|
||||
else:
|
||||
result = {
|
||||
'pay': None,
|
||||
'status': 'error',
|
||||
'msg': 'error al procesar pago'
|
||||
}
|
||||
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
def process_pay_sale(cls, args):
|
||||
pool = Pool()
|
||||
Device = pool.get('sale.device')
|
||||
StatementLine = pool.get('account.statement.line')
|
||||
Date = pool.get('ir.date')
|
||||
|
||||
payment = args['pay']
|
||||
sale_id = args['sale_id']
|
||||
|
||||
sale, = cls.browse([sale_id])
|
||||
if sale.residual_amount == sale.total_amount:
|
||||
device, = Device.search([
|
||||
('shop', '=', sale.shop.id),
|
||||
])
|
||||
sale.sale_device = device
|
||||
|
||||
payment_means_code = '48' if payment['tipo_cuenta'] == 'CR' else '49'
|
||||
journal_id = None
|
||||
for journal in device.journals:
|
||||
if journal.payment_means_code == payment_means_code:
|
||||
journal_id = journal.id
|
||||
break
|
||||
|
||||
statement_open_id = cls.is_statement_open(
|
||||
journal_id, sale.sale_device.id)
|
||||
to_create = {
|
||||
'sale': sale_id,
|
||||
'date': Date.today(),
|
||||
'statement': statement_open_id,
|
||||
'amount': sale.total_amount,
|
||||
'party': sale.party.id,
|
||||
'account': sale.party.account_receivable.id,
|
||||
'description': sale.invoice_number or '',
|
||||
'number': payment['consecutivo_transaccion']
|
||||
}
|
||||
line, = StatementLine.create([to_create])
|
||||
line.create_move()
|
||||
cls.wizard_generate_invoice([sale])
|
||||
qr_code = sale.number + ' ' + str(sale.sale_date)
|
||||
data_order = cls.get_order2print({'sale_id': sale_id, 'repeat': True})
|
||||
data_invoice = cls.get_data({'sale_id': sale_id, 'type_doc': 'invoice'})
|
||||
data_invoice['qr_code'] = qr_code
|
||||
for d in data_order[0].values():
|
||||
d['qr_code'] = qr_code
|
||||
shop = sale.shop
|
||||
ctx = {
|
||||
'company': sale.company.party.name,
|
||||
'sale_device': sale.sale_device.name,
|
||||
'shop': shop.name,
|
||||
'street': shop.address.street,
|
||||
'user': "app.user",
|
||||
'city': shop.address.city_code.name,
|
||||
'zip': "00000",
|
||||
'phone': sale.company.party.phone,
|
||||
'id_number': sale.company.party.id_number,
|
||||
'tax_regime': "NA",
|
||||
}
|
||||
|
||||
return {
|
||||
'status': 'ok',
|
||||
'data_order': data_order[0],
|
||||
'data_invoice': data_invoice,
|
||||
'ctx': ctx,
|
||||
}
|
||||
|
||||
@classmethod
|
||||
def dash_get_line(cls, args, ctx):
|
||||
|
|
Loading…
Reference in New Issue