Fee rules

This commit is contained in:
2026-05-25 14:34:19 +02:00
parent c6d7b0da2b
commit e7a1a83c90
8 changed files with 23 additions and 39 deletions

View File

@@ -80,24 +80,6 @@ this repository contains the full copyright notices and license terms. -->
<field name="button" ref="fee_invoice_button"/>
<field name="group" ref="purchase.group_purchase"/>
</record>
<record model="ir.model.button" id="purchase_apply_default_fees_button">
<field name="model">purchase.purchase</field>
<field name="name">apply_default_fees</field>
<field name="string">Apply Default Fees</field>
</record>
<record model="ir.model.button-res.group" id="purchase_apply_default_fees_button_group">
<field name="button" ref="purchase_apply_default_fees_button"/>
<field name="group" ref="purchase.group_purchase"/>
</record>
<record model="ir.model.button" id="sale_apply_default_fees_button">
<field name="model">sale.sale</field>
<field name="name">apply_default_fees</field>
<field name="string">Apply Default Fees</field>
</record>
<record model="ir.model.button-res.group" id="sale_apply_default_fees_button_group">
<field name="button" ref="sale_apply_default_fees_button"/>
<field name="group" ref="purchase.group_purchase"/>
</record>
<record model="ir.model.button" id="purchase_line_apply_default_fees_button">
<field name="model">purchase.line</field>
<field name="name">apply_default_fees</field>
@@ -147,10 +129,15 @@ this repository contains the full copyright notices and license terms. -->
<field name="perm_delete" eval="True"/>
</record>
<record model="ir.ui.icon" id="fee_icon">
<field name="name">tradon-fee</field>
<field name="path">icons/tradon-fee.svg</field>
</record>
<menuitem
name="Fees"
name="Fee"
sequence="99"
id="menu_fees"/>
id="menu_fees"
icon="tradon-fee"/>
<menuitem
name="Fee Rules"
parent="menu_fees"

View File

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M0 0h24v24H0z" fill="none"/>
<path d="M6 3h12c1.1 0 2 .9 2 2v14c0 1.1-.9 2-2 2H6c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2zm0 2v14h12V5H6zm3 3h6v2H9V8zm0 4h3v2H9v-2zm5.5-.5c.83 0 1.5.67 1.5 1.5h-1.5c0-.28-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5s.22.5.5.5h1c1.1 0 2 .9 2 2 0 .82-.5 1.53-1.22 1.83V19h-1.5v-1H12v-1.5h2c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-1c-1.1 0-2-.9-2-2 0-.82.5-1.53 1.22-1.83V10.5h1.5v1h.78z" fill="#0F8B8D"/>
</svg>

After

Width:  |  Height:  |  Size: 513 B

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M0 0h24v24H0z" fill="none"/>
<path d="M4 19h16v2H4v-2zm1-3h3V9H5v7zm5 0h3V5h-3v11zm5 0h3v-5h-3v5z" fill="#0F8B8D"/>
<path d="M4.8 11.2l4.1-4.1 4 4 5.6-6.1 1.5 1.4-7 7.6-4.1-4.1-2.7 2.7-1.4-1.4z" fill="#0F8B8D"/>
</svg>

After

Width:  |  Height:  |  Size: 318 B

View File

@@ -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))

View File

@@ -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)))

View File

@@ -66,10 +66,16 @@
<field name="act_window" ref="act_valuation_form"/>
</record>
<record model="ir.ui.icon" id="valuation_icon">
<field name="name">tradon-valuation</field>
<field name="path">icons/tradon-valuation.svg</field>
</record>
<menuitem
name="Valuation"
sequence="98"
id="menu_valuation"/>
id="menu_valuation"
icon="tradon-valuation"/>
<menuitem
parent="menu_valuation"
sequence="10"

View File

@@ -38,7 +38,6 @@ this repository contains the full copyright notices and license terms. -->
xexpand="1" xfill="1"/>
<label name="tolerance_option"/>
<field name="tolerance_option"/>
<button name="apply_default_fees" icon="tryton-launch"/>
<field name="tolerance_min" invisible="1"/>
<field name="tolerance_max" invisible="1"/>
<newline/>

View File

@@ -38,7 +38,6 @@ this repository contains the full copyright notices and license terms. -->
xexpand="1" xfill="1"/>
<label name="tolerance_option"/>
<field name="tolerance_option"/>
<button name="apply_default_fees" icon="tryton-launch"/>
<field name="tolerance_min" invisible="1"/>
<field name="tolerance_max" invisible="1"/>
<newline/>