diff --git a/l10n_fr_ecotaxe/models/ecotaxe_line_product.py b/l10n_fr_ecotaxe/models/ecotaxe_line_product.py index a599d4f99..cfe32bc99 100644 --- a/l10n_fr_ecotaxe/models/ecotaxe_line_product.py +++ b/l10n_fr_ecotaxe/models/ecotaxe_line_product.py @@ -51,3 +51,16 @@ def _compute_ecotaxe(self): if ecotaxeline.force_ecotaxe_amount: amt = ecotaxeline.force_ecotaxe_amount ecotaxeline.ecotaxe_amount = amt + + _sql_constraints = [ + ( + "unique_ecotaxe_classification_id_by_product", + "UNIQUE(ecotaxe_classification_id, product_id)", + "Only one ecotaxe classification occurrence by product", + ), + ( + "unique_ecotaxe_classification_id_by_product_tmpl", + "UNIQUE(ecotaxe_classification_id, product_tmplt_id)", + "Only one ecotaxe classification occurrence by product Template", + ), + ] diff --git a/l10n_fr_ecotaxe/views/account_move_view.xml b/l10n_fr_ecotaxe/views/account_move_view.xml index 5ee715705..017bfd0f6 100644 --- a/l10n_fr_ecotaxe/views/account_move_view.xml +++ b/l10n_fr_ecotaxe/views/account_move_view.xml @@ -13,8 +13,16 @@ expr="//field[@name='invoice_line_ids']/tree/field[@name='tax_ids']" position="after" > - - + + - + @@ -47,12 +59,21 @@ - - + + - + diff --git a/l10n_fr_ecotaxe/views/product_template_view.xml b/l10n_fr_ecotaxe/views/product_template_view.xml index 93bd7d2cd..f36a182f4 100644 --- a/l10n_fr_ecotaxe/views/product_template_view.xml +++ b/l10n_fr_ecotaxe/views/product_template_view.xml @@ -11,7 +11,10 @@ -