first commit
This commit is contained in:
38
modules/product_cost_warehouse/ir.py
Normal file
38
modules/product_cost_warehouse/ir.py
Normal file
@@ -0,0 +1,38 @@
|
||||
# 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 ModelSQL, ModelView, dualmethod, fields
|
||||
from trytond.pool import PoolMeta
|
||||
from trytond.transaction import Transaction
|
||||
|
||||
|
||||
class Cron(metaclass=PoolMeta):
|
||||
__name__ = 'ir.cron'
|
||||
warehouses = fields.Many2Many(
|
||||
'ir.cron-stock.warehouse', 'cron', 'warehouse',
|
||||
"Warehouses",
|
||||
domain=[
|
||||
('type', '=', 'warehouse'),
|
||||
],
|
||||
help="Warehouses registered for this cron.")
|
||||
|
||||
@dualmethod
|
||||
@ModelView.button
|
||||
def run_once(cls, crons):
|
||||
for cron in crons:
|
||||
if not cron.warehouses:
|
||||
super().run_once([cron])
|
||||
else:
|
||||
for warehouse in cron.warehouses:
|
||||
with Transaction().set_context(warehouse=warehouse.id):
|
||||
super().run_once([cron])
|
||||
|
||||
|
||||
class CronWarehouse(ModelSQL):
|
||||
__name__ = 'ir.cron-stock.warehouse'
|
||||
cron = fields.Many2One(
|
||||
'ir.cron', "Cron", ondelete='CASCADE', required=True)
|
||||
warehouse = fields.Many2One(
|
||||
'stock.location', "Warehouse", ondelete='CASCADE', required=True,
|
||||
domain=[
|
||||
('type', '=', 'warehouse'),
|
||||
])
|
||||
Reference in New Issue
Block a user