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)
|
response_process_pay = process_response(response)
|
||||||
if response_process_pay is not None:
|
if response_process_pay is not None:
|
||||||
break
|
break
|
||||||
print(response_process_pay)
|
if response_process_pay:
|
||||||
return get_dict_response_pay(response_process_pay) if response_process_pay else {'status': 'error al procesar pago'}
|
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
|
@classmethod
|
||||||
def dash_get_line(cls, args, ctx):
|
def dash_get_line(cls, args, ctx):
|
||||||
|
|
Loading…
Reference in New Issue