first commit

This commit is contained in:
root
2026-03-14 09:42:12 +00:00
commit 0adbd20c2c
10991 changed files with 1646955 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import datetime
from trytond.model import fields
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Eval
class Location(metaclass=PoolMeta):
__name__ = 'stock.location'
provisioning_location = fields.Many2One('stock.location',
'Provisioning Location',
states={
'invisible': Eval('type') != 'storage',
},
domain=[
('type', 'in', ['storage', 'view']),
],
help='Leave empty for no default provisioning.')
overflowing_location = fields.Many2One('stock.location',
'Overflowing Location',
states={
'invisible': Eval('type') != 'storage',
},
domain=[
('type', 'in', ['storage', 'view']),
],
help='Leave empty for no default overflowing.')
class LocationLeadTime(metaclass=PoolMeta):
__name__ = 'stock.location.lead_time'
@classmethod
def get_max_lead_time(cls):
"""Return the biggest lead time
increased by the maximum extra lead times"""
lead_time = datetime.timedelta(0)
lead_times = cls.search([])
if lead_times:
lead_time = sum(
(r.lead_time for r in lead_times if r.lead_time),
datetime.timedelta(0))
extra_lead_times = cls._get_extra_lead_times()
if extra_lead_times:
lead_time += max(extra_lead_times)
return lead_time
@classmethod
def _get_extra_lead_times(cls):
'Return a list of extra lead time'
pool = Pool()
ProductSupplier = pool.get('purchase.product_supplier')
extra = []
product_suppliers = ProductSupplier.search(
[('lead_time', '!=', None)],
order=[('lead_time', 'DESC')], limit=1)
if product_suppliers:
product_supplier, = product_suppliers
extra.append(product_supplier.lead_time)
return extra