From e7a1a83c901b6d24601e2067bfce9212329e5f3c Mon Sep 17 00:00:00 2001 From: laurentbarontini Date: Mon, 25 May 2026 14:34:19 +0200 Subject: [PATCH] Fee rules --- modules/purchase_trade/fee.xml | 27 +++++-------------- modules/purchase_trade/icons/tradon-fee.svg | 4 +++ .../purchase_trade/icons/tradon-valuation.svg | 5 ++++ modules/purchase_trade/purchase.py | 8 ------ modules/purchase_trade/sale.py | 8 ------ modules/purchase_trade/valuation.xml | 8 +++++- modules/purchase_trade/view/purchase_form.xml | 1 - modules/purchase_trade/view/sale_form.xml | 1 - 8 files changed, 23 insertions(+), 39 deletions(-) create mode 100644 modules/purchase_trade/icons/tradon-fee.svg create mode 100644 modules/purchase_trade/icons/tradon-valuation.svg diff --git a/modules/purchase_trade/fee.xml b/modules/purchase_trade/fee.xml index 5f9480f..29107e2 100755 --- a/modules/purchase_trade/fee.xml +++ b/modules/purchase_trade/fee.xml @@ -80,24 +80,6 @@ this repository contains the full copyright notices and license terms. --> - - purchase.purchase - apply_default_fees - Apply Default Fees - - - - - - - sale.sale - apply_default_fees - Apply Default Fees - - - - - purchase.line apply_default_fees @@ -147,10 +129,15 @@ this repository contains the full copyright notices and license terms. --> + + tradon-fee + icons/tradon-fee.svg + + id="menu_fees" + icon="tradon-fee"/> + + + diff --git a/modules/purchase_trade/icons/tradon-valuation.svg b/modules/purchase_trade/icons/tradon-valuation.svg new file mode 100644 index 0000000..7c19f34 --- /dev/null +++ b/modules/purchase_trade/icons/tradon-valuation.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/modules/purchase_trade/purchase.py b/modules/purchase_trade/purchase.py index fb3188c..df0e6c6 100755 --- a/modules/purchase_trade/purchase.py +++ b/modules/purchase_trade/purchase.py @@ -410,14 +410,6 @@ class Purchase(metaclass=PoolMeta): def default_tolerance_option(cls): return '' - @classmethod - @ModelView.button - def apply_default_fees(cls, purchases): - lines = [ - line for purchase in purchases for line in (purchase.lines or []) - if getattr(line, 'type', None) == 'line'] - Pool().get('fee.rule').apply_to_lines(lines, 'purchase_line') - def _line_quantity_in_unit(self, quantity, from_unit, to_unit): if not from_unit or not to_unit or from_unit == to_unit: return Decimal(str(quantity or 0)) diff --git a/modules/purchase_trade/sale.py b/modules/purchase_trade/sale.py index 3332254..e8baa34 100755 --- a/modules/purchase_trade/sale.py +++ b/modules/purchase_trade/sale.py @@ -374,14 +374,6 @@ class Sale(metaclass=PoolMeta): def default_tolerance_option(cls): return '' - @classmethod - @ModelView.button - def apply_default_fees(cls, sales): - lines = [ - line for sale in sales for line in (sale.lines or []) - if getattr(line, 'type', None) == 'line'] - Pool().get('fee.rule').apply_to_lines(lines, 'sale_line') - def _line_quantity_in_unit(self, quantity, from_unit, to_unit): if not from_unit or not to_unit or from_unit == to_unit: return abs(Decimal(str(quantity or 0))) diff --git a/modules/purchase_trade/valuation.xml b/modules/purchase_trade/valuation.xml index bf4d86e..7138c9a 100644 --- a/modules/purchase_trade/valuation.xml +++ b/modules/purchase_trade/valuation.xml @@ -66,10 +66,16 @@ + + tradon-valuation + icons/tradon-valuation.svg + + + id="menu_valuation" + icon="tradon-valuation"/> xexpand="1" xfill="1"/>