2026-08-07 22:27:49 +02:00
{
2026-08-08 01:29:43 +02:00
"version" : "6.2" ,
2026-08-07 22:27:49 +02:00
"module" : "product" ,
"files" : [
2026-08-08 22:32:31 +02:00
{
"file" : "/home/uha4/tmp/tryton/modules/product/configuration.py" ,
"class" : "ConfigurationDefaultCostPriceMethod" ,
"method" : "__register__" ,
"line" : 54 ,
"operations" : [
{
"object" : "backend.TableHandler" ,
"operation" : "table_exist" ,
"tables" : [
"product_configuration_default_cost_price_method"
],
"line" : 55 ,
"args" : [
"cls._table"
],
"kwargs" : {},
"code" : "backend.TableHandler.table_exist(cls._table)" ,
"phase" : "before_super"
}
]
},
2026-08-07 22:27:49 +02:00
{
"file" : "/home/uha4/tmp/tryton/modules/product/product.py" ,
"class" : "Product" ,
"method" : "__register__" ,
"line" : 432 ,
"operations" : [
{
"object" : "cursor" ,
"operation" : "execute" ,
2026-08-08 22:32:31 +02:00
"tables" : [
"product_product"
],
2026-08-07 22:27:49 +02:00
"line" : 443 ,
"args" : [
"*table.update([table.suffix_code], [table.code])"
],
"kwargs" : {},
"code" : "cursor.execute(*table.update([table.suffix_code], [table.code]))" ,
"phase" : "after_super" ,
"condition" : "fill_suffix_code"
},
{
"object" : "table" ,
"operation" : "update" ,
2026-08-08 22:32:31 +02:00
"tables" : [
"product_product"
],
2026-08-07 22:27:49 +02:00
"line" : 443 ,
"args" : [
"[table.suffix_code]" ,
"[table.code]"
],
"kwargs" : {},
"code" : "table.update([table.suffix_code], [table.code])" ,
"phase" : "after_super" ,
"condition" : "fill_suffix_code"
}
]
},
2026-08-08 22:32:31 +02:00
{
"file" : "/home/uha4/tmp/tryton/modules/product/product.py" ,
"class" : "ProductListPrice" ,
"method" : "__register__" ,
"line" : 646 ,
"operations" : [
{
"object" : "backend.TableHandler" ,
"operation" : "table_exist" ,
"tables" : [
"product_list_price"
],
"line" : 647 ,
"args" : [
"cls._table"
],
"kwargs" : {},
"code" : "backend.TableHandler.table_exist(cls._table)" ,
"phase" : "before_super"
}
]
},
2026-08-07 22:27:49 +02:00
{
"file" : "/home/uha4/tmp/tryton/modules/product/product.py" ,
"class" : "ProductCostPriceMethod" ,
"method" : "__register__" ,
"line" : 677 ,
"operations" : [
2026-08-08 22:32:31 +02:00
{
"object" : "backend.TableHandler" ,
"operation" : "table_exist" ,
"tables" : [
"product_cost_price_method"
],
"line" : 684 ,
"args" : [
"cls._table"
],
"kwargs" : {},
"code" : "backend.TableHandler.table_exist(cls._table)" ,
"phase" : "before_super"
},
{
"object" : "backend.TableHandler" ,
"operation" : "table_exist" ,
"tables" : [],
"line" : 685 ,
"args" : [
"ProductCostPrice._table"
],
"kwargs" : {},
"code" : "backend.TableHandler.table_exist(ProductCostPrice._table)" ,
"phase" : "before_super"
},
2026-08-07 22:27:49 +02:00
{
"object" : "cursor" ,
"operation" : "execute" ,
2026-08-08 22:32:31 +02:00
"tables" : [
"product_cost_price_method" ,
"product_cost_price"
],
2026-08-07 22:27:49 +02:00
"line" : 700 ,
"args" : [
"*sql_table.insert(columns=[Column(sql_table, c) for c in columns], values=cost_price.select(*[Column(cost_price, c) for c in columns]))"
],
"kwargs" : {},
"code" : "cursor.execute(*sql_table.insert(columns=[Column(sql_table, c) for c in columns], values=cost_price.select(*[Column(cost_price, c) for c in columns])))" ,
"phase" : "after_super" ,
"condition" : "cost_price_table.column_exist('template')"
},
{
"object" : "sql_table" ,
"operation" : "insert" ,
2026-08-08 22:32:31 +02:00
"tables" : [
"product_cost_price_method" ,
"product_cost_price"
],
2026-08-07 22:27:49 +02:00
"line" : 700 ,
"args" : [],
"kwargs" : {
"columns" : "[Column(sql_table, c) for c in columns]" ,
"values" : "cost_price.select(*[Column(cost_price, c) for c in columns])"
},
"code" : "sql_table.insert(columns=[Column(sql_table, c) for c in columns], values=cost_price.select(*[Column(cost_price, c) for c in columns]))" ,
"phase" : "after_super" ,
"condition" : "cost_price_table.column_exist('template')"
},
{
"object" : "cost_price" ,
"operation" : "select" ,
2026-08-08 22:32:31 +02:00
"tables" : [
"product_cost_price"
],
2026-08-07 22:27:49 +02:00
"line" : 702 ,
"args" : [
"*[Column(cost_price, c) for c in columns]"
],
"kwargs" : {},
"code" : "cost_price.select(*[Column(cost_price, c) for c in columns])" ,
"phase" : "after_super" ,
"condition" : "cost_price_table.column_exist('template')"
}
]
},
{
"file" : "/home/uha4/tmp/tryton/modules/product/product.py" ,
"class" : "ProductCostPrice" ,
"method" : "__register__" ,
"line" : 742 ,
"operations" : [
2026-08-08 22:32:31 +02:00
{
"object" : "backend.TableHandler" ,
"operation" : "table_exist" ,
"tables" : [
"product_cost_price"
],
"line" : 749 ,
"args" : [
"cls._table"
],
"kwargs" : {},
"code" : "backend.TableHandler.table_exist(cls._table)" ,
"phase" : "before_super"
},
2026-08-07 22:27:49 +02:00
{
"object" : "table" ,
"operation" : "add_column" ,
2026-08-08 22:32:31 +02:00
"tables" : [
"product_cost_price"
],
2026-08-07 22:27:49 +02:00
"line" : 756 ,
"args" : [
"'template'" ,
"'INTEGER'"
],
"kwargs" : {},
"code" : "table.add_column('template', 'INTEGER')" ,
"phase" : "after_super" ,
"condition" : "not exist"
},
{
"object" : "cursor" ,
"operation" : "execute" ,
2026-08-08 22:32:31 +02:00
"tables" : [
"product_cost_price"
],
2026-08-07 22:27:49 +02:00
"line" : 763 ,
"args" : [
"*sql_table.insert(columns=[Column(sql_table, c) for c in columns] + [sql_table.product], values=sql_table.join(product, condition=sql_table.template == product.template).select(*[Column(sql_table, c) for c in columns] + [product.id], where=(sql_table.template != Null) & (sql_table.product == Null)))"
],
"kwargs" : {},
"code" : "cursor.execute(*sql_table.insert(columns=[Column(sql_table, c) for c in columns] + [sql_table.product], values=sql_table.join(product, condition=sql_table.template == product.template).select(*[Column(sql_table, c) for c in columns] + [product.id], where=(sql_table.template != Null) & (sql_table.product == Null))))" ,
"phase" : "after_super" ,
"condition" : "table.column_exist('template')"
},
{
"object" : "sql_table" ,
"operation" : "insert" ,
2026-08-08 22:32:31 +02:00
"tables" : [
"product_cost_price"
],
2026-08-07 22:27:49 +02:00
"line" : 763 ,
"args" : [],
"kwargs" : {
"columns" : "[Column(sql_table, c) for c in columns] + [sql_table.product]" ,
"values" : "sql_table.join(product, condition=sql_table.template == product.template).select(*[Column(sql_table, c) for c in columns] + [product.id], where=(sql_table.template != Null) & (sql_table.product == Null))"
},
"code" : "sql_table.insert(columns=[Column(sql_table, c) for c in columns] + [sql_table.product], values=sql_table.join(product, condition=sql_table.template == product.template).select(*[Column(sql_table, c) for c in columns] + [product.id], where=(sql_table.template != Null) & (sql_table.product == Null)))" ,
"phase" : "after_super" ,
"condition" : "table.column_exist('template')"
},
{
"object" : "sql_table.join(product, condition=sql_table.template == product.template)" ,
"operation" : "select" ,
2026-08-08 22:32:31 +02:00
"tables" : [],
2026-08-07 22:27:49 +02:00
"line" : 766 ,
"args" : [
"*[Column(sql_table, c) for c in columns] + [product.id]"
],
"kwargs" : {
"where" : "(sql_table.template != Null) & (sql_table.product == Null)"
},
"code" : "sql_table.join(product, condition=sql_table.template == product.template).select(*[Column(sql_table, c) for c in columns] + [product.id], where=(sql_table.template != Null) & (sql_table.product == Null))" ,
"phase" : "after_super" ,
"condition" : "table.column_exist('template')"
},
{
"object" : "cursor" ,
"operation" : "execute" ,
2026-08-08 22:32:31 +02:00
"tables" : [
"product_cost_price"
],
2026-08-07 22:27:49 +02:00
"line" : 773 ,
"args" : [
"*sql_table.delete(where=(sql_table.template != Null) & (sql_table.product == Null))"
],
"kwargs" : {},
"code" : "cursor.execute(*sql_table.delete(where=(sql_table.template != Null) & (sql_table.product == Null)))" ,
"phase" : "after_super" ,
"condition" : "table.column_exist('template')"
},
{
"object" : "sql_table" ,
"operation" : "delete" ,
2026-08-08 22:32:31 +02:00
"tables" : [
"product_cost_price"
],
2026-08-07 22:27:49 +02:00
"line" : 773 ,
"args" : [],
"kwargs" : {
"where" : "(sql_table.template != Null) & (sql_table.product == Null)"
},
"code" : "sql_table.delete(where=(sql_table.template != Null) & (sql_table.product == Null))" ,
"phase" : "after_super" ,
"condition" : "table.column_exist('template')"
},
{
"object" : "table" ,
"operation" : "drop_column" ,
2026-08-08 22:32:31 +02:00
"tables" : [
"product_cost_price"
],
2026-08-07 22:27:49 +02:00
"line" : 776 ,
"args" : [
"'template'"
],
"kwargs" : {},
"code" : "table.drop_column('template')" ,
"phase" : "after_super" ,
"condition" : "table.column_exist('template')"
}
]
}
]
}