From a09a88ff5fb8e9883de59b314e24c05e48eef064 Mon Sep 17 00:00:00 2001 From: laurentbarontini Date: Sun, 8 Feb 2026 08:52:30 +0100 Subject: [PATCH] 08.02.26 --- modules/purchase_trade/__init__.py | 3 + modules/purchase_trade/backtoback.py | 22 ++++++ modules/purchase_trade/backtoback.xml | 54 ++++++++++++++ modules/purchase_trade/icons/tradon-btb.svg | 14 ++++ modules/purchase_trade/sale.py | 6 ++ modules/purchase_trade/sale.xml | 6 ++ modules/purchase_trade/tryton.cfg | 3 +- modules/purchase_trade/view/btb_form.xml | 10 +++ modules/purchase_trade/view/btb_tree.xml | 5 ++ .../purchase_trade/view/purchase_btb_form.xml | 70 ++++++++++++++++++ modules/purchase_trade/view/sale_btb_form.xml | 73 +++++++++++++++++++ 11 files changed, 265 insertions(+), 1 deletion(-) create mode 100644 modules/purchase_trade/backtoback.py create mode 100644 modules/purchase_trade/backtoback.xml create mode 100644 modules/purchase_trade/icons/tradon-btb.svg create mode 100644 modules/purchase_trade/view/btb_form.xml create mode 100644 modules/purchase_trade/view/btb_tree.xml create mode 100644 modules/purchase_trade/view/purchase_btb_form.xml create mode 100644 modules/purchase_trade/view/sale_btb_form.xml diff --git a/modules/purchase_trade/__init__.py b/modules/purchase_trade/__init__.py index 3ef10bb..499ce9d 100755 --- a/modules/purchase_trade/__init__.py +++ b/modules/purchase_trade/__init__.py @@ -30,6 +30,7 @@ from . import ( valuation, dimension, weight_report, + backtoback, service, ) @@ -165,6 +166,7 @@ def register(): purchase.DocTemplate, purchase.DocTypeTemplate, purchase.PurchaseStrategy, + backtoback.Backtoback, dimension.AnalyticDimension, dimension.AnalyticDimensionValue, dimension.AnalyticDimensionAssignment, @@ -210,6 +212,7 @@ def register(): sale.ContractDocumentType, sale.SaleStrategy, sale.OpenPosition, + sale.Backtoback, module='sale', type_='model') Pool.register( lot.LotShipping, diff --git a/modules/purchase_trade/backtoback.py b/modules/purchase_trade/backtoback.py new file mode 100644 index 0000000..baf25d3 --- /dev/null +++ b/modules/purchase_trade/backtoback.py @@ -0,0 +1,22 @@ +from trytond.model import fields +from trytond.pool import Pool, PoolMeta +from trytond.pyson import Bool, Eval, Id +from trytond.model import (ModelSQL, ModelView) +from trytond.tools import is_full_text, lstrip_wildcard +from trytond.transaction import Transaction, inactive_records +from decimal import getcontext, Decimal, ROUND_HALF_UP +from sql.aggregate import Count, Max, Min, Sum, Avg, BoolOr +from sql.conditionals import Case +from sql import Column, Literal +from sql.functions import CurrentTimestamp, DateTrunc +from trytond.wizard import Button, StateTransition, StateView, Wizard +import datetime +import logging + +class Backtoback(ModelSQL, ModelView): + 'Back To Back' + __name__ = 'back.to.back' + + reference = fields.Char("Reference") + purchase = fields.One2Many('purchase.purchase', "Purchase") + \ No newline at end of file diff --git a/modules/purchase_trade/backtoback.xml b/modules/purchase_trade/backtoback.xml new file mode 100644 index 0000000..0facbc1 --- /dev/null +++ b/modules/purchase_trade/backtoback.xml @@ -0,0 +1,54 @@ + + + + tradon-btb + icons/tradon-btb.svg + + + + back.to.back + form + btb_form + + + + purchase.purchase + form + purchase_btb_form + + + + back.to.back + tree + btb_tree + + + + Back to back + back.to.back + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/purchase_trade/icons/tradon-btb.svg b/modules/purchase_trade/icons/tradon-btb.svg new file mode 100644 index 0000000..779a456 --- /dev/null +++ b/modules/purchase_trade/icons/tradon-btb.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/modules/purchase_trade/sale.py b/modules/purchase_trade/sale.py index 3b021cb..0537520 100755 --- a/modules/purchase_trade/sale.py +++ b/modules/purchase_trade/sale.py @@ -45,6 +45,12 @@ class FeeLots(metaclass=PoolMeta): sale_line = fields.Many2One('sale.line',"Line") +class Backtoback(metaclass=PoolMeta): + 'Back To Back' + __name__ = 'back.to.back' + + sale = fields.One2Many('sale.sale', "Sale") + class OpenPosition(metaclass=PoolMeta): "Open position" __name__ = 'open.position' diff --git a/modules/purchase_trade/sale.xml b/modules/purchase_trade/sale.xml index f598208..a164d93 100755 --- a/modules/purchase_trade/sale.xml +++ b/modules/purchase_trade/sale.xml @@ -52,5 +52,11 @@ this repository contains the full copyright notices and license terms. --> sale.sale,-1 + + + sale.sale + form + sale_btb_form + \ No newline at end of file diff --git a/modules/purchase_trade/tryton.cfg b/modules/purchase_trade/tryton.cfg index 16a1f53..6a141bf 100755 --- a/modules/purchase_trade/tryton.cfg +++ b/modules/purchase_trade/tryton.cfg @@ -31,4 +31,5 @@ xml: derivative.xml valuation.xml weight_report.xml - dimension.xml \ No newline at end of file + dimension.xml + backtoback.xml \ No newline at end of file diff --git a/modules/purchase_trade/view/btb_form.xml b/modules/purchase_trade/view/btb_form.xml new file mode 100644 index 0000000..c84b09e --- /dev/null +++ b/modules/purchase_trade/view/btb_form.xml @@ -0,0 +1,10 @@ +
+