tryton-upgrades/after/purchase_work.py

46 lines
1.2 KiB
Python
Executable File

#!/usr/bin/env python
import sys
dbname = sys.argv[1]
config_file = sys.argv[2]
from trytond.config import config as CONFIG
CONFIG.update_etc(config_file)
from trytond.pool import Pool
from trytond.transaction import Transaction
import logging
Pool.start()
pool = Pool(dbname)
pool.init()
context = {}
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
ch = logging.StreamHandler(sys.stdout)
ch.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
ch.setFormatter(formatter)
logger.addHandler(ch)
with Transaction().start(dbname, 0, context=context):
user_obj = pool.get('res.user')
user = user_obj.search([('login', '=', 'admin')], limit=1)[0]
user_id = user.id
with Transaction().start(dbname, 0, context=context) as transaction:
SaleLine = pool.get('sale.line')
PurchaseLine = pool.get('purchase.line')
sale_lines = SaleLine.search([('project', '!=', None)])
to_save = []
for line in sale_lines:
for purchase_line in line.purchase_lines:
purchase_line.work = line.project
to_save.append(purchase_line)
PurchaseLine.save(to_save)
transaction.commit()