v14-facturacionelectronica/l10n_co_account_e_invoicing/controllers/main.py

45 lines
1.7 KiB
Python

# -*- coding: utf-8 -*-
# Copyright 2021 Joan Marín <Github@JoanMarin>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from datetime import datetime
from pytz import timezone
from odoo import http
from odoo.http import request
class DianDocumentController(http.Controller):
@http.route('/dian/document/accept', type='http', auth="none")
def accept(self, db, token, id, **kwargs):
request.session.db = db
move_id = request.env['account.move'].sudo().search([
('access_token', '=', token), ('id', '=', id)])
if move_id and not move_id.accepted_rejected_datetime:
move_id.write({
'is_accepted_rejected': True,
'accepted_rejected_datetime': datetime.now().replace(
tzinfo=None), #timezone('UTC')),
'dian_document_state': 'customer_accept'})
return request.render('l10n_co_account_e_invoicing.customer_accept_invoice', {})
return
@http.route('/dian/document/reject', type='http', auth="none")
def reject(self, db, token, id, **kwargs):
request.session.db = db
move_id = request.env['account.move'].sudo().search([
('access_token', '=', token), ('id', '=', id)])
if move_id and not move_id.accepted_rejected_datetime:
move_id.write({
'is_accepted_rejected': False,
'accepted_rejected_datetime': datetime.now().replace(
tzinfo=None), #timezone('UTC')),
'dian_document_state': 'customer_reject'})
return request.render('l10n_co_account_e_invoicing.customer_reject_invoice', {})
return