Sergi Almacellas Abellana pushed to branch branch/default at Tryton / Tryton
Commits:
1caaaf9f by Sergi Almacellas Abellana at 2023-06-07T09:58:57+02:00
Set date on purchase price context
Closes #12309
- - - - -
4 changed files:
- modules/product_price_list_dates/__init__.py
- + modules/product_price_list_dates/purchase.py
- modules/product_price_list_dates/setup.py
- modules/product_price_list_dates/tests/test_module.py
Changes:
=====================================
modules/product_price_list_dates/__init__.py
=====================================
@@ -3,7 +3,7 @@
from trytond.pool import Pool
-from . import product, sale
+from . import product, purchase, sale
__all__ = ['register']
@@ -19,3 +19,7 @@
product.SaleContext,
module='product_price_list_dates', type_='model',
depends=['sale_price_list'])
+ Pool.register(
+ purchase.Line,
+ module='product_price_list_dates', type_='model',
+ depends=['purchase_price_list'])
=====================================
modules/product_price_list_dates/purchase.py
=====================================
@@ -0,0 +1,22 @@
+# This file is part of Tryton. The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+from trytond.model import fields
+from trytond.pool import PoolMeta
+from trytond.pyson import Eval
+
+
+class Line(metaclass=PoolMeta):
+ __name__ = 'purchase.line'
+
+ @classmethod
+ def __setup__(cls):
+ super().__setup__()
+ cls.product.search_context['date'] = Eval(
+ '_parent_purchase', {}).get('purchase_date')
+
+ @fields.depends('purchase', '_parent_purchase.purchase_date')
+ def _get_context_purchase_price(self):
+ context = super()._get_context_purchase_price()
+ if self.purchase:
+ context.setdefault('date', self.purchase.purchase_date)
+ return context
=====================================
modules/product_price_list_dates/setup.py
=====================================
@@ -47,7 +47,10 @@
requires.append(get_require_version('trytond_%s' % dep))
requires.append(get_require_version('trytond'))
-tests_require = [get_require_version('trytond_sale_price_list')]
+tests_require = [
+ get_require_version('trytond_purchase_price_list'),
+ get_require_version('trytond_sale_price_list'),
+ ]
setup(name=name,
version=version,
=====================================
modules/product_price_list_dates/tests/test_module.py
=====================================
@@ -14,7 +14,7 @@
class ProductPriceListDatesTestCase(CompanyTestMixin, ModuleTestCase):
'Test Product Price List Dates module'
module = 'product_price_list_dates'
- extras = ['sale_price_list']
+ extras = ['sale_price_list', 'purchase_price_list']
def create_price_list(self, field, date):
pool = Pool()
View it on Heptapod:
https://foss.heptapod.net/tryton/tryton/-/commit/1caaaf9ff7265024f7e3c80298e556fccd9775fa
--
View it on Heptapod:
https://foss.heptapod.net/tryton/tryton/-/commit/1caaaf9ff7265024f7e3c80298e556fccd9775fa
You're receiving this email because of your account on foss.heptapod.net.