mirror of
https://github.com/ForgeFlow/stock-rma.git
synced 2025-01-21 12:57:49 +02:00
[FIX] rma: missing migration scripts and version bump
Those are needed after making some fields company dependent
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
|
||||
{
|
||||
"name": "RMA (Return Merchandise Authorization)",
|
||||
"version": "13.0.1.0.0",
|
||||
"version": "13.0.1.1.0",
|
||||
"license": "LGPL-3",
|
||||
"category": "RMA",
|
||||
"summary": "Introduces the return merchandise authorization (RMA) process "
|
||||
|
||||
126
rma/migrations/13.0.1.1.0/post-migration.py
Normal file
126
rma/migrations/13.0.1.1.0/post-migration.py
Normal file
@@ -0,0 +1,126 @@
|
||||
import logging
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def set_rma_customer_operation_property(cr):
|
||||
""" """
|
||||
cr.execute(
|
||||
"""
|
||||
WITH rma_customer_operation_id_field AS (
|
||||
SELECT id FROM ir_model_fields WHERE model='product.template'
|
||||
AND name='rma_customer_operation_id'
|
||||
)
|
||||
INSERT INTO ir_property(name, type, fields_id, company_id, res_id,
|
||||
value_reference)
|
||||
SELECT 'rma_customer_operation_id', 'many2one', rco.id, ro.company_id,
|
||||
CONCAT('product.template,', t.id), CONCAT('rma.operation,', ro.id)
|
||||
FROM product_template t JOIN rma_operation ro
|
||||
ON t.rma_customer_operation_id = ro.id
|
||||
, rma_customer_operation_id_field rco
|
||||
WHERE ro.company_id IS NOT NULL
|
||||
AND NOT EXISTS(SELECT 1
|
||||
FROM ir_property
|
||||
WHERE fields_id=rco.id
|
||||
AND company_id=ro.company_id
|
||||
AND res_id=CONCAT('product.template,', t.id))
|
||||
"""
|
||||
)
|
||||
_logger.info(
|
||||
"Added %s rma_customer_operation_id_field product properties", cr.rowcount
|
||||
)
|
||||
|
||||
|
||||
def set_rma_supplier_operation_property(cr):
|
||||
""" """
|
||||
cr.execute(
|
||||
"""
|
||||
WITH rma_supplier_operation_id_field AS (
|
||||
SELECT id FROM ir_model_fields WHERE model='product.template'
|
||||
AND name='rma_supplier_operation_id'
|
||||
)
|
||||
INSERT INTO ir_property(name, type, fields_id, company_id, res_id,
|
||||
value_reference)
|
||||
SELECT 'rma_supplier_operation_id', 'many2one', rco.id, ro.company_id,
|
||||
CONCAT('product.template,', t.id), CONCAT('rma.operation,', ro.id)
|
||||
FROM product_template t JOIN rma_operation ro
|
||||
ON t.rma_supplier_operation_id = ro.id
|
||||
, rma_supplier_operation_id_field rco
|
||||
WHERE ro.company_id IS NOT NULL
|
||||
AND NOT EXISTS(SELECT 1
|
||||
FROM ir_property
|
||||
WHERE fields_id=rco.id
|
||||
AND company_id=ro.company_id
|
||||
AND res_id=CONCAT('product.template,', t.id))
|
||||
"""
|
||||
)
|
||||
_logger.info(
|
||||
"Added %s rma_supplier_operation_id_field product properties", cr.rowcount
|
||||
)
|
||||
|
||||
|
||||
def set_rma_customer_operation_category_property(cr):
|
||||
""" """
|
||||
cr.execute(
|
||||
"""
|
||||
WITH rma_customer_operation_id_field AS (
|
||||
SELECT id FROM ir_model_fields WHERE model='product.category'
|
||||
AND name='rma_customer_operation_id'
|
||||
)
|
||||
INSERT INTO ir_property(name, type, fields_id, company_id, res_id,
|
||||
value_reference)
|
||||
SELECT 'rma_customer_operation_id', 'many2one', rco.id, ro.company_id,
|
||||
CONCAT('product.category,', pc.id), CONCAT('rma.operation,', ro.id)
|
||||
FROM product_category pc JOIN rma_operation ro
|
||||
ON pc.rma_customer_operation_id = ro.id
|
||||
, rma_customer_operation_id_field rco
|
||||
WHERE ro.company_id IS NOT NULL
|
||||
AND NOT EXISTS(SELECT 1
|
||||
FROM ir_property
|
||||
WHERE fields_id=rco.id
|
||||
AND company_id=ro.company_id
|
||||
AND res_id=CONCAT('product.category,', pc.id))
|
||||
"""
|
||||
)
|
||||
_logger.info(
|
||||
"Added %s rma_customer_operation_id_field product category properties",
|
||||
cr.rowcount,
|
||||
)
|
||||
|
||||
|
||||
def set_rma_supplier_operation_category_property(cr):
|
||||
""" """
|
||||
cr.execute(
|
||||
"""
|
||||
WITH rma_supplier_operation_id_field AS (
|
||||
SELECT id FROM ir_model_fields WHERE model='product.category'
|
||||
AND name='rma_supplier_operation_id'
|
||||
)
|
||||
INSERT INTO ir_property(name, type, fields_id, company_id, res_id,
|
||||
value_reference)
|
||||
SELECT 'rma_supplier_operation_id', 'many2one', rco.id, ro.company_id,
|
||||
CONCAT('product.category,', pc.id), CONCAT('rma.operation,', ro.id)
|
||||
FROM product_category pc JOIN rma_operation ro
|
||||
ON pc.rma_supplier_operation_id = ro.id
|
||||
, rma_supplier_operation_id_field rco
|
||||
WHERE ro.company_id IS NOT NULL
|
||||
AND NOT EXISTS(SELECT 1
|
||||
FROM ir_property
|
||||
WHERE fields_id=rco.id
|
||||
AND company_id=ro.company_id
|
||||
AND res_id=CONCAT('product.category,', pc.id))
|
||||
"""
|
||||
)
|
||||
_logger.info(
|
||||
"Added %s rma_supplier_operation_id_field product category properties",
|
||||
cr.rowcount,
|
||||
)
|
||||
|
||||
|
||||
def migrate(cr, version=None):
|
||||
if not version:
|
||||
return
|
||||
set_rma_customer_operation_property(cr)
|
||||
set_rma_supplier_operation_property(cr)
|
||||
set_rma_customer_operation_category_property(cr)
|
||||
set_rma_supplier_operation_category_property(cr)
|
||||
Reference in New Issue
Block a user