45 lines
1.7 KiB
Python
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
|