2026-08-07 22:27:49 +02:00
{
2026-08-08 01:29:43 +02:00
"version" : "6.6" ,
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" : 444 ,
"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" : 455 ,
"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" : 455 ,
"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" : 677 ,
"operations" : [
{
"object" : "backend.TableHandler" ,
"operation" : "table_exist" ,
"tables" : [
"product_list_price"
],
"line" : 678 ,
"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" : 708 ,
"operations" : [
2026-08-08 22:32:31 +02:00
{
"object" : "backend.TableHandler" ,
"operation" : "table_exist" ,
"tables" : [
"product_cost_price_method"
],
"line" : 715 ,
"args" : [
"cls._table"
],
"kwargs" : {},
"code" : "backend.TableHandler.table_exist(cls._table)" ,
"phase" : "before_super"
},
{
"object" : "backend.TableHandler" ,
"operation" : "table_exist" ,
"tables" : [],
"line" : 716 ,
"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" : 730 ,
"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" : 730 ,
"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" : 732 ,
"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" : 772 ,
"operations" : [
2026-08-08 22:32:31 +02:00
{
"object" : "backend.TableHandler" ,
"operation" : "table_exist" ,
"tables" : [
"product_cost_price"
],
"line" : 779 ,
"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" : 786 ,
"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" : 793 ,
"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" : 793 ,
"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" : 796 ,
"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" : 803 ,
"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" : 803 ,
"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" : 806 ,
"args" : [
"'template'"
],
"kwargs" : {},
"code" : "table.drop_column('template')" ,
"phase" : "after_super" ,
"condition" : "table.column_exist('template')"
}
]
}
]
}