From 469e8a2280062af3c8bd72e7a6ef4a56aa4b8dc0 Mon Sep 17 00:00:00 2001 From: Benjamin Willig Date: Mon, 29 May 2017 12:54:56 +0200 Subject: [PATCH] [IMP] Taxes data should not be editable if linked move is not in draft --- account_move_line_tax_editable/__init__.py | 1 + .../__manifest__.py | 2 +- .../models/__init__.py | 1 + .../models/account_move_line.py | 24 +++++++++++++++++++ .../views/account_move.xml | 6 +++-- .../views/account_move_line.xml | 5 ++++ 6 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 account_move_line_tax_editable/models/__init__.py create mode 100644 account_move_line_tax_editable/models/account_move_line.py diff --git a/account_move_line_tax_editable/__init__.py b/account_move_line_tax_editable/__init__.py index e69de29bb..0650744f6 100644 --- a/account_move_line_tax_editable/__init__.py +++ b/account_move_line_tax_editable/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/account_move_line_tax_editable/__manifest__.py b/account_move_line_tax_editable/__manifest__.py index 5b1603e7f..217050c8a 100644 --- a/account_move_line_tax_editable/__manifest__.py +++ b/account_move_line_tax_editable/__manifest__.py @@ -5,7 +5,7 @@ { 'name': 'Account Move Line Tax Editable', 'summary': """ - Allows to edit taxes on account move lines""", + Allows to edit taxes on non-posted account move lines""", 'version': '10.0.1.0.0', 'license': 'AGPL-3', 'author': 'ACSONE SA/NV,Odoo Community Association (OCA)', diff --git a/account_move_line_tax_editable/models/__init__.py b/account_move_line_tax_editable/models/__init__.py new file mode 100644 index 000000000..8795b3bea --- /dev/null +++ b/account_move_line_tax_editable/models/__init__.py @@ -0,0 +1 @@ +from . import account_move_line diff --git a/account_move_line_tax_editable/models/account_move_line.py b/account_move_line_tax_editable/models/account_move_line.py new file mode 100644 index 000000000..551ce637a --- /dev/null +++ b/account_move_line_tax_editable/models/account_move_line.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Copyright 2017 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class AccountMoveLine(models.Model): + + _inherit = 'account.move.line' + + is_tax_editable = fields.Boolean( + string="Is tax data editable?", compute='_compute_is_tax_editable') + + @api.multi + @api.depends('move_id.state') + def _compute_is_tax_editable(self): + for rec in self: + rec.is_tax_editable = rec._get_is_tax_editable() + + @api.multi + def _get_is_tax_editable(self): + self.ensure_one() + return self.move_id.state == 'draft' diff --git a/account_move_line_tax_editable/views/account_move.xml b/account_move_line_tax_editable/views/account_move.xml index 104ab95e2..a430cb2d0 100644 --- a/account_move_line_tax_editable/views/account_move.xml +++ b/account_move_line_tax_editable/views/account_move.xml @@ -11,8 +11,10 @@ - - + + + diff --git a/account_move_line_tax_editable/views/account_move_line.xml b/account_move_line_tax_editable/views/account_move_line.xml index 110de0f61..30e556488 100644 --- a/account_move_line_tax_editable/views/account_move_line.xml +++ b/account_move_line_tax_editable/views/account_move_line.xml @@ -10,11 +10,16 @@ account.move.line + + + 0 + {'readonly': [('is_tax_editable', '=', False)]} 0 + {'readonly': [('is_tax_editable', '=', False)]}