From 64fda357adaf5274f9100b75878648be5c103890 Mon Sep 17 00:00:00 2001 From: Ulrich Date: Sat, 8 Aug 2026 01:29:43 +0200 Subject: [PATCH] several small fixes: - systemmodule ir und res aufgenommen - Version auf Major.Minor reduziert - reihenfolge der Module fixiert --- compare.py | 5 +- data/5.0.63/company.json | 5 - data/5.0.63/stock_product_location.json | 5 - data/{8.0.8 => 5.0}/company.json | 2 +- data/{5.0.63 => 5.0}/country.json | 2 +- data/{5.2.20 => 5.0}/currency.json | 2 +- data/5.0/ir.json | 555 +++ data/{5.0.63 => 5.0}/party.json | 2 +- data/{5.0.63 => 5.0}/product.json | 2 +- data/{8.0.8 => 5.0}/product_measurements.json | 2 +- data/{5.0.63 => 5.0}/production.json | 2 +- data/{8.0.8 => 5.0}/production_split.json | 2 +- data/5.0/res.json | 76 + data/{8.0.8 => 5.0}/stock_lot.json | 2 +- data/{8.0.8 => 5.0}/stock_lot_sled.json | 2 +- .../stock_product_location.json | 2 +- data/{8.0.8 => 5.0}/stock_split.json | 2 +- data/5.2.20/product_measurements.json | 5 - data/5.2.20/production_split.json | 5 - data/5.2.20/stock_lot_sled.json | 5 - data/5.2.20/stock_split.json | 5 - data/{5.4.20 => 5.2}/company.json | 2 +- data/{5.2.20 => 5.2}/country.json | 2 +- data/{5.0.63 => 5.2}/currency.json | 2 +- data/5.2/ir.json | 684 +++ data/{5.2.20 => 5.2}/party.json | 2 +- data/{5.2.20 => 5.2}/product.json | 2 +- .../{5.0.63 => 5.2}/product_measurements.json | 2 +- data/{5.4.20 => 5.2}/production.json | 2 +- data/{5.4.20 => 5.2}/production_split.json | 2 +- data/5.2/res.json | 76 + data/{5.0.63 => 5.2}/stock_lot.json | 2 +- data/{5.4.20 => 5.2}/stock_lot_sled.json | 2 +- .../stock_product_location.json | 2 +- data/{5.4.20 => 5.2}/stock_split.json | 2 +- data/{5.6.17 => 5.4}/company.json | 2 +- data/{5.4.20 => 5.4}/country.json | 2 +- data/{5.4.20 => 5.4}/currency.json | 2 +- data/5.4/ir.json | 684 +++ data/{5.4.20 => 5.4}/party.json | 2 +- data/{5.4.20 => 5.4}/product.json | 2 +- .../{5.4.20 => 5.4}/product_measurements.json | 2 +- data/{5.2.20 => 5.4}/production.json | 2 +- data/{5.6.17 => 5.4}/production_split.json | 2 +- data/5.4/res.json | 76 + data/{5.4.20 => 5.4}/stock_lot.json | 2 +- data/{5.6.17 => 5.4}/stock_lot_sled.json | 2 +- .../stock_product_location.json | 2 +- data/{5.6.17 => 5.4}/stock_split.json | 2 +- data/{5.2.20 => 5.6}/company.json | 2 +- data/{5.6.17 => 5.6}/country.json | 2 +- data/{5.8.16 => 5.6}/currency.json | 2 +- data/5.6/ir.json | 747 +++ data/{5.6.17 => 5.6}/party.json | 2 +- data/{5.6.17 => 5.6}/product.json | 2 +- .../{5.6.17 => 5.6}/product_measurements.json | 2 +- data/{5.6.17 => 5.6}/production.json | 2 +- data/{5.0.63 => 5.6}/production_split.json | 2 +- data/5.6/res.json | 76 + data/{5.6.17 => 5.6}/stock_lot.json | 2 +- data/{5.0.63 => 5.6}/stock_lot_sled.json | 2 +- .../stock_product_location.json | 2 +- data/{5.0.63 => 5.6}/stock_split.json | 2 +- data/5.8.16/company.json | 5 - data/5.8.16/product_measurements.json | 5 - data/5.8.16/production_split.json | 5 - data/5.8.16/stock_lot_sled.json | 5 - data/5.8.16/stock_split.json | 5 - data/5.8/company.json | 5 + data/{5.8.16 => 5.8}/country.json | 2 +- data/{5.6.17 => 5.8}/currency.json | 2 +- data/5.8/ir.json | 767 +++ data/{5.8.16 => 5.8}/party.json | 2 +- data/{5.8.16 => 5.8}/product.json | 2 +- data/5.8/product_measurements.json | 5 + data/{5.8.16 => 5.8}/production.json | 2 +- data/5.8/production_split.json | 5 + data/5.8/res.json | 101 + data/{5.8.16 => 5.8}/stock_lot.json | 2 +- data/5.8/stock_lot_sled.json | 5 + .../stock_product_location.json | 2 +- data/5.8/stock_split.json | 5 + data/6.0.76/product_measurements.json | 5 - data/6.0.76/production_split.json | 5 - data/6.0.76/stock_lot_sled.json | 5 - data/6.0.76/stock_split.json | 5 - data/{6.0.76 => 6.0}/company.json | 2 +- data/{6.2.14 => 6.0}/country.json | 2 +- data/{6.4.16 => 6.0}/currency.json | 2 +- data/6.0/ir.json | 847 ++++ data/{6.0.76 => 6.0}/party.json | 2 +- data/{6.0.76 => 6.0}/product.json | 2 +- data/6.0/product_measurements.json | 5 + data/{6.0.76 => 6.0}/production.json | 2 +- data/6.0/production_split.json | 5 + data/6.0/res.json | 101 + data/{6.0.76 => 6.0}/stock_lot.json | 2 +- data/6.0/stock_lot_sled.json | 5 + .../stock_product_location.json | 2 +- data/6.0/stock_split.json | 5 + data/6.2.14/product_measurements.json | 5 - data/6.2.14/production_split.json | 5 - data/6.2.14/stock_lot_sled.json | 5 - data/6.2.14/stock_split.json | 5 - data/{6.2.14 => 6.2}/company.json | 2 +- data/{6.0.76 => 6.2}/country.json | 2 +- data/{6.2.14 => 6.2}/currency.json | 2 +- data/6.2/ir.json | 847 ++++ data/{6.2.14 => 6.2}/party.json | 2 +- data/{6.2.14 => 6.2}/product.json | 2 +- data/6.2/product_measurements.json | 5 + data/{6.2.14 => 6.2}/production.json | 2 +- data/6.2/production_split.json | 5 + data/6.2/res.json | 101 + data/{6.2.14 => 6.2}/stock_lot.json | 2 +- data/6.2/stock_lot_sled.json | 5 + .../stock_product_location.json | 2 +- data/6.2/stock_split.json | 5 + data/6.4.16/product_measurements.json | 5 - data/6.4.16/production_split.json | 5 - data/6.4.16/stock_lot_sled.json | 5 - data/6.4.16/stock_split.json | 5 - data/{6.4.16 => 6.4}/company.json | 2 +- data/{6.4.16 => 6.4}/country.json | 2 +- data/{6.0.76 => 6.4}/currency.json | 2 +- data/6.4/ir.json | 886 ++++ data/{6.4.16 => 6.4}/party.json | 2 +- data/{6.4.16 => 6.4}/product.json | 2 +- data/6.4/product_measurements.json | 5 + data/{6.4.16 => 6.4}/production.json | 2 +- data/6.4/production_split.json | 5 + data/6.4/res.json | 101 + data/{6.4.16 => 6.4}/stock_lot.json | 2 +- data/6.4/stock_lot_sled.json | 5 + .../stock_product_location.json | 2 +- data/6.4/stock_split.json | 5 + data/6.6.14/product_measurements.json | 5 - data/6.6.14/production_split.json | 5 - data/6.6.14/stock_lot_sled.json | 5 - data/6.6.14/stock_split.json | 5 - data/{6.8.17 => 6.6}/company.json | 2 +- data/{6.8.17 => 6.6}/country.json | 2 +- data/{6.6.14 => 6.6}/currency.json | 2 +- data/6.6/ir.json | 753 +++ data/{6.8.17 => 6.6}/party.json | 2 +- data/{6.6.14 => 6.6}/product.json | 2 +- data/6.6/product_measurements.json | 5 + data/{6.6.14 => 6.6}/production.json | 2 +- data/6.6/production_split.json | 5 + data/6.6/res.json | 101 + data/{6.6.14 => 6.6}/stock_lot.json | 2 +- data/6.6/stock_lot_sled.json | 5 + .../stock_product_location.json | 2 +- data/6.6/stock_split.json | 5 + data/6.8.17/product_measurements.json | 5 - data/6.8.17/production_split.json | 5 - data/6.8.17/stock_lot_sled.json | 5 - data/6.8.17/stock_split.json | 5 - data/{6.6.14 => 6.8}/company.json | 2 +- data/{6.6.14 => 6.8}/country.json | 2 +- data/{6.8.17 => 6.8}/currency.json | 2 +- data/6.8/ir.json | 753 +++ data/{6.6.14 => 6.8}/party.json | 2 +- data/{6.8.17 => 6.8}/product.json | 2 +- data/6.8/product_measurements.json | 5 + data/{6.8.17 => 6.8}/production.json | 2 +- data/6.8/production_split.json | 5 + data/6.8/res.json | 101 + data/{6.8.17 => 6.8}/stock_lot.json | 2 +- data/6.8/stock_lot_sled.json | 5 + .../stock_product_location.json | 2 +- data/6.8/stock_split.json | 5 + data/7.0.55/product_measurements.json | 5 - data/7.0.55/production_split.json | 5 - data/7.0.55/stock_lot_sled.json | 5 - data/7.0.55/stock_split.json | 5 - data/{7.0.55 => 7.0}/company.json | 2 +- data/{7.4.25 => 7.0}/country.json | 2 +- data/{7.0.55 => 7.0}/currency.json | 2 +- data/7.0/ir.json | 382 ++ data/{7.0.55 => 7.0}/party.json | 2 +- data/{7.0.55 => 7.0}/product.json | 2 +- data/7.0/product_measurements.json | 5 + data/{7.0.55 => 7.0}/production.json | 2 +- data/7.0/production_split.json | 5 + data/7.0/res.json | 39 + data/{7.0.55 => 7.0}/stock_lot.json | 2 +- data/7.0/stock_lot_sled.json | 5 + .../stock_product_location.json | 2 +- data/7.0/stock_split.json | 5 + data/7.2.23/product_measurements.json | 5 - data/7.2.23/production_split.json | 5 - data/7.2.23/stock_lot_sled.json | 5 - data/7.2.23/stock_product_location.json | 26 - data/7.2.23/stock_split.json | 5 - data/{7.2.23 => 7.2}/company.json | 2 +- data/{7.2.23 => 7.2}/country.json | 2 +- data/{7.2.23 => 7.2}/currency.json | 2 +- data/7.2/ir.json | 757 +++ data/{7.2.23 => 7.2}/party.json | 2 +- data/{7.2.23 => 7.2}/product.json | 2 +- data/7.2/product_measurements.json | 5 + data/{7.2.23 => 7.2}/production.json | 2 +- data/7.2/production_split.json | 5 + data/7.2/res.json | 39 + data/{7.2.23 => 7.2}/stock_lot.json | 2 +- data/7.2/stock_lot_sled.json | 5 + data/7.2/stock_product_location.json | 26 + data/7.2/stock_split.json | 5 + data/7.4.25/product_measurements.json | 5 - data/7.4.25/production_split.json | 5 - data/7.4.25/stock_lot_sled.json | 5 - data/7.4.25/stock_product_location.json | 26 - data/7.4.25/stock_split.json | 5 - data/{7.4.25 => 7.4}/company.json | 2 +- data/{7.0.55 => 7.4}/country.json | 2 +- data/{7.4.25 => 7.4}/currency.json | 2 +- data/7.4/ir.json | 815 ++++ data/{7.4.25 => 7.4}/party.json | 2 +- data/{7.4.25 => 7.4}/product.json | 2 +- data/7.4/product_measurements.json | 5 + data/{7.4.25 => 7.4}/production.json | 2 +- data/7.4/production_split.json | 5 + data/7.4/res.json | 39 + data/{7.4.25 => 7.4}/stock_lot.json | 2 +- data/7.4/stock_lot_sled.json | 5 + data/7.4/stock_product_location.json | 26 + data/7.4/stock_split.json | 5 + data/7.6.20/company.json | 5 - data/7.6.20/product_measurements.json | 5 - data/7.6.20/production_split.json | 5 - data/7.6.20/stock_lot.json | 5 - data/7.6.20/stock_lot_sled.json | 5 - data/7.6.20/stock_product_location.json | 5 - data/7.6.20/stock_split.json | 5 - data/7.6/company.json | 5 + data/{8.0.8 => 7.6}/country.json | 2 +- data/{7.6.20 => 7.6}/currency.json | 2 +- data/7.6/ir.json | 567 +++ data/{7.6.20 => 7.6}/party.json | 2 +- data/{8.0.8 => 7.6}/product.json | 2 +- data/7.6/product_measurements.json | 5 + data/{7.6.20 => 7.6}/production.json | 2 +- data/7.6/production_split.json | 5 + data/7.6/res.json | 26 + data/{5.2.20 => 7.6}/stock_lot.json | 2 +- data/7.6/stock_lot_sled.json | 5 + data/7.6/stock_product_location.json | 5 + data/7.6/stock_split.json | 5 + data/7.8.14/company.json | 5 - data/7.8.14/product_measurements.json | 5 - data/7.8.14/production_split.json | 5 - data/7.8.14/stock_lot_sled.json | 5 - data/7.8.14/stock_product_location.json | 5 - data/7.8.14/stock_split.json | 5 - data/7.8/company.json | 5 + data/{7.6.20 => 7.8}/country.json | 2 +- data/{8.0.8 => 7.8}/currency.json | 2 +- data/7.8/ir.json | 567 +++ data/{7.8.14 => 7.8}/party.json | 2 +- data/{7.6.20 => 7.8}/product.json | 2 +- data/7.8/product_measurements.json | 5 + data/{7.8.14 => 7.8}/production.json | 2 +- data/7.8/production_split.json | 5 + data/7.8/res.json | 26 + data/{7.8.14 => 7.8}/stock_lot.json | 2 +- data/7.8/stock_lot_sled.json | 5 + data/7.8/stock_product_location.json | 5 + data/7.8/stock_split.json | 5 + data/8.0/company.json | 5 + data/{7.8.14 => 8.0}/country.json | 2 +- data/{7.8.14 => 8.0}/currency.json | 2 +- data/8.0/ir.json | 587 +++ data/{8.0.8 => 8.0}/party.json | 2 +- data/{7.8.14 => 8.0}/product.json | 2 +- data/8.0/product_measurements.json | 5 + data/{8.0.8 => 8.0}/production.json | 2 +- data/8.0/production_split.json | 5 + data/8.0/res.json | 26 + data/8.0/stock_lot.json | 5 + data/8.0/stock_lot_sled.json | 5 + data/8.0/stock_product_location.json | 5 + data/8.0/stock_split.json | 5 + extract.py | 10 +- reports/country.md | 132 +- reports/ir.md | 4258 +++++++++++++++++ reports/party.md | 1002 ++-- reports/product.md | 476 +- reports/production.md | 358 +- reports/res.md | 395 ++ extract_all.sh => run.sh | 10 + 291 files changed, 18425 insertions(+), 1456 deletions(-) delete mode 100644 data/5.0.63/company.json delete mode 100644 data/5.0.63/stock_product_location.json rename data/{8.0.8 => 5.0}/company.json (64%) rename data/{5.0.63 => 5.0}/country.json (97%) rename data/{5.2.20 => 5.0}/currency.json (64%) create mode 100644 data/5.0/ir.json rename data/{5.0.63 => 5.0}/party.json (99%) rename data/{5.0.63 => 5.0}/product.json (99%) rename data/{8.0.8 => 5.0}/product_measurements.json (70%) rename data/{5.0.63 => 5.0}/production.json (98%) rename data/{8.0.8 => 5.0}/production_split.json (69%) create mode 100644 data/5.0/res.json rename data/{8.0.8 => 5.0}/stock_lot.json (65%) rename data/{8.0.8 => 5.0}/stock_lot_sled.json (68%) rename data/{8.0.8 => 5.0}/stock_product_location.json (71%) rename data/{8.0.8 => 5.0}/stock_split.json (66%) delete mode 100644 data/5.2.20/product_measurements.json delete mode 100644 data/5.2.20/production_split.json delete mode 100644 data/5.2.20/stock_lot_sled.json delete mode 100644 data/5.2.20/stock_split.json rename data/{5.4.20 => 5.2}/company.json (63%) rename data/{5.2.20 => 5.2}/country.json (97%) rename data/{5.0.63 => 5.2}/currency.json (64%) create mode 100644 data/5.2/ir.json rename data/{5.2.20 => 5.2}/party.json (99%) rename data/{5.2.20 => 5.2}/product.json (99%) rename data/{5.0.63 => 5.2}/product_measurements.json (69%) rename data/{5.4.20 => 5.2}/production.json (98%) rename data/{5.4.20 => 5.2}/production_split.json (68%) create mode 100644 data/5.2/res.json rename data/{5.0.63 => 5.2}/stock_lot.json (64%) rename data/{5.4.20 => 5.2}/stock_lot_sled.json (67%) rename data/{5.2.20 => 5.2}/stock_product_location.json (70%) rename data/{5.4.20 => 5.2}/stock_split.json (65%) rename data/{5.6.17 => 5.4}/company.json (63%) rename data/{5.4.20 => 5.4}/country.json (99%) rename data/{5.4.20 => 5.4}/currency.json (97%) create mode 100644 data/5.4/ir.json rename data/{5.4.20 => 5.4}/party.json (99%) rename data/{5.4.20 => 5.4}/product.json (99%) rename data/{5.4.20 => 5.4}/product_measurements.json (69%) rename data/{5.2.20 => 5.4}/production.json (98%) rename data/{5.6.17 => 5.4}/production_split.json (68%) create mode 100644 data/5.4/res.json rename data/{5.4.20 => 5.4}/stock_lot.json (98%) rename data/{5.6.17 => 5.4}/stock_lot_sled.json (67%) rename data/{5.4.20 => 5.4}/stock_product_location.json (70%) rename data/{5.6.17 => 5.4}/stock_split.json (65%) rename data/{5.2.20 => 5.6}/company.json (63%) rename data/{5.6.17 => 5.6}/country.json (99%) rename data/{5.8.16 => 5.6}/currency.json (97%) create mode 100644 data/5.6/ir.json rename data/{5.6.17 => 5.6}/party.json (99%) rename data/{5.6.17 => 5.6}/product.json (99%) rename data/{5.6.17 => 5.6}/product_measurements.json (69%) rename data/{5.6.17 => 5.6}/production.json (98%) rename data/{5.0.63 => 5.6}/production_split.json (68%) create mode 100644 data/5.6/res.json rename data/{5.6.17 => 5.6}/stock_lot.json (98%) rename data/{5.0.63 => 5.6}/stock_lot_sled.json (67%) rename data/{5.6.17 => 5.6}/stock_product_location.json (70%) rename data/{5.0.63 => 5.6}/stock_split.json (65%) delete mode 100644 data/5.8.16/company.json delete mode 100644 data/5.8.16/product_measurements.json delete mode 100644 data/5.8.16/production_split.json delete mode 100644 data/5.8.16/stock_lot_sled.json delete mode 100644 data/5.8.16/stock_split.json create mode 100644 data/5.8/company.json rename data/{5.8.16 => 5.8}/country.json (99%) rename data/{5.6.17 => 5.8}/currency.json (97%) create mode 100644 data/5.8/ir.json rename data/{5.8.16 => 5.8}/party.json (99%) rename data/{5.8.16 => 5.8}/product.json (99%) create mode 100644 data/5.8/product_measurements.json rename data/{5.8.16 => 5.8}/production.json (99%) create mode 100644 data/5.8/production_split.json create mode 100644 data/5.8/res.json rename data/{5.8.16 => 5.8}/stock_lot.json (98%) create mode 100644 data/5.8/stock_lot_sled.json rename data/{5.8.16 => 5.8}/stock_product_location.json (96%) create mode 100644 data/5.8/stock_split.json delete mode 100644 data/6.0.76/product_measurements.json delete mode 100644 data/6.0.76/production_split.json delete mode 100644 data/6.0.76/stock_lot_sled.json delete mode 100644 data/6.0.76/stock_split.json rename data/{6.0.76 => 6.0}/company.json (99%) rename data/{6.2.14 => 6.0}/country.json (99%) rename data/{6.4.16 => 6.0}/currency.json (97%) create mode 100644 data/6.0/ir.json rename data/{6.0.76 => 6.0}/party.json (99%) rename data/{6.0.76 => 6.0}/product.json (99%) create mode 100644 data/6.0/product_measurements.json rename data/{6.0.76 => 6.0}/production.json (99%) create mode 100644 data/6.0/production_split.json create mode 100644 data/6.0/res.json rename data/{6.0.76 => 6.0}/stock_lot.json (98%) create mode 100644 data/6.0/stock_lot_sled.json rename data/{6.2.14 => 6.0}/stock_product_location.json (96%) create mode 100644 data/6.0/stock_split.json delete mode 100644 data/6.2.14/product_measurements.json delete mode 100644 data/6.2.14/production_split.json delete mode 100644 data/6.2.14/stock_lot_sled.json delete mode 100644 data/6.2.14/stock_split.json rename data/{6.2.14 => 6.2}/company.json (99%) rename data/{6.0.76 => 6.2}/country.json (99%) rename data/{6.2.14 => 6.2}/currency.json (97%) create mode 100644 data/6.2/ir.json rename data/{6.2.14 => 6.2}/party.json (99%) rename data/{6.2.14 => 6.2}/product.json (99%) create mode 100644 data/6.2/product_measurements.json rename data/{6.2.14 => 6.2}/production.json (99%) create mode 100644 data/6.2/production_split.json create mode 100644 data/6.2/res.json rename data/{6.2.14 => 6.2}/stock_lot.json (98%) create mode 100644 data/6.2/stock_lot_sled.json rename data/{6.0.76 => 6.2}/stock_product_location.json (96%) create mode 100644 data/6.2/stock_split.json delete mode 100644 data/6.4.16/product_measurements.json delete mode 100644 data/6.4.16/production_split.json delete mode 100644 data/6.4.16/stock_lot_sled.json delete mode 100644 data/6.4.16/stock_split.json rename data/{6.4.16 => 6.4}/company.json (99%) rename data/{6.4.16 => 6.4}/country.json (99%) rename data/{6.0.76 => 6.4}/currency.json (97%) create mode 100644 data/6.4/ir.json rename data/{6.4.16 => 6.4}/party.json (99%) rename data/{6.4.16 => 6.4}/product.json (99%) create mode 100644 data/6.4/product_measurements.json rename data/{6.4.16 => 6.4}/production.json (99%) create mode 100644 data/6.4/production_split.json create mode 100644 data/6.4/res.json rename data/{6.4.16 => 6.4}/stock_lot.json (98%) create mode 100644 data/6.4/stock_lot_sled.json rename data/{6.6.14 => 6.4}/stock_product_location.json (96%) create mode 100644 data/6.4/stock_split.json delete mode 100644 data/6.6.14/product_measurements.json delete mode 100644 data/6.6.14/production_split.json delete mode 100644 data/6.6.14/stock_lot_sled.json delete mode 100644 data/6.6.14/stock_split.json rename data/{6.8.17 => 6.6}/company.json (99%) rename data/{6.8.17 => 6.6}/country.json (99%) rename data/{6.6.14 => 6.6}/currency.json (97%) create mode 100644 data/6.6/ir.json rename data/{6.8.17 => 6.6}/party.json (99%) rename data/{6.6.14 => 6.6}/product.json (99%) create mode 100644 data/6.6/product_measurements.json rename data/{6.6.14 => 6.6}/production.json (99%) create mode 100644 data/6.6/production_split.json create mode 100644 data/6.6/res.json rename data/{6.6.14 => 6.6}/stock_lot.json (98%) create mode 100644 data/6.6/stock_lot_sled.json rename data/{6.8.17 => 6.6}/stock_product_location.json (96%) create mode 100644 data/6.6/stock_split.json delete mode 100644 data/6.8.17/product_measurements.json delete mode 100644 data/6.8.17/production_split.json delete mode 100644 data/6.8.17/stock_lot_sled.json delete mode 100644 data/6.8.17/stock_split.json rename data/{6.6.14 => 6.8}/company.json (99%) rename data/{6.6.14 => 6.8}/country.json (99%) rename data/{6.8.17 => 6.8}/currency.json (98%) create mode 100644 data/6.8/ir.json rename data/{6.6.14 => 6.8}/party.json (99%) rename data/{6.8.17 => 6.8}/product.json (99%) create mode 100644 data/6.8/product_measurements.json rename data/{6.8.17 => 6.8}/production.json (99%) create mode 100644 data/6.8/production_split.json create mode 100644 data/6.8/res.json rename data/{6.8.17 => 6.8}/stock_lot.json (98%) create mode 100644 data/6.8/stock_lot_sled.json rename data/{6.4.16 => 6.8}/stock_product_location.json (96%) create mode 100644 data/6.8/stock_split.json delete mode 100644 data/7.0.55/product_measurements.json delete mode 100644 data/7.0.55/production_split.json delete mode 100644 data/7.0.55/stock_lot_sled.json delete mode 100644 data/7.0.55/stock_split.json rename data/{7.0.55 => 7.0}/company.json (99%) rename data/{7.4.25 => 7.0}/country.json (99%) rename data/{7.0.55 => 7.0}/currency.json (98%) create mode 100644 data/7.0/ir.json rename data/{7.0.55 => 7.0}/party.json (99%) rename data/{7.0.55 => 7.0}/product.json (97%) create mode 100644 data/7.0/product_measurements.json rename data/{7.0.55 => 7.0}/production.json (99%) create mode 100644 data/7.0/production_split.json create mode 100644 data/7.0/res.json rename data/{7.0.55 => 7.0}/stock_lot.json (98%) create mode 100644 data/7.0/stock_lot_sled.json rename data/{7.0.55 => 7.0}/stock_product_location.json (96%) create mode 100644 data/7.0/stock_split.json delete mode 100644 data/7.2.23/product_measurements.json delete mode 100644 data/7.2.23/production_split.json delete mode 100644 data/7.2.23/stock_lot_sled.json delete mode 100644 data/7.2.23/stock_product_location.json delete mode 100644 data/7.2.23/stock_split.json rename data/{7.2.23 => 7.2}/company.json (99%) rename data/{7.2.23 => 7.2}/country.json (99%) rename data/{7.2.23 => 7.2}/currency.json (98%) create mode 100644 data/7.2/ir.json rename data/{7.2.23 => 7.2}/party.json (99%) rename data/{7.2.23 => 7.2}/product.json (97%) create mode 100644 data/7.2/product_measurements.json rename data/{7.2.23 => 7.2}/production.json (99%) create mode 100644 data/7.2/production_split.json create mode 100644 data/7.2/res.json rename data/{7.2.23 => 7.2}/stock_lot.json (98%) create mode 100644 data/7.2/stock_lot_sled.json create mode 100644 data/7.2/stock_product_location.json create mode 100644 data/7.2/stock_split.json delete mode 100644 data/7.4.25/product_measurements.json delete mode 100644 data/7.4.25/production_split.json delete mode 100644 data/7.4.25/stock_lot_sled.json delete mode 100644 data/7.4.25/stock_product_location.json delete mode 100644 data/7.4.25/stock_split.json rename data/{7.4.25 => 7.4}/company.json (99%) rename data/{7.0.55 => 7.4}/country.json (99%) rename data/{7.4.25 => 7.4}/currency.json (98%) create mode 100644 data/7.4/ir.json rename data/{7.4.25 => 7.4}/party.json (99%) rename data/{7.4.25 => 7.4}/product.json (97%) create mode 100644 data/7.4/product_measurements.json rename data/{7.4.25 => 7.4}/production.json (99%) create mode 100644 data/7.4/production_split.json create mode 100644 data/7.4/res.json rename data/{7.4.25 => 7.4}/stock_lot.json (98%) create mode 100644 data/7.4/stock_lot_sled.json create mode 100644 data/7.4/stock_product_location.json create mode 100644 data/7.4/stock_split.json delete mode 100644 data/7.6.20/company.json delete mode 100644 data/7.6.20/product_measurements.json delete mode 100644 data/7.6.20/production_split.json delete mode 100644 data/7.6.20/stock_lot.json delete mode 100644 data/7.6.20/stock_lot_sled.json delete mode 100644 data/7.6.20/stock_product_location.json delete mode 100644 data/7.6.20/stock_split.json create mode 100644 data/7.6/company.json rename data/{8.0.8 => 7.6}/country.json (97%) rename data/{7.6.20 => 7.6}/currency.json (97%) create mode 100644 data/7.6/ir.json rename data/{7.6.20 => 7.6}/party.json (99%) rename data/{8.0.8 => 7.6}/product.json (64%) create mode 100644 data/7.6/product_measurements.json rename data/{7.6.20 => 7.6}/production.json (99%) create mode 100644 data/7.6/production_split.json create mode 100644 data/7.6/res.json rename data/{5.2.20 => 7.6}/stock_lot.json (64%) create mode 100644 data/7.6/stock_lot_sled.json create mode 100644 data/7.6/stock_product_location.json create mode 100644 data/7.6/stock_split.json delete mode 100644 data/7.8.14/company.json delete mode 100644 data/7.8.14/product_measurements.json delete mode 100644 data/7.8.14/production_split.json delete mode 100644 data/7.8.14/stock_lot_sled.json delete mode 100644 data/7.8.14/stock_product_location.json delete mode 100644 data/7.8.14/stock_split.json create mode 100644 data/7.8/company.json rename data/{7.6.20 => 7.8}/country.json (97%) rename data/{8.0.8 => 7.8}/currency.json (97%) create mode 100644 data/7.8/ir.json rename data/{7.8.14 => 7.8}/party.json (99%) rename data/{7.6.20 => 7.8}/product.json (63%) create mode 100644 data/7.8/product_measurements.json rename data/{7.8.14 => 7.8}/production.json (99%) create mode 100644 data/7.8/production_split.json create mode 100644 data/7.8/res.json rename data/{7.8.14 => 7.8}/stock_lot.json (64%) create mode 100644 data/7.8/stock_lot_sled.json create mode 100644 data/7.8/stock_product_location.json create mode 100644 data/7.8/stock_split.json create mode 100644 data/8.0/company.json rename data/{7.8.14 => 8.0}/country.json (97%) rename data/{7.8.14 => 8.0}/currency.json (97%) create mode 100644 data/8.0/ir.json rename data/{8.0.8 => 8.0}/party.json (99%) rename data/{7.8.14 => 8.0}/product.json (63%) create mode 100644 data/8.0/product_measurements.json rename data/{8.0.8 => 8.0}/production.json (99%) create mode 100644 data/8.0/production_split.json create mode 100644 data/8.0/res.json create mode 100644 data/8.0/stock_lot.json create mode 100644 data/8.0/stock_lot_sled.json create mode 100644 data/8.0/stock_product_location.json create mode 100644 data/8.0/stock_split.json create mode 100644 reports/ir.md create mode 100644 reports/res.md rename extract_all.sh => run.sh (78%) diff --git a/compare.py b/compare.py index 5c6409f..1fa19a7 100644 --- a/compare.py +++ b/compare.py @@ -29,7 +29,7 @@ class Module(object): def read_data(self): for version in versions(): - vers = version.name.rsplit('.', 1)[0] + vers = version.name self.versionen[vers] = {} infile = version / f"{self.name}.json" @@ -68,7 +68,8 @@ class Module(object): out.write(f"# {self.name}\n\n") - for c, classe in self.classes.items(): + for c in sorted(self.classes): + classe = self.classes[c] out.write(f"## Klasse {c}\n\n") diff --git a/data/5.0.63/company.json b/data/5.0.63/company.json deleted file mode 100644 index b4a9b6b..0000000 --- a/data/5.0.63/company.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "5.0.63", - "module": "company", - "files": [] -} \ No newline at end of file diff --git a/data/5.0.63/stock_product_location.json b/data/5.0.63/stock_product_location.json deleted file mode 100644 index 0bace17..0000000 --- a/data/5.0.63/stock_product_location.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "5.0.63", - "module": "stock_product_location", - "files": [] -} \ No newline at end of file diff --git a/data/8.0.8/company.json b/data/5.0/company.json similarity index 64% rename from data/8.0.8/company.json rename to data/5.0/company.json index 65f85a8..197f8fe 100644 --- a/data/8.0.8/company.json +++ b/data/5.0/company.json @@ -1,5 +1,5 @@ { - "version": "8.0.8", + "version": "5.0", "module": "company", "files": [] } \ No newline at end of file diff --git a/data/5.0.63/country.json b/data/5.0/country.json similarity index 97% rename from data/5.0.63/country.json rename to data/5.0/country.json index b575611..164dc7b 100644 --- a/data/5.0.63/country.json +++ b/data/5.0/country.json @@ -1,5 +1,5 @@ { - "version": "5.0.63", + "version": "5.0", "module": "country", "files": [ { diff --git a/data/5.2.20/currency.json b/data/5.0/currency.json similarity index 64% rename from data/5.2.20/currency.json rename to data/5.0/currency.json index df47f57..ff64e3e 100644 --- a/data/5.2.20/currency.json +++ b/data/5.0/currency.json @@ -1,5 +1,5 @@ { - "version": "5.2.20", + "version": "5.0", "module": "currency", "files": [] } \ No newline at end of file diff --git a/data/5.0/ir.json b/data/5.0/ir.json new file mode 100644 index 0000000..43958ca --- /dev/null +++ b/data/5.0/ir.json @@ -0,0 +1,555 @@ +{ + "version": "5.0", + "module": "ir", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionKeyword", + "method": "__register__", + "line": 119, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 123, + "args": [ + "['keyword', 'model']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['keyword', 'model'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionReport", + "method": "__register__", + "line": 499, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 508, + "args": [ + "'report_name_module_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('report_name_module_uniq')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 511, + "args": [ + "*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')" + ], + "kwargs": {}, + "code": "cursor.execute(*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain'))", + "phase": "after_super" + }, + { + "object": "action_report", + "operation": "update", + "line": 511, + "args": [ + "[action_report.extension]", + "['txt']" + ], + "kwargs": { + "where": "action_report.extension == 'plain'" + }, + "code": "action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindow", + "method": "__register__", + "line": 694, + "operations": [ + { + "object": "table", + "operation": "drop_column", + "line": 702, + "args": [ + "'auto_refresh'" + ], + "kwargs": {}, + "code": "table.drop_column('auto_refresh')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "drop_column", + "line": 705, + "args": [ + "'window_name'" + ], + "kwargs": {}, + "code": "table.drop_column('window_name')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 708, + "args": [ + "'limit'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('limit', 'remove')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 709, + "args": [ + "*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)" + ], + "kwargs": {}, + "code": "cursor.execute(*act_window.update([act_window.limit], [Null], where=act_window.limit == 0))", + "phase": "after_super" + }, + { + "object": "act_window", + "operation": "update", + "line": 709, + "args": [ + "[act_window.limit]", + "[Null]" + ], + "kwargs": { + "where": "act_window.limit == 0" + }, + "code": "act_window.update([act_window.limit], [Null], where=act_window.limit == 0)", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py", + "class": "Attachment", + "method": "__register__", + "line": 60, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 70, + "args": [ + "*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 70, + "args": [ + "[attachment.file_id]", + "[attachment.digest]" + ], + "kwargs": { + "where": "(attachment.collision == 0) | (attachment.collision == Null)" + }, + "code": "attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 75, + "args": [ + "*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 75, + "args": [ + "[attachment.file_id]", + "[Concat(Concat(attachment.digest, '-'), attachment.collision)]" + ], + "kwargs": { + "where": "(attachment.collision != 0) & (attachment.collision != Null)" + }, + "code": "attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 81, + "args": [ + "'digest'" + ], + "kwargs": {}, + "code": "table.drop_column('digest')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 82, + "args": [ + "'collision'" + ], + "kwargs": {}, + "code": "table.drop_column('collision')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_constraint", + "line": 85, + "args": [ + "'resource_name'" + ], + "kwargs": {}, + "code": "table.drop_constraint('resource_name')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelData", + "method": "__register__", + "line": 1100, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 1107, + "args": [ + "*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 1107, + "args": [ + "[model_data.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')" + }, + "code": "model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "Module", + "method": "__register__", + "line": 102, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 118, + "args": [ + "*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 118, + "args": [ + "[sql_table.state]", + "['activated']" + ], + "kwargs": { + "where": "sql_table.state == 'installed'" + }, + "code": "sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 121, + "args": [ + "*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 121, + "args": [ + "[sql_table.state]", + "['not activated']" + ], + "kwargs": { + "where": "sql_table.state == 'uninstalled'" + }, + "code": "sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 134, + "args": [ + "*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)))", + "phase": "after_super" + }, + { + "object": "model_data_sql_table", + "operation": "update", + "line": 134, + "args": [ + "[model_data_sql_table.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)" + }, + "code": "model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "ModuleConfigWizardItem", + "method": "__register__", + "line": 401, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 412, + "args": [ + "*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item'))", + "phase": "before_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 412, + "args": [], + "kwargs": { + "columns": "[model_data.model]", + "values": "[cls.__name__]", + "where": "model_data.model == 'ir.module.module.config_wizard.item'" + }, + "code": "model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')", + "phase": "before_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/queue.py", + "class": "Queue", + "method": "__register__", + "line": 35, + "operations": [ + { + "object": "table_h", + "operation": "index_action", + "line": 41, + "args": [ + "[queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name]" + ], + "kwargs": { + "action": "'add'" + }, + "code": "table_h.index_action([queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name], action='add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/session.py", + "class": "Session", + "method": "__register__", + "line": 36, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 40, + "args": [ + "'create_uid'", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action('create_uid', 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/translation.py", + "class": "Translation", + "method": "__register__", + "line": 99, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 108, + "args": [ + "*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')" + ], + "kwargs": {}, + "code": "cursor.execute(*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt'))", + "phase": "after_super" + }, + { + "object": "ir_translation", + "operation": "update", + "line": 108, + "args": [ + "[ir_translation.type]", + "['report']" + ], + "kwargs": { + "where": "ir_translation.type == 'odt'" + }, + "code": "ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "index_action", + "line": 114, + "args": [ + "['lang', 'type', 'name']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['lang', 'type', 'name'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "Trigger", + "method": "__register__", + "line": 74, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 84, + "args": [ + "*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null))", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "sql_table", + "operation": "select", + "line": 84, + "args": [ + "sql_table.id", + "sql_table.minimum_delay" + ], + "kwargs": { + "where": "sql_table.minimum_delay != Null" + }, + "code": "sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 93, + "args": [ + "'minimum_delay'" + ], + "kwargs": {}, + "code": "table.drop_column('minimum_delay')", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "TriggerLog", + "method": "__register__", + "line": 300, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 304, + "args": [ + "['trigger', 'record_id']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['trigger', 'record_id'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewTreeState", + "method": "__register__", + "line": 313, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 317, + "args": [ + "['model', 'domain', 'user', 'child_name']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['model', 'domain', 'user', 'child_name'], 'add')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/5.0.63/party.json b/data/5.0/party.json similarity index 99% rename from data/5.0.63/party.json rename to data/5.0/party.json index 6139597..1d4cd1f 100644 --- a/data/5.0.63/party.json +++ b/data/5.0/party.json @@ -1,5 +1,5 @@ { - "version": "5.0.63", + "version": "5.0", "module": "party", "files": [ { diff --git a/data/5.0.63/product.json b/data/5.0/product.json similarity index 99% rename from data/5.0.63/product.json rename to data/5.0/product.json index 8253193..f1aa18a 100644 --- a/data/5.0.63/product.json +++ b/data/5.0/product.json @@ -1,5 +1,5 @@ { - "version": "5.0.63", + "version": "5.0", "module": "product", "files": [ { diff --git a/data/8.0.8/product_measurements.json b/data/5.0/product_measurements.json similarity index 70% rename from data/8.0.8/product_measurements.json rename to data/5.0/product_measurements.json index 1bb225f..c05beb0 100644 --- a/data/8.0.8/product_measurements.json +++ b/data/5.0/product_measurements.json @@ -1,5 +1,5 @@ { - "version": "8.0.8", + "version": "5.0", "module": "product_measurements", "files": [] } \ No newline at end of file diff --git a/data/5.0.63/production.json b/data/5.0/production.json similarity index 98% rename from data/5.0.63/production.json rename to data/5.0/production.json index b73a6ed..8d88dd5 100644 --- a/data/5.0.63/production.json +++ b/data/5.0/production.json @@ -1,5 +1,5 @@ { - "version": "5.0.63", + "version": "5.0", "module": "production", "files": [ { diff --git a/data/8.0.8/production_split.json b/data/5.0/production_split.json similarity index 69% rename from data/8.0.8/production_split.json rename to data/5.0/production_split.json index 1e19238..78cde2c 100644 --- a/data/8.0.8/production_split.json +++ b/data/5.0/production_split.json @@ -1,5 +1,5 @@ { - "version": "8.0.8", + "version": "5.0", "module": "production_split", "files": [] } \ No newline at end of file diff --git a/data/5.0/res.json b/data/5.0/res.json new file mode 100644 index 0000000..aa44544 --- /dev/null +++ b/data/5.0/res.json @@ -0,0 +1,76 @@ +{ + "version": "5.0", + "module": "res", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/res/user.py", + "class": "User", + "method": "__register__", + "line": 200, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 210, + "args": [ + "*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])" + ], + "kwargs": {}, + "code": "cursor.execute(*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new]))", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "sqltable", + "operation": "update", + "line": 210, + "args": [], + "kwargs": { + "columns": "[sqltable.password_hash]", + "values": "[password_hash_new]" + }, + "code": "sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 213, + "args": [ + "'password'" + ], + "kwargs": {}, + "code": "table.drop_column('password')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 214, + "args": [ + "'salt'" + ], + "kwargs": {}, + "code": "table.drop_column('salt')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 217, + "args": [ + "'name'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table.not_null_action('name', action='remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/8.0.8/stock_lot.json b/data/5.0/stock_lot.json similarity index 65% rename from data/8.0.8/stock_lot.json rename to data/5.0/stock_lot.json index 2bcca8f..8ef4bae 100644 --- a/data/8.0.8/stock_lot.json +++ b/data/5.0/stock_lot.json @@ -1,5 +1,5 @@ { - "version": "8.0.8", + "version": "5.0", "module": "stock_lot", "files": [] } \ No newline at end of file diff --git a/data/8.0.8/stock_lot_sled.json b/data/5.0/stock_lot_sled.json similarity index 68% rename from data/8.0.8/stock_lot_sled.json rename to data/5.0/stock_lot_sled.json index 9e8e141..f026c0f 100644 --- a/data/8.0.8/stock_lot_sled.json +++ b/data/5.0/stock_lot_sled.json @@ -1,5 +1,5 @@ { - "version": "8.0.8", + "version": "5.0", "module": "stock_lot_sled", "files": [] } \ No newline at end of file diff --git a/data/8.0.8/stock_product_location.json b/data/5.0/stock_product_location.json similarity index 71% rename from data/8.0.8/stock_product_location.json rename to data/5.0/stock_product_location.json index 8bb2ac9..69bd32d 100644 --- a/data/8.0.8/stock_product_location.json +++ b/data/5.0/stock_product_location.json @@ -1,5 +1,5 @@ { - "version": "8.0.8", + "version": "5.0", "module": "stock_product_location", "files": [] } \ No newline at end of file diff --git a/data/8.0.8/stock_split.json b/data/5.0/stock_split.json similarity index 66% rename from data/8.0.8/stock_split.json rename to data/5.0/stock_split.json index c25e176..07147b8 100644 --- a/data/8.0.8/stock_split.json +++ b/data/5.0/stock_split.json @@ -1,5 +1,5 @@ { - "version": "8.0.8", + "version": "5.0", "module": "stock_split", "files": [] } \ No newline at end of file diff --git a/data/5.2.20/product_measurements.json b/data/5.2.20/product_measurements.json deleted file mode 100644 index b097af6..0000000 --- a/data/5.2.20/product_measurements.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "5.2.20", - "module": "product_measurements", - "files": [] -} \ No newline at end of file diff --git a/data/5.2.20/production_split.json b/data/5.2.20/production_split.json deleted file mode 100644 index 706306c..0000000 --- a/data/5.2.20/production_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "5.2.20", - "module": "production_split", - "files": [] -} \ No newline at end of file diff --git a/data/5.2.20/stock_lot_sled.json b/data/5.2.20/stock_lot_sled.json deleted file mode 100644 index dad61b6..0000000 --- a/data/5.2.20/stock_lot_sled.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "5.2.20", - "module": "stock_lot_sled", - "files": [] -} \ No newline at end of file diff --git a/data/5.2.20/stock_split.json b/data/5.2.20/stock_split.json deleted file mode 100644 index 85637b0..0000000 --- a/data/5.2.20/stock_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "5.2.20", - "module": "stock_split", - "files": [] -} \ No newline at end of file diff --git a/data/5.4.20/company.json b/data/5.2/company.json similarity index 63% rename from data/5.4.20/company.json rename to data/5.2/company.json index e9b26d5..f654006 100644 --- a/data/5.4.20/company.json +++ b/data/5.2/company.json @@ -1,5 +1,5 @@ { - "version": "5.4.20", + "version": "5.2", "module": "company", "files": [] } \ No newline at end of file diff --git a/data/5.2.20/country.json b/data/5.2/country.json similarity index 97% rename from data/5.2.20/country.json rename to data/5.2/country.json index 84c2eec..c83e621 100644 --- a/data/5.2.20/country.json +++ b/data/5.2/country.json @@ -1,5 +1,5 @@ { - "version": "5.2.20", + "version": "5.2", "module": "country", "files": [ { diff --git a/data/5.0.63/currency.json b/data/5.2/currency.json similarity index 64% rename from data/5.0.63/currency.json rename to data/5.2/currency.json index e5e14e6..19b3cc6 100644 --- a/data/5.0.63/currency.json +++ b/data/5.2/currency.json @@ -1,5 +1,5 @@ { - "version": "5.0.63", + "version": "5.2", "module": "currency", "files": [] } \ No newline at end of file diff --git a/data/5.2/ir.json b/data/5.2/ir.json new file mode 100644 index 0000000..c0c2cce --- /dev/null +++ b/data/5.2/ir.json @@ -0,0 +1,684 @@ +{ + "version": "5.2", + "module": "ir", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionKeyword", + "method": "__register__", + "line": 147, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 151, + "args": [ + "['keyword', 'model']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['keyword', 'model'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionReport", + "method": "__register__", + "line": 529, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 538, + "args": [ + "'report_name_module_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('report_name_module_uniq')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 541, + "args": [ + "*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')" + ], + "kwargs": {}, + "code": "cursor.execute(*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain'))", + "phase": "after_super" + }, + { + "object": "action_report", + "operation": "update", + "line": 541, + "args": [ + "[action_report.extension]", + "['txt']" + ], + "kwargs": { + "where": "action_report.extension == 'plain'" + }, + "code": "action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindow", + "method": "__register__", + "line": 729, + "operations": [ + { + "object": "table", + "operation": "drop_column", + "line": 737, + "args": [ + "'auto_refresh'" + ], + "kwargs": {}, + "code": "table.drop_column('auto_refresh')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "drop_column", + "line": 740, + "args": [ + "'window_name'" + ], + "kwargs": {}, + "code": "table.drop_column('window_name')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 743, + "args": [ + "'limit'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('limit', 'remove')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 744, + "args": [ + "*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)" + ], + "kwargs": {}, + "code": "cursor.execute(*act_window.update([act_window.limit], [Null], where=act_window.limit == 0))", + "phase": "after_super" + }, + { + "object": "act_window", + "operation": "update", + "line": 744, + "args": [ + "[act_window.limit]", + "[Null]" + ], + "kwargs": { + "where": "act_window.limit == 0" + }, + "code": "act_window.update([act_window.limit], [Null], where=act_window.limit == 0)", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowView", + "method": "__register__", + "line": 909, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 915, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowDomain", + "method": "__register__", + "line": 948, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 954, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py", + "class": "Attachment", + "method": "__register__", + "line": 60, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 70, + "args": [ + "*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 70, + "args": [ + "[attachment.file_id]", + "[attachment.digest]" + ], + "kwargs": { + "where": "(attachment.collision == 0) | (attachment.collision == Null)" + }, + "code": "attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 75, + "args": [ + "*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 75, + "args": [ + "[attachment.file_id]", + "[Concat(Concat(attachment.digest, '-'), attachment.collision)]" + ], + "kwargs": { + "where": "(attachment.collision != 0) & (attachment.collision != Null)" + }, + "code": "attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 81, + "args": [ + "'digest'" + ], + "kwargs": {}, + "code": "table.drop_column('digest')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 82, + "args": [ + "'collision'" + ], + "kwargs": {}, + "code": "table.drop_column('collision')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_constraint", + "line": 85, + "args": [ + "'resource_name'" + ], + "kwargs": {}, + "code": "table.drop_constraint('resource_name')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/cron.py", + "class": "Cron", + "method": "__register__", + "line": 66, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 77, + "args": [ + "'next_call'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('next_call', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelData", + "method": "__register__", + "line": 1135, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 1144, + "args": [ + "*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 1144, + "args": [ + "[model_data.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')" + }, + "code": "model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))", + "phase": "after_super" + }, + { + "object": "table_h", + "operation": "not_null_action", + "line": 1150, + "args": [ + "'db_id'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('db_id', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "Module", + "method": "__register__", + "line": 103, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 119, + "args": [ + "*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 119, + "args": [ + "[sql_table.state]", + "['activated']" + ], + "kwargs": { + "where": "sql_table.state == 'installed'" + }, + "code": "sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 122, + "args": [ + "*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 122, + "args": [ + "[sql_table.state]", + "['not activated']" + ], + "kwargs": { + "where": "sql_table.state == 'uninstalled'" + }, + "code": "sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 135, + "args": [ + "*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)))", + "phase": "after_super" + }, + { + "object": "model_data_sql_table", + "operation": "update", + "line": 135, + "args": [ + "[model_data_sql_table.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)" + }, + "code": "model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "ModuleConfigWizardItem", + "method": "__register__", + "line": 396, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 407, + "args": [ + "*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item'))", + "phase": "before_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 407, + "args": [], + "kwargs": { + "columns": "[model_data.model]", + "values": "[cls.__name__]", + "where": "model_data.model == 'ir.module.module.config_wizard.item'" + }, + "code": "model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')", + "phase": "before_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 418, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/queue.py", + "class": "Queue", + "method": "__register__", + "line": 35, + "operations": [ + { + "object": "table_h", + "operation": "index_action", + "line": 41, + "args": [ + "[queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name]" + ], + "kwargs": { + "action": "'add'" + }, + "code": "table_h.index_action([queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name], action='add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/session.py", + "class": "Session", + "method": "__register__", + "line": 36, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 40, + "args": [ + "'create_uid'", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action('create_uid', 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/translation.py", + "class": "Translation", + "method": "__register__", + "line": 85, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 93, + "args": [ + "'translation_md5_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('translation_md5_uniq')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 94, + "args": [ + "'src_md5'" + ], + "kwargs": {}, + "code": "table.drop_column('src_md5')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 99, + "args": [ + "*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')" + ], + "kwargs": {}, + "code": "cursor.execute(*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt'))", + "phase": "after_super" + }, + { + "object": "ir_translation", + "operation": "update", + "line": 99, + "args": [ + "[ir_translation.type]", + "['report']" + ], + "kwargs": { + "where": "ir_translation.type == 'odt'" + }, + "code": "ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "index_action", + "line": 105, + "args": [ + "['lang', 'type', 'name']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['lang', 'type', 'name'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "Trigger", + "method": "__register__", + "line": 76, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 86, + "args": [ + "*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null))", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "sql_table", + "operation": "select", + "line": 86, + "args": [ + "sql_table.id", + "sql_table.minimum_delay" + ], + "kwargs": { + "where": "sql_table.minimum_delay != Null" + }, + "code": "sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 95, + "args": [ + "'minimum_delay'" + ], + "kwargs": {}, + "code": "table.drop_column('minimum_delay')", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "TriggerLog", + "method": "__register__", + "line": 302, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 306, + "args": [ + "['trigger', 'record_id']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['trigger', 'record_id'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py", + "class": "Icon", + "method": "__register__", + "line": 33, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 39, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewTreeState", + "method": "__register__", + "line": 323, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 327, + "args": [ + "['model', 'domain', 'user', 'child_name']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['model', 'domain', 'user', 'child_name'], 'add')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/5.2.20/party.json b/data/5.2/party.json similarity index 99% rename from data/5.2.20/party.json rename to data/5.2/party.json index 99bd361..6552200 100644 --- a/data/5.2.20/party.json +++ b/data/5.2/party.json @@ -1,5 +1,5 @@ { - "version": "5.2.20", + "version": "5.2", "module": "party", "files": [ { diff --git a/data/5.2.20/product.json b/data/5.2/product.json similarity index 99% rename from data/5.2.20/product.json rename to data/5.2/product.json index 30e6e28..3022e37 100644 --- a/data/5.2.20/product.json +++ b/data/5.2/product.json @@ -1,5 +1,5 @@ { - "version": "5.2.20", + "version": "5.2", "module": "product", "files": [ { diff --git a/data/5.0.63/product_measurements.json b/data/5.2/product_measurements.json similarity index 69% rename from data/5.0.63/product_measurements.json rename to data/5.2/product_measurements.json index 4d57e1c..eae46a3 100644 --- a/data/5.0.63/product_measurements.json +++ b/data/5.2/product_measurements.json @@ -1,5 +1,5 @@ { - "version": "5.0.63", + "version": "5.2", "module": "product_measurements", "files": [] } \ No newline at end of file diff --git a/data/5.4.20/production.json b/data/5.2/production.json similarity index 98% rename from data/5.4.20/production.json rename to data/5.2/production.json index 0275e9c..813eb4c 100644 --- a/data/5.4.20/production.json +++ b/data/5.2/production.json @@ -1,5 +1,5 @@ { - "version": "5.4.20", + "version": "5.2", "module": "production", "files": [ { diff --git a/data/5.4.20/production_split.json b/data/5.2/production_split.json similarity index 68% rename from data/5.4.20/production_split.json rename to data/5.2/production_split.json index f4ecaf4..ddc499b 100644 --- a/data/5.4.20/production_split.json +++ b/data/5.2/production_split.json @@ -1,5 +1,5 @@ { - "version": "5.4.20", + "version": "5.2", "module": "production_split", "files": [] } \ No newline at end of file diff --git a/data/5.2/res.json b/data/5.2/res.json new file mode 100644 index 0000000..16ec556 --- /dev/null +++ b/data/5.2/res.json @@ -0,0 +1,76 @@ +{ + "version": "5.2", + "module": "res", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/res/user.py", + "class": "User", + "method": "__register__", + "line": 194, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 204, + "args": [ + "*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])" + ], + "kwargs": {}, + "code": "cursor.execute(*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new]))", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "sqltable", + "operation": "update", + "line": 204, + "args": [], + "kwargs": { + "columns": "[sqltable.password_hash]", + "values": "[password_hash_new]" + }, + "code": "sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 207, + "args": [ + "'password'" + ], + "kwargs": {}, + "code": "table.drop_column('password')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 208, + "args": [ + "'salt'" + ], + "kwargs": {}, + "code": "table.drop_column('salt')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 211, + "args": [ + "'name'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table.not_null_action('name', action='remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/5.0.63/stock_lot.json b/data/5.2/stock_lot.json similarity index 64% rename from data/5.0.63/stock_lot.json rename to data/5.2/stock_lot.json index a68a64d..99ef37d 100644 --- a/data/5.0.63/stock_lot.json +++ b/data/5.2/stock_lot.json @@ -1,5 +1,5 @@ { - "version": "5.0.63", + "version": "5.2", "module": "stock_lot", "files": [] } \ No newline at end of file diff --git a/data/5.4.20/stock_lot_sled.json b/data/5.2/stock_lot_sled.json similarity index 67% rename from data/5.4.20/stock_lot_sled.json rename to data/5.2/stock_lot_sled.json index 58cd359..2ee1cf5 100644 --- a/data/5.4.20/stock_lot_sled.json +++ b/data/5.2/stock_lot_sled.json @@ -1,5 +1,5 @@ { - "version": "5.4.20", + "version": "5.2", "module": "stock_lot_sled", "files": [] } \ No newline at end of file diff --git a/data/5.2.20/stock_product_location.json b/data/5.2/stock_product_location.json similarity index 70% rename from data/5.2.20/stock_product_location.json rename to data/5.2/stock_product_location.json index 5b1f08c..1b2ad53 100644 --- a/data/5.2.20/stock_product_location.json +++ b/data/5.2/stock_product_location.json @@ -1,5 +1,5 @@ { - "version": "5.2.20", + "version": "5.2", "module": "stock_product_location", "files": [] } \ No newline at end of file diff --git a/data/5.4.20/stock_split.json b/data/5.2/stock_split.json similarity index 65% rename from data/5.4.20/stock_split.json rename to data/5.2/stock_split.json index 4365382..4950775 100644 --- a/data/5.4.20/stock_split.json +++ b/data/5.2/stock_split.json @@ -1,5 +1,5 @@ { - "version": "5.4.20", + "version": "5.2", "module": "stock_split", "files": [] } \ No newline at end of file diff --git a/data/5.6.17/company.json b/data/5.4/company.json similarity index 63% rename from data/5.6.17/company.json rename to data/5.4/company.json index 75f8c22..e00eca1 100644 --- a/data/5.6.17/company.json +++ b/data/5.4/company.json @@ -1,5 +1,5 @@ { - "version": "5.6.17", + "version": "5.4", "module": "company", "files": [] } \ No newline at end of file diff --git a/data/5.4.20/country.json b/data/5.4/country.json similarity index 99% rename from data/5.4.20/country.json rename to data/5.4/country.json index d6d59fa..ca009da 100644 --- a/data/5.4.20/country.json +++ b/data/5.4/country.json @@ -1,5 +1,5 @@ { - "version": "5.4.20", + "version": "5.4", "module": "country", "files": [ { diff --git a/data/5.4.20/currency.json b/data/5.4/currency.json similarity index 97% rename from data/5.4.20/currency.json rename to data/5.4/currency.json index cde3230..3022ddb 100644 --- a/data/5.4.20/currency.json +++ b/data/5.4/currency.json @@ -1,5 +1,5 @@ { - "version": "5.4.20", + "version": "5.4", "module": "currency", "files": [ { diff --git a/data/5.4/ir.json b/data/5.4/ir.json new file mode 100644 index 0000000..18539d2 --- /dev/null +++ b/data/5.4/ir.json @@ -0,0 +1,684 @@ +{ + "version": "5.4", + "module": "ir", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionKeyword", + "method": "__register__", + "line": 147, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 151, + "args": [ + "['keyword', 'model']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['keyword', 'model'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionReport", + "method": "__register__", + "line": 529, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 538, + "args": [ + "'report_name_module_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('report_name_module_uniq')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 541, + "args": [ + "*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')" + ], + "kwargs": {}, + "code": "cursor.execute(*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain'))", + "phase": "after_super" + }, + { + "object": "action_report", + "operation": "update", + "line": 541, + "args": [ + "[action_report.extension]", + "['txt']" + ], + "kwargs": { + "where": "action_report.extension == 'plain'" + }, + "code": "action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindow", + "method": "__register__", + "line": 729, + "operations": [ + { + "object": "table", + "operation": "drop_column", + "line": 737, + "args": [ + "'auto_refresh'" + ], + "kwargs": {}, + "code": "table.drop_column('auto_refresh')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "drop_column", + "line": 740, + "args": [ + "'window_name'" + ], + "kwargs": {}, + "code": "table.drop_column('window_name')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 743, + "args": [ + "'limit'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('limit', 'remove')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 744, + "args": [ + "*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)" + ], + "kwargs": {}, + "code": "cursor.execute(*act_window.update([act_window.limit], [Null], where=act_window.limit == 0))", + "phase": "after_super" + }, + { + "object": "act_window", + "operation": "update", + "line": 744, + "args": [ + "[act_window.limit]", + "[Null]" + ], + "kwargs": { + "where": "act_window.limit == 0" + }, + "code": "act_window.update([act_window.limit], [Null], where=act_window.limit == 0)", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowView", + "method": "__register__", + "line": 909, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 915, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowDomain", + "method": "__register__", + "line": 948, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 954, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py", + "class": "Attachment", + "method": "__register__", + "line": 60, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 70, + "args": [ + "*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 70, + "args": [ + "[attachment.file_id]", + "[attachment.digest]" + ], + "kwargs": { + "where": "(attachment.collision == 0) | (attachment.collision == Null)" + }, + "code": "attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 75, + "args": [ + "*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 75, + "args": [ + "[attachment.file_id]", + "[Concat(Concat(attachment.digest, '-'), attachment.collision)]" + ], + "kwargs": { + "where": "(attachment.collision != 0) & (attachment.collision != Null)" + }, + "code": "attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 81, + "args": [ + "'digest'" + ], + "kwargs": {}, + "code": "table.drop_column('digest')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 82, + "args": [ + "'collision'" + ], + "kwargs": {}, + "code": "table.drop_column('collision')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_constraint", + "line": 85, + "args": [ + "'resource_name'" + ], + "kwargs": {}, + "code": "table.drop_constraint('resource_name')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/cron.py", + "class": "Cron", + "method": "__register__", + "line": 69, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 80, + "args": [ + "'next_call'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('next_call', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelData", + "method": "__register__", + "line": 1135, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 1144, + "args": [ + "*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 1144, + "args": [ + "[model_data.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')" + }, + "code": "model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))", + "phase": "after_super" + }, + { + "object": "table_h", + "operation": "not_null_action", + "line": 1150, + "args": [ + "'db_id'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('db_id', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "Module", + "method": "__register__", + "line": 103, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 119, + "args": [ + "*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 119, + "args": [ + "[sql_table.state]", + "['activated']" + ], + "kwargs": { + "where": "sql_table.state == 'installed'" + }, + "code": "sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 122, + "args": [ + "*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 122, + "args": [ + "[sql_table.state]", + "['not activated']" + ], + "kwargs": { + "where": "sql_table.state == 'uninstalled'" + }, + "code": "sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 135, + "args": [ + "*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)))", + "phase": "after_super" + }, + { + "object": "model_data_sql_table", + "operation": "update", + "line": 135, + "args": [ + "[model_data_sql_table.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)" + }, + "code": "model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "ModuleConfigWizardItem", + "method": "__register__", + "line": 396, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 407, + "args": [ + "*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item'))", + "phase": "before_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 407, + "args": [], + "kwargs": { + "columns": "[model_data.model]", + "values": "[cls.__name__]", + "where": "model_data.model == 'ir.module.module.config_wizard.item'" + }, + "code": "model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')", + "phase": "before_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 418, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/queue.py", + "class": "Queue", + "method": "__register__", + "line": 35, + "operations": [ + { + "object": "table_h", + "operation": "index_action", + "line": 41, + "args": [ + "[queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name]" + ], + "kwargs": { + "action": "'add'" + }, + "code": "table_h.index_action([queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name], action='add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/session.py", + "class": "Session", + "method": "__register__", + "line": 36, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 40, + "args": [ + "'create_uid'", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action('create_uid', 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/translation.py", + "class": "Translation", + "method": "__register__", + "line": 86, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 94, + "args": [ + "'translation_md5_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('translation_md5_uniq')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 95, + "args": [ + "'src_md5'" + ], + "kwargs": {}, + "code": "table.drop_column('src_md5')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 100, + "args": [ + "*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')" + ], + "kwargs": {}, + "code": "cursor.execute(*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt'))", + "phase": "after_super" + }, + { + "object": "ir_translation", + "operation": "update", + "line": 100, + "args": [ + "[ir_translation.type]", + "['report']" + ], + "kwargs": { + "where": "ir_translation.type == 'odt'" + }, + "code": "ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "index_action", + "line": 106, + "args": [ + "['lang', 'type', 'name']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['lang', 'type', 'name'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "Trigger", + "method": "__register__", + "line": 76, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 86, + "args": [ + "*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null))", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "sql_table", + "operation": "select", + "line": 86, + "args": [ + "sql_table.id", + "sql_table.minimum_delay" + ], + "kwargs": { + "where": "sql_table.minimum_delay != Null" + }, + "code": "sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 95, + "args": [ + "'minimum_delay'" + ], + "kwargs": {}, + "code": "table.drop_column('minimum_delay')", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "TriggerLog", + "method": "__register__", + "line": 303, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 307, + "args": [ + "['trigger', 'record_id']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['trigger', 'record_id'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py", + "class": "Icon", + "method": "__register__", + "line": 33, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 39, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewTreeState", + "method": "__register__", + "line": 323, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 327, + "args": [ + "['model', 'domain', 'user', 'child_name']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['model', 'domain', 'user', 'child_name'], 'add')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/5.4.20/party.json b/data/5.4/party.json similarity index 99% rename from data/5.4.20/party.json rename to data/5.4/party.json index cf85d8f..0ceb51e 100644 --- a/data/5.4.20/party.json +++ b/data/5.4/party.json @@ -1,5 +1,5 @@ { - "version": "5.4.20", + "version": "5.4", "module": "party", "files": [ { diff --git a/data/5.4.20/product.json b/data/5.4/product.json similarity index 99% rename from data/5.4.20/product.json rename to data/5.4/product.json index 1856fdc..2f31f9d 100644 --- a/data/5.4.20/product.json +++ b/data/5.4/product.json @@ -1,5 +1,5 @@ { - "version": "5.4.20", + "version": "5.4", "module": "product", "files": [ { diff --git a/data/5.4.20/product_measurements.json b/data/5.4/product_measurements.json similarity index 69% rename from data/5.4.20/product_measurements.json rename to data/5.4/product_measurements.json index 75cadf6..bd02860 100644 --- a/data/5.4.20/product_measurements.json +++ b/data/5.4/product_measurements.json @@ -1,5 +1,5 @@ { - "version": "5.4.20", + "version": "5.4", "module": "product_measurements", "files": [] } \ No newline at end of file diff --git a/data/5.2.20/production.json b/data/5.4/production.json similarity index 98% rename from data/5.2.20/production.json rename to data/5.4/production.json index 73a171c..e8d2518 100644 --- a/data/5.2.20/production.json +++ b/data/5.4/production.json @@ -1,5 +1,5 @@ { - "version": "5.2.20", + "version": "5.4", "module": "production", "files": [ { diff --git a/data/5.6.17/production_split.json b/data/5.4/production_split.json similarity index 68% rename from data/5.6.17/production_split.json rename to data/5.4/production_split.json index aac1bce..8ab5063 100644 --- a/data/5.6.17/production_split.json +++ b/data/5.4/production_split.json @@ -1,5 +1,5 @@ { - "version": "5.6.17", + "version": "5.4", "module": "production_split", "files": [] } \ No newline at end of file diff --git a/data/5.4/res.json b/data/5.4/res.json new file mode 100644 index 0000000..6e72115 --- /dev/null +++ b/data/5.4/res.json @@ -0,0 +1,76 @@ +{ + "version": "5.4", + "module": "res", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/res/user.py", + "class": "User", + "method": "__register__", + "line": 194, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 204, + "args": [ + "*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])" + ], + "kwargs": {}, + "code": "cursor.execute(*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new]))", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "sqltable", + "operation": "update", + "line": 204, + "args": [], + "kwargs": { + "columns": "[sqltable.password_hash]", + "values": "[password_hash_new]" + }, + "code": "sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 207, + "args": [ + "'password'" + ], + "kwargs": {}, + "code": "table.drop_column('password')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 208, + "args": [ + "'salt'" + ], + "kwargs": {}, + "code": "table.drop_column('salt')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 211, + "args": [ + "'name'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table.not_null_action('name', action='remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/5.4.20/stock_lot.json b/data/5.4/stock_lot.json similarity index 98% rename from data/5.4.20/stock_lot.json rename to data/5.4/stock_lot.json index 7f0da51..786ae7c 100644 --- a/data/5.4.20/stock_lot.json +++ b/data/5.4/stock_lot.json @@ -1,5 +1,5 @@ { - "version": "5.4.20", + "version": "5.4", "module": "stock_lot", "files": [ { diff --git a/data/5.6.17/stock_lot_sled.json b/data/5.4/stock_lot_sled.json similarity index 67% rename from data/5.6.17/stock_lot_sled.json rename to data/5.4/stock_lot_sled.json index 42e49ad..985ccee 100644 --- a/data/5.6.17/stock_lot_sled.json +++ b/data/5.4/stock_lot_sled.json @@ -1,5 +1,5 @@ { - "version": "5.6.17", + "version": "5.4", "module": "stock_lot_sled", "files": [] } \ No newline at end of file diff --git a/data/5.4.20/stock_product_location.json b/data/5.4/stock_product_location.json similarity index 70% rename from data/5.4.20/stock_product_location.json rename to data/5.4/stock_product_location.json index 8b6c44d..ff8bc8e 100644 --- a/data/5.4.20/stock_product_location.json +++ b/data/5.4/stock_product_location.json @@ -1,5 +1,5 @@ { - "version": "5.4.20", + "version": "5.4", "module": "stock_product_location", "files": [] } \ No newline at end of file diff --git a/data/5.6.17/stock_split.json b/data/5.4/stock_split.json similarity index 65% rename from data/5.6.17/stock_split.json rename to data/5.4/stock_split.json index 8b87cda..deedc2a 100644 --- a/data/5.6.17/stock_split.json +++ b/data/5.4/stock_split.json @@ -1,5 +1,5 @@ { - "version": "5.6.17", + "version": "5.4", "module": "stock_split", "files": [] } \ No newline at end of file diff --git a/data/5.2.20/company.json b/data/5.6/company.json similarity index 63% rename from data/5.2.20/company.json rename to data/5.6/company.json index bf39d6a..b753586 100644 --- a/data/5.2.20/company.json +++ b/data/5.6/company.json @@ -1,5 +1,5 @@ { - "version": "5.2.20", + "version": "5.6", "module": "company", "files": [] } \ No newline at end of file diff --git a/data/5.6.17/country.json b/data/5.6/country.json similarity index 99% rename from data/5.6.17/country.json rename to data/5.6/country.json index faec097..d2315fe 100644 --- a/data/5.6.17/country.json +++ b/data/5.6/country.json @@ -1,5 +1,5 @@ { - "version": "5.6.17", + "version": "5.6", "module": "country", "files": [ { diff --git a/data/5.8.16/currency.json b/data/5.6/currency.json similarity index 97% rename from data/5.8.16/currency.json rename to data/5.6/currency.json index 8de2df3..fd0023d 100644 --- a/data/5.8.16/currency.json +++ b/data/5.6/currency.json @@ -1,5 +1,5 @@ { - "version": "5.8.16", + "version": "5.6", "module": "currency", "files": [ { diff --git a/data/5.6/ir.json b/data/5.6/ir.json new file mode 100644 index 0000000..38656c0 --- /dev/null +++ b/data/5.6/ir.json @@ -0,0 +1,747 @@ +{ + "version": "5.6", + "module": "ir", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionKeyword", + "method": "__register__", + "line": 152, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 156, + "args": [ + "['keyword', 'model']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['keyword', 'model'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionReport", + "method": "__register__", + "line": 545, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 554, + "args": [ + "'report_name_module_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('report_name_module_uniq')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 557, + "args": [ + "*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')" + ], + "kwargs": {}, + "code": "cursor.execute(*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain'))", + "phase": "after_super" + }, + { + "object": "action_report", + "operation": "update", + "line": 557, + "args": [ + "[action_report.extension]", + "['txt']" + ], + "kwargs": { + "where": "action_report.extension == 'plain'" + }, + "code": "action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindow", + "method": "__register__", + "line": 745, + "operations": [ + { + "object": "table", + "operation": "drop_column", + "line": 753, + "args": [ + "'auto_refresh'" + ], + "kwargs": {}, + "code": "table.drop_column('auto_refresh')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "drop_column", + "line": 756, + "args": [ + "'window_name'" + ], + "kwargs": {}, + "code": "table.drop_column('window_name')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 759, + "args": [ + "'limit'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('limit', 'remove')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 760, + "args": [ + "*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)" + ], + "kwargs": {}, + "code": "cursor.execute(*act_window.update([act_window.limit], [Null], where=act_window.limit == 0))", + "phase": "after_super" + }, + { + "object": "act_window", + "operation": "update", + "line": 760, + "args": [ + "[act_window.limit]", + "[Null]" + ], + "kwargs": { + "where": "act_window.limit == 0" + }, + "code": "act_window.update([act_window.limit], [Null], where=act_window.limit == 0)", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowView", + "method": "__register__", + "line": 933, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 939, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowDomain", + "method": "__register__", + "line": 972, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 978, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py", + "class": "Attachment", + "method": "__register__", + "line": 63, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 73, + "args": [ + "*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 73, + "args": [ + "[attachment.file_id]", + "[attachment.digest]" + ], + "kwargs": { + "where": "(attachment.collision == 0) | (attachment.collision == Null)" + }, + "code": "attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 78, + "args": [ + "*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 78, + "args": [ + "[attachment.file_id]", + "[Concat(Concat(attachment.digest, '-'), attachment.collision)]" + ], + "kwargs": { + "where": "(attachment.collision != 0) & (attachment.collision != Null)" + }, + "code": "attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 84, + "args": [ + "'digest'" + ], + "kwargs": {}, + "code": "table.drop_column('digest')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 85, + "args": [ + "'collision'" + ], + "kwargs": {}, + "code": "table.drop_column('collision')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_constraint", + "line": 88, + "args": [ + "'resource_name'" + ], + "kwargs": {}, + "code": "table.drop_constraint('resource_name')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/cron.py", + "class": "Cron", + "method": "__register__", + "line": 69, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 80, + "args": [ + "'next_call'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('next_call', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelData", + "method": "__register__", + "line": 1157, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 1166, + "args": [ + "*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 1166, + "args": [ + "[model_data.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')" + }, + "code": "model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))", + "phase": "after_super" + }, + { + "object": "table_h", + "operation": "not_null_action", + "line": 1172, + "args": [ + "'db_id'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('db_id', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "Module", + "method": "__register__", + "line": 103, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 118, + "args": [ + "*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 118, + "args": [ + "[sql_table.state]", + "['activated']" + ], + "kwargs": { + "where": "sql_table.state == 'installed'" + }, + "code": "sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 121, + "args": [ + "*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 121, + "args": [ + "[sql_table.state]", + "['not activated']" + ], + "kwargs": { + "where": "sql_table.state == 'uninstalled'" + }, + "code": "sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 134, + "args": [ + "*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)))", + "phase": "after_super" + }, + { + "object": "model_data_sql_table", + "operation": "update", + "line": 134, + "args": [ + "[model_data_sql_table.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)" + }, + "code": "model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "ModuleConfigWizardItem", + "method": "__register__", + "line": 393, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 403, + "args": [ + "*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item'))", + "phase": "before_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 403, + "args": [], + "kwargs": { + "columns": "[model_data.model]", + "values": "[cls.__name__]", + "where": "model_data.model == 'ir.module.module.config_wizard.item'" + }, + "code": "model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')", + "phase": "before_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 414, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/queue.py", + "class": "Queue", + "method": "__register__", + "line": 35, + "operations": [ + { + "object": "table_h", + "operation": "index_action", + "line": 41, + "args": [ + "[queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name]" + ], + "kwargs": { + "action": "'add'" + }, + "code": "table_h.index_action([queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name], action='add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/session.py", + "class": "Session", + "method": "__register__", + "line": 36, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 40, + "args": [ + "'create_uid'", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action('create_uid', 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/translation.py", + "class": "Translation", + "method": "__register__", + "line": 86, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 94, + "args": [ + "'translation_md5_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('translation_md5_uniq')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 95, + "args": [ + "'src_md5'" + ], + "kwargs": {}, + "code": "table.drop_column('src_md5')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 100, + "args": [ + "*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')" + ], + "kwargs": {}, + "code": "cursor.execute(*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt'))", + "phase": "after_super" + }, + { + "object": "ir_translation", + "operation": "update", + "line": 100, + "args": [ + "[ir_translation.type]", + "['report']" + ], + "kwargs": { + "where": "ir_translation.type == 'odt'" + }, + "code": "ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "index_action", + "line": 106, + "args": [ + "['lang', 'type', 'name']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['lang', 'type', 'name'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "Trigger", + "method": "__register__", + "line": 77, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 89, + "args": [ + "*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null))", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "sql_table", + "operation": "select", + "line": 89, + "args": [ + "sql_table.id", + "sql_table.minimum_delay" + ], + "kwargs": { + "where": "sql_table.minimum_delay != Null" + }, + "code": "sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 98, + "args": [ + "'minimum_delay'" + ], + "kwargs": {}, + "code": "table.drop_column('minimum_delay')", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "model", + "operation": "select", + "line": 106, + "args": [ + "model.model" + ], + "kwargs": { + "where": "model.id == sql_table.action_model" + }, + "code": "model.select(model.model, where=model.id == sql_table.action_model)", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 108, + "args": [ + "*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]))", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "sql_table", + "operation": "update", + "line": 108, + "args": [ + "[sql_table.action]", + "[Concat(action_model, Concat('|', sql_table.action_function))]" + ], + "kwargs": {}, + "code": "sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 112, + "args": [ + "'action_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_model')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 113, + "args": [ + "'action_function'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_function')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "TriggerLog", + "method": "__register__", + "line": 330, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 334, + "args": [ + "['trigger', 'record_id']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['trigger', 'record_id'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py", + "class": "Icon", + "method": "__register__", + "line": 33, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 39, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewTreeState", + "method": "__register__", + "line": 323, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 327, + "args": [ + "['model', 'domain', 'user', 'child_name']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['model', 'domain', 'user', 'child_name'], 'add')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/5.6.17/party.json b/data/5.6/party.json similarity index 99% rename from data/5.6.17/party.json rename to data/5.6/party.json index f827d01..1f119a7 100644 --- a/data/5.6.17/party.json +++ b/data/5.6/party.json @@ -1,5 +1,5 @@ { - "version": "5.6.17", + "version": "5.6", "module": "party", "files": [ { diff --git a/data/5.6.17/product.json b/data/5.6/product.json similarity index 99% rename from data/5.6.17/product.json rename to data/5.6/product.json index 357dcb6..6a4e737 100644 --- a/data/5.6.17/product.json +++ b/data/5.6/product.json @@ -1,5 +1,5 @@ { - "version": "5.6.17", + "version": "5.6", "module": "product", "files": [ { diff --git a/data/5.6.17/product_measurements.json b/data/5.6/product_measurements.json similarity index 69% rename from data/5.6.17/product_measurements.json rename to data/5.6/product_measurements.json index f530509..79d4abc 100644 --- a/data/5.6.17/product_measurements.json +++ b/data/5.6/product_measurements.json @@ -1,5 +1,5 @@ { - "version": "5.6.17", + "version": "5.6", "module": "product_measurements", "files": [] } \ No newline at end of file diff --git a/data/5.6.17/production.json b/data/5.6/production.json similarity index 98% rename from data/5.6.17/production.json rename to data/5.6/production.json index 476fa30..4dc943c 100644 --- a/data/5.6.17/production.json +++ b/data/5.6/production.json @@ -1,5 +1,5 @@ { - "version": "5.6.17", + "version": "5.6", "module": "production", "files": [ { diff --git a/data/5.0.63/production_split.json b/data/5.6/production_split.json similarity index 68% rename from data/5.0.63/production_split.json rename to data/5.6/production_split.json index 1e24ea4..ea85760 100644 --- a/data/5.0.63/production_split.json +++ b/data/5.6/production_split.json @@ -1,5 +1,5 @@ { - "version": "5.0.63", + "version": "5.6", "module": "production_split", "files": [] } \ No newline at end of file diff --git a/data/5.6/res.json b/data/5.6/res.json new file mode 100644 index 0000000..cb5fdc5 --- /dev/null +++ b/data/5.6/res.json @@ -0,0 +1,76 @@ +{ + "version": "5.6", + "module": "res", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/res/user.py", + "class": "User", + "method": "__register__", + "line": 195, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 205, + "args": [ + "*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])" + ], + "kwargs": {}, + "code": "cursor.execute(*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new]))", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "sqltable", + "operation": "update", + "line": 205, + "args": [], + "kwargs": { + "columns": "[sqltable.password_hash]", + "values": "[password_hash_new]" + }, + "code": "sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 208, + "args": [ + "'password'" + ], + "kwargs": {}, + "code": "table.drop_column('password')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 209, + "args": [ + "'salt'" + ], + "kwargs": {}, + "code": "table.drop_column('salt')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 212, + "args": [ + "'name'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table.not_null_action('name', action='remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/5.6.17/stock_lot.json b/data/5.6/stock_lot.json similarity index 98% rename from data/5.6.17/stock_lot.json rename to data/5.6/stock_lot.json index 1c6a9e3..1227546 100644 --- a/data/5.6.17/stock_lot.json +++ b/data/5.6/stock_lot.json @@ -1,5 +1,5 @@ { - "version": "5.6.17", + "version": "5.6", "module": "stock_lot", "files": [ { diff --git a/data/5.0.63/stock_lot_sled.json b/data/5.6/stock_lot_sled.json similarity index 67% rename from data/5.0.63/stock_lot_sled.json rename to data/5.6/stock_lot_sled.json index d9b9eca..1b57177 100644 --- a/data/5.0.63/stock_lot_sled.json +++ b/data/5.6/stock_lot_sled.json @@ -1,5 +1,5 @@ { - "version": "5.0.63", + "version": "5.6", "module": "stock_lot_sled", "files": [] } \ No newline at end of file diff --git a/data/5.6.17/stock_product_location.json b/data/5.6/stock_product_location.json similarity index 70% rename from data/5.6.17/stock_product_location.json rename to data/5.6/stock_product_location.json index 40991b2..5ce885f 100644 --- a/data/5.6.17/stock_product_location.json +++ b/data/5.6/stock_product_location.json @@ -1,5 +1,5 @@ { - "version": "5.6.17", + "version": "5.6", "module": "stock_product_location", "files": [] } \ No newline at end of file diff --git a/data/5.0.63/stock_split.json b/data/5.6/stock_split.json similarity index 65% rename from data/5.0.63/stock_split.json rename to data/5.6/stock_split.json index 77fa169..23f942a 100644 --- a/data/5.0.63/stock_split.json +++ b/data/5.6/stock_split.json @@ -1,5 +1,5 @@ { - "version": "5.0.63", + "version": "5.6", "module": "stock_split", "files": [] } \ No newline at end of file diff --git a/data/5.8.16/company.json b/data/5.8.16/company.json deleted file mode 100644 index d0b3fa0..0000000 --- a/data/5.8.16/company.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "5.8.16", - "module": "company", - "files": [] -} \ No newline at end of file diff --git a/data/5.8.16/product_measurements.json b/data/5.8.16/product_measurements.json deleted file mode 100644 index 75d8066..0000000 --- a/data/5.8.16/product_measurements.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "5.8.16", - "module": "product_measurements", - "files": [] -} \ No newline at end of file diff --git a/data/5.8.16/production_split.json b/data/5.8.16/production_split.json deleted file mode 100644 index f061d6b..0000000 --- a/data/5.8.16/production_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "5.8.16", - "module": "production_split", - "files": [] -} \ No newline at end of file diff --git a/data/5.8.16/stock_lot_sled.json b/data/5.8.16/stock_lot_sled.json deleted file mode 100644 index b3d2a90..0000000 --- a/data/5.8.16/stock_lot_sled.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "5.8.16", - "module": "stock_lot_sled", - "files": [] -} \ No newline at end of file diff --git a/data/5.8.16/stock_split.json b/data/5.8.16/stock_split.json deleted file mode 100644 index 6387555..0000000 --- a/data/5.8.16/stock_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "5.8.16", - "module": "stock_split", - "files": [] -} \ No newline at end of file diff --git a/data/5.8/company.json b/data/5.8/company.json new file mode 100644 index 0000000..3899fd7 --- /dev/null +++ b/data/5.8/company.json @@ -0,0 +1,5 @@ +{ + "version": "5.8", + "module": "company", + "files": [] +} \ No newline at end of file diff --git a/data/5.8.16/country.json b/data/5.8/country.json similarity index 99% rename from data/5.8.16/country.json rename to data/5.8/country.json index 731be5d..2ee4925 100644 --- a/data/5.8.16/country.json +++ b/data/5.8/country.json @@ -1,5 +1,5 @@ { - "version": "5.8.16", + "version": "5.8", "module": "country", "files": [ { diff --git a/data/5.6.17/currency.json b/data/5.8/currency.json similarity index 97% rename from data/5.6.17/currency.json rename to data/5.8/currency.json index 8788578..6206e4b 100644 --- a/data/5.6.17/currency.json +++ b/data/5.8/currency.json @@ -1,5 +1,5 @@ { - "version": "5.6.17", + "version": "5.8", "module": "currency", "files": [ { diff --git a/data/5.8/ir.json b/data/5.8/ir.json new file mode 100644 index 0000000..4564168 --- /dev/null +++ b/data/5.8/ir.json @@ -0,0 +1,767 @@ +{ + "version": "5.8", + "module": "ir", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionKeyword", + "method": "__register__", + "line": 149, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 153, + "args": [ + "['keyword', 'model']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['keyword', 'model'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionReport", + "method": "__register__", + "line": 525, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 534, + "args": [ + "'report_name_module_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('report_name_module_uniq')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 537, + "args": [ + "*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')" + ], + "kwargs": {}, + "code": "cursor.execute(*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain'))", + "phase": "after_super" + }, + { + "object": "action_report", + "operation": "update", + "line": 537, + "args": [ + "[action_report.extension]", + "['txt']" + ], + "kwargs": { + "where": "action_report.extension == 'plain'" + }, + "code": "action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindow", + "method": "__register__", + "line": 705, + "operations": [ + { + "object": "table", + "operation": "drop_column", + "line": 713, + "args": [ + "'auto_refresh'" + ], + "kwargs": {}, + "code": "table.drop_column('auto_refresh')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "drop_column", + "line": 716, + "args": [ + "'window_name'" + ], + "kwargs": {}, + "code": "table.drop_column('window_name')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 719, + "args": [ + "'limit'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('limit', 'remove')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 720, + "args": [ + "*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)" + ], + "kwargs": {}, + "code": "cursor.execute(*act_window.update([act_window.limit], [Null], where=act_window.limit == 0))", + "phase": "after_super" + }, + { + "object": "act_window", + "operation": "update", + "line": 720, + "args": [ + "[act_window.limit]", + "[Null]" + ], + "kwargs": { + "where": "act_window.limit == 0" + }, + "code": "act_window.update([act_window.limit], [Null], where=act_window.limit == 0)", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowView", + "method": "__register__", + "line": 893, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 899, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowDomain", + "method": "__register__", + "line": 932, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 938, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py", + "class": "Attachment", + "method": "__register__", + "line": 63, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 73, + "args": [ + "*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 73, + "args": [ + "[attachment.file_id]", + "[attachment.digest]" + ], + "kwargs": { + "where": "(attachment.collision == 0) | (attachment.collision == Null)" + }, + "code": "attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 78, + "args": [ + "*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 78, + "args": [ + "[attachment.file_id]", + "[Concat(Concat(attachment.digest, '-'), attachment.collision)]" + ], + "kwargs": { + "where": "(attachment.collision != 0) & (attachment.collision != Null)" + }, + "code": "attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 84, + "args": [ + "'digest'" + ], + "kwargs": {}, + "code": "table.drop_column('digest')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 85, + "args": [ + "'collision'" + ], + "kwargs": {}, + "code": "table.drop_column('collision')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_constraint", + "line": 88, + "args": [ + "'resource_name'" + ], + "kwargs": {}, + "code": "table.drop_constraint('resource_name')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/cron.py", + "class": "Cron", + "method": "__register__", + "line": 71, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 82, + "args": [ + "'next_call'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('next_call', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelData", + "method": "__register__", + "line": 1159, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 1168, + "args": [ + "*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 1168, + "args": [ + "[model_data.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')" + }, + "code": "model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))", + "phase": "after_super" + }, + { + "object": "table_h", + "operation": "not_null_action", + "line": 1174, + "args": [ + "'db_id'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('db_id', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "Module", + "method": "__register__", + "line": 95, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 110, + "args": [ + "*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 110, + "args": [ + "[sql_table.state]", + "['activated']" + ], + "kwargs": { + "where": "sql_table.state == 'installed'" + }, + "code": "sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 113, + "args": [ + "*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 113, + "args": [ + "[sql_table.state]", + "['not activated']" + ], + "kwargs": { + "where": "sql_table.state == 'uninstalled'" + }, + "code": "sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 126, + "args": [ + "*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)))", + "phase": "after_super" + }, + { + "object": "model_data_sql_table", + "operation": "update", + "line": 126, + "args": [ + "[model_data_sql_table.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)" + }, + "code": "model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "ModuleConfigWizardItem", + "method": "__register__", + "line": 385, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 395, + "args": [ + "*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item'))", + "phase": "before_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 395, + "args": [], + "kwargs": { + "columns": "[model_data.model]", + "values": "[cls.__name__]", + "where": "model_data.model == 'ir.module.module.config_wizard.item'" + }, + "code": "model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')", + "phase": "before_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 406, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/queue.py", + "class": "Queue", + "method": "__register__", + "line": 36, + "operations": [ + { + "object": "table_h", + "operation": "index_action", + "line": 42, + "args": [ + "[queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name]" + ], + "kwargs": { + "action": "'add'" + }, + "code": "table_h.index_action([queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name], action='add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/session.py", + "class": "Session", + "method": "__register__", + "line": 32, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 36, + "args": [ + "'create_uid'", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action('create_uid', 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/translation.py", + "class": "Translation", + "method": "__register__", + "line": 80, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 88, + "args": [ + "'translation_md5_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('translation_md5_uniq')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 89, + "args": [ + "'src_md5'" + ], + "kwargs": {}, + "code": "table.drop_column('src_md5')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 94, + "args": [ + "*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')" + ], + "kwargs": {}, + "code": "cursor.execute(*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt'))", + "phase": "after_super" + }, + { + "object": "ir_translation", + "operation": "update", + "line": 94, + "args": [ + "[ir_translation.type]", + "['report']" + ], + "kwargs": { + "where": "ir_translation.type == 'odt'" + }, + "code": "ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "index_action", + "line": 100, + "args": [ + "['lang', 'type', 'name']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['lang', 'type', 'name'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "Trigger", + "method": "__register__", + "line": 73, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 85, + "args": [ + "*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null))", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "sql_table", + "operation": "select", + "line": 85, + "args": [ + "sql_table.id", + "sql_table.minimum_delay" + ], + "kwargs": { + "where": "sql_table.minimum_delay != Null" + }, + "code": "sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 94, + "args": [ + "'minimum_delay'" + ], + "kwargs": {}, + "code": "table.drop_column('minimum_delay')", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "model", + "operation": "select", + "line": 102, + "args": [ + "model.model" + ], + "kwargs": { + "where": "model.id == sql_table.action_model" + }, + "code": "model.select(model.model, where=model.id == sql_table.action_model)", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 104, + "args": [ + "*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]))", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "sql_table", + "operation": "update", + "line": 104, + "args": [ + "[sql_table.action]", + "[Concat(action_model, Concat('|', sql_table.action_function))]" + ], + "kwargs": {}, + "code": "sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 108, + "args": [ + "'action_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_model')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 109, + "args": [ + "'action_function'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_function')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "TriggerLog", + "method": "__register__", + "line": 327, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 331, + "args": [ + "['trigger', 'record_id']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['trigger', 'record_id'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py", + "class": "Icon", + "method": "__register__", + "line": 29, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 35, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewTreeState", + "method": "__register__", + "line": 324, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 328, + "args": [ + "['model', 'domain', 'user', 'child_name']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['model', 'domain', 'user', 'child_name'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewSearch", + "method": "__register__", + "line": 396, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 401, + "args": [ + "'user'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('user', 'remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/5.8.16/party.json b/data/5.8/party.json similarity index 99% rename from data/5.8.16/party.json rename to data/5.8/party.json index 74e0402..1fdc37a 100644 --- a/data/5.8.16/party.json +++ b/data/5.8/party.json @@ -1,5 +1,5 @@ { - "version": "5.8.16", + "version": "5.8", "module": "party", "files": [ { diff --git a/data/5.8.16/product.json b/data/5.8/product.json similarity index 99% rename from data/5.8.16/product.json rename to data/5.8/product.json index 639d5b6..9e48f44 100644 --- a/data/5.8.16/product.json +++ b/data/5.8/product.json @@ -1,5 +1,5 @@ { - "version": "5.8.16", + "version": "5.8", "module": "product", "files": [ { diff --git a/data/5.8/product_measurements.json b/data/5.8/product_measurements.json new file mode 100644 index 0000000..0a4a3fe --- /dev/null +++ b/data/5.8/product_measurements.json @@ -0,0 +1,5 @@ +{ + "version": "5.8", + "module": "product_measurements", + "files": [] +} \ No newline at end of file diff --git a/data/5.8.16/production.json b/data/5.8/production.json similarity index 99% rename from data/5.8.16/production.json rename to data/5.8/production.json index 0e843da..9b0dd5c 100644 --- a/data/5.8.16/production.json +++ b/data/5.8/production.json @@ -1,5 +1,5 @@ { - "version": "5.8.16", + "version": "5.8", "module": "production", "files": [ { diff --git a/data/5.8/production_split.json b/data/5.8/production_split.json new file mode 100644 index 0000000..6adfcb1 --- /dev/null +++ b/data/5.8/production_split.json @@ -0,0 +1,5 @@ +{ + "version": "5.8", + "module": "production_split", + "files": [] +} \ No newline at end of file diff --git a/data/5.8/res.json b/data/5.8/res.json new file mode 100644 index 0000000..1b15b99 --- /dev/null +++ b/data/5.8/res.json @@ -0,0 +1,101 @@ +{ + "version": "5.8", + "module": "res", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/res/user.py", + "class": "User", + "method": "__register__", + "line": 191, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 204, + "args": [ + "*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])" + ], + "kwargs": {}, + "code": "cursor.execute(*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new]))", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "sqltable", + "operation": "update", + "line": 204, + "args": [], + "kwargs": { + "columns": "[sqltable.password_hash]", + "values": "[password_hash_new]" + }, + "code": "sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 207, + "args": [ + "'password'" + ], + "kwargs": {}, + "code": "table.drop_column('password')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 208, + "args": [ + "'salt'" + ], + "kwargs": {}, + "code": "table.drop_column('salt')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 211, + "args": [ + "'name'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table.not_null_action('name', action='remove')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 214, + "args": [ + "*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 214, + "args": [ + "[model_data.noupdate]", + "[True]" + ], + "kwargs": { + "where": "(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')" + }, + "code": "model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/5.8.16/stock_lot.json b/data/5.8/stock_lot.json similarity index 98% rename from data/5.8.16/stock_lot.json rename to data/5.8/stock_lot.json index 4d214c0..8971b82 100644 --- a/data/5.8.16/stock_lot.json +++ b/data/5.8/stock_lot.json @@ -1,5 +1,5 @@ { - "version": "5.8.16", + "version": "5.8", "module": "stock_lot", "files": [ { diff --git a/data/5.8/stock_lot_sled.json b/data/5.8/stock_lot_sled.json new file mode 100644 index 0000000..2c38e63 --- /dev/null +++ b/data/5.8/stock_lot_sled.json @@ -0,0 +1,5 @@ +{ + "version": "5.8", + "module": "stock_lot_sled", + "files": [] +} \ No newline at end of file diff --git a/data/5.8.16/stock_product_location.json b/data/5.8/stock_product_location.json similarity index 96% rename from data/5.8.16/stock_product_location.json rename to data/5.8/stock_product_location.json index 231025c..5604afc 100644 --- a/data/5.8.16/stock_product_location.json +++ b/data/5.8/stock_product_location.json @@ -1,5 +1,5 @@ { - "version": "5.8.16", + "version": "5.8", "module": "stock_product_location", "files": [ { diff --git a/data/5.8/stock_split.json b/data/5.8/stock_split.json new file mode 100644 index 0000000..9a31f0d --- /dev/null +++ b/data/5.8/stock_split.json @@ -0,0 +1,5 @@ +{ + "version": "5.8", + "module": "stock_split", + "files": [] +} \ No newline at end of file diff --git a/data/6.0.76/product_measurements.json b/data/6.0.76/product_measurements.json deleted file mode 100644 index e751ca9..0000000 --- a/data/6.0.76/product_measurements.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.0.76", - "module": "product_measurements", - "files": [] -} \ No newline at end of file diff --git a/data/6.0.76/production_split.json b/data/6.0.76/production_split.json deleted file mode 100644 index 4edeca1..0000000 --- a/data/6.0.76/production_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.0.76", - "module": "production_split", - "files": [] -} \ No newline at end of file diff --git a/data/6.0.76/stock_lot_sled.json b/data/6.0.76/stock_lot_sled.json deleted file mode 100644 index b26b672..0000000 --- a/data/6.0.76/stock_lot_sled.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.0.76", - "module": "stock_lot_sled", - "files": [] -} \ No newline at end of file diff --git a/data/6.0.76/stock_split.json b/data/6.0.76/stock_split.json deleted file mode 100644 index e7c12de..0000000 --- a/data/6.0.76/stock_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.0.76", - "module": "stock_split", - "files": [] -} \ No newline at end of file diff --git a/data/6.0.76/company.json b/data/6.0/company.json similarity index 99% rename from data/6.0.76/company.json rename to data/6.0/company.json index 3959e6a..5f8dfb3 100644 --- a/data/6.0.76/company.json +++ b/data/6.0/company.json @@ -1,5 +1,5 @@ { - "version": "6.0.76", + "version": "6.0", "module": "company", "files": [ { diff --git a/data/6.2.14/country.json b/data/6.0/country.json similarity index 99% rename from data/6.2.14/country.json rename to data/6.0/country.json index 157e089..88d25c2 100644 --- a/data/6.2.14/country.json +++ b/data/6.0/country.json @@ -1,5 +1,5 @@ { - "version": "6.2.14", + "version": "6.0", "module": "country", "files": [ { diff --git a/data/6.4.16/currency.json b/data/6.0/currency.json similarity index 97% rename from data/6.4.16/currency.json rename to data/6.0/currency.json index e4f82dc..981b1f0 100644 --- a/data/6.4.16/currency.json +++ b/data/6.0/currency.json @@ -1,5 +1,5 @@ { - "version": "6.4.16", + "version": "6.0", "module": "currency", "files": [ { diff --git a/data/6.0/ir.json b/data/6.0/ir.json new file mode 100644 index 0000000..4a0593b --- /dev/null +++ b/data/6.0/ir.json @@ -0,0 +1,847 @@ +{ + "version": "6.0", + "module": "ir", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionKeyword", + "method": "__register__", + "line": 166, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 170, + "args": [ + "['keyword', 'model']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['keyword', 'model'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionReport", + "method": "__register__", + "line": 558, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 567, + "args": [ + "'report_name_module_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('report_name_module_uniq')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 570, + "args": [ + "*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')" + ], + "kwargs": {}, + "code": "cursor.execute(*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain'))", + "phase": "after_super" + }, + { + "object": "action_report", + "operation": "update", + "line": 570, + "args": [ + "[action_report.extension]", + "['txt']" + ], + "kwargs": { + "where": "action_report.extension == 'plain'" + }, + "code": "action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindow", + "method": "__register__", + "line": 732, + "operations": [ + { + "object": "table", + "operation": "drop_column", + "line": 740, + "args": [ + "'auto_refresh'" + ], + "kwargs": {}, + "code": "table.drop_column('auto_refresh')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "drop_column", + "line": 743, + "args": [ + "'window_name'" + ], + "kwargs": {}, + "code": "table.drop_column('window_name')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 746, + "args": [ + "'limit'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('limit', 'remove')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 747, + "args": [ + "*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)" + ], + "kwargs": {}, + "code": "cursor.execute(*act_window.update([act_window.limit], [Null], where=act_window.limit == 0))", + "phase": "after_super" + }, + { + "object": "act_window", + "operation": "update", + "line": 747, + "args": [ + "[act_window.limit]", + "[Null]" + ], + "kwargs": { + "where": "act_window.limit == 0" + }, + "code": "act_window.update([act_window.limit], [Null], where=act_window.limit == 0)", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowView", + "method": "__register__", + "line": 920, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 926, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowDomain", + "method": "__register__", + "line": 959, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 965, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py", + "class": "Attachment", + "method": "__register__", + "line": 58, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 68, + "args": [ + "*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 68, + "args": [ + "[attachment.file_id]", + "[attachment.digest]" + ], + "kwargs": { + "where": "(attachment.collision == 0) | (attachment.collision == Null)" + }, + "code": "attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 73, + "args": [ + "*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 73, + "args": [ + "[attachment.file_id]", + "[Concat(Concat(attachment.digest, '-'), attachment.collision)]" + ], + "kwargs": { + "where": "(attachment.collision != 0) & (attachment.collision != Null)" + }, + "code": "attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 79, + "args": [ + "'digest'" + ], + "kwargs": {}, + "code": "table.drop_column('digest')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 80, + "args": [ + "'collision'" + ], + "kwargs": {}, + "code": "table.drop_column('collision')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_constraint", + "line": 83, + "args": [ + "'resource_name'" + ], + "kwargs": {}, + "code": "table.drop_constraint('resource_name')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/cron.py", + "class": "Cron", + "method": "__register__", + "line": 84, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 95, + "args": [ + "'next_call'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('next_call', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelData", + "method": "__register__", + "line": 1203, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 1212, + "args": [ + "*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 1212, + "args": [ + "[model_data.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')" + }, + "code": "model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))", + "phase": "after_super" + }, + { + "object": "table_h", + "operation": "not_null_action", + "line": 1218, + "args": [ + "'db_id'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('db_id', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "Module", + "method": "__register__", + "line": 96, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 111, + "args": [ + "*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 111, + "args": [ + "[sql_table.state]", + "['activated']" + ], + "kwargs": { + "where": "sql_table.state == 'installed'" + }, + "code": "sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 114, + "args": [ + "*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 114, + "args": [ + "[sql_table.state]", + "['not activated']" + ], + "kwargs": { + "where": "sql_table.state == 'uninstalled'" + }, + "code": "sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 127, + "args": [ + "*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)))", + "phase": "after_super" + }, + { + "object": "model_data_sql_table", + "operation": "update", + "line": 127, + "args": [ + "[model_data_sql_table.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)" + }, + "code": "model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "ModuleConfigWizardItem", + "method": "__register__", + "line": 386, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 396, + "args": [ + "*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item'))", + "phase": "before_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 396, + "args": [], + "kwargs": { + "columns": "[model_data.model]", + "values": "[cls.__name__]", + "where": "model_data.model == 'ir.module.module.config_wizard.item'" + }, + "code": "model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')", + "phase": "before_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 407, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/queue.py", + "class": "Queue", + "method": "__register__", + "line": 36, + "operations": [ + { + "object": "table_h", + "operation": "index_action", + "line": 42, + "args": [ + "[queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name]" + ], + "kwargs": { + "action": "'add'" + }, + "code": "table_h.index_action([queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name], action='add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py", + "class": "SequenceType", + "method": "__register__", + "line": 39, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 45, + "args": [ + "'code'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('code', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py", + "class": "Sequence", + "method": "__register__", + "line": 115, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 128, + "args": [ + "*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)))", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "table", + "operation": "update", + "line": 128, + "args": [ + "[table.sequence_type]", + "sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)" + ], + "kwargs": {}, + "code": "table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "sequence_type", + "operation": "select", + "line": 130, + "args": [ + "sequence_type.id" + ], + "kwargs": { + "where": "sequence_type.code == table.code" + }, + "code": "sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 133, + "args": [ + "'code'" + ], + "kwargs": {}, + "code": "table_h.drop_column('code')", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/session.py", + "class": "Session", + "method": "__register__", + "line": 32, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 36, + "args": [ + "'create_uid'", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action('create_uid', 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/translation.py", + "class": "Translation", + "method": "__register__", + "line": 80, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 88, + "args": [ + "'translation_md5_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('translation_md5_uniq')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 89, + "args": [ + "'src_md5'" + ], + "kwargs": {}, + "code": "table.drop_column('src_md5')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 94, + "args": [ + "*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')" + ], + "kwargs": {}, + "code": "cursor.execute(*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt'))", + "phase": "after_super" + }, + { + "object": "ir_translation", + "operation": "update", + "line": 94, + "args": [ + "[ir_translation.type]", + "['report']" + ], + "kwargs": { + "where": "ir_translation.type == 'odt'" + }, + "code": "ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "index_action", + "line": 100, + "args": [ + "['lang', 'type', 'name']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['lang', 'type', 'name'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "Trigger", + "method": "__register__", + "line": 73, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 85, + "args": [ + "*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null))", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "sql_table", + "operation": "select", + "line": 85, + "args": [ + "sql_table.id", + "sql_table.minimum_delay" + ], + "kwargs": { + "where": "sql_table.minimum_delay != Null" + }, + "code": "sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 94, + "args": [ + "'minimum_delay'" + ], + "kwargs": {}, + "code": "table.drop_column('minimum_delay')", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "model", + "operation": "select", + "line": 102, + "args": [ + "model.model" + ], + "kwargs": { + "where": "model.id == sql_table.action_model" + }, + "code": "model.select(model.model, where=model.id == sql_table.action_model)", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 104, + "args": [ + "*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]))", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "sql_table", + "operation": "update", + "line": 104, + "args": [ + "[sql_table.action]", + "[Concat(action_model, Concat('|', sql_table.action_function))]" + ], + "kwargs": {}, + "code": "sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 108, + "args": [ + "'action_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_model')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 109, + "args": [ + "'action_function'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_function')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "TriggerLog", + "method": "__register__", + "line": 327, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 331, + "args": [ + "['trigger', 'record_id']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['trigger', 'record_id'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py", + "class": "Icon", + "method": "__register__", + "line": 29, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 35, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewTreeState", + "method": "__register__", + "line": 317, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 321, + "args": [ + "['model', 'domain', 'user', 'child_name']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['model', 'domain', 'user', 'child_name'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewSearch", + "method": "__register__", + "line": 389, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 394, + "args": [ + "'user'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('user', 'remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/6.0.76/party.json b/data/6.0/party.json similarity index 99% rename from data/6.0.76/party.json rename to data/6.0/party.json index 22461e3..df39d3a 100644 --- a/data/6.0.76/party.json +++ b/data/6.0/party.json @@ -1,5 +1,5 @@ { - "version": "6.0.76", + "version": "6.0", "module": "party", "files": [ { diff --git a/data/6.0.76/product.json b/data/6.0/product.json similarity index 99% rename from data/6.0.76/product.json rename to data/6.0/product.json index b9c83c6..c3091da 100644 --- a/data/6.0.76/product.json +++ b/data/6.0/product.json @@ -1,5 +1,5 @@ { - "version": "6.0.76", + "version": "6.0", "module": "product", "files": [ { diff --git a/data/6.0/product_measurements.json b/data/6.0/product_measurements.json new file mode 100644 index 0000000..4bd115e --- /dev/null +++ b/data/6.0/product_measurements.json @@ -0,0 +1,5 @@ +{ + "version": "6.0", + "module": "product_measurements", + "files": [] +} \ No newline at end of file diff --git a/data/6.0.76/production.json b/data/6.0/production.json similarity index 99% rename from data/6.0.76/production.json rename to data/6.0/production.json index c92b913..252ca93 100644 --- a/data/6.0.76/production.json +++ b/data/6.0/production.json @@ -1,5 +1,5 @@ { - "version": "6.0.76", + "version": "6.0", "module": "production", "files": [ { diff --git a/data/6.0/production_split.json b/data/6.0/production_split.json new file mode 100644 index 0000000..5b4f75c --- /dev/null +++ b/data/6.0/production_split.json @@ -0,0 +1,5 @@ +{ + "version": "6.0", + "module": "production_split", + "files": [] +} \ No newline at end of file diff --git a/data/6.0/res.json b/data/6.0/res.json new file mode 100644 index 0000000..c3051cb --- /dev/null +++ b/data/6.0/res.json @@ -0,0 +1,101 @@ +{ + "version": "6.0", + "module": "res", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/res/user.py", + "class": "User", + "method": "__register__", + "line": 197, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 210, + "args": [ + "*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])" + ], + "kwargs": {}, + "code": "cursor.execute(*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new]))", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "sqltable", + "operation": "update", + "line": 210, + "args": [], + "kwargs": { + "columns": "[sqltable.password_hash]", + "values": "[password_hash_new]" + }, + "code": "sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 213, + "args": [ + "'password'" + ], + "kwargs": {}, + "code": "table.drop_column('password')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 214, + "args": [ + "'salt'" + ], + "kwargs": {}, + "code": "table.drop_column('salt')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 217, + "args": [ + "'name'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table.not_null_action('name', action='remove')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 220, + "args": [ + "*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 220, + "args": [ + "[model_data.noupdate]", + "[True]" + ], + "kwargs": { + "where": "(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')" + }, + "code": "model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/6.0.76/stock_lot.json b/data/6.0/stock_lot.json similarity index 98% rename from data/6.0.76/stock_lot.json rename to data/6.0/stock_lot.json index 29029ee..f3328cd 100644 --- a/data/6.0.76/stock_lot.json +++ b/data/6.0/stock_lot.json @@ -1,5 +1,5 @@ { - "version": "6.0.76", + "version": "6.0", "module": "stock_lot", "files": [ { diff --git a/data/6.0/stock_lot_sled.json b/data/6.0/stock_lot_sled.json new file mode 100644 index 0000000..6c1201a --- /dev/null +++ b/data/6.0/stock_lot_sled.json @@ -0,0 +1,5 @@ +{ + "version": "6.0", + "module": "stock_lot_sled", + "files": [] +} \ No newline at end of file diff --git a/data/6.2.14/stock_product_location.json b/data/6.0/stock_product_location.json similarity index 96% rename from data/6.2.14/stock_product_location.json rename to data/6.0/stock_product_location.json index 07a004b..3cb11e3 100644 --- a/data/6.2.14/stock_product_location.json +++ b/data/6.0/stock_product_location.json @@ -1,5 +1,5 @@ { - "version": "6.2.14", + "version": "6.0", "module": "stock_product_location", "files": [ { diff --git a/data/6.0/stock_split.json b/data/6.0/stock_split.json new file mode 100644 index 0000000..bfa437f --- /dev/null +++ b/data/6.0/stock_split.json @@ -0,0 +1,5 @@ +{ + "version": "6.0", + "module": "stock_split", + "files": [] +} \ No newline at end of file diff --git a/data/6.2.14/product_measurements.json b/data/6.2.14/product_measurements.json deleted file mode 100644 index 7401e2f..0000000 --- a/data/6.2.14/product_measurements.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.2.14", - "module": "product_measurements", - "files": [] -} \ No newline at end of file diff --git a/data/6.2.14/production_split.json b/data/6.2.14/production_split.json deleted file mode 100644 index 46f99ac..0000000 --- a/data/6.2.14/production_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.2.14", - "module": "production_split", - "files": [] -} \ No newline at end of file diff --git a/data/6.2.14/stock_lot_sled.json b/data/6.2.14/stock_lot_sled.json deleted file mode 100644 index d5ed24d..0000000 --- a/data/6.2.14/stock_lot_sled.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.2.14", - "module": "stock_lot_sled", - "files": [] -} \ No newline at end of file diff --git a/data/6.2.14/stock_split.json b/data/6.2.14/stock_split.json deleted file mode 100644 index 8bc5f3b..0000000 --- a/data/6.2.14/stock_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.2.14", - "module": "stock_split", - "files": [] -} \ No newline at end of file diff --git a/data/6.2.14/company.json b/data/6.2/company.json similarity index 99% rename from data/6.2.14/company.json rename to data/6.2/company.json index dfaf662..c8097e4 100644 --- a/data/6.2.14/company.json +++ b/data/6.2/company.json @@ -1,5 +1,5 @@ { - "version": "6.2.14", + "version": "6.2", "module": "company", "files": [ { diff --git a/data/6.0.76/country.json b/data/6.2/country.json similarity index 99% rename from data/6.0.76/country.json rename to data/6.2/country.json index 0b42342..48f9ea3 100644 --- a/data/6.0.76/country.json +++ b/data/6.2/country.json @@ -1,5 +1,5 @@ { - "version": "6.0.76", + "version": "6.2", "module": "country", "files": [ { diff --git a/data/6.2.14/currency.json b/data/6.2/currency.json similarity index 97% rename from data/6.2.14/currency.json rename to data/6.2/currency.json index 1d0c24b..29f2c81 100644 --- a/data/6.2.14/currency.json +++ b/data/6.2/currency.json @@ -1,5 +1,5 @@ { - "version": "6.2.14", + "version": "6.2", "module": "currency", "files": [ { diff --git a/data/6.2/ir.json b/data/6.2/ir.json new file mode 100644 index 0000000..84de0eb --- /dev/null +++ b/data/6.2/ir.json @@ -0,0 +1,847 @@ +{ + "version": "6.2", + "module": "ir", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionKeyword", + "method": "__register__", + "line": 167, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 171, + "args": [ + "['keyword', 'model']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['keyword', 'model'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionReport", + "method": "__register__", + "line": 562, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 571, + "args": [ + "'report_name_module_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('report_name_module_uniq')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 574, + "args": [ + "*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')" + ], + "kwargs": {}, + "code": "cursor.execute(*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain'))", + "phase": "after_super" + }, + { + "object": "action_report", + "operation": "update", + "line": 574, + "args": [ + "[action_report.extension]", + "['txt']" + ], + "kwargs": { + "where": "action_report.extension == 'plain'" + }, + "code": "action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindow", + "method": "__register__", + "line": 759, + "operations": [ + { + "object": "table", + "operation": "drop_column", + "line": 767, + "args": [ + "'auto_refresh'" + ], + "kwargs": {}, + "code": "table.drop_column('auto_refresh')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "drop_column", + "line": 770, + "args": [ + "'window_name'" + ], + "kwargs": {}, + "code": "table.drop_column('window_name')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 773, + "args": [ + "'limit'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('limit', 'remove')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 774, + "args": [ + "*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)" + ], + "kwargs": {}, + "code": "cursor.execute(*act_window.update([act_window.limit], [Null], where=act_window.limit == 0))", + "phase": "after_super" + }, + { + "object": "act_window", + "operation": "update", + "line": 774, + "args": [ + "[act_window.limit]", + "[Null]" + ], + "kwargs": { + "where": "act_window.limit == 0" + }, + "code": "act_window.update([act_window.limit], [Null], where=act_window.limit == 0)", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowView", + "method": "__register__", + "line": 947, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 953, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowDomain", + "method": "__register__", + "line": 986, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 992, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py", + "class": "Attachment", + "method": "__register__", + "line": 58, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 68, + "args": [ + "*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 68, + "args": [ + "[attachment.file_id]", + "[attachment.digest]" + ], + "kwargs": { + "where": "(attachment.collision == 0) | (attachment.collision == Null)" + }, + "code": "attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 73, + "args": [ + "*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 73, + "args": [ + "[attachment.file_id]", + "[Concat(Concat(attachment.digest, '-'), attachment.collision)]" + ], + "kwargs": { + "where": "(attachment.collision != 0) & (attachment.collision != Null)" + }, + "code": "attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 79, + "args": [ + "'digest'" + ], + "kwargs": {}, + "code": "table.drop_column('digest')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 80, + "args": [ + "'collision'" + ], + "kwargs": {}, + "code": "table.drop_column('collision')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_constraint", + "line": 83, + "args": [ + "'resource_name'" + ], + "kwargs": {}, + "code": "table.drop_constraint('resource_name')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/cron.py", + "class": "Cron", + "method": "__register__", + "line": 86, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 97, + "args": [ + "'next_call'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('next_call', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelData", + "method": "__register__", + "line": 1199, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 1208, + "args": [ + "*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 1208, + "args": [ + "[model_data.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')" + }, + "code": "model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))", + "phase": "after_super" + }, + { + "object": "table_h", + "operation": "not_null_action", + "line": 1214, + "args": [ + "'db_id'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('db_id', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "Module", + "method": "__register__", + "line": 96, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 111, + "args": [ + "*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 111, + "args": [ + "[sql_table.state]", + "['activated']" + ], + "kwargs": { + "where": "sql_table.state == 'installed'" + }, + "code": "sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 114, + "args": [ + "*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 114, + "args": [ + "[sql_table.state]", + "['not activated']" + ], + "kwargs": { + "where": "sql_table.state == 'uninstalled'" + }, + "code": "sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 127, + "args": [ + "*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)))", + "phase": "after_super" + }, + { + "object": "model_data_sql_table", + "operation": "update", + "line": 127, + "args": [ + "[model_data_sql_table.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)" + }, + "code": "model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "ModuleConfigWizardItem", + "method": "__register__", + "line": 386, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 396, + "args": [ + "*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item'))", + "phase": "before_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 396, + "args": [], + "kwargs": { + "columns": "[model_data.model]", + "values": "[cls.__name__]", + "where": "model_data.model == 'ir.module.module.config_wizard.item'" + }, + "code": "model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')", + "phase": "before_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 407, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/queue.py", + "class": "Queue", + "method": "__register__", + "line": 36, + "operations": [ + { + "object": "table_h", + "operation": "index_action", + "line": 42, + "args": [ + "[queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name]" + ], + "kwargs": { + "action": "'add'" + }, + "code": "table_h.index_action([queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name], action='add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py", + "class": "SequenceType", + "method": "__register__", + "line": 43, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 49, + "args": [ + "'code'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('code', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py", + "class": "Sequence", + "method": "__register__", + "line": 119, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 132, + "args": [ + "*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)))", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "table", + "operation": "update", + "line": 132, + "args": [ + "[table.sequence_type]", + "sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)" + ], + "kwargs": {}, + "code": "table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "sequence_type", + "operation": "select", + "line": 134, + "args": [ + "sequence_type.id" + ], + "kwargs": { + "where": "sequence_type.code == table.code" + }, + "code": "sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 137, + "args": [ + "'code'" + ], + "kwargs": {}, + "code": "table_h.drop_column('code')", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/session.py", + "class": "Session", + "method": "__register__", + "line": 32, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 36, + "args": [ + "'create_uid'", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action('create_uid', 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/translation.py", + "class": "Translation", + "method": "__register__", + "line": 80, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 88, + "args": [ + "'translation_md5_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('translation_md5_uniq')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 89, + "args": [ + "'src_md5'" + ], + "kwargs": {}, + "code": "table.drop_column('src_md5')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 94, + "args": [ + "*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')" + ], + "kwargs": {}, + "code": "cursor.execute(*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt'))", + "phase": "after_super" + }, + { + "object": "ir_translation", + "operation": "update", + "line": 94, + "args": [ + "[ir_translation.type]", + "['report']" + ], + "kwargs": { + "where": "ir_translation.type == 'odt'" + }, + "code": "ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "index_action", + "line": 100, + "args": [ + "['lang', 'type', 'name']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['lang', 'type', 'name'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "Trigger", + "method": "__register__", + "line": 73, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 85, + "args": [ + "*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null))", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "sql_table", + "operation": "select", + "line": 85, + "args": [ + "sql_table.id", + "sql_table.minimum_delay" + ], + "kwargs": { + "where": "sql_table.minimum_delay != Null" + }, + "code": "sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 94, + "args": [ + "'minimum_delay'" + ], + "kwargs": {}, + "code": "table.drop_column('minimum_delay')", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "model", + "operation": "select", + "line": 102, + "args": [ + "model.model" + ], + "kwargs": { + "where": "model.id == sql_table.action_model" + }, + "code": "model.select(model.model, where=model.id == sql_table.action_model)", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 104, + "args": [ + "*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]))", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "sql_table", + "operation": "update", + "line": 104, + "args": [ + "[sql_table.action]", + "[Concat(action_model, Concat('|', sql_table.action_function))]" + ], + "kwargs": {}, + "code": "sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 108, + "args": [ + "'action_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_model')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 109, + "args": [ + "'action_function'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_function')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "TriggerLog", + "method": "__register__", + "line": 327, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 331, + "args": [ + "['trigger', 'record_id']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['trigger', 'record_id'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py", + "class": "Icon", + "method": "__register__", + "line": 29, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 35, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewTreeState", + "method": "__register__", + "line": 317, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 321, + "args": [ + "['model', 'domain', 'user', 'child_name']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['model', 'domain', 'user', 'child_name'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewSearch", + "method": "__register__", + "line": 389, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 394, + "args": [ + "'user'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('user', 'remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/6.2.14/party.json b/data/6.2/party.json similarity index 99% rename from data/6.2.14/party.json rename to data/6.2/party.json index be006bf..ae81384 100644 --- a/data/6.2.14/party.json +++ b/data/6.2/party.json @@ -1,5 +1,5 @@ { - "version": "6.2.14", + "version": "6.2", "module": "party", "files": [ { diff --git a/data/6.2.14/product.json b/data/6.2/product.json similarity index 99% rename from data/6.2.14/product.json rename to data/6.2/product.json index 5485922..5280652 100644 --- a/data/6.2.14/product.json +++ b/data/6.2/product.json @@ -1,5 +1,5 @@ { - "version": "6.2.14", + "version": "6.2", "module": "product", "files": [ { diff --git a/data/6.2/product_measurements.json b/data/6.2/product_measurements.json new file mode 100644 index 0000000..e9aec49 --- /dev/null +++ b/data/6.2/product_measurements.json @@ -0,0 +1,5 @@ +{ + "version": "6.2", + "module": "product_measurements", + "files": [] +} \ No newline at end of file diff --git a/data/6.2.14/production.json b/data/6.2/production.json similarity index 99% rename from data/6.2.14/production.json rename to data/6.2/production.json index 0ec343b..2d669ec 100644 --- a/data/6.2.14/production.json +++ b/data/6.2/production.json @@ -1,5 +1,5 @@ { - "version": "6.2.14", + "version": "6.2", "module": "production", "files": [ { diff --git a/data/6.2/production_split.json b/data/6.2/production_split.json new file mode 100644 index 0000000..6fc09d2 --- /dev/null +++ b/data/6.2/production_split.json @@ -0,0 +1,5 @@ +{ + "version": "6.2", + "module": "production_split", + "files": [] +} \ No newline at end of file diff --git a/data/6.2/res.json b/data/6.2/res.json new file mode 100644 index 0000000..6211dc5 --- /dev/null +++ b/data/6.2/res.json @@ -0,0 +1,101 @@ +{ + "version": "6.2", + "module": "res", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/res/user.py", + "class": "User", + "method": "__register__", + "line": 205, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 218, + "args": [ + "*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])" + ], + "kwargs": {}, + "code": "cursor.execute(*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new]))", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "sqltable", + "operation": "update", + "line": 218, + "args": [], + "kwargs": { + "columns": "[sqltable.password_hash]", + "values": "[password_hash_new]" + }, + "code": "sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 221, + "args": [ + "'password'" + ], + "kwargs": {}, + "code": "table.drop_column('password')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 222, + "args": [ + "'salt'" + ], + "kwargs": {}, + "code": "table.drop_column('salt')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 225, + "args": [ + "'name'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table.not_null_action('name', action='remove')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 228, + "args": [ + "*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 228, + "args": [ + "[model_data.noupdate]", + "[True]" + ], + "kwargs": { + "where": "(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')" + }, + "code": "model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/6.2.14/stock_lot.json b/data/6.2/stock_lot.json similarity index 98% rename from data/6.2.14/stock_lot.json rename to data/6.2/stock_lot.json index 0b7bbe1..a98d740 100644 --- a/data/6.2.14/stock_lot.json +++ b/data/6.2/stock_lot.json @@ -1,5 +1,5 @@ { - "version": "6.2.14", + "version": "6.2", "module": "stock_lot", "files": [ { diff --git a/data/6.2/stock_lot_sled.json b/data/6.2/stock_lot_sled.json new file mode 100644 index 0000000..7359af7 --- /dev/null +++ b/data/6.2/stock_lot_sled.json @@ -0,0 +1,5 @@ +{ + "version": "6.2", + "module": "stock_lot_sled", + "files": [] +} \ No newline at end of file diff --git a/data/6.0.76/stock_product_location.json b/data/6.2/stock_product_location.json similarity index 96% rename from data/6.0.76/stock_product_location.json rename to data/6.2/stock_product_location.json index 3679528..ad317e3 100644 --- a/data/6.0.76/stock_product_location.json +++ b/data/6.2/stock_product_location.json @@ -1,5 +1,5 @@ { - "version": "6.0.76", + "version": "6.2", "module": "stock_product_location", "files": [ { diff --git a/data/6.2/stock_split.json b/data/6.2/stock_split.json new file mode 100644 index 0000000..b51a4a0 --- /dev/null +++ b/data/6.2/stock_split.json @@ -0,0 +1,5 @@ +{ + "version": "6.2", + "module": "stock_split", + "files": [] +} \ No newline at end of file diff --git a/data/6.4.16/product_measurements.json b/data/6.4.16/product_measurements.json deleted file mode 100644 index 2e88b22..0000000 --- a/data/6.4.16/product_measurements.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.4.16", - "module": "product_measurements", - "files": [] -} \ No newline at end of file diff --git a/data/6.4.16/production_split.json b/data/6.4.16/production_split.json deleted file mode 100644 index 7d461e2..0000000 --- a/data/6.4.16/production_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.4.16", - "module": "production_split", - "files": [] -} \ No newline at end of file diff --git a/data/6.4.16/stock_lot_sled.json b/data/6.4.16/stock_lot_sled.json deleted file mode 100644 index e60cfab..0000000 --- a/data/6.4.16/stock_lot_sled.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.4.16", - "module": "stock_lot_sled", - "files": [] -} \ No newline at end of file diff --git a/data/6.4.16/stock_split.json b/data/6.4.16/stock_split.json deleted file mode 100644 index 004e367..0000000 --- a/data/6.4.16/stock_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.4.16", - "module": "stock_split", - "files": [] -} \ No newline at end of file diff --git a/data/6.4.16/company.json b/data/6.4/company.json similarity index 99% rename from data/6.4.16/company.json rename to data/6.4/company.json index 994d206..5f899ed 100644 --- a/data/6.4.16/company.json +++ b/data/6.4/company.json @@ -1,5 +1,5 @@ { - "version": "6.4.16", + "version": "6.4", "module": "company", "files": [ { diff --git a/data/6.4.16/country.json b/data/6.4/country.json similarity index 99% rename from data/6.4.16/country.json rename to data/6.4/country.json index c9a359c..c6d5e6c 100644 --- a/data/6.4.16/country.json +++ b/data/6.4/country.json @@ -1,5 +1,5 @@ { - "version": "6.4.16", + "version": "6.4", "module": "country", "files": [ { diff --git a/data/6.0.76/currency.json b/data/6.4/currency.json similarity index 97% rename from data/6.0.76/currency.json rename to data/6.4/currency.json index 7719dcd..94c00dd 100644 --- a/data/6.0.76/currency.json +++ b/data/6.4/currency.json @@ -1,5 +1,5 @@ { - "version": "6.0.76", + "version": "6.4", "module": "currency", "files": [ { diff --git a/data/6.4/ir.json b/data/6.4/ir.json new file mode 100644 index 0000000..c7a57d7 --- /dev/null +++ b/data/6.4/ir.json @@ -0,0 +1,886 @@ +{ + "version": "6.4", + "module": "ir", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionKeyword", + "method": "__register__", + "line": 166, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 170, + "args": [ + "['keyword', 'model']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['keyword', 'model'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionReport", + "method": "__register__", + "line": 565, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 574, + "args": [ + "'report_name_module_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('report_name_module_uniq')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 577, + "args": [ + "*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')" + ], + "kwargs": {}, + "code": "cursor.execute(*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain'))", + "phase": "after_super" + }, + { + "object": "action_report", + "operation": "update", + "line": 577, + "args": [ + "[action_report.extension]", + "['txt']" + ], + "kwargs": { + "where": "action_report.extension == 'plain'" + }, + "code": "action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindow", + "method": "__register__", + "line": 765, + "operations": [ + { + "object": "table", + "operation": "drop_column", + "line": 773, + "args": [ + "'auto_refresh'" + ], + "kwargs": {}, + "code": "table.drop_column('auto_refresh')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "drop_column", + "line": 776, + "args": [ + "'window_name'" + ], + "kwargs": {}, + "code": "table.drop_column('window_name')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 779, + "args": [ + "'limit'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('limit', 'remove')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 780, + "args": [ + "*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)" + ], + "kwargs": {}, + "code": "cursor.execute(*act_window.update([act_window.limit], [Null], where=act_window.limit == 0))", + "phase": "after_super" + }, + { + "object": "act_window", + "operation": "update", + "line": 780, + "args": [ + "[act_window.limit]", + "[Null]" + ], + "kwargs": { + "where": "act_window.limit == 0" + }, + "code": "act_window.update([act_window.limit], [Null], where=act_window.limit == 0)", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowView", + "method": "__register__", + "line": 961, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 967, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowDomain", + "method": "__register__", + "line": 1000, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 1006, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py", + "class": "Attachment", + "method": "__register__", + "line": 59, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 69, + "args": [ + "*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 69, + "args": [ + "[attachment.file_id]", + "[attachment.digest]" + ], + "kwargs": { + "where": "(attachment.collision == 0) | (attachment.collision == Null)" + }, + "code": "attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 74, + "args": [ + "*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 74, + "args": [ + "[attachment.file_id]", + "[Concat(Concat(attachment.digest, '-'), attachment.collision)]" + ], + "kwargs": { + "where": "(attachment.collision != 0) & (attachment.collision != Null)" + }, + "code": "attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 80, + "args": [ + "'digest'" + ], + "kwargs": {}, + "code": "table.drop_column('digest')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 81, + "args": [ + "'collision'" + ], + "kwargs": {}, + "code": "table.drop_column('collision')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_constraint", + "line": 84, + "args": [ + "'resource_name'" + ], + "kwargs": {}, + "code": "table.drop_constraint('resource_name')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/cron.py", + "class": "Cron", + "method": "__register__", + "line": 87, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 98, + "args": [ + "'next_call'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('next_call', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelButton", + "method": "__register__", + "line": 889, + "operations": [ + { + "object": "table_h", + "operation": "drop_constraint", + "line": 895, + "args": [ + "'name_model_uniq'" + ], + "kwargs": {}, + "code": "table_h.drop_constraint('name_model_uniq')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelData", + "method": "__register__", + "line": 1228, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 1237, + "args": [ + "*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 1237, + "args": [ + "[model_data.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')" + }, + "code": "model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))", + "phase": "after_super" + }, + { + "object": "table_h", + "operation": "not_null_action", + "line": 1243, + "args": [ + "'db_id'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('db_id', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "Module", + "method": "__register__", + "line": 96, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 111, + "args": [ + "*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 111, + "args": [ + "[sql_table.state]", + "['activated']" + ], + "kwargs": { + "where": "sql_table.state == 'installed'" + }, + "code": "sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 114, + "args": [ + "*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 114, + "args": [ + "[sql_table.state]", + "['not activated']" + ], + "kwargs": { + "where": "sql_table.state == 'uninstalled'" + }, + "code": "sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 127, + "args": [ + "*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)))", + "phase": "after_super" + }, + { + "object": "model_data_sql_table", + "operation": "update", + "line": 127, + "args": [ + "[model_data_sql_table.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)" + }, + "code": "model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "ModuleConfigWizardItem", + "method": "__register__", + "line": 386, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 396, + "args": [ + "*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item'))", + "phase": "before_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 396, + "args": [], + "kwargs": { + "columns": "[model_data.model]", + "values": "[cls.__name__]", + "where": "model_data.model == 'ir.module.module.config_wizard.item'" + }, + "code": "model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')", + "phase": "before_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 407, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/queue_.py", + "class": "Queue", + "method": "__register__", + "line": 37, + "operations": [ + { + "object": "table_h", + "operation": "index_action", + "line": 43, + "args": [ + "[queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name]" + ], + "kwargs": { + "action": "'add'" + }, + "code": "table_h.index_action([queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name], action='add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py", + "class": "SequenceType", + "method": "__register__", + "line": 41, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 47, + "args": [ + "'code'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('code', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py", + "class": "Sequence", + "method": "__register__", + "line": 117, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 130, + "args": [ + "*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)))", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "table", + "operation": "update", + "line": 130, + "args": [ + "[table.sequence_type]", + "sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)" + ], + "kwargs": {}, + "code": "table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "sequence_type", + "operation": "select", + "line": 132, + "args": [ + "sequence_type.id" + ], + "kwargs": { + "where": "sequence_type.code == table.code" + }, + "code": "sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 135, + "args": [ + "'code'" + ], + "kwargs": {}, + "code": "table_h.drop_column('code')", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/session.py", + "class": "Session", + "method": "__register__", + "line": 24, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 28, + "args": [ + "'create_uid'", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action('create_uid', 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/translation.py", + "class": "Translation", + "method": "__register__", + "line": 79, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 87, + "args": [ + "'translation_md5_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('translation_md5_uniq')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 88, + "args": [ + "'src_md5'" + ], + "kwargs": {}, + "code": "table.drop_column('src_md5')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 93, + "args": [ + "*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')" + ], + "kwargs": {}, + "code": "cursor.execute(*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt'))", + "phase": "after_super" + }, + { + "object": "ir_translation", + "operation": "update", + "line": 93, + "args": [ + "[ir_translation.type]", + "['report']" + ], + "kwargs": { + "where": "ir_translation.type == 'odt'" + }, + "code": "ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "index_action", + "line": 99, + "args": [ + "['lang', 'type', 'name']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['lang', 'type', 'name'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "Trigger", + "method": "__register__", + "line": 73, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 85, + "args": [ + "*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null))", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "sql_table", + "operation": "select", + "line": 85, + "args": [ + "sql_table.id", + "sql_table.minimum_delay" + ], + "kwargs": { + "where": "sql_table.minimum_delay != Null" + }, + "code": "sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 94, + "args": [ + "'minimum_delay'" + ], + "kwargs": {}, + "code": "table.drop_column('minimum_delay')", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "model", + "operation": "select", + "line": 102, + "args": [ + "model.model" + ], + "kwargs": { + "where": "model.id == sql_table.action_model" + }, + "code": "model.select(model.model, where=model.id == sql_table.action_model)", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 104, + "args": [ + "*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]))", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "sql_table", + "operation": "update", + "line": 104, + "args": [ + "[sql_table.action]", + "[Concat(action_model, Concat('|', sql_table.action_function))]" + ], + "kwargs": {}, + "code": "sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 108, + "args": [ + "'action_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_model')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 109, + "args": [ + "'action_function'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_function')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "TriggerLog", + "method": "__register__", + "line": 329, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 333, + "args": [ + "['trigger', 'record_id']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['trigger', 'record_id'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py", + "class": "Icon", + "method": "__register__", + "line": 29, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 35, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewTreeOptional", + "method": "__register__", + "line": 445, + "operations": [ + { + "object": "table_h", + "operation": "index_action", + "line": 448, + "args": [ + "['view_id', 'user']", + "'add'" + ], + "kwargs": {}, + "code": "table_h.index_action(['view_id', 'user'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewTreeState", + "method": "__register__", + "line": 508, + "operations": [ + { + "object": "table", + "operation": "index_action", + "line": 512, + "args": [ + "['model', 'domain', 'user', 'child_name']", + "'add'" + ], + "kwargs": {}, + "code": "table.index_action(['model', 'domain', 'user', 'child_name'], 'add')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewSearch", + "method": "__register__", + "line": 580, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 585, + "args": [ + "'user'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('user', 'remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/6.4.16/party.json b/data/6.4/party.json similarity index 99% rename from data/6.4.16/party.json rename to data/6.4/party.json index 6f1f555..7f021c5 100644 --- a/data/6.4.16/party.json +++ b/data/6.4/party.json @@ -1,5 +1,5 @@ { - "version": "6.4.16", + "version": "6.4", "module": "party", "files": [ { diff --git a/data/6.4.16/product.json b/data/6.4/product.json similarity index 99% rename from data/6.4.16/product.json rename to data/6.4/product.json index aea8d8a..87e45fc 100644 --- a/data/6.4.16/product.json +++ b/data/6.4/product.json @@ -1,5 +1,5 @@ { - "version": "6.4.16", + "version": "6.4", "module": "product", "files": [ { diff --git a/data/6.4/product_measurements.json b/data/6.4/product_measurements.json new file mode 100644 index 0000000..b3a2373 --- /dev/null +++ b/data/6.4/product_measurements.json @@ -0,0 +1,5 @@ +{ + "version": "6.4", + "module": "product_measurements", + "files": [] +} \ No newline at end of file diff --git a/data/6.4.16/production.json b/data/6.4/production.json similarity index 99% rename from data/6.4.16/production.json rename to data/6.4/production.json index 3120748..e776d90 100644 --- a/data/6.4.16/production.json +++ b/data/6.4/production.json @@ -1,5 +1,5 @@ { - "version": "6.4.16", + "version": "6.4", "module": "production", "files": [ { diff --git a/data/6.4/production_split.json b/data/6.4/production_split.json new file mode 100644 index 0000000..4f19f59 --- /dev/null +++ b/data/6.4/production_split.json @@ -0,0 +1,5 @@ +{ + "version": "6.4", + "module": "production_split", + "files": [] +} \ No newline at end of file diff --git a/data/6.4/res.json b/data/6.4/res.json new file mode 100644 index 0000000..dc3ef37 --- /dev/null +++ b/data/6.4/res.json @@ -0,0 +1,101 @@ +{ + "version": "6.4", + "module": "res", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/res/user.py", + "class": "User", + "method": "__register__", + "line": 202, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 215, + "args": [ + "*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])" + ], + "kwargs": {}, + "code": "cursor.execute(*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new]))", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "sqltable", + "operation": "update", + "line": 215, + "args": [], + "kwargs": { + "columns": "[sqltable.password_hash]", + "values": "[password_hash_new]" + }, + "code": "sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 218, + "args": [ + "'password'" + ], + "kwargs": {}, + "code": "table.drop_column('password')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 219, + "args": [ + "'salt'" + ], + "kwargs": {}, + "code": "table.drop_column('salt')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 222, + "args": [ + "'name'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table.not_null_action('name', action='remove')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 225, + "args": [ + "*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 225, + "args": [ + "[model_data.noupdate]", + "[True]" + ], + "kwargs": { + "where": "(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')" + }, + "code": "model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/6.4.16/stock_lot.json b/data/6.4/stock_lot.json similarity index 98% rename from data/6.4.16/stock_lot.json rename to data/6.4/stock_lot.json index 8f4ecf2..7d216b7 100644 --- a/data/6.4.16/stock_lot.json +++ b/data/6.4/stock_lot.json @@ -1,5 +1,5 @@ { - "version": "6.4.16", + "version": "6.4", "module": "stock_lot", "files": [ { diff --git a/data/6.4/stock_lot_sled.json b/data/6.4/stock_lot_sled.json new file mode 100644 index 0000000..da2d7df --- /dev/null +++ b/data/6.4/stock_lot_sled.json @@ -0,0 +1,5 @@ +{ + "version": "6.4", + "module": "stock_lot_sled", + "files": [] +} \ No newline at end of file diff --git a/data/6.6.14/stock_product_location.json b/data/6.4/stock_product_location.json similarity index 96% rename from data/6.6.14/stock_product_location.json rename to data/6.4/stock_product_location.json index 821c38b..3cfb1f8 100644 --- a/data/6.6.14/stock_product_location.json +++ b/data/6.4/stock_product_location.json @@ -1,5 +1,5 @@ { - "version": "6.6.14", + "version": "6.4", "module": "stock_product_location", "files": [ { diff --git a/data/6.4/stock_split.json b/data/6.4/stock_split.json new file mode 100644 index 0000000..be20e6f --- /dev/null +++ b/data/6.4/stock_split.json @@ -0,0 +1,5 @@ +{ + "version": "6.4", + "module": "stock_split", + "files": [] +} \ No newline at end of file diff --git a/data/6.6.14/product_measurements.json b/data/6.6.14/product_measurements.json deleted file mode 100644 index 36d6f11..0000000 --- a/data/6.6.14/product_measurements.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.6.14", - "module": "product_measurements", - "files": [] -} \ No newline at end of file diff --git a/data/6.6.14/production_split.json b/data/6.6.14/production_split.json deleted file mode 100644 index ca56072..0000000 --- a/data/6.6.14/production_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.6.14", - "module": "production_split", - "files": [] -} \ No newline at end of file diff --git a/data/6.6.14/stock_lot_sled.json b/data/6.6.14/stock_lot_sled.json deleted file mode 100644 index 57955da..0000000 --- a/data/6.6.14/stock_lot_sled.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.6.14", - "module": "stock_lot_sled", - "files": [] -} \ No newline at end of file diff --git a/data/6.6.14/stock_split.json b/data/6.6.14/stock_split.json deleted file mode 100644 index eb2bb41..0000000 --- a/data/6.6.14/stock_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.6.14", - "module": "stock_split", - "files": [] -} \ No newline at end of file diff --git a/data/6.8.17/company.json b/data/6.6/company.json similarity index 99% rename from data/6.8.17/company.json rename to data/6.6/company.json index 9a6bc84..f5fc450 100644 --- a/data/6.8.17/company.json +++ b/data/6.6/company.json @@ -1,5 +1,5 @@ { - "version": "6.8.17", + "version": "6.6", "module": "company", "files": [ { diff --git a/data/6.8.17/country.json b/data/6.6/country.json similarity index 99% rename from data/6.8.17/country.json rename to data/6.6/country.json index 4830ed3..4feb56b 100644 --- a/data/6.8.17/country.json +++ b/data/6.6/country.json @@ -1,5 +1,5 @@ { - "version": "6.8.17", + "version": "6.6", "module": "country", "files": [ { diff --git a/data/6.6.14/currency.json b/data/6.6/currency.json similarity index 97% rename from data/6.6.14/currency.json rename to data/6.6/currency.json index f96a853..e778b55 100644 --- a/data/6.6.14/currency.json +++ b/data/6.6/currency.json @@ -1,5 +1,5 @@ { - "version": "6.6.14", + "version": "6.6", "module": "currency", "files": [ { diff --git a/data/6.6/ir.json b/data/6.6/ir.json new file mode 100644 index 0000000..1b4e0a8 --- /dev/null +++ b/data/6.6/ir.json @@ -0,0 +1,753 @@ +{ + "version": "6.6", + "module": "ir", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionReport", + "method": "__register__", + "line": 570, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 579, + "args": [ + "'report_name_module_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('report_name_module_uniq')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 582, + "args": [ + "*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')" + ], + "kwargs": {}, + "code": "cursor.execute(*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain'))", + "phase": "after_super" + }, + { + "object": "action_report", + "operation": "update", + "line": 582, + "args": [ + "[action_report.extension]", + "['txt']" + ], + "kwargs": { + "where": "action_report.extension == 'plain'" + }, + "code": "action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindow", + "method": "__register__", + "line": 770, + "operations": [ + { + "object": "table", + "operation": "drop_column", + "line": 778, + "args": [ + "'auto_refresh'" + ], + "kwargs": {}, + "code": "table.drop_column('auto_refresh')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "drop_column", + "line": 781, + "args": [ + "'window_name'" + ], + "kwargs": {}, + "code": "table.drop_column('window_name')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 784, + "args": [ + "'limit'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('limit', 'remove')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 785, + "args": [ + "*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)" + ], + "kwargs": {}, + "code": "cursor.execute(*act_window.update([act_window.limit], [Null], where=act_window.limit == 0))", + "phase": "after_super" + }, + { + "object": "act_window", + "operation": "update", + "line": 785, + "args": [ + "[act_window.limit]", + "[Null]" + ], + "kwargs": { + "where": "act_window.limit == 0" + }, + "code": "act_window.update([act_window.limit], [Null], where=act_window.limit == 0)", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowView", + "method": "__register__", + "line": 966, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 972, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowDomain", + "method": "__register__", + "line": 1005, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 1011, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py", + "class": "Attachment", + "method": "__register__", + "line": 59, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 69, + "args": [ + "*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 69, + "args": [ + "[attachment.file_id]", + "[attachment.digest]" + ], + "kwargs": { + "where": "(attachment.collision == 0) | (attachment.collision == Null)" + }, + "code": "attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 74, + "args": [ + "*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 74, + "args": [ + "[attachment.file_id]", + "[Concat(Concat(attachment.digest, '-'), attachment.collision)]" + ], + "kwargs": { + "where": "(attachment.collision != 0) & (attachment.collision != Null)" + }, + "code": "attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 80, + "args": [ + "'digest'" + ], + "kwargs": {}, + "code": "table.drop_column('digest')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 81, + "args": [ + "'collision'" + ], + "kwargs": {}, + "code": "table.drop_column('collision')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_constraint", + "line": 84, + "args": [ + "'resource_name'" + ], + "kwargs": {}, + "code": "table.drop_constraint('resource_name')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/cron.py", + "class": "Cron", + "method": "__register__", + "line": 92, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 103, + "args": [ + "'next_call'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('next_call', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelButton", + "method": "__register__", + "line": 886, + "operations": [ + { + "object": "table_h", + "operation": "drop_constraint", + "line": 892, + "args": [ + "'name_model_uniq'" + ], + "kwargs": {}, + "code": "table_h.drop_constraint('name_model_uniq')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelData", + "method": "__register__", + "line": 1208, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 1217, + "args": [ + "*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 1217, + "args": [ + "[model_data.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')" + }, + "code": "model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))", + "phase": "after_super" + }, + { + "object": "table_h", + "operation": "not_null_action", + "line": 1223, + "args": [ + "'db_id'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('db_id', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "Module", + "method": "__register__", + "line": 96, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 111, + "args": [ + "*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 111, + "args": [ + "[sql_table.state]", + "['activated']" + ], + "kwargs": { + "where": "sql_table.state == 'installed'" + }, + "code": "sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 114, + "args": [ + "*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 114, + "args": [ + "[sql_table.state]", + "['not activated']" + ], + "kwargs": { + "where": "sql_table.state == 'uninstalled'" + }, + "code": "sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 127, + "args": [ + "*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)))", + "phase": "after_super" + }, + { + "object": "model_data_sql_table", + "operation": "update", + "line": 127, + "args": [ + "[model_data_sql_table.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)" + }, + "code": "model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "ModuleConfigWizardItem", + "method": "__register__", + "line": 386, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 396, + "args": [ + "*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item'))", + "phase": "before_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 396, + "args": [], + "kwargs": { + "columns": "[model_data.model]", + "values": "[cls.__name__]", + "where": "model_data.model == 'ir.module.module.config_wizard.item'" + }, + "code": "model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')", + "phase": "before_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 407, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py", + "class": "SequenceType", + "method": "__register__", + "line": 41, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 47, + "args": [ + "'code'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('code', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py", + "class": "Sequence", + "method": "__register__", + "line": 117, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 130, + "args": [ + "*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)))", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "table", + "operation": "update", + "line": 130, + "args": [ + "[table.sequence_type]", + "sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)" + ], + "kwargs": {}, + "code": "table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "sequence_type", + "operation": "select", + "line": 132, + "args": [ + "sequence_type.id" + ], + "kwargs": { + "where": "sequence_type.code == table.code" + }, + "code": "sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 135, + "args": [ + "'code'" + ], + "kwargs": {}, + "code": "table_h.drop_column('code')", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/translation.py", + "class": "Translation", + "method": "__register__", + "line": 110, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 118, + "args": [ + "'translation_md5_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('translation_md5_uniq')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 119, + "args": [ + "'src_md5'" + ], + "kwargs": {}, + "code": "table.drop_column('src_md5')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 124, + "args": [ + "*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')" + ], + "kwargs": {}, + "code": "cursor.execute(*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt'))", + "phase": "after_super" + }, + { + "object": "ir_translation", + "operation": "update", + "line": 124, + "args": [ + "[ir_translation.type]", + "['report']" + ], + "kwargs": { + "where": "ir_translation.type == 'odt'" + }, + "code": "ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "Trigger", + "method": "__register__", + "line": 74, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 86, + "args": [ + "*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null))", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "sql_table", + "operation": "select", + "line": 86, + "args": [ + "sql_table.id", + "sql_table.minimum_delay" + ], + "kwargs": { + "where": "sql_table.minimum_delay != Null" + }, + "code": "sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 95, + "args": [ + "'minimum_delay'" + ], + "kwargs": {}, + "code": "table.drop_column('minimum_delay')", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "model", + "operation": "select", + "line": 103, + "args": [ + "model.model" + ], + "kwargs": { + "where": "model.id == sql_table.action_model" + }, + "code": "model.select(model.model, where=model.id == sql_table.action_model)", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 105, + "args": [ + "*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]))", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "sql_table", + "operation": "update", + "line": 105, + "args": [ + "[sql_table.action]", + "[Concat(action_model, Concat('|', sql_table.action_function))]" + ], + "kwargs": {}, + "code": "sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 109, + "args": [ + "'action_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_model')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 110, + "args": [ + "'action_function'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_function')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py", + "class": "Icon", + "method": "__register__", + "line": 31, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 37, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewSearch", + "method": "__register__", + "line": 601, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 606, + "args": [ + "'user'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('user', 'remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/6.8.17/party.json b/data/6.6/party.json similarity index 99% rename from data/6.8.17/party.json rename to data/6.6/party.json index d7a0d28..e4aeac8 100644 --- a/data/6.8.17/party.json +++ b/data/6.6/party.json @@ -1,5 +1,5 @@ { - "version": "6.8.17", + "version": "6.6", "module": "party", "files": [ { diff --git a/data/6.6.14/product.json b/data/6.6/product.json similarity index 99% rename from data/6.6.14/product.json rename to data/6.6/product.json index 3be604f..613f8e4 100644 --- a/data/6.6.14/product.json +++ b/data/6.6/product.json @@ -1,5 +1,5 @@ { - "version": "6.6.14", + "version": "6.6", "module": "product", "files": [ { diff --git a/data/6.6/product_measurements.json b/data/6.6/product_measurements.json new file mode 100644 index 0000000..cb2bcee --- /dev/null +++ b/data/6.6/product_measurements.json @@ -0,0 +1,5 @@ +{ + "version": "6.6", + "module": "product_measurements", + "files": [] +} \ No newline at end of file diff --git a/data/6.6.14/production.json b/data/6.6/production.json similarity index 99% rename from data/6.6.14/production.json rename to data/6.6/production.json index a3d56d7..6ee0016 100644 --- a/data/6.6.14/production.json +++ b/data/6.6/production.json @@ -1,5 +1,5 @@ { - "version": "6.6.14", + "version": "6.6", "module": "production", "files": [ { diff --git a/data/6.6/production_split.json b/data/6.6/production_split.json new file mode 100644 index 0000000..2926538 --- /dev/null +++ b/data/6.6/production_split.json @@ -0,0 +1,5 @@ +{ + "version": "6.6", + "module": "production_split", + "files": [] +} \ No newline at end of file diff --git a/data/6.6/res.json b/data/6.6/res.json new file mode 100644 index 0000000..4dd68b6 --- /dev/null +++ b/data/6.6/res.json @@ -0,0 +1,101 @@ +{ + "version": "6.6", + "module": "res", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/res/user.py", + "class": "User", + "method": "__register__", + "line": 202, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 215, + "args": [ + "*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])" + ], + "kwargs": {}, + "code": "cursor.execute(*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new]))", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "sqltable", + "operation": "update", + "line": 215, + "args": [], + "kwargs": { + "columns": "[sqltable.password_hash]", + "values": "[password_hash_new]" + }, + "code": "sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 218, + "args": [ + "'password'" + ], + "kwargs": {}, + "code": "table.drop_column('password')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 219, + "args": [ + "'salt'" + ], + "kwargs": {}, + "code": "table.drop_column('salt')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 222, + "args": [ + "'name'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table.not_null_action('name', action='remove')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 225, + "args": [ + "*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 225, + "args": [ + "[model_data.noupdate]", + "[True]" + ], + "kwargs": { + "where": "(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')" + }, + "code": "model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/6.6.14/stock_lot.json b/data/6.6/stock_lot.json similarity index 98% rename from data/6.6.14/stock_lot.json rename to data/6.6/stock_lot.json index f52c53a..92ab02a 100644 --- a/data/6.6.14/stock_lot.json +++ b/data/6.6/stock_lot.json @@ -1,5 +1,5 @@ { - "version": "6.6.14", + "version": "6.6", "module": "stock_lot", "files": [ { diff --git a/data/6.6/stock_lot_sled.json b/data/6.6/stock_lot_sled.json new file mode 100644 index 0000000..ab99da9 --- /dev/null +++ b/data/6.6/stock_lot_sled.json @@ -0,0 +1,5 @@ +{ + "version": "6.6", + "module": "stock_lot_sled", + "files": [] +} \ No newline at end of file diff --git a/data/6.8.17/stock_product_location.json b/data/6.6/stock_product_location.json similarity index 96% rename from data/6.8.17/stock_product_location.json rename to data/6.6/stock_product_location.json index 5a19352..49c2e60 100644 --- a/data/6.8.17/stock_product_location.json +++ b/data/6.6/stock_product_location.json @@ -1,5 +1,5 @@ { - "version": "6.8.17", + "version": "6.6", "module": "stock_product_location", "files": [ { diff --git a/data/6.6/stock_split.json b/data/6.6/stock_split.json new file mode 100644 index 0000000..fcaa9fe --- /dev/null +++ b/data/6.6/stock_split.json @@ -0,0 +1,5 @@ +{ + "version": "6.6", + "module": "stock_split", + "files": [] +} \ No newline at end of file diff --git a/data/6.8.17/product_measurements.json b/data/6.8.17/product_measurements.json deleted file mode 100644 index 340a62d..0000000 --- a/data/6.8.17/product_measurements.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.8.17", - "module": "product_measurements", - "files": [] -} \ No newline at end of file diff --git a/data/6.8.17/production_split.json b/data/6.8.17/production_split.json deleted file mode 100644 index 38e1f2b..0000000 --- a/data/6.8.17/production_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.8.17", - "module": "production_split", - "files": [] -} \ No newline at end of file diff --git a/data/6.8.17/stock_lot_sled.json b/data/6.8.17/stock_lot_sled.json deleted file mode 100644 index d180e26..0000000 --- a/data/6.8.17/stock_lot_sled.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.8.17", - "module": "stock_lot_sled", - "files": [] -} \ No newline at end of file diff --git a/data/6.8.17/stock_split.json b/data/6.8.17/stock_split.json deleted file mode 100644 index fee12e6..0000000 --- a/data/6.8.17/stock_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "6.8.17", - "module": "stock_split", - "files": [] -} \ No newline at end of file diff --git a/data/6.6.14/company.json b/data/6.8/company.json similarity index 99% rename from data/6.6.14/company.json rename to data/6.8/company.json index da37131..c02842f 100644 --- a/data/6.6.14/company.json +++ b/data/6.8/company.json @@ -1,5 +1,5 @@ { - "version": "6.6.14", + "version": "6.8", "module": "company", "files": [ { diff --git a/data/6.6.14/country.json b/data/6.8/country.json similarity index 99% rename from data/6.6.14/country.json rename to data/6.8/country.json index 0a898b6..63bb22e 100644 --- a/data/6.6.14/country.json +++ b/data/6.8/country.json @@ -1,5 +1,5 @@ { - "version": "6.6.14", + "version": "6.8", "module": "country", "files": [ { diff --git a/data/6.8.17/currency.json b/data/6.8/currency.json similarity index 98% rename from data/6.8.17/currency.json rename to data/6.8/currency.json index 33ea3fc..93cc750 100644 --- a/data/6.8.17/currency.json +++ b/data/6.8/currency.json @@ -1,5 +1,5 @@ { - "version": "6.8.17", + "version": "6.8", "module": "currency", "files": [ { diff --git a/data/6.8/ir.json b/data/6.8/ir.json new file mode 100644 index 0000000..613cabd --- /dev/null +++ b/data/6.8/ir.json @@ -0,0 +1,753 @@ +{ + "version": "6.8", + "module": "ir", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionReport", + "method": "__register__", + "line": 582, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 591, + "args": [ + "'report_name_module_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('report_name_module_uniq')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 594, + "args": [ + "*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')" + ], + "kwargs": {}, + "code": "cursor.execute(*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain'))", + "phase": "after_super" + }, + { + "object": "action_report", + "operation": "update", + "line": 594, + "args": [ + "[action_report.extension]", + "['txt']" + ], + "kwargs": { + "where": "action_report.extension == 'plain'" + }, + "code": "action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindow", + "method": "__register__", + "line": 774, + "operations": [ + { + "object": "table", + "operation": "drop_column", + "line": 782, + "args": [ + "'auto_refresh'" + ], + "kwargs": {}, + "code": "table.drop_column('auto_refresh')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "drop_column", + "line": 785, + "args": [ + "'window_name'" + ], + "kwargs": {}, + "code": "table.drop_column('window_name')", + "phase": "after_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 788, + "args": [ + "'limit'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('limit', 'remove')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 789, + "args": [ + "*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)" + ], + "kwargs": {}, + "code": "cursor.execute(*act_window.update([act_window.limit], [Null], where=act_window.limit == 0))", + "phase": "after_super" + }, + { + "object": "act_window", + "operation": "update", + "line": 789, + "args": [ + "[act_window.limit]", + "[Null]" + ], + "kwargs": { + "where": "act_window.limit == 0" + }, + "code": "act_window.update([act_window.limit], [Null], where=act_window.limit == 0)", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowView", + "method": "__register__", + "line": 979, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 985, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowDomain", + "method": "__register__", + "line": 1028, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 1034, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py", + "class": "Attachment", + "method": "__register__", + "line": 59, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 69, + "args": [ + "*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 69, + "args": [ + "[attachment.file_id]", + "[attachment.digest]" + ], + "kwargs": { + "where": "(attachment.collision == 0) | (attachment.collision == Null)" + }, + "code": "attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 74, + "args": [ + "*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))" + ], + "kwargs": {}, + "code": "cursor.execute(*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null)))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "attachment", + "operation": "update", + "line": 74, + "args": [ + "[attachment.file_id]", + "[Concat(Concat(attachment.digest, '-'), attachment.collision)]" + ], + "kwargs": { + "where": "(attachment.collision != 0) & (attachment.collision != Null)" + }, + "code": "attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 80, + "args": [ + "'digest'" + ], + "kwargs": {}, + "code": "table.drop_column('digest')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 81, + "args": [ + "'collision'" + ], + "kwargs": {}, + "code": "table.drop_column('collision')", + "phase": "after_super", + "condition": "table.column_exist('digest') and table.column_exist('collision')" + }, + { + "object": "table", + "operation": "drop_constraint", + "line": 84, + "args": [ + "'resource_name'" + ], + "kwargs": {}, + "code": "table.drop_constraint('resource_name')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/cron.py", + "class": "Cron", + "method": "__register__", + "line": 92, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 103, + "args": [ + "'next_call'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('next_call', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelButton", + "method": "__register__", + "line": 895, + "operations": [ + { + "object": "table_h", + "operation": "drop_constraint", + "line": 901, + "args": [ + "'name_model_uniq'" + ], + "kwargs": {}, + "code": "table_h.drop_constraint('name_model_uniq')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelData", + "method": "__register__", + "line": 1227, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 1236, + "args": [ + "*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 1236, + "args": [ + "[model_data.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')" + }, + "code": "model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))", + "phase": "after_super" + }, + { + "object": "table_h", + "operation": "not_null_action", + "line": 1242, + "args": [ + "'db_id'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('db_id', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "Module", + "method": "__register__", + "line": 97, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 112, + "args": [ + "*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 112, + "args": [ + "[sql_table.state]", + "['activated']" + ], + "kwargs": { + "where": "sql_table.state == 'installed'" + }, + "code": "sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 115, + "args": [ + "*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled'))", + "phase": "after_super" + }, + { + "object": "sql_table", + "operation": "update", + "line": 115, + "args": [ + "[sql_table.state]", + "['not activated']" + ], + "kwargs": { + "where": "sql_table.state == 'uninstalled'" + }, + "code": "sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 128, + "args": [ + "*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)))", + "phase": "after_super" + }, + { + "object": "model_data_sql_table", + "operation": "update", + "line": 128, + "args": [ + "[model_data_sql_table.module]", + "['ir']" + ], + "kwargs": { + "where": "(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)" + }, + "code": "model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "ModuleConfigWizardItem", + "method": "__register__", + "line": 370, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 380, + "args": [ + "*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item'))", + "phase": "before_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 380, + "args": [], + "kwargs": { + "columns": "[model_data.model]", + "values": "[cls.__name__]", + "where": "model_data.model == 'ir.module.module.config_wizard.item'" + }, + "code": "model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')", + "phase": "before_super" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 391, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py", + "class": "SequenceType", + "method": "__register__", + "line": 41, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 47, + "args": [ + "'code'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('code', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py", + "class": "Sequence", + "method": "__register__", + "line": 117, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 130, + "args": [ + "*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)))", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "table", + "operation": "update", + "line": 130, + "args": [ + "[table.sequence_type]", + "sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)" + ], + "kwargs": {}, + "code": "table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "sequence_type", + "operation": "select", + "line": 132, + "args": [ + "sequence_type.id" + ], + "kwargs": { + "where": "sequence_type.code == table.code" + }, + "code": "sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 135, + "args": [ + "'code'" + ], + "kwargs": {}, + "code": "table_h.drop_column('code')", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/translation.py", + "class": "Translation", + "method": "__register__", + "line": 111, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 119, + "args": [ + "'translation_md5_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('translation_md5_uniq')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 120, + "args": [ + "'src_md5'" + ], + "kwargs": {}, + "code": "table.drop_column('src_md5')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 125, + "args": [ + "*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')" + ], + "kwargs": {}, + "code": "cursor.execute(*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt'))", + "phase": "after_super" + }, + { + "object": "ir_translation", + "operation": "update", + "line": 125, + "args": [ + "[ir_translation.type]", + "['report']" + ], + "kwargs": { + "where": "ir_translation.type == 'odt'" + }, + "code": "ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "Trigger", + "method": "__register__", + "line": 79, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 91, + "args": [ + "*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null))", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "sql_table", + "operation": "select", + "line": 91, + "args": [ + "sql_table.id", + "sql_table.minimum_delay" + ], + "kwargs": { + "where": "sql_table.minimum_delay != Null" + }, + "code": "sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 100, + "args": [ + "'minimum_delay'" + ], + "kwargs": {}, + "code": "table.drop_column('minimum_delay')", + "phase": "after_super", + "condition": "table.column_exist('minimum_delay')" + }, + { + "object": "model", + "operation": "select", + "line": 108, + "args": [ + "model.model" + ], + "kwargs": { + "where": "model.id == sql_table.action_model" + }, + "code": "model.select(model.model, where=model.id == sql_table.action_model)", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 110, + "args": [ + "*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]))", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "sql_table", + "operation": "update", + "line": 110, + "args": [ + "[sql_table.action]", + "[Concat(action_model, Concat('|', sql_table.action_function))]" + ], + "kwargs": {}, + "code": "sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 114, + "args": [ + "'action_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_model')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 115, + "args": [ + "'action_function'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_function')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py", + "class": "Icon", + "method": "__register__", + "line": 31, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 37, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewSearch", + "method": "__register__", + "line": 601, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 606, + "args": [ + "'user'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('user', 'remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/6.6.14/party.json b/data/6.8/party.json similarity index 99% rename from data/6.6.14/party.json rename to data/6.8/party.json index c861ab1..23a97f7 100644 --- a/data/6.6.14/party.json +++ b/data/6.8/party.json @@ -1,5 +1,5 @@ { - "version": "6.6.14", + "version": "6.8", "module": "party", "files": [ { diff --git a/data/6.8.17/product.json b/data/6.8/product.json similarity index 99% rename from data/6.8.17/product.json rename to data/6.8/product.json index 9db78d2..b468af5 100644 --- a/data/6.8.17/product.json +++ b/data/6.8/product.json @@ -1,5 +1,5 @@ { - "version": "6.8.17", + "version": "6.8", "module": "product", "files": [ { diff --git a/data/6.8/product_measurements.json b/data/6.8/product_measurements.json new file mode 100644 index 0000000..01f305e --- /dev/null +++ b/data/6.8/product_measurements.json @@ -0,0 +1,5 @@ +{ + "version": "6.8", + "module": "product_measurements", + "files": [] +} \ No newline at end of file diff --git a/data/6.8.17/production.json b/data/6.8/production.json similarity index 99% rename from data/6.8.17/production.json rename to data/6.8/production.json index d449d2f..ddadabe 100644 --- a/data/6.8.17/production.json +++ b/data/6.8/production.json @@ -1,5 +1,5 @@ { - "version": "6.8.17", + "version": "6.8", "module": "production", "files": [ { diff --git a/data/6.8/production_split.json b/data/6.8/production_split.json new file mode 100644 index 0000000..44abaaa --- /dev/null +++ b/data/6.8/production_split.json @@ -0,0 +1,5 @@ +{ + "version": "6.8", + "module": "production_split", + "files": [] +} \ No newline at end of file diff --git a/data/6.8/res.json b/data/6.8/res.json new file mode 100644 index 0000000..d181706 --- /dev/null +++ b/data/6.8/res.json @@ -0,0 +1,101 @@ +{ + "version": "6.8", + "module": "res", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/res/user.py", + "class": "User", + "method": "__register__", + "line": 202, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 215, + "args": [ + "*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])" + ], + "kwargs": {}, + "code": "cursor.execute(*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new]))", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "sqltable", + "operation": "update", + "line": 215, + "args": [], + "kwargs": { + "columns": "[sqltable.password_hash]", + "values": "[password_hash_new]" + }, + "code": "sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 218, + "args": [ + "'password'" + ], + "kwargs": {}, + "code": "table.drop_column('password')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 219, + "args": [ + "'salt'" + ], + "kwargs": {}, + "code": "table.drop_column('salt')", + "phase": "after_super", + "condition": "table.column_exist('password') and table.column_exist('salt')" + }, + { + "object": "table", + "operation": "not_null_action", + "line": 222, + "args": [ + "'name'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table.not_null_action('name', action='remove')", + "phase": "after_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 225, + "args": [ + "*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 225, + "args": [ + "[model_data.noupdate]", + "[True]" + ], + "kwargs": { + "where": "(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')" + }, + "code": "model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/6.8.17/stock_lot.json b/data/6.8/stock_lot.json similarity index 98% rename from data/6.8.17/stock_lot.json rename to data/6.8/stock_lot.json index 2eab7d5..6275489 100644 --- a/data/6.8.17/stock_lot.json +++ b/data/6.8/stock_lot.json @@ -1,5 +1,5 @@ { - "version": "6.8.17", + "version": "6.8", "module": "stock_lot", "files": [ { diff --git a/data/6.8/stock_lot_sled.json b/data/6.8/stock_lot_sled.json new file mode 100644 index 0000000..3db6913 --- /dev/null +++ b/data/6.8/stock_lot_sled.json @@ -0,0 +1,5 @@ +{ + "version": "6.8", + "module": "stock_lot_sled", + "files": [] +} \ No newline at end of file diff --git a/data/6.4.16/stock_product_location.json b/data/6.8/stock_product_location.json similarity index 96% rename from data/6.4.16/stock_product_location.json rename to data/6.8/stock_product_location.json index f0a3b2f..b0a6ee8 100644 --- a/data/6.4.16/stock_product_location.json +++ b/data/6.8/stock_product_location.json @@ -1,5 +1,5 @@ { - "version": "6.4.16", + "version": "6.8", "module": "stock_product_location", "files": [ { diff --git a/data/6.8/stock_split.json b/data/6.8/stock_split.json new file mode 100644 index 0000000..1bdb70f --- /dev/null +++ b/data/6.8/stock_split.json @@ -0,0 +1,5 @@ +{ + "version": "6.8", + "module": "stock_split", + "files": [] +} \ No newline at end of file diff --git a/data/7.0.55/product_measurements.json b/data/7.0.55/product_measurements.json deleted file mode 100644 index 796e8bb..0000000 --- a/data/7.0.55/product_measurements.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.0.55", - "module": "product_measurements", - "files": [] -} \ No newline at end of file diff --git a/data/7.0.55/production_split.json b/data/7.0.55/production_split.json deleted file mode 100644 index a194842..0000000 --- a/data/7.0.55/production_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.0.55", - "module": "production_split", - "files": [] -} \ No newline at end of file diff --git a/data/7.0.55/stock_lot_sled.json b/data/7.0.55/stock_lot_sled.json deleted file mode 100644 index b271953..0000000 --- a/data/7.0.55/stock_lot_sled.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.0.55", - "module": "stock_lot_sled", - "files": [] -} \ No newline at end of file diff --git a/data/7.0.55/stock_split.json b/data/7.0.55/stock_split.json deleted file mode 100644 index 709d312..0000000 --- a/data/7.0.55/stock_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.0.55", - "module": "stock_split", - "files": [] -} \ No newline at end of file diff --git a/data/7.0.55/company.json b/data/7.0/company.json similarity index 99% rename from data/7.0.55/company.json rename to data/7.0/company.json index 9aad01b..edce1e3 100644 --- a/data/7.0.55/company.json +++ b/data/7.0/company.json @@ -1,5 +1,5 @@ { - "version": "7.0.55", + "version": "7.0", "module": "company", "files": [ { diff --git a/data/7.4.25/country.json b/data/7.0/country.json similarity index 99% rename from data/7.4.25/country.json rename to data/7.0/country.json index 7a6ea6e..6abb2ee 100644 --- a/data/7.4.25/country.json +++ b/data/7.0/country.json @@ -1,5 +1,5 @@ { - "version": "7.4.25", + "version": "7.0", "module": "country", "files": [ { diff --git a/data/7.0.55/currency.json b/data/7.0/currency.json similarity index 98% rename from data/7.0.55/currency.json rename to data/7.0/currency.json index 730ce11..9ef366a 100644 --- a/data/7.0.55/currency.json +++ b/data/7.0/currency.json @@ -1,5 +1,5 @@ { - "version": "7.0.55", + "version": "7.0", "module": "currency", "files": [ { diff --git a/data/7.0/ir.json b/data/7.0/ir.json new file mode 100644 index 0000000..5d276a3 --- /dev/null +++ b/data/7.0/ir.json @@ -0,0 +1,382 @@ +{ + "version": "7.0", + "module": "ir", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowView", + "method": "__register__", + "line": 952, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 958, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowDomain", + "method": "__register__", + "line": 1001, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 1007, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/cron.py", + "class": "Cron", + "method": "__register__", + "line": 92, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 103, + "args": [ + "'next_call'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('next_call', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/export.py", + "class": "Export", + "method": "__register__", + "line": 56, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 67, + "args": [ + "*table.update([table.user], [table.create_uid])" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.user], [table.create_uid]))", + "phase": "after_super", + "condition": "not user_exists" + }, + { + "object": "table", + "operation": "update", + "line": 67, + "args": [ + "[table.user]", + "[table.create_uid]" + ], + "kwargs": {}, + "code": "table.update([table.user], [table.create_uid])", + "phase": "after_super", + "condition": "not user_exists" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelButton", + "method": "__register__", + "line": 887, + "operations": [ + { + "object": "table_h", + "operation": "drop_constraint", + "line": 893, + "args": [ + "'name_model_uniq'" + ], + "kwargs": {}, + "code": "table_h.drop_constraint('name_model_uniq')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelData", + "method": "__register__", + "line": 1219, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 1225, + "args": [ + "'db_id'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('db_id', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "ModuleConfigWizardItem", + "method": "__register__", + "line": 323, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 329, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py", + "class": "SequenceType", + "method": "__register__", + "line": 41, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 47, + "args": [ + "'code'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('code', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py", + "class": "Sequence", + "method": "__register__", + "line": 122, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 135, + "args": [ + "*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)))", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "table", + "operation": "update", + "line": 135, + "args": [ + "[table.sequence_type]", + "sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)" + ], + "kwargs": {}, + "code": "table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "sequence_type", + "operation": "select", + "line": 137, + "args": [ + "sequence_type.id" + ], + "kwargs": { + "where": "sequence_type.code == table.code" + }, + "code": "sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 140, + "args": [ + "'code'" + ], + "kwargs": {}, + "code": "table_h.drop_column('code')", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/translation.py", + "class": "Translation", + "method": "__register__", + "line": 115, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 120, + "args": [ + "'translation_md5_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('translation_md5_uniq')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 121, + "args": [ + "'src_md5'" + ], + "kwargs": {}, + "code": "table.drop_column('src_md5')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "Trigger", + "method": "__register__", + "line": 79, + "operations": [ + { + "object": "model", + "operation": "select", + "line": 92, + "args": [ + "model.model" + ], + "kwargs": { + "where": "model.id == sql_table.action_model" + }, + "code": "model.select(model.model, where=model.id == sql_table.action_model)", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 94, + "args": [ + "*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]))", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "sql_table", + "operation": "update", + "line": 94, + "args": [ + "[sql_table.action]", + "[Concat(action_model, Concat('|', sql_table.action_function))]" + ], + "kwargs": {}, + "code": "sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 98, + "args": [ + "'action_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_model')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 99, + "args": [ + "'action_function'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_function')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py", + "class": "Icon", + "method": "__register__", + "line": 31, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 37, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewSearch", + "method": "__register__", + "line": 616, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 621, + "args": [ + "'user'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('user', 'remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/7.0.55/party.json b/data/7.0/party.json similarity index 99% rename from data/7.0.55/party.json rename to data/7.0/party.json index d9de2dd..99525ac 100644 --- a/data/7.0.55/party.json +++ b/data/7.0/party.json @@ -1,5 +1,5 @@ { - "version": "7.0.55", + "version": "7.0", "module": "party", "files": [ { diff --git a/data/7.0.55/product.json b/data/7.0/product.json similarity index 97% rename from data/7.0.55/product.json rename to data/7.0/product.json index 80c747c..646dc9b 100644 --- a/data/7.0.55/product.json +++ b/data/7.0/product.json @@ -1,5 +1,5 @@ { - "version": "7.0.55", + "version": "7.0", "module": "product", "files": [ { diff --git a/data/7.0/product_measurements.json b/data/7.0/product_measurements.json new file mode 100644 index 0000000..a25b7f1 --- /dev/null +++ b/data/7.0/product_measurements.json @@ -0,0 +1,5 @@ +{ + "version": "7.0", + "module": "product_measurements", + "files": [] +} \ No newline at end of file diff --git a/data/7.0.55/production.json b/data/7.0/production.json similarity index 99% rename from data/7.0.55/production.json rename to data/7.0/production.json index 9d6a9a6..118c315 100644 --- a/data/7.0.55/production.json +++ b/data/7.0/production.json @@ -1,5 +1,5 @@ { - "version": "7.0.55", + "version": "7.0", "module": "production", "files": [ { diff --git a/data/7.0/production_split.json b/data/7.0/production_split.json new file mode 100644 index 0000000..af9946a --- /dev/null +++ b/data/7.0/production_split.json @@ -0,0 +1,5 @@ +{ + "version": "7.0", + "module": "production_split", + "files": [] +} \ No newline at end of file diff --git a/data/7.0/res.json b/data/7.0/res.json new file mode 100644 index 0000000..18582d5 --- /dev/null +++ b/data/7.0/res.json @@ -0,0 +1,39 @@ +{ + "version": "7.0", + "module": "res", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/res/user.py", + "class": "User", + "method": "__register__", + "line": 207, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 215, + "args": [ + "*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 215, + "args": [ + "[model_data.noupdate]", + "[True]" + ], + "kwargs": { + "where": "(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')" + }, + "code": "model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/7.0.55/stock_lot.json b/data/7.0/stock_lot.json similarity index 98% rename from data/7.0.55/stock_lot.json rename to data/7.0/stock_lot.json index 38cb6e3..86bb83f 100644 --- a/data/7.0.55/stock_lot.json +++ b/data/7.0/stock_lot.json @@ -1,5 +1,5 @@ { - "version": "7.0.55", + "version": "7.0", "module": "stock_lot", "files": [ { diff --git a/data/7.0/stock_lot_sled.json b/data/7.0/stock_lot_sled.json new file mode 100644 index 0000000..173fbf4 --- /dev/null +++ b/data/7.0/stock_lot_sled.json @@ -0,0 +1,5 @@ +{ + "version": "7.0", + "module": "stock_lot_sled", + "files": [] +} \ No newline at end of file diff --git a/data/7.0.55/stock_product_location.json b/data/7.0/stock_product_location.json similarity index 96% rename from data/7.0.55/stock_product_location.json rename to data/7.0/stock_product_location.json index 3a2152e..6767e74 100644 --- a/data/7.0.55/stock_product_location.json +++ b/data/7.0/stock_product_location.json @@ -1,5 +1,5 @@ { - "version": "7.0.55", + "version": "7.0", "module": "stock_product_location", "files": [ { diff --git a/data/7.0/stock_split.json b/data/7.0/stock_split.json new file mode 100644 index 0000000..5096690 --- /dev/null +++ b/data/7.0/stock_split.json @@ -0,0 +1,5 @@ +{ + "version": "7.0", + "module": "stock_split", + "files": [] +} \ No newline at end of file diff --git a/data/7.2.23/product_measurements.json b/data/7.2.23/product_measurements.json deleted file mode 100644 index d97ce41..0000000 --- a/data/7.2.23/product_measurements.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.2.23", - "module": "product_measurements", - "files": [] -} \ No newline at end of file diff --git a/data/7.2.23/production_split.json b/data/7.2.23/production_split.json deleted file mode 100644 index d346d0c..0000000 --- a/data/7.2.23/production_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.2.23", - "module": "production_split", - "files": [] -} \ No newline at end of file diff --git a/data/7.2.23/stock_lot_sled.json b/data/7.2.23/stock_lot_sled.json deleted file mode 100644 index e0199af..0000000 --- a/data/7.2.23/stock_lot_sled.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.2.23", - "module": "stock_lot_sled", - "files": [] -} \ No newline at end of file diff --git a/data/7.2.23/stock_product_location.json b/data/7.2.23/stock_product_location.json deleted file mode 100644 index f415c88..0000000 --- a/data/7.2.23/stock_product_location.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "version": "7.2.23", - "module": "stock_product_location", - "files": [ - { - "file": "/home/uha4/tmp/tryton/modules/stock_product_location/location.py", - "class": "ProductLocation", - "method": "__register__", - "line": 41, - "operations": [ - { - "object": "table", - "operation": "not_null_action", - "line": 47, - "args": [ - "'product'", - "'remove'" - ], - "kwargs": {}, - "code": "table.not_null_action('product', 'remove')", - "phase": "after_super" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/7.2.23/stock_split.json b/data/7.2.23/stock_split.json deleted file mode 100644 index 464caac..0000000 --- a/data/7.2.23/stock_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.2.23", - "module": "stock_split", - "files": [] -} \ No newline at end of file diff --git a/data/7.2.23/company.json b/data/7.2/company.json similarity index 99% rename from data/7.2.23/company.json rename to data/7.2/company.json index 98bdc01..3a7e8ea 100644 --- a/data/7.2.23/company.json +++ b/data/7.2/company.json @@ -1,5 +1,5 @@ { - "version": "7.2.23", + "version": "7.2", "module": "company", "files": [ { diff --git a/data/7.2.23/country.json b/data/7.2/country.json similarity index 99% rename from data/7.2.23/country.json rename to data/7.2/country.json index 7961be1..b872478 100644 --- a/data/7.2.23/country.json +++ b/data/7.2/country.json @@ -1,5 +1,5 @@ { - "version": "7.2.23", + "version": "7.2", "module": "country", "files": [ { diff --git a/data/7.2.23/currency.json b/data/7.2/currency.json similarity index 98% rename from data/7.2.23/currency.json rename to data/7.2/currency.json index 6713d2c..560c712 100644 --- a/data/7.2.23/currency.json +++ b/data/7.2/currency.json @@ -1,5 +1,5 @@ { - "version": "7.2.23", + "version": "7.2", "module": "currency", "files": [ { diff --git a/data/7.2/ir.json b/data/7.2/ir.json new file mode 100644 index 0000000..cde0771 --- /dev/null +++ b/data/7.2/ir.json @@ -0,0 +1,757 @@ +{ + "version": "7.2", + "module": "ir", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowView", + "method": "__register__", + "line": 962, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 968, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowDomain", + "method": "__register__", + "line": 1011, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 1017, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/cron.py", + "class": "Cron", + "method": "__register__", + "line": 92, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 103, + "args": [ + "'next_call'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('next_call', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/export.py", + "class": "Export", + "method": "__register__", + "line": 56, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 67, + "args": [ + "*table.update([table.user], [table.create_uid])" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.user], [table.create_uid]))", + "phase": "after_super", + "condition": "not user_exists" + }, + { + "object": "table", + "operation": "update", + "line": 67, + "args": [ + "[table.user]", + "[table.create_uid]" + ], + "kwargs": {}, + "code": "table.update([table.user], [table.create_uid])", + "phase": "after_super", + "condition": "not user_exists" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelField", + "method": "__register__", + "line": 297, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 309, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 310, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 311, + "args": [ + "*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 311, + "args": [ + "[table.model]", + "[model.model]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 315, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelAccess", + "method": "__register__", + "line": 531, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 543, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 544, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 545, + "args": [ + "*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 545, + "args": [ + "[table.model]", + "[model.model]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 549, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelFieldAccess", + "method": "__register__", + "line": 786, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 798, + "args": [ + "'field'", + "'_temp_field'" + ], + "kwargs": {}, + "code": "table_h.column_rename('field', '_temp_field')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 799, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 800, + "args": [ + "'field'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('field', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 801, + "args": [ + "*table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id))", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 801, + "args": [ + "[table.model, table.field]", + "[field.model, field.name]" + ], + "kwargs": { + "from_": "[field]", + "where": "table._temp_field == field.id" + }, + "code": "table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id)", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 806, + "args": [ + "'_temp_field'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_field')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelButton", + "method": "__register__", + "line": 985, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 997, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 998, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 999, + "args": [ + "*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 999, + "args": [ + "[table.model]", + "[model.model]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 1003, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_constraint", + "line": 1008, + "args": [ + "'name_model_uniq'" + ], + "kwargs": {}, + "code": "table_h.drop_constraint('name_model_uniq')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelData", + "method": "__register__", + "line": 1340, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 1346, + "args": [ + "'db_id'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('db_id', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "ModuleConfigWizardItem", + "method": "__register__", + "line": 323, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 329, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/rule.py", + "class": "RuleGroup", + "method": "__register__", + "line": 84, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 96, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 97, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 98, + "args": [ + "*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 98, + "args": [ + "[table.model]", + "[model.model]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 102, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py", + "class": "SequenceType", + "method": "__register__", + "line": 41, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 47, + "args": [ + "'code'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('code', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py", + "class": "Sequence", + "method": "__register__", + "line": 122, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 135, + "args": [ + "*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)))", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "table", + "operation": "update", + "line": 135, + "args": [ + "[table.sequence_type]", + "sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)" + ], + "kwargs": {}, + "code": "table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "sequence_type", + "operation": "select", + "line": 137, + "args": [ + "sequence_type.id" + ], + "kwargs": { + "where": "sequence_type.code == table.code" + }, + "code": "sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 140, + "args": [ + "'code'" + ], + "kwargs": {}, + "code": "table_h.drop_column('code')", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/translation.py", + "class": "Translation", + "method": "__register__", + "line": 122, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 127, + "args": [ + "'translation_md5_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('translation_md5_uniq')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 128, + "args": [ + "'src_md5'" + ], + "kwargs": {}, + "code": "table.drop_column('src_md5')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "Trigger", + "method": "__register__", + "line": 79, + "operations": [ + { + "object": "model", + "operation": "select", + "line": 92, + "args": [ + "model.model" + ], + "kwargs": { + "where": "model.id == sql_table.action_model" + }, + "code": "model.select(model.model, where=model.id == sql_table.action_model)", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 94, + "args": [ + "*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]))", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "sql_table", + "operation": "update", + "line": 94, + "args": [ + "[sql_table.action]", + "[Concat(action_model, Concat('|', sql_table.action_function))]" + ], + "kwargs": {}, + "code": "sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 98, + "args": [ + "'action_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_model')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 99, + "args": [ + "'action_function'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_function')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py", + "class": "Icon", + "method": "__register__", + "line": 35, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 41, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewSearch", + "method": "__register__", + "line": 708, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 713, + "args": [ + "'user'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('user', 'remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/7.2.23/party.json b/data/7.2/party.json similarity index 99% rename from data/7.2.23/party.json rename to data/7.2/party.json index 885e64e..542a65c 100644 --- a/data/7.2.23/party.json +++ b/data/7.2/party.json @@ -1,5 +1,5 @@ { - "version": "7.2.23", + "version": "7.2", "module": "party", "files": [ { diff --git a/data/7.2.23/product.json b/data/7.2/product.json similarity index 97% rename from data/7.2.23/product.json rename to data/7.2/product.json index a957dd8..4e863ae 100644 --- a/data/7.2.23/product.json +++ b/data/7.2/product.json @@ -1,5 +1,5 @@ { - "version": "7.2.23", + "version": "7.2", "module": "product", "files": [ { diff --git a/data/7.2/product_measurements.json b/data/7.2/product_measurements.json new file mode 100644 index 0000000..37dd41a --- /dev/null +++ b/data/7.2/product_measurements.json @@ -0,0 +1,5 @@ +{ + "version": "7.2", + "module": "product_measurements", + "files": [] +} \ No newline at end of file diff --git a/data/7.2.23/production.json b/data/7.2/production.json similarity index 99% rename from data/7.2.23/production.json rename to data/7.2/production.json index f03957b..9e3fa81 100644 --- a/data/7.2.23/production.json +++ b/data/7.2/production.json @@ -1,5 +1,5 @@ { - "version": "7.2.23", + "version": "7.2", "module": "production", "files": [ { diff --git a/data/7.2/production_split.json b/data/7.2/production_split.json new file mode 100644 index 0000000..63d4dc5 --- /dev/null +++ b/data/7.2/production_split.json @@ -0,0 +1,5 @@ +{ + "version": "7.2", + "module": "production_split", + "files": [] +} \ No newline at end of file diff --git a/data/7.2/res.json b/data/7.2/res.json new file mode 100644 index 0000000..73d6b8b --- /dev/null +++ b/data/7.2/res.json @@ -0,0 +1,39 @@ +{ + "version": "7.2", + "module": "res", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/res/user.py", + "class": "User", + "method": "__register__", + "line": 206, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 214, + "args": [ + "*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 214, + "args": [ + "[model_data.noupdate]", + "[True]" + ], + "kwargs": { + "where": "(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')" + }, + "code": "model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/7.2.23/stock_lot.json b/data/7.2/stock_lot.json similarity index 98% rename from data/7.2.23/stock_lot.json rename to data/7.2/stock_lot.json index abf587c..5e61125 100644 --- a/data/7.2.23/stock_lot.json +++ b/data/7.2/stock_lot.json @@ -1,5 +1,5 @@ { - "version": "7.2.23", + "version": "7.2", "module": "stock_lot", "files": [ { diff --git a/data/7.2/stock_lot_sled.json b/data/7.2/stock_lot_sled.json new file mode 100644 index 0000000..71233ac --- /dev/null +++ b/data/7.2/stock_lot_sled.json @@ -0,0 +1,5 @@ +{ + "version": "7.2", + "module": "stock_lot_sled", + "files": [] +} \ No newline at end of file diff --git a/data/7.2/stock_product_location.json b/data/7.2/stock_product_location.json new file mode 100644 index 0000000..740fab6 --- /dev/null +++ b/data/7.2/stock_product_location.json @@ -0,0 +1,26 @@ +{ + "version": "7.2", + "module": "stock_product_location", + "files": [ + { + "file": "/home/uha4/tmp/tryton/modules/stock_product_location/location.py", + "class": "ProductLocation", + "method": "__register__", + "line": 41, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 47, + "args": [ + "'product'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('product', 'remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/7.2/stock_split.json b/data/7.2/stock_split.json new file mode 100644 index 0000000..a9f26c2 --- /dev/null +++ b/data/7.2/stock_split.json @@ -0,0 +1,5 @@ +{ + "version": "7.2", + "module": "stock_split", + "files": [] +} \ No newline at end of file diff --git a/data/7.4.25/product_measurements.json b/data/7.4.25/product_measurements.json deleted file mode 100644 index 17e2c01..0000000 --- a/data/7.4.25/product_measurements.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.4.25", - "module": "product_measurements", - "files": [] -} \ No newline at end of file diff --git a/data/7.4.25/production_split.json b/data/7.4.25/production_split.json deleted file mode 100644 index 4f62956..0000000 --- a/data/7.4.25/production_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.4.25", - "module": "production_split", - "files": [] -} \ No newline at end of file diff --git a/data/7.4.25/stock_lot_sled.json b/data/7.4.25/stock_lot_sled.json deleted file mode 100644 index 0dd8dd7..0000000 --- a/data/7.4.25/stock_lot_sled.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.4.25", - "module": "stock_lot_sled", - "files": [] -} \ No newline at end of file diff --git a/data/7.4.25/stock_product_location.json b/data/7.4.25/stock_product_location.json deleted file mode 100644 index 890d0b1..0000000 --- a/data/7.4.25/stock_product_location.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "version": "7.4.25", - "module": "stock_product_location", - "files": [ - { - "file": "/home/uha4/tmp/tryton/modules/stock_product_location/location.py", - "class": "ProductLocation", - "method": "__register__", - "line": 41, - "operations": [ - { - "object": "table", - "operation": "not_null_action", - "line": 47, - "args": [ - "'product'", - "'remove'" - ], - "kwargs": {}, - "code": "table.not_null_action('product', 'remove')", - "phase": "after_super" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/7.4.25/stock_split.json b/data/7.4.25/stock_split.json deleted file mode 100644 index b7bfd3f..0000000 --- a/data/7.4.25/stock_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.4.25", - "module": "stock_split", - "files": [] -} \ No newline at end of file diff --git a/data/7.4.25/company.json b/data/7.4/company.json similarity index 99% rename from data/7.4.25/company.json rename to data/7.4/company.json index b449c25..8568d1e 100644 --- a/data/7.4.25/company.json +++ b/data/7.4/company.json @@ -1,5 +1,5 @@ { - "version": "7.4.25", + "version": "7.4", "module": "company", "files": [ { diff --git a/data/7.0.55/country.json b/data/7.4/country.json similarity index 99% rename from data/7.0.55/country.json rename to data/7.4/country.json index 2870606..2d5967f 100644 --- a/data/7.0.55/country.json +++ b/data/7.4/country.json @@ -1,5 +1,5 @@ { - "version": "7.0.55", + "version": "7.4", "module": "country", "files": [ { diff --git a/data/7.4.25/currency.json b/data/7.4/currency.json similarity index 98% rename from data/7.4.25/currency.json rename to data/7.4/currency.json index b07fba2..aae5523 100644 --- a/data/7.4.25/currency.json +++ b/data/7.4/currency.json @@ -1,5 +1,5 @@ { - "version": "7.4.25", + "version": "7.4", "module": "currency", "files": [ { diff --git a/data/7.4/ir.json b/data/7.4/ir.json new file mode 100644 index 0000000..c2266ad --- /dev/null +++ b/data/7.4/ir.json @@ -0,0 +1,815 @@ +{ + "version": "7.4", + "module": "ir", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowView", + "method": "__register__", + "line": 957, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 963, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/action.py", + "class": "ActionActWindowDomain", + "method": "__register__", + "line": 1006, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 1012, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/cron.py", + "class": "Cron", + "method": "__register__", + "line": 119, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 130, + "args": [ + "'next_call'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('next_call', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/export.py", + "class": "Export", + "method": "__register__", + "line": 56, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 67, + "args": [ + "*table.update([table.user], [table.create_uid])" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.user], [table.create_uid]))", + "phase": "after_super", + "condition": "not user_exists" + }, + { + "object": "table", + "operation": "update", + "line": 67, + "args": [ + "[table.user]", + "[table.create_uid]" + ], + "kwargs": {}, + "code": "table.update([table.user], [table.create_uid])", + "phase": "after_super", + "condition": "not user_exists" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelField", + "method": "__register__", + "line": 297, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 309, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 310, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 311, + "args": [ + "*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 311, + "args": [ + "[table.model]", + "[model.model]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 315, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelAccess", + "method": "__register__", + "line": 534, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 546, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 547, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 548, + "args": [ + "*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 548, + "args": [ + "[table.model]", + "[model.model]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 552, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelFieldAccess", + "method": "__register__", + "line": 789, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 801, + "args": [ + "'field'", + "'_temp_field'" + ], + "kwargs": {}, + "code": "table_h.column_rename('field', '_temp_field')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 802, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 803, + "args": [ + "'field'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('field', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 804, + "args": [ + "*table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id))", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 804, + "args": [ + "[table.model, table.field]", + "[field.model, field.name]" + ], + "kwargs": { + "from_": "[field]", + "where": "table._temp_field == field.id" + }, + "code": "table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id)", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 809, + "args": [ + "'_temp_field'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_field')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelButton", + "method": "__register__", + "line": 988, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 1000, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 1001, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 1002, + "args": [ + "*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 1002, + "args": [ + "[table.model]", + "[model.model]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 1006, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_constraint", + "line": 1011, + "args": [ + "'name_model_uniq'" + ], + "kwargs": {}, + "code": "table_h.drop_constraint('name_model_uniq')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelData", + "method": "__register__", + "line": 1344, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 1350, + "args": [ + "'db_id'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('db_id', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/module.py", + "class": "ModuleConfigWizardItem", + "method": "__register__", + "line": 323, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 329, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/rule.py", + "class": "RuleGroup", + "method": "__register__", + "line": 84, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 96, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 97, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 98, + "args": [ + "*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 98, + "args": [ + "[table.model]", + "[model.model]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 102, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py", + "class": "SequenceType", + "method": "__register__", + "line": 41, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 47, + "args": [ + "'code'" + ], + "kwargs": { + "action": "'remove'" + }, + "code": "table_h.not_null_action('code', action='remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py", + "class": "Sequence", + "method": "__register__", + "line": 122, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 135, + "args": [ + "*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)))", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "table", + "operation": "update", + "line": 135, + "args": [ + "[table.sequence_type]", + "sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)" + ], + "kwargs": {}, + "code": "table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "sequence_type", + "operation": "select", + "line": 137, + "args": [ + "sequence_type.id" + ], + "kwargs": { + "where": "sequence_type.code == table.code" + }, + "code": "sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 140, + "args": [ + "'code'" + ], + "kwargs": {}, + "code": "table_h.drop_column('code')", + "phase": "after_super", + "condition": "table_h.column_exist('code')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/translation.py", + "class": "Translation", + "method": "__register__", + "line": 122, + "operations": [ + { + "object": "table", + "operation": "drop_constraint", + "line": 127, + "args": [ + "'translation_md5_uniq'" + ], + "kwargs": {}, + "code": "table.drop_constraint('translation_md5_uniq')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + }, + { + "object": "table", + "operation": "drop_column", + "line": 128, + "args": [ + "'src_md5'" + ], + "kwargs": {}, + "code": "table.drop_column('src_md5')", + "phase": "before_super", + "condition": "table.column_exist('src_md5')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py", + "class": "Trigger", + "method": "__register__", + "line": 79, + "operations": [ + { + "object": "model", + "operation": "select", + "line": 92, + "args": [ + "model.model" + ], + "kwargs": { + "where": "model.id == sql_table.action_model" + }, + "code": "model.select(model.model, where=model.id == sql_table.action_model)", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 94, + "args": [ + "*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])" + ], + "kwargs": {}, + "code": "cursor.execute(*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]))", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "sql_table", + "operation": "update", + "line": 94, + "args": [ + "[sql_table.action]", + "[Concat(action_model, Concat('|', sql_table.action_function))]" + ], + "kwargs": {}, + "code": "sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 98, + "args": [ + "'action_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_model')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 99, + "args": [ + "'action_function'" + ], + "kwargs": {}, + "code": "table_h.drop_column('action_function')", + "phase": "after_super", + "condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py", + "class": "Icon", + "method": "__register__", + "line": 35, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 41, + "args": [ + "'sequence'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('sequence', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewTreeOptional", + "method": "__register__", + "line": 570, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 579, + "args": [ + "'view_id'", + "'view'" + ], + "kwargs": {}, + "code": "table_h.column_rename('view_id', 'view')", + "phase": "before_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 584, + "args": [ + "*table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null))", + "phase": "after_super" + }, + { + "object": "table", + "operation": "update", + "line": 584, + "args": [ + "[table.model]", + "[view.select(view.model, where=view.id == table.view)]" + ], + "kwargs": { + "where": "table.model == Null" + }, + "code": "table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null)", + "phase": "after_super" + }, + { + "object": "view", + "operation": "select", + "line": 586, + "args": [ + "view.model" + ], + "kwargs": { + "where": "view.id == table.view" + }, + "code": "view.select(view.model, where=view.id == table.view)", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewSearch", + "method": "__register__", + "line": 757, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 762, + "args": [ + "'user'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('user', 'remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/7.4.25/party.json b/data/7.4/party.json similarity index 99% rename from data/7.4.25/party.json rename to data/7.4/party.json index 349793e..2c57282 100644 --- a/data/7.4.25/party.json +++ b/data/7.4/party.json @@ -1,5 +1,5 @@ { - "version": "7.4.25", + "version": "7.4", "module": "party", "files": [ { diff --git a/data/7.4.25/product.json b/data/7.4/product.json similarity index 97% rename from data/7.4.25/product.json rename to data/7.4/product.json index 7fe10e7..672f868 100644 --- a/data/7.4.25/product.json +++ b/data/7.4/product.json @@ -1,5 +1,5 @@ { - "version": "7.4.25", + "version": "7.4", "module": "product", "files": [ { diff --git a/data/7.4/product_measurements.json b/data/7.4/product_measurements.json new file mode 100644 index 0000000..0d391b9 --- /dev/null +++ b/data/7.4/product_measurements.json @@ -0,0 +1,5 @@ +{ + "version": "7.4", + "module": "product_measurements", + "files": [] +} \ No newline at end of file diff --git a/data/7.4.25/production.json b/data/7.4/production.json similarity index 99% rename from data/7.4.25/production.json rename to data/7.4/production.json index 010148c..e3cfc88 100644 --- a/data/7.4.25/production.json +++ b/data/7.4/production.json @@ -1,5 +1,5 @@ { - "version": "7.4.25", + "version": "7.4", "module": "production", "files": [ { diff --git a/data/7.4/production_split.json b/data/7.4/production_split.json new file mode 100644 index 0000000..f26ff27 --- /dev/null +++ b/data/7.4/production_split.json @@ -0,0 +1,5 @@ +{ + "version": "7.4", + "module": "production_split", + "files": [] +} \ No newline at end of file diff --git a/data/7.4/res.json b/data/7.4/res.json new file mode 100644 index 0000000..0718bc2 --- /dev/null +++ b/data/7.4/res.json @@ -0,0 +1,39 @@ +{ + "version": "7.4", + "module": "res", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/res/user.py", + "class": "User", + "method": "__register__", + "line": 206, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 214, + "args": [ + "*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))" + ], + "kwargs": {}, + "code": "cursor.execute(*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')))", + "phase": "after_super" + }, + { + "object": "model_data", + "operation": "update", + "line": 214, + "args": [ + "[model_data.noupdate]", + "[True]" + ], + "kwargs": { + "where": "(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')" + }, + "code": "model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/7.4.25/stock_lot.json b/data/7.4/stock_lot.json similarity index 98% rename from data/7.4.25/stock_lot.json rename to data/7.4/stock_lot.json index b0e6aaf..ad6206d 100644 --- a/data/7.4.25/stock_lot.json +++ b/data/7.4/stock_lot.json @@ -1,5 +1,5 @@ { - "version": "7.4.25", + "version": "7.4", "module": "stock_lot", "files": [ { diff --git a/data/7.4/stock_lot_sled.json b/data/7.4/stock_lot_sled.json new file mode 100644 index 0000000..339aec7 --- /dev/null +++ b/data/7.4/stock_lot_sled.json @@ -0,0 +1,5 @@ +{ + "version": "7.4", + "module": "stock_lot_sled", + "files": [] +} \ No newline at end of file diff --git a/data/7.4/stock_product_location.json b/data/7.4/stock_product_location.json new file mode 100644 index 0000000..e881d9e --- /dev/null +++ b/data/7.4/stock_product_location.json @@ -0,0 +1,26 @@ +{ + "version": "7.4", + "module": "stock_product_location", + "files": [ + { + "file": "/home/uha4/tmp/tryton/modules/stock_product_location/location.py", + "class": "ProductLocation", + "method": "__register__", + "line": 41, + "operations": [ + { + "object": "table", + "operation": "not_null_action", + "line": 47, + "args": [ + "'product'", + "'remove'" + ], + "kwargs": {}, + "code": "table.not_null_action('product', 'remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/7.4/stock_split.json b/data/7.4/stock_split.json new file mode 100644 index 0000000..6b8a84d --- /dev/null +++ b/data/7.4/stock_split.json @@ -0,0 +1,5 @@ +{ + "version": "7.4", + "module": "stock_split", + "files": [] +} \ No newline at end of file diff --git a/data/7.6.20/company.json b/data/7.6.20/company.json deleted file mode 100644 index 81d3307..0000000 --- a/data/7.6.20/company.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.6.20", - "module": "company", - "files": [] -} \ No newline at end of file diff --git a/data/7.6.20/product_measurements.json b/data/7.6.20/product_measurements.json deleted file mode 100644 index b899ebe..0000000 --- a/data/7.6.20/product_measurements.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.6.20", - "module": "product_measurements", - "files": [] -} \ No newline at end of file diff --git a/data/7.6.20/production_split.json b/data/7.6.20/production_split.json deleted file mode 100644 index 3cf3da7..0000000 --- a/data/7.6.20/production_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.6.20", - "module": "production_split", - "files": [] -} \ No newline at end of file diff --git a/data/7.6.20/stock_lot.json b/data/7.6.20/stock_lot.json deleted file mode 100644 index ee8d1e9..0000000 --- a/data/7.6.20/stock_lot.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.6.20", - "module": "stock_lot", - "files": [] -} \ No newline at end of file diff --git a/data/7.6.20/stock_lot_sled.json b/data/7.6.20/stock_lot_sled.json deleted file mode 100644 index 56baa9b..0000000 --- a/data/7.6.20/stock_lot_sled.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.6.20", - "module": "stock_lot_sled", - "files": [] -} \ No newline at end of file diff --git a/data/7.6.20/stock_product_location.json b/data/7.6.20/stock_product_location.json deleted file mode 100644 index dbac280..0000000 --- a/data/7.6.20/stock_product_location.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.6.20", - "module": "stock_product_location", - "files": [] -} \ No newline at end of file diff --git a/data/7.6.20/stock_split.json b/data/7.6.20/stock_split.json deleted file mode 100644 index dde57a0..0000000 --- a/data/7.6.20/stock_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.6.20", - "module": "stock_split", - "files": [] -} \ No newline at end of file diff --git a/data/7.6/company.json b/data/7.6/company.json new file mode 100644 index 0000000..7274aa3 --- /dev/null +++ b/data/7.6/company.json @@ -0,0 +1,5 @@ +{ + "version": "7.6", + "module": "company", + "files": [] +} \ No newline at end of file diff --git a/data/8.0.8/country.json b/data/7.6/country.json similarity index 97% rename from data/8.0.8/country.json rename to data/7.6/country.json index 2ce142d..198a195 100644 --- a/data/8.0.8/country.json +++ b/data/7.6/country.json @@ -1,5 +1,5 @@ { - "version": "8.0.8", + "version": "7.6", "module": "country", "files": [ { diff --git a/data/7.6.20/currency.json b/data/7.6/currency.json similarity index 97% rename from data/7.6.20/currency.json rename to data/7.6/currency.json index f63030b..7183b14 100644 --- a/data/7.6.20/currency.json +++ b/data/7.6/currency.json @@ -1,5 +1,5 @@ { - "version": "7.6.20", + "version": "7.6", "module": "currency", "files": [ { diff --git a/data/7.6/ir.json b/data/7.6/ir.json new file mode 100644 index 0000000..1cfa9e9 --- /dev/null +++ b/data/7.6/ir.json @@ -0,0 +1,567 @@ +{ + "version": "7.6", + "module": "ir", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/export.py", + "class": "Export", + "method": "__register__", + "line": 68, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 79, + "args": [ + "*table.update([table.user], [table.create_uid])" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.user], [table.create_uid]))", + "phase": "after_super", + "condition": "not user_exists" + }, + { + "object": "table", + "operation": "update", + "line": 79, + "args": [ + "[table.user]", + "[table.create_uid]" + ], + "kwargs": {}, + "code": "table.update([table.user], [table.create_uid])", + "phase": "after_super", + "condition": "not user_exists" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "Model", + "method": "__register__", + "line": 83, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 89, + "args": [ + "'name'", + "'string'" + ], + "kwargs": {}, + "code": "table_h.column_rename('name', 'string')", + "phase": "before_super", + "condition": "table_h.column_exist('model')" + }, + { + "object": "table_h", + "operation": "column_rename", + "line": 90, + "args": [ + "'model'", + "'name'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', 'name')", + "phase": "before_super", + "condition": "table_h.column_exist('model')" + }, + { + "object": "table_h", + "operation": "drop_constraint", + "line": 91, + "args": [ + "'model_uniq'" + ], + "kwargs": {}, + "code": "table_h.drop_constraint('model_uniq')", + "phase": "before_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelField", + "method": "__register__", + "line": 320, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 332, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 333, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 334, + "args": [ + "*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 334, + "args": [ + "[table.model]", + "[model.name]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 338, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "column_rename", + "line": 341, + "args": [ + "'field_description'", + "'string'" + ], + "kwargs": {}, + "code": "table_h.column_rename('field_description', 'string')", + "phase": "before_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelAccess", + "method": "__register__", + "line": 551, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 563, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 564, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 565, + "args": [ + "*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 565, + "args": [ + "[table.model]", + "[model.name]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 569, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelFieldAccess", + "method": "__register__", + "line": 789, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 801, + "args": [ + "'field'", + "'_temp_field'" + ], + "kwargs": {}, + "code": "table_h.column_rename('field', '_temp_field')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 802, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 803, + "args": [ + "'field'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('field', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 804, + "args": [ + "*table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id))", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 804, + "args": [ + "[table.model, table.field]", + "[field.model, field.name]" + ], + "kwargs": { + "from_": "[field]", + "where": "table._temp_field == field.id" + }, + "code": "table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id)", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 809, + "args": [ + "'_temp_field'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_field')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelButton", + "method": "__register__", + "line": 977, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 989, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 990, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 991, + "args": [ + "*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 991, + "args": [ + "[table.model]", + "[model.name]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 995, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_constraint", + "line": 1000, + "args": [ + "'name_model_uniq'" + ], + "kwargs": {}, + "code": "table_h.drop_constraint('name_model_uniq')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelData", + "method": "__register__", + "line": 1334, + "operations": [ + { + "object": "table_h", + "operation": "drop_constraint", + "line": 1340, + "args": [ + "'fs_id_module_model_uniq'" + ], + "kwargs": {}, + "code": "table_h.drop_constraint('fs_id_module_model_uniq')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/rule.py", + "class": "RuleGroup", + "method": "__register__", + "line": 100, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 112, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 113, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 114, + "args": [ + "*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 114, + "args": [ + "[table.model]", + "[model.name]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 118, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewTreeOptional", + "method": "__register__", + "line": 628, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 637, + "args": [ + "'view_id'", + "'view'" + ], + "kwargs": {}, + "code": "table_h.column_rename('view_id', 'view')", + "phase": "before_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 642, + "args": [ + "*table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null))", + "phase": "after_super" + }, + { + "object": "table", + "operation": "update", + "line": 642, + "args": [ + "[table.model]", + "[view.select(view.model, where=view.id == table.view)]" + ], + "kwargs": { + "where": "table.model == Null" + }, + "code": "table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null)", + "phase": "after_super" + }, + { + "object": "view", + "operation": "select", + "line": 644, + "args": [ + "view.model" + ], + "kwargs": { + "where": "view.id == table.view" + }, + "code": "view.select(view.model, where=view.id == table.view)", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/7.6.20/party.json b/data/7.6/party.json similarity index 99% rename from data/7.6.20/party.json rename to data/7.6/party.json index 26bfdfe..ed0d893 100644 --- a/data/7.6.20/party.json +++ b/data/7.6/party.json @@ -1,5 +1,5 @@ { - "version": "7.6.20", + "version": "7.6", "module": "party", "files": [ { diff --git a/data/8.0.8/product.json b/data/7.6/product.json similarity index 64% rename from data/8.0.8/product.json rename to data/7.6/product.json index d57ab1d..fa3537d 100644 --- a/data/8.0.8/product.json +++ b/data/7.6/product.json @@ -1,5 +1,5 @@ { - "version": "8.0.8", + "version": "7.6", "module": "product", "files": [] } \ No newline at end of file diff --git a/data/7.6/product_measurements.json b/data/7.6/product_measurements.json new file mode 100644 index 0000000..c1fa80a --- /dev/null +++ b/data/7.6/product_measurements.json @@ -0,0 +1,5 @@ +{ + "version": "7.6", + "module": "product_measurements", + "files": [] +} \ No newline at end of file diff --git a/data/7.6.20/production.json b/data/7.6/production.json similarity index 99% rename from data/7.6.20/production.json rename to data/7.6/production.json index 51dc920..56aa06a 100644 --- a/data/7.6.20/production.json +++ b/data/7.6/production.json @@ -1,5 +1,5 @@ { - "version": "7.6.20", + "version": "7.6", "module": "production", "files": [ { diff --git a/data/7.6/production_split.json b/data/7.6/production_split.json new file mode 100644 index 0000000..dac13a4 --- /dev/null +++ b/data/7.6/production_split.json @@ -0,0 +1,5 @@ +{ + "version": "7.6", + "module": "production_split", + "files": [] +} \ No newline at end of file diff --git a/data/7.6/res.json b/data/7.6/res.json new file mode 100644 index 0000000..0fa401f --- /dev/null +++ b/data/7.6/res.json @@ -0,0 +1,26 @@ +{ + "version": "7.6", + "module": "res", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/res/user.py", + "class": "User", + "method": "__register__", + "line": 195, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 200, + "args": [ + "'menu'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('menu', 'remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/5.2.20/stock_lot.json b/data/7.6/stock_lot.json similarity index 64% rename from data/5.2.20/stock_lot.json rename to data/7.6/stock_lot.json index e0b93aa..aa2fb49 100644 --- a/data/5.2.20/stock_lot.json +++ b/data/7.6/stock_lot.json @@ -1,5 +1,5 @@ { - "version": "5.2.20", + "version": "7.6", "module": "stock_lot", "files": [] } \ No newline at end of file diff --git a/data/7.6/stock_lot_sled.json b/data/7.6/stock_lot_sled.json new file mode 100644 index 0000000..c62e12a --- /dev/null +++ b/data/7.6/stock_lot_sled.json @@ -0,0 +1,5 @@ +{ + "version": "7.6", + "module": "stock_lot_sled", + "files": [] +} \ No newline at end of file diff --git a/data/7.6/stock_product_location.json b/data/7.6/stock_product_location.json new file mode 100644 index 0000000..571d96e --- /dev/null +++ b/data/7.6/stock_product_location.json @@ -0,0 +1,5 @@ +{ + "version": "7.6", + "module": "stock_product_location", + "files": [] +} \ No newline at end of file diff --git a/data/7.6/stock_split.json b/data/7.6/stock_split.json new file mode 100644 index 0000000..bea5494 --- /dev/null +++ b/data/7.6/stock_split.json @@ -0,0 +1,5 @@ +{ + "version": "7.6", + "module": "stock_split", + "files": [] +} \ No newline at end of file diff --git a/data/7.8.14/company.json b/data/7.8.14/company.json deleted file mode 100644 index 48d039c..0000000 --- a/data/7.8.14/company.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.8.14", - "module": "company", - "files": [] -} \ No newline at end of file diff --git a/data/7.8.14/product_measurements.json b/data/7.8.14/product_measurements.json deleted file mode 100644 index 0233582..0000000 --- a/data/7.8.14/product_measurements.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.8.14", - "module": "product_measurements", - "files": [] -} \ No newline at end of file diff --git a/data/7.8.14/production_split.json b/data/7.8.14/production_split.json deleted file mode 100644 index 0b9cae8..0000000 --- a/data/7.8.14/production_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.8.14", - "module": "production_split", - "files": [] -} \ No newline at end of file diff --git a/data/7.8.14/stock_lot_sled.json b/data/7.8.14/stock_lot_sled.json deleted file mode 100644 index 30da767..0000000 --- a/data/7.8.14/stock_lot_sled.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.8.14", - "module": "stock_lot_sled", - "files": [] -} \ No newline at end of file diff --git a/data/7.8.14/stock_product_location.json b/data/7.8.14/stock_product_location.json deleted file mode 100644 index fbeeb2d..0000000 --- a/data/7.8.14/stock_product_location.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.8.14", - "module": "stock_product_location", - "files": [] -} \ No newline at end of file diff --git a/data/7.8.14/stock_split.json b/data/7.8.14/stock_split.json deleted file mode 100644 index 92c5468..0000000 --- a/data/7.8.14/stock_split.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "7.8.14", - "module": "stock_split", - "files": [] -} \ No newline at end of file diff --git a/data/7.8/company.json b/data/7.8/company.json new file mode 100644 index 0000000..e91fe3e --- /dev/null +++ b/data/7.8/company.json @@ -0,0 +1,5 @@ +{ + "version": "7.8", + "module": "company", + "files": [] +} \ No newline at end of file diff --git a/data/7.6.20/country.json b/data/7.8/country.json similarity index 97% rename from data/7.6.20/country.json rename to data/7.8/country.json index 1119fa9..d8d222e 100644 --- a/data/7.6.20/country.json +++ b/data/7.8/country.json @@ -1,5 +1,5 @@ { - "version": "7.6.20", + "version": "7.8", "module": "country", "files": [ { diff --git a/data/8.0.8/currency.json b/data/7.8/currency.json similarity index 97% rename from data/8.0.8/currency.json rename to data/7.8/currency.json index 0010a63..9f58c27 100644 --- a/data/8.0.8/currency.json +++ b/data/7.8/currency.json @@ -1,5 +1,5 @@ { - "version": "8.0.8", + "version": "7.8", "module": "currency", "files": [ { diff --git a/data/7.8/ir.json b/data/7.8/ir.json new file mode 100644 index 0000000..4e1ecd5 --- /dev/null +++ b/data/7.8/ir.json @@ -0,0 +1,567 @@ +{ + "version": "7.8", + "module": "ir", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/export.py", + "class": "Export", + "method": "__register__", + "line": 68, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 79, + "args": [ + "*table.update([table.user], [table.create_uid])" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.user], [table.create_uid]))", + "phase": "after_super", + "condition": "not user_exists" + }, + { + "object": "table", + "operation": "update", + "line": 79, + "args": [ + "[table.user]", + "[table.create_uid]" + ], + "kwargs": {}, + "code": "table.update([table.user], [table.create_uid])", + "phase": "after_super", + "condition": "not user_exists" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "Model", + "method": "__register__", + "line": 84, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 90, + "args": [ + "'name'", + "'string'" + ], + "kwargs": {}, + "code": "table_h.column_rename('name', 'string')", + "phase": "before_super", + "condition": "table_h.column_exist('model')" + }, + { + "object": "table_h", + "operation": "column_rename", + "line": 91, + "args": [ + "'model'", + "'name'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', 'name')", + "phase": "before_super", + "condition": "table_h.column_exist('model')" + }, + { + "object": "table_h", + "operation": "drop_constraint", + "line": 92, + "args": [ + "'model_uniq'" + ], + "kwargs": {}, + "code": "table_h.drop_constraint('model_uniq')", + "phase": "before_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelField", + "method": "__register__", + "line": 330, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 342, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 343, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 344, + "args": [ + "*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 344, + "args": [ + "[table.model]", + "[model.name]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 348, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "column_rename", + "line": 351, + "args": [ + "'field_description'", + "'string'" + ], + "kwargs": {}, + "code": "table_h.column_rename('field_description', 'string')", + "phase": "before_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelAccess", + "method": "__register__", + "line": 561, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 573, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 574, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 575, + "args": [ + "*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 575, + "args": [ + "[table.model]", + "[model.name]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 579, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelFieldAccess", + "method": "__register__", + "line": 794, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 806, + "args": [ + "'field'", + "'_temp_field'" + ], + "kwargs": {}, + "code": "table_h.column_rename('field', '_temp_field')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 807, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 808, + "args": [ + "'field'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('field', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 809, + "args": [ + "*table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id))", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 809, + "args": [ + "[table.model, table.field]", + "[field.model, field.name]" + ], + "kwargs": { + "from_": "[field]", + "where": "table._temp_field == field.id" + }, + "code": "table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id)", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 814, + "args": [ + "'_temp_field'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_field')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelButton", + "method": "__register__", + "line": 971, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 983, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 984, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 985, + "args": [ + "*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 985, + "args": [ + "[table.model]", + "[model.name]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 989, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_constraint", + "line": 994, + "args": [ + "'name_model_uniq'" + ], + "kwargs": {}, + "code": "table_h.drop_constraint('name_model_uniq')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelData", + "method": "__register__", + "line": 1328, + "operations": [ + { + "object": "table_h", + "operation": "drop_constraint", + "line": 1334, + "args": [ + "'fs_id_module_model_uniq'" + ], + "kwargs": {}, + "code": "table_h.drop_constraint('fs_id_module_model_uniq')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/rule.py", + "class": "RuleGroup", + "method": "__register__", + "line": 101, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 113, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 114, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 115, + "args": [ + "*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 115, + "args": [ + "[table.model]", + "[model.name]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 119, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewTreeOptional", + "method": "__register__", + "line": 629, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 638, + "args": [ + "'view_id'", + "'view'" + ], + "kwargs": {}, + "code": "table_h.column_rename('view_id', 'view')", + "phase": "before_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 643, + "args": [ + "*table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null))", + "phase": "after_super" + }, + { + "object": "table", + "operation": "update", + "line": 643, + "args": [ + "[table.model]", + "[view.select(view.model, where=view.id == table.view)]" + ], + "kwargs": { + "where": "table.model == Null" + }, + "code": "table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null)", + "phase": "after_super" + }, + { + "object": "view", + "operation": "select", + "line": 645, + "args": [ + "view.model" + ], + "kwargs": { + "where": "view.id == table.view" + }, + "code": "view.select(view.model, where=view.id == table.view)", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/7.8.14/party.json b/data/7.8/party.json similarity index 99% rename from data/7.8.14/party.json rename to data/7.8/party.json index 2de6588..9cbf851 100644 --- a/data/7.8.14/party.json +++ b/data/7.8/party.json @@ -1,5 +1,5 @@ { - "version": "7.8.14", + "version": "7.8", "module": "party", "files": [ { diff --git a/data/7.6.20/product.json b/data/7.8/product.json similarity index 63% rename from data/7.6.20/product.json rename to data/7.8/product.json index 000628e..c567bbc 100644 --- a/data/7.6.20/product.json +++ b/data/7.8/product.json @@ -1,5 +1,5 @@ { - "version": "7.6.20", + "version": "7.8", "module": "product", "files": [] } \ No newline at end of file diff --git a/data/7.8/product_measurements.json b/data/7.8/product_measurements.json new file mode 100644 index 0000000..1abb8d7 --- /dev/null +++ b/data/7.8/product_measurements.json @@ -0,0 +1,5 @@ +{ + "version": "7.8", + "module": "product_measurements", + "files": [] +} \ No newline at end of file diff --git a/data/7.8.14/production.json b/data/7.8/production.json similarity index 99% rename from data/7.8.14/production.json rename to data/7.8/production.json index afcdede..2498730 100644 --- a/data/7.8.14/production.json +++ b/data/7.8/production.json @@ -1,5 +1,5 @@ { - "version": "7.8.14", + "version": "7.8", "module": "production", "files": [ { diff --git a/data/7.8/production_split.json b/data/7.8/production_split.json new file mode 100644 index 0000000..a8dc888 --- /dev/null +++ b/data/7.8/production_split.json @@ -0,0 +1,5 @@ +{ + "version": "7.8", + "module": "production_split", + "files": [] +} \ No newline at end of file diff --git a/data/7.8/res.json b/data/7.8/res.json new file mode 100644 index 0000000..044fd39 --- /dev/null +++ b/data/7.8/res.json @@ -0,0 +1,26 @@ +{ + "version": "7.8", + "module": "res", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/res/user.py", + "class": "User", + "method": "__register__", + "line": 199, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 204, + "args": [ + "'menu'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('menu', 'remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/7.8.14/stock_lot.json b/data/7.8/stock_lot.json similarity index 64% rename from data/7.8.14/stock_lot.json rename to data/7.8/stock_lot.json index 29c47d0..9d96015 100644 --- a/data/7.8.14/stock_lot.json +++ b/data/7.8/stock_lot.json @@ -1,5 +1,5 @@ { - "version": "7.8.14", + "version": "7.8", "module": "stock_lot", "files": [] } \ No newline at end of file diff --git a/data/7.8/stock_lot_sled.json b/data/7.8/stock_lot_sled.json new file mode 100644 index 0000000..4072230 --- /dev/null +++ b/data/7.8/stock_lot_sled.json @@ -0,0 +1,5 @@ +{ + "version": "7.8", + "module": "stock_lot_sled", + "files": [] +} \ No newline at end of file diff --git a/data/7.8/stock_product_location.json b/data/7.8/stock_product_location.json new file mode 100644 index 0000000..f42bd48 --- /dev/null +++ b/data/7.8/stock_product_location.json @@ -0,0 +1,5 @@ +{ + "version": "7.8", + "module": "stock_product_location", + "files": [] +} \ No newline at end of file diff --git a/data/7.8/stock_split.json b/data/7.8/stock_split.json new file mode 100644 index 0000000..ab2ad2a --- /dev/null +++ b/data/7.8/stock_split.json @@ -0,0 +1,5 @@ +{ + "version": "7.8", + "module": "stock_split", + "files": [] +} \ No newline at end of file diff --git a/data/8.0/company.json b/data/8.0/company.json new file mode 100644 index 0000000..1048cb3 --- /dev/null +++ b/data/8.0/company.json @@ -0,0 +1,5 @@ +{ + "version": "8.0", + "module": "company", + "files": [] +} \ No newline at end of file diff --git a/data/7.8.14/country.json b/data/8.0/country.json similarity index 97% rename from data/7.8.14/country.json rename to data/8.0/country.json index e094769..86dce1f 100644 --- a/data/7.8.14/country.json +++ b/data/8.0/country.json @@ -1,5 +1,5 @@ { - "version": "7.8.14", + "version": "8.0", "module": "country", "files": [ { diff --git a/data/7.8.14/currency.json b/data/8.0/currency.json similarity index 97% rename from data/7.8.14/currency.json rename to data/8.0/currency.json index ab179f7..4a52cab 100644 --- a/data/7.8.14/currency.json +++ b/data/8.0/currency.json @@ -1,5 +1,5 @@ { - "version": "7.8.14", + "version": "8.0", "module": "currency", "files": [ { diff --git a/data/8.0/ir.json b/data/8.0/ir.json new file mode 100644 index 0000000..7aca985 --- /dev/null +++ b/data/8.0/ir.json @@ -0,0 +1,587 @@ +{ + "version": "8.0", + "module": "ir", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/export.py", + "class": "Export", + "method": "__register__", + "line": 68, + "operations": [ + { + "object": "cursor", + "operation": "execute", + "line": 79, + "args": [ + "*table.update([table.user], [table.create_uid])" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.user], [table.create_uid]))", + "phase": "after_super", + "condition": "not user_exists" + }, + { + "object": "table", + "operation": "update", + "line": 79, + "args": [ + "[table.user]", + "[table.create_uid]" + ], + "kwargs": {}, + "code": "table.update([table.user], [table.create_uid])", + "phase": "after_super", + "condition": "not user_exists" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "Model", + "method": "__register__", + "line": 82, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 88, + "args": [ + "'name'", + "'string'" + ], + "kwargs": {}, + "code": "table_h.column_rename('name', 'string')", + "phase": "before_super", + "condition": "table_h.column_exist('model')" + }, + { + "object": "table_h", + "operation": "column_rename", + "line": 89, + "args": [ + "'model'", + "'name'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', 'name')", + "phase": "before_super", + "condition": "table_h.column_exist('model')" + }, + { + "object": "table_h", + "operation": "drop_constraint", + "line": 90, + "args": [ + "'model_uniq'" + ], + "kwargs": {}, + "code": "table_h.drop_constraint('model_uniq')", + "phase": "before_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelField", + "method": "__register__", + "line": 325, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 337, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 338, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 339, + "args": [ + "*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 339, + "args": [ + "[table.model]", + "[model.name]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 343, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "column_rename", + "line": 346, + "args": [ + "'field_description'", + "'string'" + ], + "kwargs": {}, + "code": "table_h.column_rename('field_description', 'string')", + "phase": "before_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelAccess", + "method": "__register__", + "line": 539, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 551, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 552, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 553, + "args": [ + "*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 553, + "args": [ + "[table.model]", + "[model.name]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 557, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelFieldAccess", + "method": "__register__", + "line": 772, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 784, + "args": [ + "'field'", + "'_temp_field'" + ], + "kwargs": {}, + "code": "table_h.column_rename('field', '_temp_field')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 785, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 786, + "args": [ + "'field'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('field', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 787, + "args": [ + "*table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id))", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 787, + "args": [ + "[table.model, table.field]", + "[field.model, field.name]" + ], + "kwargs": { + "from_": "[field]", + "where": "table._temp_field == field.id" + }, + "code": "table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id)", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 792, + "args": [ + "'_temp_field'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_field')", + "phase": "before_super", + "condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelButton", + "method": "__register__", + "line": 949, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 961, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 962, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 963, + "args": [ + "*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 963, + "args": [ + "[table.model]", + "[model.name]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 967, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_constraint", + "line": 972, + "args": [ + "'name_model_uniq'" + ], + "kwargs": {}, + "code": "table_h.drop_constraint('name_model_uniq')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/model.py", + "class": "ModelData", + "method": "__register__", + "line": 1301, + "operations": [ + { + "object": "table_h", + "operation": "drop_constraint", + "line": 1307, + "args": [ + "'fs_id_module_model_uniq'" + ], + "kwargs": {}, + "code": "table_h.drop_constraint('fs_id_module_model_uniq')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/rule.py", + "class": "RuleGroup", + "method": "__register__", + "line": 100, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 112, + "args": [ + "'model'", + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.column_rename('model', '_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "add_column", + "line": 113, + "args": [ + "'model'", + "'VARCHAR'" + ], + "kwargs": {}, + "code": "table_h.add_column('model', 'VARCHAR')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "cursor", + "operation": "execute", + "line": 114, + "args": [ + "*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id))", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table", + "operation": "update", + "line": 114, + "args": [ + "[table.model]", + "[model.name]" + ], + "kwargs": { + "from_": "[model]", + "where": "table._temp_model == model.id" + }, + "code": "table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + }, + { + "object": "table_h", + "operation": "drop_column", + "line": 118, + "args": [ + "'_temp_model'" + ], + "kwargs": {}, + "code": "table_h.drop_column('_temp_model')", + "phase": "before_super", + "condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewTreeWidth", + "method": "__register__", + "line": 511, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 517, + "args": [ + "'width'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('width', 'remove')", + "phase": "after_super" + } + ] + }, + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py", + "class": "ViewTreeOptional", + "method": "__register__", + "line": 690, + "operations": [ + { + "object": "table_h", + "operation": "column_rename", + "line": 699, + "args": [ + "'view_id'", + "'view'" + ], + "kwargs": {}, + "code": "table_h.column_rename('view_id', 'view')", + "phase": "before_super" + }, + { + "object": "cursor", + "operation": "execute", + "line": 704, + "args": [ + "*table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null)" + ], + "kwargs": {}, + "code": "cursor.execute(*table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null))", + "phase": "after_super" + }, + { + "object": "table", + "operation": "update", + "line": 704, + "args": [ + "[table.model]", + "[view.select(view.model, where=view.id == table.view)]" + ], + "kwargs": { + "where": "table.model == Null" + }, + "code": "table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null)", + "phase": "after_super" + }, + { + "object": "view", + "operation": "select", + "line": 706, + "args": [ + "view.model" + ], + "kwargs": { + "where": "view.id == table.view" + }, + "code": "view.select(view.model, where=view.id == table.view)", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/8.0.8/party.json b/data/8.0/party.json similarity index 99% rename from data/8.0.8/party.json rename to data/8.0/party.json index 94ca27b..e749115 100644 --- a/data/8.0.8/party.json +++ b/data/8.0/party.json @@ -1,5 +1,5 @@ { - "version": "8.0.8", + "version": "8.0", "module": "party", "files": [ { diff --git a/data/7.8.14/product.json b/data/8.0/product.json similarity index 63% rename from data/7.8.14/product.json rename to data/8.0/product.json index 3de4d25..8415369 100644 --- a/data/7.8.14/product.json +++ b/data/8.0/product.json @@ -1,5 +1,5 @@ { - "version": "7.8.14", + "version": "8.0", "module": "product", "files": [] } \ No newline at end of file diff --git a/data/8.0/product_measurements.json b/data/8.0/product_measurements.json new file mode 100644 index 0000000..59d368e --- /dev/null +++ b/data/8.0/product_measurements.json @@ -0,0 +1,5 @@ +{ + "version": "8.0", + "module": "product_measurements", + "files": [] +} \ No newline at end of file diff --git a/data/8.0.8/production.json b/data/8.0/production.json similarity index 99% rename from data/8.0.8/production.json rename to data/8.0/production.json index e0a4ec5..7fb6c1e 100644 --- a/data/8.0.8/production.json +++ b/data/8.0/production.json @@ -1,5 +1,5 @@ { - "version": "8.0.8", + "version": "8.0", "module": "production", "files": [ { diff --git a/data/8.0/production_split.json b/data/8.0/production_split.json new file mode 100644 index 0000000..e8c4dbb --- /dev/null +++ b/data/8.0/production_split.json @@ -0,0 +1,5 @@ +{ + "version": "8.0", + "module": "production_split", + "files": [] +} \ No newline at end of file diff --git a/data/8.0/res.json b/data/8.0/res.json new file mode 100644 index 0000000..37a0ea4 --- /dev/null +++ b/data/8.0/res.json @@ -0,0 +1,26 @@ +{ + "version": "8.0", + "module": "res", + "files": [ + { + "file": "/home/uha4/tmp/tryton/trytond/trytond/res/user.py", + "class": "User", + "method": "__register__", + "line": 198, + "operations": [ + { + "object": "table_h", + "operation": "not_null_action", + "line": 203, + "args": [ + "'menu'", + "'remove'" + ], + "kwargs": {}, + "code": "table_h.not_null_action('menu', 'remove')", + "phase": "after_super" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/8.0/stock_lot.json b/data/8.0/stock_lot.json new file mode 100644 index 0000000..813b115 --- /dev/null +++ b/data/8.0/stock_lot.json @@ -0,0 +1,5 @@ +{ + "version": "8.0", + "module": "stock_lot", + "files": [] +} \ No newline at end of file diff --git a/data/8.0/stock_lot_sled.json b/data/8.0/stock_lot_sled.json new file mode 100644 index 0000000..4dc1434 --- /dev/null +++ b/data/8.0/stock_lot_sled.json @@ -0,0 +1,5 @@ +{ + "version": "8.0", + "module": "stock_lot_sled", + "files": [] +} \ No newline at end of file diff --git a/data/8.0/stock_product_location.json b/data/8.0/stock_product_location.json new file mode 100644 index 0000000..12e9d54 --- /dev/null +++ b/data/8.0/stock_product_location.json @@ -0,0 +1,5 @@ +{ + "version": "8.0", + "module": "stock_product_location", + "files": [] +} \ No newline at end of file diff --git a/data/8.0/stock_split.json b/data/8.0/stock_split.json new file mode 100644 index 0000000..8cbf65e --- /dev/null +++ b/data/8.0/stock_split.json @@ -0,0 +1,5 @@ +{ + "version": "8.0", + "module": "stock_split", + "files": [] +} \ No newline at end of file diff --git a/extract.py b/extract.py index 8b430f2..f96043f 100644 --- a/extract.py +++ b/extract.py @@ -8,6 +8,8 @@ from pathlib import Path DEFAULT_REPO = "/home/uha4/tmp/tryton" DEFAULT_MODULES = [ + "ir", + "res", "company", "country", "currency", @@ -194,7 +196,7 @@ def detect_version(repo: Path) -> str: with changelog.open("r", encoding="utf-8") as f: for line in f: if line.startswith("Version "): - return line.split()[1] + return line.split()[1].rsplit('.', 1)[0] return "unknown" @@ -202,7 +204,7 @@ def find_module(repo: Path, module: str) -> Path | None: candidates = [ repo / "modules" / module, - repo / "trytond" / "modules" / module, + repo / "trytond" / "trytond" / module, ] for c in candidates: @@ -248,9 +250,9 @@ def main(): for module in modules: - module_path = repo / "modules" / module + module_path = find_module(repo, module) - if not module_path.exists(): + if not module_path: print(f"Module not found: {module}") continue diff --git a/reports/country.md b/reports/country.md index f2407d3..5f85a76 100644 --- a/reports/country.md +++ b/reports/country.md @@ -234,6 +234,72 @@ file: /home/uha4/tmp/tryton/modules/country/country.py : 178 - where: `(data.module == 'country') & (data.model == cls.__name__)` +## Klasse PostalCode + +### 6.0 + +file: /home/uha4/tmp/tryton/modules/country/country.py : 287 +- **before_super** `column_rename` + - object: `table_h` + - args: `'zip', 'postal_code'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/modules/country/country.py : 287 +- **before_super** `column_rename` + - object: `table_h` + - args: `'zip', 'postal_code'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/modules/country/country.py : 328 +- **before_super** `column_rename` + - object: `table_h` + - args: `'zip', 'postal_code'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/modules/country/country.py : 516 +- **before_super** `column_rename` + - object: `table_h` + - args: `'zip', 'postal_code'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/modules/country/country.py : 516 +- **before_super** `column_rename` + - object: `table_h` + - args: `'zip', 'postal_code'` + + +### 7.0 + +file: /home/uha4/tmp/tryton/modules/country/country.py : 507 +- **before_super** `column_rename` + - object: `table_h` + - args: `'zip', 'postal_code'` + + +### 7.2 + +file: /home/uha4/tmp/tryton/modules/country/country.py : 507 +- **before_super** `column_rename` + - object: `table_h` + - args: `'zip', 'postal_code'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/modules/country/country.py : 507 +- **before_super** `column_rename` + - object: `table_h` + - args: `'zip', 'postal_code'` + + ## Klasse Subdivision ### 5.4 @@ -468,69 +534,3 @@ file: /home/uha4/tmp/tryton/modules/country/country.py : 401 - action: `'remove'` -## Klasse PostalCode - -### 6.0 - -file: /home/uha4/tmp/tryton/modules/country/country.py : 287 -- **before_super** `column_rename` - - object: `table_h` - - args: `'zip', 'postal_code'` - - -### 6.2 - -file: /home/uha4/tmp/tryton/modules/country/country.py : 287 -- **before_super** `column_rename` - - object: `table_h` - - args: `'zip', 'postal_code'` - - -### 6.4 - -file: /home/uha4/tmp/tryton/modules/country/country.py : 328 -- **before_super** `column_rename` - - object: `table_h` - - args: `'zip', 'postal_code'` - - -### 6.6 - -file: /home/uha4/tmp/tryton/modules/country/country.py : 516 -- **before_super** `column_rename` - - object: `table_h` - - args: `'zip', 'postal_code'` - - -### 6.8 - -file: /home/uha4/tmp/tryton/modules/country/country.py : 516 -- **before_super** `column_rename` - - object: `table_h` - - args: `'zip', 'postal_code'` - - -### 7.0 - -file: /home/uha4/tmp/tryton/modules/country/country.py : 507 -- **before_super** `column_rename` - - object: `table_h` - - args: `'zip', 'postal_code'` - - -### 7.2 - -file: /home/uha4/tmp/tryton/modules/country/country.py : 507 -- **before_super** `column_rename` - - object: `table_h` - - args: `'zip', 'postal_code'` - - -### 7.4 - -file: /home/uha4/tmp/tryton/modules/country/country.py : 507 -- **before_super** `column_rename` - - object: `table_h` - - args: `'zip', 'postal_code'` - - diff --git a/reports/ir.md b/reports/ir.md new file mode 100644 index 0000000..08c2f0f --- /dev/null +++ b/reports/ir.md @@ -0,0 +1,4258 @@ +# ir + +## Klasse ActionActWindow + +### 5.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 694 +- **after_super** `drop_column` + - object: `table` + - args: `'auto_refresh'` +- **after_super** `drop_column` + - object: `table` + - args: `'window_name'` +- **after_super** `not_null_action` + - object: `table` + - args: `'limit', 'remove'` +- **after_super** `execute` + - object: `cursor` + - args: `*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)` +- **after_super** `update` + - object: `act_window` + - args: `[act_window.limit], [Null]` + - kwargs: + - where: `act_window.limit == 0` + + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 729 +- **after_super** `drop_column` + - object: `table` + - args: `'auto_refresh'` +- **after_super** `drop_column` + - object: `table` + - args: `'window_name'` +- **after_super** `not_null_action` + - object: `table` + - args: `'limit', 'remove'` +- **after_super** `execute` + - object: `cursor` + - args: `*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)` +- **after_super** `update` + - object: `act_window` + - args: `[act_window.limit], [Null]` + - kwargs: + - where: `act_window.limit == 0` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 729 +- **after_super** `drop_column` + - object: `table` + - args: `'auto_refresh'` +- **after_super** `drop_column` + - object: `table` + - args: `'window_name'` +- **after_super** `not_null_action` + - object: `table` + - args: `'limit', 'remove'` +- **after_super** `execute` + - object: `cursor` + - args: `*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)` +- **after_super** `update` + - object: `act_window` + - args: `[act_window.limit], [Null]` + - kwargs: + - where: `act_window.limit == 0` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 745 +- **after_super** `drop_column` + - object: `table` + - args: `'auto_refresh'` +- **after_super** `drop_column` + - object: `table` + - args: `'window_name'` +- **after_super** `not_null_action` + - object: `table` + - args: `'limit', 'remove'` +- **after_super** `execute` + - object: `cursor` + - args: `*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)` +- **after_super** `update` + - object: `act_window` + - args: `[act_window.limit], [Null]` + - kwargs: + - where: `act_window.limit == 0` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 705 +- **after_super** `drop_column` + - object: `table` + - args: `'auto_refresh'` +- **after_super** `drop_column` + - object: `table` + - args: `'window_name'` +- **after_super** `not_null_action` + - object: `table` + - args: `'limit', 'remove'` +- **after_super** `execute` + - object: `cursor` + - args: `*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)` +- **after_super** `update` + - object: `act_window` + - args: `[act_window.limit], [Null]` + - kwargs: + - where: `act_window.limit == 0` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 732 +- **after_super** `drop_column` + - object: `table` + - args: `'auto_refresh'` +- **after_super** `drop_column` + - object: `table` + - args: `'window_name'` +- **after_super** `not_null_action` + - object: `table` + - args: `'limit', 'remove'` +- **after_super** `execute` + - object: `cursor` + - args: `*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)` +- **after_super** `update` + - object: `act_window` + - args: `[act_window.limit], [Null]` + - kwargs: + - where: `act_window.limit == 0` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 759 +- **after_super** `drop_column` + - object: `table` + - args: `'auto_refresh'` +- **after_super** `drop_column` + - object: `table` + - args: `'window_name'` +- **after_super** `not_null_action` + - object: `table` + - args: `'limit', 'remove'` +- **after_super** `execute` + - object: `cursor` + - args: `*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)` +- **after_super** `update` + - object: `act_window` + - args: `[act_window.limit], [Null]` + - kwargs: + - where: `act_window.limit == 0` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 765 +- **after_super** `drop_column` + - object: `table` + - args: `'auto_refresh'` +- **after_super** `drop_column` + - object: `table` + - args: `'window_name'` +- **after_super** `not_null_action` + - object: `table` + - args: `'limit', 'remove'` +- **after_super** `execute` + - object: `cursor` + - args: `*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)` +- **after_super** `update` + - object: `act_window` + - args: `[act_window.limit], [Null]` + - kwargs: + - where: `act_window.limit == 0` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 770 +- **after_super** `drop_column` + - object: `table` + - args: `'auto_refresh'` +- **after_super** `drop_column` + - object: `table` + - args: `'window_name'` +- **after_super** `not_null_action` + - object: `table` + - args: `'limit', 'remove'` +- **after_super** `execute` + - object: `cursor` + - args: `*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)` +- **after_super** `update` + - object: `act_window` + - args: `[act_window.limit], [Null]` + - kwargs: + - where: `act_window.limit == 0` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 774 +- **after_super** `drop_column` + - object: `table` + - args: `'auto_refresh'` +- **after_super** `drop_column` + - object: `table` + - args: `'window_name'` +- **after_super** `not_null_action` + - object: `table` + - args: `'limit', 'remove'` +- **after_super** `execute` + - object: `cursor` + - args: `*act_window.update([act_window.limit], [Null], where=act_window.limit == 0)` +- **after_super** `update` + - object: `act_window` + - args: `[act_window.limit], [Null]` + - kwargs: + - where: `act_window.limit == 0` + + +## Klasse ActionActWindowDomain + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 948 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 948 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 972 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 932 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 959 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 986 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 1000 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 1005 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 1028 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 7.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 1001 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 1011 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 1006 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +## Klasse ActionActWindowView + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 909 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 909 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 933 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 893 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 920 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 947 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 961 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 966 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 979 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 7.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 952 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 962 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 957 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +## Klasse ActionKeyword + +### 5.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 119 +- **after_super** `index_action` + - object: `table` + - args: `['keyword', 'model'], 'add'` + + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 147 +- **after_super** `index_action` + - object: `table` + - args: `['keyword', 'model'], 'add'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 147 +- **after_super** `index_action` + - object: `table` + - args: `['keyword', 'model'], 'add'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 152 +- **after_super** `index_action` + - object: `table` + - args: `['keyword', 'model'], 'add'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 149 +- **after_super** `index_action` + - object: `table` + - args: `['keyword', 'model'], 'add'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 166 +- **after_super** `index_action` + - object: `table` + - args: `['keyword', 'model'], 'add'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 167 +- **after_super** `index_action` + - object: `table` + - args: `['keyword', 'model'], 'add'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 166 +- **after_super** `index_action` + - object: `table` + - args: `['keyword', 'model'], 'add'` + + +## Klasse ActionReport + +### 5.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 499 +- **after_super** `drop_constraint` + - object: `table` + - args: `'report_name_module_uniq'` +- **after_super** `execute` + - object: `cursor` + - args: `*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')` +- **after_super** `update` + - object: `action_report` + - args: `[action_report.extension], ['txt']` + - kwargs: + - where: `action_report.extension == 'plain'` + + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 529 +- **after_super** `drop_constraint` + - object: `table` + - args: `'report_name_module_uniq'` +- **after_super** `execute` + - object: `cursor` + - args: `*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')` +- **after_super** `update` + - object: `action_report` + - args: `[action_report.extension], ['txt']` + - kwargs: + - where: `action_report.extension == 'plain'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 529 +- **after_super** `drop_constraint` + - object: `table` + - args: `'report_name_module_uniq'` +- **after_super** `execute` + - object: `cursor` + - args: `*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')` +- **after_super** `update` + - object: `action_report` + - args: `[action_report.extension], ['txt']` + - kwargs: + - where: `action_report.extension == 'plain'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 545 +- **after_super** `drop_constraint` + - object: `table` + - args: `'report_name_module_uniq'` +- **after_super** `execute` + - object: `cursor` + - args: `*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')` +- **after_super** `update` + - object: `action_report` + - args: `[action_report.extension], ['txt']` + - kwargs: + - where: `action_report.extension == 'plain'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 525 +- **after_super** `drop_constraint` + - object: `table` + - args: `'report_name_module_uniq'` +- **after_super** `execute` + - object: `cursor` + - args: `*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')` +- **after_super** `update` + - object: `action_report` + - args: `[action_report.extension], ['txt']` + - kwargs: + - where: `action_report.extension == 'plain'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 558 +- **after_super** `drop_constraint` + - object: `table` + - args: `'report_name_module_uniq'` +- **after_super** `execute` + - object: `cursor` + - args: `*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')` +- **after_super** `update` + - object: `action_report` + - args: `[action_report.extension], ['txt']` + - kwargs: + - where: `action_report.extension == 'plain'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 562 +- **after_super** `drop_constraint` + - object: `table` + - args: `'report_name_module_uniq'` +- **after_super** `execute` + - object: `cursor` + - args: `*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')` +- **after_super** `update` + - object: `action_report` + - args: `[action_report.extension], ['txt']` + - kwargs: + - where: `action_report.extension == 'plain'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 565 +- **after_super** `drop_constraint` + - object: `table` + - args: `'report_name_module_uniq'` +- **after_super** `execute` + - object: `cursor` + - args: `*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')` +- **after_super** `update` + - object: `action_report` + - args: `[action_report.extension], ['txt']` + - kwargs: + - where: `action_report.extension == 'plain'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 570 +- **after_super** `drop_constraint` + - object: `table` + - args: `'report_name_module_uniq'` +- **after_super** `execute` + - object: `cursor` + - args: `*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')` +- **after_super** `update` + - object: `action_report` + - args: `[action_report.extension], ['txt']` + - kwargs: + - where: `action_report.extension == 'plain'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/action.py : 582 +- **after_super** `drop_constraint` + - object: `table` + - args: `'report_name_module_uniq'` +- **after_super** `execute` + - object: `cursor` + - args: `*action_report.update([action_report.extension], ['txt'], where=action_report.extension == 'plain')` +- **after_super** `update` + - object: `action_report` + - args: `[action_report.extension], ['txt']` + - kwargs: + - where: `action_report.extension == 'plain'` + + +## Klasse Attachment + +### 5.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py : 60 +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [attachment.digest]` + - kwargs: + - where: `(attachment.collision == 0) | (attachment.collision == Null)` +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)]` + - kwargs: + - where: `(attachment.collision != 0) & (attachment.collision != Null)` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'digest'` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'collision'` +- **after_super** `drop_constraint` + - object: `table` + - args: `'resource_name'` + + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py : 60 +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [attachment.digest]` + - kwargs: + - where: `(attachment.collision == 0) | (attachment.collision == Null)` +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)]` + - kwargs: + - where: `(attachment.collision != 0) & (attachment.collision != Null)` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'digest'` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'collision'` +- **after_super** `drop_constraint` + - object: `table` + - args: `'resource_name'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py : 60 +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [attachment.digest]` + - kwargs: + - where: `(attachment.collision == 0) | (attachment.collision == Null)` +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)]` + - kwargs: + - where: `(attachment.collision != 0) & (attachment.collision != Null)` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'digest'` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'collision'` +- **after_super** `drop_constraint` + - object: `table` + - args: `'resource_name'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py : 63 +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [attachment.digest]` + - kwargs: + - where: `(attachment.collision == 0) | (attachment.collision == Null)` +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)]` + - kwargs: + - where: `(attachment.collision != 0) & (attachment.collision != Null)` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'digest'` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'collision'` +- **after_super** `drop_constraint` + - object: `table` + - args: `'resource_name'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py : 63 +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [attachment.digest]` + - kwargs: + - where: `(attachment.collision == 0) | (attachment.collision == Null)` +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)]` + - kwargs: + - where: `(attachment.collision != 0) & (attachment.collision != Null)` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'digest'` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'collision'` +- **after_super** `drop_constraint` + - object: `table` + - args: `'resource_name'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py : 58 +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [attachment.digest]` + - kwargs: + - where: `(attachment.collision == 0) | (attachment.collision == Null)` +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)]` + - kwargs: + - where: `(attachment.collision != 0) & (attachment.collision != Null)` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'digest'` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'collision'` +- **after_super** `drop_constraint` + - object: `table` + - args: `'resource_name'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py : 58 +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [attachment.digest]` + - kwargs: + - where: `(attachment.collision == 0) | (attachment.collision == Null)` +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)]` + - kwargs: + - where: `(attachment.collision != 0) & (attachment.collision != Null)` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'digest'` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'collision'` +- **after_super** `drop_constraint` + - object: `table` + - args: `'resource_name'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py : 59 +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [attachment.digest]` + - kwargs: + - where: `(attachment.collision == 0) | (attachment.collision == Null)` +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)]` + - kwargs: + - where: `(attachment.collision != 0) & (attachment.collision != Null)` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'digest'` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'collision'` +- **after_super** `drop_constraint` + - object: `table` + - args: `'resource_name'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py : 59 +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [attachment.digest]` + - kwargs: + - where: `(attachment.collision == 0) | (attachment.collision == Null)` +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)]` + - kwargs: + - where: `(attachment.collision != 0) & (attachment.collision != Null)` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'digest'` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'collision'` +- **after_super** `drop_constraint` + - object: `table` + - args: `'resource_name'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/attachment.py : 59 +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [attachment.digest], where=(attachment.collision == 0) | (attachment.collision == Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [attachment.digest]` + - kwargs: + - where: `(attachment.collision == 0) | (attachment.collision == Null)` +- **after_super** `execute` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `cursor` + - args: `*attachment.update([attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)], where=(attachment.collision != 0) & (attachment.collision != Null))` +- **after_super** `update` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `attachment` + - args: `[attachment.file_id], [Concat(Concat(attachment.digest, '-'), attachment.collision)]` + - kwargs: + - where: `(attachment.collision != 0) & (attachment.collision != Null)` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'digest'` +- **after_super** `drop_column` + - condition: `table.column_exist('digest') and table.column_exist('collision')` + - object: `table` + - args: `'collision'` +- **after_super** `drop_constraint` + - object: `table` + - args: `'resource_name'` + + +## Klasse Cron + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/cron.py : 66 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'next_call', 'remove'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/cron.py : 69 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'next_call', 'remove'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/cron.py : 69 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'next_call', 'remove'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/cron.py : 71 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'next_call', 'remove'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/cron.py : 84 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'next_call', 'remove'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/cron.py : 86 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'next_call', 'remove'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/cron.py : 87 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'next_call', 'remove'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/cron.py : 92 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'next_call', 'remove'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/cron.py : 92 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'next_call', 'remove'` + + +### 7.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/cron.py : 92 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'next_call', 'remove'` + + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/cron.py : 92 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'next_call', 'remove'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/cron.py : 119 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'next_call', 'remove'` + + +## Klasse Export + +### 7.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/export.py : 56 +- **after_super** `execute` + - condition: `not user_exists` + - object: `cursor` + - args: `*table.update([table.user], [table.create_uid])` +- **after_super** `update` + - condition: `not user_exists` + - object: `table` + - args: `[table.user], [table.create_uid]` + + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/export.py : 56 +- **after_super** `execute` + - condition: `not user_exists` + - object: `cursor` + - args: `*table.update([table.user], [table.create_uid])` +- **after_super** `update` + - condition: `not user_exists` + - object: `table` + - args: `[table.user], [table.create_uid]` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/export.py : 56 +- **after_super** `execute` + - condition: `not user_exists` + - object: `cursor` + - args: `*table.update([table.user], [table.create_uid])` +- **after_super** `update` + - condition: `not user_exists` + - object: `table` + - args: `[table.user], [table.create_uid]` + + +### 7.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/export.py : 68 +- **after_super** `execute` + - condition: `not user_exists` + - object: `cursor` + - args: `*table.update([table.user], [table.create_uid])` +- **after_super** `update` + - condition: `not user_exists` + - object: `table` + - args: `[table.user], [table.create_uid]` + + +### 7.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/export.py : 68 +- **after_super** `execute` + - condition: `not user_exists` + - object: `cursor` + - args: `*table.update([table.user], [table.create_uid])` +- **after_super** `update` + - condition: `not user_exists` + - object: `table` + - args: `[table.user], [table.create_uid]` + + +### 8.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/export.py : 68 +- **after_super** `execute` + - condition: `not user_exists` + - object: `cursor` + - args: `*table.update([table.user], [table.create_uid])` +- **after_super** `update` + - condition: `not user_exists` + - object: `table` + - args: `[table.user], [table.create_uid]` + + +## Klasse Icon + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py : 33 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py : 33 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py : 33 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py : 29 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py : 29 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py : 29 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py : 29 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py : 31 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py : 31 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 7.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py : 31 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py : 35 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/icon.py : 35 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +## Klasse Model + +### 7.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 83 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model')` + - object: `table_h` + - args: `'name', 'string'` +- **before_super** `column_rename` + - condition: `table_h.column_exist('model')` + - object: `table_h` + - args: `'model', 'name'` +- **before_super** `drop_constraint` + - object: `table_h` + - args: `'model_uniq'` + + +### 7.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 84 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model')` + - object: `table_h` + - args: `'name', 'string'` +- **before_super** `column_rename` + - condition: `table_h.column_exist('model')` + - object: `table_h` + - args: `'model', 'name'` +- **before_super** `drop_constraint` + - object: `table_h` + - args: `'model_uniq'` + + +### 8.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 82 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model')` + - object: `table_h` + - args: `'name', 'string'` +- **before_super** `column_rename` + - condition: `table_h.column_exist('model')` + - object: `table_h` + - args: `'model', 'name'` +- **before_super** `drop_constraint` + - object: `table_h` + - args: `'model_uniq'` + + +## Klasse ModelAccess + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 531 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.model]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 534 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.model]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` + + +### 7.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 551 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.name]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` + + +### 7.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 561 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.name]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` + + +### 8.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 539 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.name]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` + + +## Klasse ModelButton + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 889 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_model_uniq'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 886 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_model_uniq'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 895 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_model_uniq'` + + +### 7.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 887 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_model_uniq'` + + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 985 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.model]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_model_uniq'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 988 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.model]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_model_uniq'` + + +### 7.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 977 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.name]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_model_uniq'` + + +### 7.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 971 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.name]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_model_uniq'` + + +### 8.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 949 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.name]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_model_uniq'` + + +## Klasse ModelData + +### 5.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 1100 +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.module], ['ir']` + - kwargs: + - where: `(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')` + + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 1135 +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.module], ['ir']` + - kwargs: + - where: `(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')` +- **after_super** `not_null_action` + - object: `table_h` + - args: `'db_id'` + - kwargs: + - action: `'remove'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 1135 +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.module], ['ir']` + - kwargs: + - where: `(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')` +- **after_super** `not_null_action` + - object: `table_h` + - args: `'db_id'` + - kwargs: + - action: `'remove'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 1157 +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.module], ['ir']` + - kwargs: + - where: `(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')` +- **after_super** `not_null_action` + - object: `table_h` + - args: `'db_id'` + - kwargs: + - action: `'remove'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 1159 +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.module], ['ir']` + - kwargs: + - where: `(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')` +- **after_super** `not_null_action` + - object: `table_h` + - args: `'db_id'` + - kwargs: + - action: `'remove'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 1203 +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.module], ['ir']` + - kwargs: + - where: `(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')` +- **after_super** `not_null_action` + - object: `table_h` + - args: `'db_id'` + - kwargs: + - action: `'remove'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 1199 +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.module], ['ir']` + - kwargs: + - where: `(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')` +- **after_super** `not_null_action` + - object: `table_h` + - args: `'db_id'` + - kwargs: + - action: `'remove'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 1228 +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.module], ['ir']` + - kwargs: + - where: `(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')` +- **after_super** `not_null_action` + - object: `table_h` + - args: `'db_id'` + - kwargs: + - action: `'remove'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 1208 +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.module], ['ir']` + - kwargs: + - where: `(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')` +- **after_super** `not_null_action` + - object: `table_h` + - args: `'db_id'` + - kwargs: + - action: `'remove'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 1227 +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.module], ['ir'], where=(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.module], ['ir']` + - kwargs: + - where: `(model_data.module == 'res') & (model_data.fs_id == 'model_data_sync_button')` +- **after_super** `not_null_action` + - object: `table_h` + - args: `'db_id'` + - kwargs: + - action: `'remove'` + + +### 7.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 1219 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'db_id'` + - kwargs: + - action: `'remove'` + + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 1340 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'db_id'` + - kwargs: + - action: `'remove'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 1344 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'db_id'` + - kwargs: + - action: `'remove'` + + +### 7.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 1334 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'fs_id_module_model_uniq'` + + +### 7.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 1328 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'fs_id_module_model_uniq'` + + +### 8.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 1301 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'fs_id_module_model_uniq'` + + +## Klasse ModelField + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 297 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.model]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 297 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.model]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` + + +### 7.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 320 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.name]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` +- **before_super** `column_rename` + - object: `table_h` + - args: `'field_description', 'string'` + + +### 7.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 330 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.name]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` +- **before_super** `column_rename` + - object: `table_h` + - args: `'field_description', 'string'` + + +### 8.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 325 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.name]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` +- **before_super** `column_rename` + - object: `table_h` + - args: `'field_description', 'string'` + + +## Klasse ModelFieldAccess + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 786 +- **before_super** `column_rename` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'field', '_temp_field'` +- **before_super** `add_column` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `add_column` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'field', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id)` +- **before_super** `update` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table` + - args: `[table.model, table.field], [field.model, field.name]` + - kwargs: + - from_: `[field]` + - where: `table._temp_field == field.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'_temp_field'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 789 +- **before_super** `column_rename` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'field', '_temp_field'` +- **before_super** `add_column` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `add_column` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'field', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id)` +- **before_super** `update` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table` + - args: `[table.model, table.field], [field.model, field.name]` + - kwargs: + - from_: `[field]` + - where: `table._temp_field == field.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'_temp_field'` + + +### 7.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 789 +- **before_super** `column_rename` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'field', '_temp_field'` +- **before_super** `add_column` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `add_column` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'field', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id)` +- **before_super** `update` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table` + - args: `[table.model, table.field], [field.model, field.name]` + - kwargs: + - from_: `[field]` + - where: `table._temp_field == field.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'_temp_field'` + + +### 7.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 794 +- **before_super** `column_rename` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'field', '_temp_field'` +- **before_super** `add_column` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `add_column` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'field', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id)` +- **before_super** `update` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table` + - args: `[table.model, table.field], [field.model, field.name]` + - kwargs: + - from_: `[field]` + - where: `table._temp_field == field.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'_temp_field'` + + +### 8.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/model.py : 772 +- **before_super** `column_rename` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'field', '_temp_field'` +- **before_super** `add_column` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `add_column` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'field', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id)` +- **before_super** `update` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table` + - args: `[table.model, table.field], [field.model, field.name]` + - kwargs: + - from_: `[field]` + - where: `table._temp_field == field.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')` + - object: `table_h` + - args: `'_temp_field'` + + +## Klasse Module + +### 5.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 102 +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['activated']` + - kwargs: + - where: `sql_table.state == 'installed'` +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['not activated']` + - kwargs: + - where: `sql_table.state == 'uninstalled'` +- **after_super** `execute` + - object: `cursor` + - args: `*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))` +- **after_super** `update` + - object: `model_data_sql_table` + - args: `[model_data_sql_table.module], ['ir']` + - kwargs: + - where: `(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)` + + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 103 +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['activated']` + - kwargs: + - where: `sql_table.state == 'installed'` +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['not activated']` + - kwargs: + - where: `sql_table.state == 'uninstalled'` +- **after_super** `execute` + - object: `cursor` + - args: `*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))` +- **after_super** `update` + - object: `model_data_sql_table` + - args: `[model_data_sql_table.module], ['ir']` + - kwargs: + - where: `(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 103 +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['activated']` + - kwargs: + - where: `sql_table.state == 'installed'` +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['not activated']` + - kwargs: + - where: `sql_table.state == 'uninstalled'` +- **after_super** `execute` + - object: `cursor` + - args: `*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))` +- **after_super** `update` + - object: `model_data_sql_table` + - args: `[model_data_sql_table.module], ['ir']` + - kwargs: + - where: `(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 103 +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['activated']` + - kwargs: + - where: `sql_table.state == 'installed'` +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['not activated']` + - kwargs: + - where: `sql_table.state == 'uninstalled'` +- **after_super** `execute` + - object: `cursor` + - args: `*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))` +- **after_super** `update` + - object: `model_data_sql_table` + - args: `[model_data_sql_table.module], ['ir']` + - kwargs: + - where: `(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 95 +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['activated']` + - kwargs: + - where: `sql_table.state == 'installed'` +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['not activated']` + - kwargs: + - where: `sql_table.state == 'uninstalled'` +- **after_super** `execute` + - object: `cursor` + - args: `*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))` +- **after_super** `update` + - object: `model_data_sql_table` + - args: `[model_data_sql_table.module], ['ir']` + - kwargs: + - where: `(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 96 +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['activated']` + - kwargs: + - where: `sql_table.state == 'installed'` +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['not activated']` + - kwargs: + - where: `sql_table.state == 'uninstalled'` +- **after_super** `execute` + - object: `cursor` + - args: `*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))` +- **after_super** `update` + - object: `model_data_sql_table` + - args: `[model_data_sql_table.module], ['ir']` + - kwargs: + - where: `(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 96 +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['activated']` + - kwargs: + - where: `sql_table.state == 'installed'` +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['not activated']` + - kwargs: + - where: `sql_table.state == 'uninstalled'` +- **after_super** `execute` + - object: `cursor` + - args: `*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))` +- **after_super** `update` + - object: `model_data_sql_table` + - args: `[model_data_sql_table.module], ['ir']` + - kwargs: + - where: `(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 96 +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['activated']` + - kwargs: + - where: `sql_table.state == 'installed'` +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['not activated']` + - kwargs: + - where: `sql_table.state == 'uninstalled'` +- **after_super** `execute` + - object: `cursor` + - args: `*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))` +- **after_super** `update` + - object: `model_data_sql_table` + - args: `[model_data_sql_table.module], ['ir']` + - kwargs: + - where: `(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 96 +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['activated']` + - kwargs: + - where: `sql_table.state == 'installed'` +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['not activated']` + - kwargs: + - where: `sql_table.state == 'uninstalled'` +- **after_super** `execute` + - object: `cursor` + - args: `*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))` +- **after_super** `update` + - object: `model_data_sql_table` + - args: `[model_data_sql_table.module], ['ir']` + - kwargs: + - where: `(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 97 +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['activated'], where=sql_table.state == 'installed')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['activated']` + - kwargs: + - where: `sql_table.state == 'installed'` +- **after_super** `execute` + - object: `cursor` + - args: `*sql_table.update([sql_table.state], ['not activated'], where=sql_table.state == 'uninstalled')` +- **after_super** `update` + - object: `sql_table` + - args: `[sql_table.state], ['not activated']` + - kwargs: + - where: `sql_table.state == 'uninstalled'` +- **after_super** `execute` + - object: `cursor` + - args: `*model_data_sql_table.update([model_data_sql_table.module], ['ir'], where=(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids))` +- **after_super** `update` + - object: `model_data_sql_table` + - args: `[model_data_sql_table.module], ['ir']` + - kwargs: + - where: `(model_data_sql_table.module == 'res') & model_data_sql_table.fs_id.in_(button_fs_ids)` + + +## Klasse ModuleConfigWizardItem + +### 5.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 401 +- **before_super** `execute` + - object: `cursor` + - args: `*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')` +- **before_super** `update` + - object: `model_data` + - kwargs: + - columns: `[model_data.model]` + - values: `[cls.__name__]` + - where: `model_data.model == 'ir.module.module.config_wizard.item'` + + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 396 +- **before_super** `execute` + - object: `cursor` + - args: `*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')` +- **before_super** `update` + - object: `model_data` + - kwargs: + - columns: `[model_data.model]` + - values: `[cls.__name__]` + - where: `model_data.model == 'ir.module.module.config_wizard.item'` +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 396 +- **before_super** `execute` + - object: `cursor` + - args: `*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')` +- **before_super** `update` + - object: `model_data` + - kwargs: + - columns: `[model_data.model]` + - values: `[cls.__name__]` + - where: `model_data.model == 'ir.module.module.config_wizard.item'` +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 393 +- **before_super** `execute` + - object: `cursor` + - args: `*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')` +- **before_super** `update` + - object: `model_data` + - kwargs: + - columns: `[model_data.model]` + - values: `[cls.__name__]` + - where: `model_data.model == 'ir.module.module.config_wizard.item'` +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 385 +- **before_super** `execute` + - object: `cursor` + - args: `*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')` +- **before_super** `update` + - object: `model_data` + - kwargs: + - columns: `[model_data.model]` + - values: `[cls.__name__]` + - where: `model_data.model == 'ir.module.module.config_wizard.item'` +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 386 +- **before_super** `execute` + - object: `cursor` + - args: `*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')` +- **before_super** `update` + - object: `model_data` + - kwargs: + - columns: `[model_data.model]` + - values: `[cls.__name__]` + - where: `model_data.model == 'ir.module.module.config_wizard.item'` +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 386 +- **before_super** `execute` + - object: `cursor` + - args: `*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')` +- **before_super** `update` + - object: `model_data` + - kwargs: + - columns: `[model_data.model]` + - values: `[cls.__name__]` + - where: `model_data.model == 'ir.module.module.config_wizard.item'` +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 386 +- **before_super** `execute` + - object: `cursor` + - args: `*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')` +- **before_super** `update` + - object: `model_data` + - kwargs: + - columns: `[model_data.model]` + - values: `[cls.__name__]` + - where: `model_data.model == 'ir.module.module.config_wizard.item'` +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 386 +- **before_super** `execute` + - object: `cursor` + - args: `*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')` +- **before_super** `update` + - object: `model_data` + - kwargs: + - columns: `[model_data.model]` + - values: `[cls.__name__]` + - where: `model_data.model == 'ir.module.module.config_wizard.item'` +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 370 +- **before_super** `execute` + - object: `cursor` + - args: `*model_data.update(columns=[model_data.model], values=[cls.__name__], where=model_data.model == 'ir.module.module.config_wizard.item')` +- **before_super** `update` + - object: `model_data` + - kwargs: + - columns: `[model_data.model]` + - values: `[cls.__name__]` + - where: `model_data.model == 'ir.module.module.config_wizard.item'` +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 7.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 323 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 323 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/module.py : 323 +- **after_super** `not_null_action` + - object: `table` + - args: `'sequence', 'remove'` + + +## Klasse Queue + +### 5.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/queue.py : 35 +- **after_super** `index_action` + - object: `table_h` + - args: `[queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name]` + - kwargs: + - action: `'add'` + + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/queue.py : 35 +- **after_super** `index_action` + - object: `table_h` + - args: `[queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name]` + - kwargs: + - action: `'add'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/queue.py : 35 +- **after_super** `index_action` + - object: `table_h` + - args: `[queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name]` + - kwargs: + - action: `'add'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/queue.py : 35 +- **after_super** `index_action` + - object: `table_h` + - args: `[queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name]` + - kwargs: + - action: `'add'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/queue.py : 36 +- **after_super** `index_action` + - object: `table_h` + - args: `[queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name]` + - kwargs: + - action: `'add'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/queue.py : 36 +- **after_super** `index_action` + - object: `table_h` + - args: `[queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name]` + - kwargs: + - action: `'add'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/queue.py : 36 +- **after_super** `index_action` + - object: `table_h` + - args: `[queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name]` + - kwargs: + - action: `'add'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/queue_.py : 37 +- **after_super** `index_action` + - object: `table_h` + - args: `[queue.scheduled_at.nulls_first, queue.expected_at.nulls_first, queue.dequeued_at, queue.name]` + - kwargs: + - action: `'add'` + + +## Klasse RuleGroup + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/rule.py : 84 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.model]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/rule.py : 84 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.model]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` + + +### 7.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/rule.py : 100 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.name]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` + + +### 7.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/rule.py : 101 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.name]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` + + +### 8.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/rule.py : 100 +- **before_super** `column_rename` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', '_temp_model'` +- **before_super** `add_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'model', 'VARCHAR'` +- **before_super** `execute` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `cursor` + - args: `*table.update([table.model], [model.name], from_=[model], where=table._temp_model == model.id)` +- **before_super** `update` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table` + - args: `[table.model], [model.name]` + - kwargs: + - from_: `[model]` + - where: `table._temp_model == model.id` +- **before_super** `drop_column` + - condition: `table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')` + - object: `table_h` + - args: `'_temp_model'` + + +## Klasse Sequence + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py : 115 +- **after_super** `execute` + - condition: `table_h.column_exist('code')` + - object: `cursor` + - args: `*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))` +- **after_super** `update` + - condition: `table_h.column_exist('code')` + - object: `table` + - args: `[table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)` +- **after_super** `select` + - condition: `table_h.column_exist('code')` + - object: `sequence_type` + - args: `sequence_type.id` + - kwargs: + - where: `sequence_type.code == table.code` +- **after_super** `drop_column` + - condition: `table_h.column_exist('code')` + - object: `table_h` + - args: `'code'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py : 119 +- **after_super** `execute` + - condition: `table_h.column_exist('code')` + - object: `cursor` + - args: `*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))` +- **after_super** `update` + - condition: `table_h.column_exist('code')` + - object: `table` + - args: `[table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)` +- **after_super** `select` + - condition: `table_h.column_exist('code')` + - object: `sequence_type` + - args: `sequence_type.id` + - kwargs: + - where: `sequence_type.code == table.code` +- **after_super** `drop_column` + - condition: `table_h.column_exist('code')` + - object: `table_h` + - args: `'code'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py : 117 +- **after_super** `execute` + - condition: `table_h.column_exist('code')` + - object: `cursor` + - args: `*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))` +- **after_super** `update` + - condition: `table_h.column_exist('code')` + - object: `table` + - args: `[table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)` +- **after_super** `select` + - condition: `table_h.column_exist('code')` + - object: `sequence_type` + - args: `sequence_type.id` + - kwargs: + - where: `sequence_type.code == table.code` +- **after_super** `drop_column` + - condition: `table_h.column_exist('code')` + - object: `table_h` + - args: `'code'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py : 117 +- **after_super** `execute` + - condition: `table_h.column_exist('code')` + - object: `cursor` + - args: `*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))` +- **after_super** `update` + - condition: `table_h.column_exist('code')` + - object: `table` + - args: `[table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)` +- **after_super** `select` + - condition: `table_h.column_exist('code')` + - object: `sequence_type` + - args: `sequence_type.id` + - kwargs: + - where: `sequence_type.code == table.code` +- **after_super** `drop_column` + - condition: `table_h.column_exist('code')` + - object: `table_h` + - args: `'code'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py : 117 +- **after_super** `execute` + - condition: `table_h.column_exist('code')` + - object: `cursor` + - args: `*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))` +- **after_super** `update` + - condition: `table_h.column_exist('code')` + - object: `table` + - args: `[table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)` +- **after_super** `select` + - condition: `table_h.column_exist('code')` + - object: `sequence_type` + - args: `sequence_type.id` + - kwargs: + - where: `sequence_type.code == table.code` +- **after_super** `drop_column` + - condition: `table_h.column_exist('code')` + - object: `table_h` + - args: `'code'` + + +### 7.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py : 122 +- **after_super** `execute` + - condition: `table_h.column_exist('code')` + - object: `cursor` + - args: `*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))` +- **after_super** `update` + - condition: `table_h.column_exist('code')` + - object: `table` + - args: `[table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)` +- **after_super** `select` + - condition: `table_h.column_exist('code')` + - object: `sequence_type` + - args: `sequence_type.id` + - kwargs: + - where: `sequence_type.code == table.code` +- **after_super** `drop_column` + - condition: `table_h.column_exist('code')` + - object: `table_h` + - args: `'code'` + + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py : 122 +- **after_super** `execute` + - condition: `table_h.column_exist('code')` + - object: `cursor` + - args: `*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))` +- **after_super** `update` + - condition: `table_h.column_exist('code')` + - object: `table` + - args: `[table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)` +- **after_super** `select` + - condition: `table_h.column_exist('code')` + - object: `sequence_type` + - args: `sequence_type.id` + - kwargs: + - where: `sequence_type.code == table.code` +- **after_super** `drop_column` + - condition: `table_h.column_exist('code')` + - object: `table_h` + - args: `'code'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py : 122 +- **after_super** `execute` + - condition: `table_h.column_exist('code')` + - object: `cursor` + - args: `*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))` +- **after_super** `update` + - condition: `table_h.column_exist('code')` + - object: `table` + - args: `[table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)` +- **after_super** `select` + - condition: `table_h.column_exist('code')` + - object: `sequence_type` + - args: `sequence_type.id` + - kwargs: + - where: `sequence_type.code == table.code` +- **after_super** `drop_column` + - condition: `table_h.column_exist('code')` + - object: `table_h` + - args: `'code'` + + +## Klasse SequenceType + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py : 39 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'code'` + - kwargs: + - action: `'remove'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py : 43 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'code'` + - kwargs: + - action: `'remove'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py : 41 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'code'` + - kwargs: + - action: `'remove'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py : 41 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'code'` + - kwargs: + - action: `'remove'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py : 41 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'code'` + - kwargs: + - action: `'remove'` + + +### 7.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py : 41 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'code'` + - kwargs: + - action: `'remove'` + + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py : 41 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'code'` + - kwargs: + - action: `'remove'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/sequence.py : 41 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'code'` + - kwargs: + - action: `'remove'` + + +## Klasse Session + +### 5.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/session.py : 36 +- **after_super** `index_action` + - object: `table` + - args: `'create_uid', 'add'` + + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/session.py : 36 +- **after_super** `index_action` + - object: `table` + - args: `'create_uid', 'add'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/session.py : 36 +- **after_super** `index_action` + - object: `table` + - args: `'create_uid', 'add'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/session.py : 36 +- **after_super** `index_action` + - object: `table` + - args: `'create_uid', 'add'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/session.py : 32 +- **after_super** `index_action` + - object: `table` + - args: `'create_uid', 'add'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/session.py : 32 +- **after_super** `index_action` + - object: `table` + - args: `'create_uid', 'add'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/session.py : 32 +- **after_super** `index_action` + - object: `table` + - args: `'create_uid', 'add'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/session.py : 24 +- **after_super** `index_action` + - object: `table` + - args: `'create_uid', 'add'` + + +## Klasse Translation + +### 5.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/translation.py : 99 +- **after_super** `execute` + - object: `cursor` + - args: `*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')` +- **after_super** `update` + - object: `ir_translation` + - args: `[ir_translation.type], ['report']` + - kwargs: + - where: `ir_translation.type == 'odt'` +- **after_super** `index_action` + - object: `table` + - args: `['lang', 'type', 'name'], 'add'` + + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/translation.py : 85 +- **before_super** `drop_constraint` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'translation_md5_uniq'` +- **before_super** `drop_column` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'src_md5'` +- **after_super** `execute` + - object: `cursor` + - args: `*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')` +- **after_super** `update` + - object: `ir_translation` + - args: `[ir_translation.type], ['report']` + - kwargs: + - where: `ir_translation.type == 'odt'` +- **after_super** `index_action` + - object: `table` + - args: `['lang', 'type', 'name'], 'add'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/translation.py : 86 +- **before_super** `drop_constraint` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'translation_md5_uniq'` +- **before_super** `drop_column` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'src_md5'` +- **after_super** `execute` + - object: `cursor` + - args: `*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')` +- **after_super** `update` + - object: `ir_translation` + - args: `[ir_translation.type], ['report']` + - kwargs: + - where: `ir_translation.type == 'odt'` +- **after_super** `index_action` + - object: `table` + - args: `['lang', 'type', 'name'], 'add'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/translation.py : 86 +- **before_super** `drop_constraint` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'translation_md5_uniq'` +- **before_super** `drop_column` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'src_md5'` +- **after_super** `execute` + - object: `cursor` + - args: `*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')` +- **after_super** `update` + - object: `ir_translation` + - args: `[ir_translation.type], ['report']` + - kwargs: + - where: `ir_translation.type == 'odt'` +- **after_super** `index_action` + - object: `table` + - args: `['lang', 'type', 'name'], 'add'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/translation.py : 80 +- **before_super** `drop_constraint` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'translation_md5_uniq'` +- **before_super** `drop_column` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'src_md5'` +- **after_super** `execute` + - object: `cursor` + - args: `*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')` +- **after_super** `update` + - object: `ir_translation` + - args: `[ir_translation.type], ['report']` + - kwargs: + - where: `ir_translation.type == 'odt'` +- **after_super** `index_action` + - object: `table` + - args: `['lang', 'type', 'name'], 'add'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/translation.py : 80 +- **before_super** `drop_constraint` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'translation_md5_uniq'` +- **before_super** `drop_column` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'src_md5'` +- **after_super** `execute` + - object: `cursor` + - args: `*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')` +- **after_super** `update` + - object: `ir_translation` + - args: `[ir_translation.type], ['report']` + - kwargs: + - where: `ir_translation.type == 'odt'` +- **after_super** `index_action` + - object: `table` + - args: `['lang', 'type', 'name'], 'add'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/translation.py : 80 +- **before_super** `drop_constraint` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'translation_md5_uniq'` +- **before_super** `drop_column` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'src_md5'` +- **after_super** `execute` + - object: `cursor` + - args: `*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')` +- **after_super** `update` + - object: `ir_translation` + - args: `[ir_translation.type], ['report']` + - kwargs: + - where: `ir_translation.type == 'odt'` +- **after_super** `index_action` + - object: `table` + - args: `['lang', 'type', 'name'], 'add'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/translation.py : 79 +- **before_super** `drop_constraint` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'translation_md5_uniq'` +- **before_super** `drop_column` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'src_md5'` +- **after_super** `execute` + - object: `cursor` + - args: `*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')` +- **after_super** `update` + - object: `ir_translation` + - args: `[ir_translation.type], ['report']` + - kwargs: + - where: `ir_translation.type == 'odt'` +- **after_super** `index_action` + - object: `table` + - args: `['lang', 'type', 'name'], 'add'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/translation.py : 110 +- **before_super** `drop_constraint` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'translation_md5_uniq'` +- **before_super** `drop_column` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'src_md5'` +- **after_super** `execute` + - object: `cursor` + - args: `*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')` +- **after_super** `update` + - object: `ir_translation` + - args: `[ir_translation.type], ['report']` + - kwargs: + - where: `ir_translation.type == 'odt'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/translation.py : 111 +- **before_super** `drop_constraint` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'translation_md5_uniq'` +- **before_super** `drop_column` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'src_md5'` +- **after_super** `execute` + - object: `cursor` + - args: `*ir_translation.update([ir_translation.type], ['report'], where=ir_translation.type == 'odt')` +- **after_super** `update` + - object: `ir_translation` + - args: `[ir_translation.type], ['report']` + - kwargs: + - where: `ir_translation.type == 'odt'` + + +### 7.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/translation.py : 115 +- **before_super** `drop_constraint` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'translation_md5_uniq'` +- **before_super** `drop_column` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'src_md5'` + + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/translation.py : 122 +- **before_super** `drop_constraint` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'translation_md5_uniq'` +- **before_super** `drop_column` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'src_md5'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/translation.py : 122 +- **before_super** `drop_constraint` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'translation_md5_uniq'` +- **before_super** `drop_column` + - condition: `table.column_exist('src_md5')` + - object: `table` + - args: `'src_md5'` + + +## Klasse Trigger + +### 5.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 74 +- **after_super** `execute` + - condition: `table.column_exist('minimum_delay')` + - object: `cursor` + - args: `*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)` +- **after_super** `select` + - condition: `table.column_exist('minimum_delay')` + - object: `sql_table` + - args: `sql_table.id, sql_table.minimum_delay` + - kwargs: + - where: `sql_table.minimum_delay != Null` +- **after_super** `drop_column` + - condition: `table.column_exist('minimum_delay')` + - object: `table` + - args: `'minimum_delay'` + + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 76 +- **after_super** `execute` + - condition: `table.column_exist('minimum_delay')` + - object: `cursor` + - args: `*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)` +- **after_super** `select` + - condition: `table.column_exist('minimum_delay')` + - object: `sql_table` + - args: `sql_table.id, sql_table.minimum_delay` + - kwargs: + - where: `sql_table.minimum_delay != Null` +- **after_super** `drop_column` + - condition: `table.column_exist('minimum_delay')` + - object: `table` + - args: `'minimum_delay'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 76 +- **after_super** `execute` + - condition: `table.column_exist('minimum_delay')` + - object: `cursor` + - args: `*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)` +- **after_super** `select` + - condition: `table.column_exist('minimum_delay')` + - object: `sql_table` + - args: `sql_table.id, sql_table.minimum_delay` + - kwargs: + - where: `sql_table.minimum_delay != Null` +- **after_super** `drop_column` + - condition: `table.column_exist('minimum_delay')` + - object: `table` + - args: `'minimum_delay'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 77 +- **after_super** `execute` + - condition: `table.column_exist('minimum_delay')` + - object: `cursor` + - args: `*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)` +- **after_super** `select` + - condition: `table.column_exist('minimum_delay')` + - object: `sql_table` + - args: `sql_table.id, sql_table.minimum_delay` + - kwargs: + - where: `sql_table.minimum_delay != Null` +- **after_super** `drop_column` + - condition: `table.column_exist('minimum_delay')` + - object: `table` + - args: `'minimum_delay'` +- **after_super** `select` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `model` + - args: `model.model` + - kwargs: + - where: `model.id == sql_table.action_model` +- **after_super** `execute` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `cursor` + - args: `*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])` +- **after_super** `update` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `sql_table` + - args: `[sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_model'` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_function'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 73 +- **after_super** `execute` + - condition: `table.column_exist('minimum_delay')` + - object: `cursor` + - args: `*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)` +- **after_super** `select` + - condition: `table.column_exist('minimum_delay')` + - object: `sql_table` + - args: `sql_table.id, sql_table.minimum_delay` + - kwargs: + - where: `sql_table.minimum_delay != Null` +- **after_super** `drop_column` + - condition: `table.column_exist('minimum_delay')` + - object: `table` + - args: `'minimum_delay'` +- **after_super** `select` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `model` + - args: `model.model` + - kwargs: + - where: `model.id == sql_table.action_model` +- **after_super** `execute` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `cursor` + - args: `*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])` +- **after_super** `update` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `sql_table` + - args: `[sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_model'` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_function'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 73 +- **after_super** `execute` + - condition: `table.column_exist('minimum_delay')` + - object: `cursor` + - args: `*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)` +- **after_super** `select` + - condition: `table.column_exist('minimum_delay')` + - object: `sql_table` + - args: `sql_table.id, sql_table.minimum_delay` + - kwargs: + - where: `sql_table.minimum_delay != Null` +- **after_super** `drop_column` + - condition: `table.column_exist('minimum_delay')` + - object: `table` + - args: `'minimum_delay'` +- **after_super** `select` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `model` + - args: `model.model` + - kwargs: + - where: `model.id == sql_table.action_model` +- **after_super** `execute` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `cursor` + - args: `*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])` +- **after_super** `update` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `sql_table` + - args: `[sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_model'` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_function'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 73 +- **after_super** `execute` + - condition: `table.column_exist('minimum_delay')` + - object: `cursor` + - args: `*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)` +- **after_super** `select` + - condition: `table.column_exist('minimum_delay')` + - object: `sql_table` + - args: `sql_table.id, sql_table.minimum_delay` + - kwargs: + - where: `sql_table.minimum_delay != Null` +- **after_super** `drop_column` + - condition: `table.column_exist('minimum_delay')` + - object: `table` + - args: `'minimum_delay'` +- **after_super** `select` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `model` + - args: `model.model` + - kwargs: + - where: `model.id == sql_table.action_model` +- **after_super** `execute` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `cursor` + - args: `*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])` +- **after_super** `update` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `sql_table` + - args: `[sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_model'` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_function'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 73 +- **after_super** `execute` + - condition: `table.column_exist('minimum_delay')` + - object: `cursor` + - args: `*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)` +- **after_super** `select` + - condition: `table.column_exist('minimum_delay')` + - object: `sql_table` + - args: `sql_table.id, sql_table.minimum_delay` + - kwargs: + - where: `sql_table.minimum_delay != Null` +- **after_super** `drop_column` + - condition: `table.column_exist('minimum_delay')` + - object: `table` + - args: `'minimum_delay'` +- **after_super** `select` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `model` + - args: `model.model` + - kwargs: + - where: `model.id == sql_table.action_model` +- **after_super** `execute` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `cursor` + - args: `*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])` +- **after_super** `update` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `sql_table` + - args: `[sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_model'` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_function'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 74 +- **after_super** `execute` + - condition: `table.column_exist('minimum_delay')` + - object: `cursor` + - args: `*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)` +- **after_super** `select` + - condition: `table.column_exist('minimum_delay')` + - object: `sql_table` + - args: `sql_table.id, sql_table.minimum_delay` + - kwargs: + - where: `sql_table.minimum_delay != Null` +- **after_super** `drop_column` + - condition: `table.column_exist('minimum_delay')` + - object: `table` + - args: `'minimum_delay'` +- **after_super** `select` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `model` + - args: `model.model` + - kwargs: + - where: `model.id == sql_table.action_model` +- **after_super** `execute` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `cursor` + - args: `*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])` +- **after_super** `update` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `sql_table` + - args: `[sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_model'` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_function'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 79 +- **after_super** `execute` + - condition: `table.column_exist('minimum_delay')` + - object: `cursor` + - args: `*sql_table.select(sql_table.id, sql_table.minimum_delay, where=sql_table.minimum_delay != Null)` +- **after_super** `select` + - condition: `table.column_exist('minimum_delay')` + - object: `sql_table` + - args: `sql_table.id, sql_table.minimum_delay` + - kwargs: + - where: `sql_table.minimum_delay != Null` +- **after_super** `drop_column` + - condition: `table.column_exist('minimum_delay')` + - object: `table` + - args: `'minimum_delay'` +- **after_super** `select` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `model` + - args: `model.model` + - kwargs: + - where: `model.id == sql_table.action_model` +- **after_super** `execute` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `cursor` + - args: `*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])` +- **after_super** `update` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `sql_table` + - args: `[sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_model'` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_function'` + + +### 7.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 79 +- **after_super** `select` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `model` + - args: `model.model` + - kwargs: + - where: `model.id == sql_table.action_model` +- **after_super** `execute` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `cursor` + - args: `*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])` +- **after_super** `update` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `sql_table` + - args: `[sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_model'` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_function'` + + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 79 +- **after_super** `select` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `model` + - args: `model.model` + - kwargs: + - where: `model.id == sql_table.action_model` +- **after_super** `execute` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `cursor` + - args: `*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])` +- **after_super** `update` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `sql_table` + - args: `[sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_model'` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_function'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 79 +- **after_super** `select` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `model` + - args: `model.model` + - kwargs: + - where: `model.id == sql_table.action_model` +- **after_super** `execute` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `cursor` + - args: `*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])` +- **after_super** `update` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `sql_table` + - args: `[sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))]` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_model'` +- **after_super** `drop_column` + - condition: `table_h.column_exist('action_model') and table_h.column_exist('action_function')` + - object: `table_h` + - args: `'action_function'` + + +## Klasse TriggerLog + +### 5.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 300 +- **after_super** `index_action` + - object: `table` + - args: `['trigger', 'record_id'], 'add'` + + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 302 +- **after_super** `index_action` + - object: `table` + - args: `['trigger', 'record_id'], 'add'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 303 +- **after_super** `index_action` + - object: `table` + - args: `['trigger', 'record_id'], 'add'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 330 +- **after_super** `index_action` + - object: `table` + - args: `['trigger', 'record_id'], 'add'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 327 +- **after_super** `index_action` + - object: `table` + - args: `['trigger', 'record_id'], 'add'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 327 +- **after_super** `index_action` + - object: `table` + - args: `['trigger', 'record_id'], 'add'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 327 +- **after_super** `index_action` + - object: `table` + - args: `['trigger', 'record_id'], 'add'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/trigger.py : 329 +- **after_super** `index_action` + - object: `table` + - args: `['trigger', 'record_id'], 'add'` + + +## Klasse ViewSearch + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 396 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'user', 'remove'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 389 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'user', 'remove'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 389 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'user', 'remove'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 580 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'user', 'remove'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 601 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'user', 'remove'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 601 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'user', 'remove'` + + +### 7.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 616 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'user', 'remove'` + + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 708 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'user', 'remove'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 757 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'user', 'remove'` + + +## Klasse ViewTreeOptional + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 445 +- **after_super** `index_action` + - object: `table_h` + - args: `['view_id', 'user'], 'add'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 570 +- **before_super** `column_rename` + - object: `table_h` + - args: `'view_id', 'view'` +- **after_super** `execute` + - object: `cursor` + - args: `*table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null)` +- **after_super** `update` + - object: `table` + - args: `[table.model], [view.select(view.model, where=view.id == table.view)]` + - kwargs: + - where: `table.model == Null` +- **after_super** `select` + - object: `view` + - args: `view.model` + - kwargs: + - where: `view.id == table.view` + + +### 7.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 628 +- **before_super** `column_rename` + - object: `table_h` + - args: `'view_id', 'view'` +- **after_super** `execute` + - object: `cursor` + - args: `*table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null)` +- **after_super** `update` + - object: `table` + - args: `[table.model], [view.select(view.model, where=view.id == table.view)]` + - kwargs: + - where: `table.model == Null` +- **after_super** `select` + - object: `view` + - args: `view.model` + - kwargs: + - where: `view.id == table.view` + + +### 7.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 629 +- **before_super** `column_rename` + - object: `table_h` + - args: `'view_id', 'view'` +- **after_super** `execute` + - object: `cursor` + - args: `*table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null)` +- **after_super** `update` + - object: `table` + - args: `[table.model], [view.select(view.model, where=view.id == table.view)]` + - kwargs: + - where: `table.model == Null` +- **after_super** `select` + - object: `view` + - args: `view.model` + - kwargs: + - where: `view.id == table.view` + + +### 8.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 690 +- **before_super** `column_rename` + - object: `table_h` + - args: `'view_id', 'view'` +- **after_super** `execute` + - object: `cursor` + - args: `*table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null)` +- **after_super** `update` + - object: `table` + - args: `[table.model], [view.select(view.model, where=view.id == table.view)]` + - kwargs: + - where: `table.model == Null` +- **after_super** `select` + - object: `view` + - args: `view.model` + - kwargs: + - where: `view.id == table.view` + + +## Klasse ViewTreeState + +### 5.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 313 +- **after_super** `index_action` + - object: `table` + - args: `['model', 'domain', 'user', 'child_name'], 'add'` + + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 323 +- **after_super** `index_action` + - object: `table` + - args: `['model', 'domain', 'user', 'child_name'], 'add'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 323 +- **after_super** `index_action` + - object: `table` + - args: `['model', 'domain', 'user', 'child_name'], 'add'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 323 +- **after_super** `index_action` + - object: `table` + - args: `['model', 'domain', 'user', 'child_name'], 'add'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 324 +- **after_super** `index_action` + - object: `table` + - args: `['model', 'domain', 'user', 'child_name'], 'add'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 317 +- **after_super** `index_action` + - object: `table` + - args: `['model', 'domain', 'user', 'child_name'], 'add'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 317 +- **after_super** `index_action` + - object: `table` + - args: `['model', 'domain', 'user', 'child_name'], 'add'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 508 +- **after_super** `index_action` + - object: `table` + - args: `['model', 'domain', 'user', 'child_name'], 'add'` + + +## Klasse ViewTreeWidth + +### 8.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/ir/ui/view.py : 511 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'width', 'remove'` + + diff --git a/reports/party.md b/reports/party.md index 4be29e8..d0b8e7d 100644 --- a/reports/party.md +++ b/reports/party.md @@ -244,453 +244,6 @@ file: /home/uha4/tmp/tryton/modules/party/address.py : 161 - args: `'name', 'building_name'` -## Klasse Category - -### 5.0 - -file: /home/uha4/tmp/tryton/modules/party/category.py : 43 -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'name_parent_uniq'` - - -### 5.2 - -file: /home/uha4/tmp/tryton/modules/party/category.py : 43 -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'name_parent_uniq'` - - -### 5.4 - -file: /home/uha4/tmp/tryton/modules/party/category.py : 43 -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'name_parent_uniq'` - - -### 5.6 - -file: /home/uha4/tmp/tryton/modules/party/category.py : 35 -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'name_parent_uniq'` - - -### 5.8 - -file: /home/uha4/tmp/tryton/modules/party/category.py : 35 -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'name_parent_uniq'` - - -### 6.0 - -file: /home/uha4/tmp/tryton/modules/party/category.py : 35 -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'name_parent_uniq'` - - -### 6.2 - -file: /home/uha4/tmp/tryton/modules/party/category.py : 35 -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'name_parent_uniq'` - - -### 6.4 - -file: /home/uha4/tmp/tryton/modules/party/category.py : 35 -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'name_parent_uniq'` - - -### 6.6 - -file: /home/uha4/tmp/tryton/modules/party/category.py : 35 -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'name_parent_uniq'` - - -### 6.8 - -file: /home/uha4/tmp/tryton/modules/party/category.py : 35 -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'name_parent_uniq'` - - -## Klasse Party - -### 5.0 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 89 -- **after_super** `not_null_action` - - object: `table_h` - - args: `'name', 'remove'` - - -### 5.2 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 91 -- **after_super** `not_null_action` - - object: `table_h` - - args: `'name', 'remove'` - - -### 5.4 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 91 -- **after_super** `not_null_action` - - object: `table_h` - - args: `'name', 'remove'` - - -### 5.6 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 81 -- **after_super** `not_null_action` - - object: `table_h` - - args: `'name', 'remove'` - - -### 5.8 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 81 -- **after_super** `not_null_action` - - object: `table_h` - - args: `'name', 'remove'` - - -### 6.0 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 84 -- **after_super** `not_null_action` - - object: `table_h` - - args: `'name', 'remove'` - - -### 6.2 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 103 -- **after_super** `not_null_action` - - object: `table_h` - - args: `'name', 'remove'` - - -### 6.4 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 102 -- **after_super** `not_null_action` - - object: `table_h` - - args: `'name', 'remove'` - - -### 6.6 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 110 -- **after_super** `not_null_action` - - object: `table_h` - - args: `'name', 'remove'` - - -### 6.8 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 110 -- **after_super** `not_null_action` - - object: `table_h` - - args: `'name', 'remove'` - - -## Klasse PartyLang - -### 5.0 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 265 -- **after_super** `insert` - - condition: `party_h.column_exist('lang')` - - object: `table` - - args: `[table.party, table.lang], party.select(party.id, party.lang)` -- **after_super** `select` - - condition: `party_h.column_exist('lang')` - - object: `party` - - args: `party.id, party.lang` -- **after_super** `execute` - - condition: `party_h.column_exist('lang')` - - object: `cursor` - - args: `*query` -- **after_super** `drop_column` - - condition: `party_h.column_exist('lang')` - - object: `party_h` - - args: `'lang'` - - -### 5.2 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 278 -- **after_super** `insert` - - condition: `party_h.column_exist('lang')` - - object: `table` - - args: `[table.party, table.lang], party.select(party.id, party.lang)` -- **after_super** `select` - - condition: `party_h.column_exist('lang')` - - object: `party` - - args: `party.id, party.lang` -- **after_super** `execute` - - condition: `party_h.column_exist('lang')` - - object: `cursor` - - args: `*query` -- **after_super** `drop_column` - - condition: `party_h.column_exist('lang')` - - object: `party_h` - - args: `'lang'` - - -### 5.4 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 278 -- **after_super** `insert` - - condition: `party_h.column_exist('lang')` - - object: `table` - - args: `[table.party, table.lang], party.select(party.id, party.lang)` -- **after_super** `select` - - condition: `party_h.column_exist('lang')` - - object: `party` - - args: `party.id, party.lang` -- **after_super** `execute` - - condition: `party_h.column_exist('lang')` - - object: `cursor` - - args: `*query` -- **after_super** `drop_column` - - condition: `party_h.column_exist('lang')` - - object: `party_h` - - args: `'lang'` - - -### 5.6 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 268 -- **after_super** `insert` - - condition: `party_h.column_exist('lang')` - - object: `table` - - args: `[table.party, table.lang], party.select(party.id, party.lang)` -- **after_super** `select` - - condition: `party_h.column_exist('lang')` - - object: `party` - - args: `party.id, party.lang` -- **after_super** `execute` - - condition: `party_h.column_exist('lang')` - - object: `cursor` - - args: `*query` -- **after_super** `drop_column` - - condition: `party_h.column_exist('lang')` - - object: `party_h` - - args: `'lang'` - - -### 5.8 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 270 -- **after_super** `insert` - - condition: `party_h.column_exist('lang')` - - object: `table` - - args: `[table.party, table.lang], party.select(party.id, party.lang)` -- **after_super** `select` - - condition: `party_h.column_exist('lang')` - - object: `party` - - args: `party.id, party.lang` -- **after_super** `execute` - - condition: `party_h.column_exist('lang')` - - object: `cursor` - - args: `*query` -- **after_super** `drop_column` - - condition: `party_h.column_exist('lang')` - - object: `party_h` - - args: `'lang'` - - -### 6.0 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 322 -- **after_super** `insert` - - condition: `party_h.column_exist('lang')` - - object: `table` - - args: `[table.party, table.lang], party.select(party.id, party.lang)` -- **after_super** `select` - - condition: `party_h.column_exist('lang')` - - object: `party` - - args: `party.id, party.lang` -- **after_super** `execute` - - condition: `party_h.column_exist('lang')` - - object: `cursor` - - args: `*query` -- **after_super** `drop_column` - - condition: `party_h.column_exist('lang')` - - object: `party_h` - - args: `'lang'` - - -### 6.2 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 357 -- **after_super** `insert` - - condition: `party_h.column_exist('lang')` - - object: `table` - - args: `[table.party, table.lang], party.select(party.id, party.lang)` -- **after_super** `select` - - condition: `party_h.column_exist('lang')` - - object: `party` - - args: `party.id, party.lang` -- **after_super** `execute` - - condition: `party_h.column_exist('lang')` - - object: `cursor` - - args: `*query` -- **after_super** `drop_column` - - condition: `party_h.column_exist('lang')` - - object: `party_h` - - args: `'lang'` - - -### 6.4 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 356 -- **after_super** `insert` - - condition: `party_h.column_exist('lang')` - - object: `table` - - args: `[table.party, table.lang], party.select(party.id, party.lang)` -- **after_super** `select` - - condition: `party_h.column_exist('lang')` - - object: `party` - - args: `party.id, party.lang` -- **after_super** `execute` - - condition: `party_h.column_exist('lang')` - - object: `cursor` - - args: `*query` -- **after_super** `drop_column` - - condition: `party_h.column_exist('lang')` - - object: `party_h` - - args: `'lang'` - - -### 6.6 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 345 -- **after_super** `insert` - - condition: `party_h.column_exist('lang')` - - object: `table` - - args: `[table.party, table.lang], party.select(party.id, party.lang)` -- **after_super** `select` - - condition: `party_h.column_exist('lang')` - - object: `party` - - args: `party.id, party.lang` -- **after_super** `execute` - - condition: `party_h.column_exist('lang')` - - object: `cursor` - - args: `*query` -- **after_super** `drop_column` - - condition: `party_h.column_exist('lang')` - - object: `party_h` - - args: `'lang'` - - -### 6.8 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 345 -- **after_super** `insert` - - condition: `party_h.column_exist('lang')` - - object: `table` - - args: `[table.party, table.lang], party.select(party.id, party.lang)` -- **after_super** `select` - - condition: `party_h.column_exist('lang')` - - object: `party` - - args: `party.id, party.lang` -- **after_super** `execute` - - condition: `party_h.column_exist('lang')` - - object: `cursor` - - args: `*query` -- **after_super** `drop_column` - - condition: `party_h.column_exist('lang')` - - object: `party_h` - - args: `'lang'` - - -## Klasse PartyIdentifier - -### 5.0 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 329 -- **after_super** `execute` - - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` - - object: `cursor` - - args: `*party.select(party.id, party.vat_number, party.vat_country, where=(party.vat_number != Null) | (party.vat_country != Null))` -- **after_super** `select` - - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` - - object: `party` - - args: `party.id, party.vat_number, party.vat_country` - - kwargs: - - where: `(party.vat_number != Null) | (party.vat_country != Null)` -- **after_super** `drop_column` - - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` - - object: `party_h` - - args: `'vat_number'` -- **after_super** `drop_column` - - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` - - object: `party_h` - - args: `'vat_country'` - - -### 5.2 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 439 -- **after_super** `execute` - - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` - - object: `cursor` - - args: `*party.select(party.id, party.vat_number, party.vat_country, where=(party.vat_number != Null) | (party.vat_country != Null))` -- **after_super** `select` - - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` - - object: `party` - - args: `party.id, party.vat_number, party.vat_country` - - kwargs: - - where: `(party.vat_number != Null) | (party.vat_country != Null)` -- **after_super** `drop_column` - - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` - - object: `party_h` - - args: `'vat_number'` -- **after_super** `drop_column` - - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` - - object: `party_h` - - args: `'vat_country'` - - -### 5.4 - -file: /home/uha4/tmp/tryton/modules/party/party.py : 439 -- **after_super** `execute` - - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` - - object: `cursor` - - args: `*party.select(party.id, party.vat_number, party.vat_country, where=(party.vat_number != Null) | (party.vat_country != Null))` -- **after_super** `select` - - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` - - object: `party` - - args: `party.id, party.vat_number, party.vat_country` - - kwargs: - - where: `(party.vat_number != Null) | (party.vat_country != Null)` -- **after_super** `drop_column` - - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` - - object: `party_h` - - args: `'vat_number'` -- **after_super** `drop_column` - - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` - - object: `party_h` - - args: `'vat_country'` - - ## Klasse AddressFormat ### 5.4 @@ -1144,6 +697,168 @@ file: /home/uha4/tmp/tryton/modules/party/address.py : 303 - args: `'language'` +## Klasse Category + +### 5.0 + +file: /home/uha4/tmp/tryton/modules/party/category.py : 43 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_parent_uniq'` + + +### 5.2 + +file: /home/uha4/tmp/tryton/modules/party/category.py : 43 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_parent_uniq'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/modules/party/category.py : 43 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_parent_uniq'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/modules/party/category.py : 35 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_parent_uniq'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/modules/party/category.py : 35 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_parent_uniq'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/modules/party/category.py : 35 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_parent_uniq'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/modules/party/category.py : 35 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_parent_uniq'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/modules/party/category.py : 35 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_parent_uniq'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/modules/party/category.py : 35 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_parent_uniq'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/modules/party/category.py : 35 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'name_parent_uniq'` + + +## Klasse Configuration + +### 7.0 + +file: /home/uha4/tmp/tryton/modules/party/configuration.py : 34 +- **after_super** `execute` + - condition: `configuration.identifier_types != identifier_types` + - object: `cursor` + - args: `*table.update([table.identifier_types], [cls.identifier_types.sql_format(identifier_types)])` +- **after_super** `update` + - condition: `configuration.identifier_types != identifier_types` + - object: `table` + - args: `[table.identifier_types], [cls.identifier_types.sql_format(identifier_types)]` + + +### 7.2 + +file: /home/uha4/tmp/tryton/modules/party/configuration.py : 34 +- **after_super** `execute` + - condition: `configuration.identifier_types != identifier_types` + - object: `cursor` + - args: `*table.update([table.identifier_types], [cls.identifier_types.sql_format(identifier_types)])` +- **after_super** `update` + - condition: `configuration.identifier_types != identifier_types` + - object: `table` + - args: `[table.identifier_types], [cls.identifier_types.sql_format(identifier_types)]` + + +### 7.4 + +file: /home/uha4/tmp/tryton/modules/party/configuration.py : 34 +- **after_super** `execute` + - condition: `configuration.identifier_types != identifier_types` + - object: `cursor` + - args: `*table.update([table.identifier_types], [cls.identifier_types.sql_format(identifier_types)])` +- **after_super** `update` + - condition: `configuration.identifier_types != identifier_types` + - object: `table` + - args: `[table.identifier_types], [cls.identifier_types.sql_format(identifier_types)]` + + +### 7.6 + +file: /home/uha4/tmp/tryton/modules/party/configuration.py : 33 +- **after_super** `execute` + - condition: `configuration.identifier_types != identifier_types` + - object: `cursor` + - args: `*table.update([table.identifier_types], [cls.identifier_types.sql_format(identifier_types)])` +- **after_super** `update` + - condition: `configuration.identifier_types != identifier_types` + - object: `table` + - args: `[table.identifier_types], [cls.identifier_types.sql_format(identifier_types)]` + + +### 7.8 + +file: /home/uha4/tmp/tryton/modules/party/configuration.py : 33 +- **after_super** `execute` + - condition: `configuration.identifier_types != identifier_types` + - object: `cursor` + - args: `*table.update([table.identifier_types], [cls.identifier_types.sql_format(identifier_types)])` +- **after_super** `update` + - condition: `configuration.identifier_types != identifier_types` + - object: `table` + - args: `[table.identifier_types], [cls.identifier_types.sql_format(identifier_types)]` + + +### 8.0 + +file: /home/uha4/tmp/tryton/modules/party/configuration.py : 33 +- **after_super** `execute` + - condition: `configuration.identifier_types != identifier_types` + - object: `cursor` + - args: `*table.update([table.identifier_types], [cls.identifier_types.sql_format(identifier_types)])` +- **after_super** `update` + - condition: `configuration.identifier_types != identifier_types` + - object: `table` + - args: `[table.identifier_types], [cls.identifier_types.sql_format(identifier_types)]` + + ## Klasse Identifier ### 5.6 @@ -1473,83 +1188,368 @@ file: /home/uha4/tmp/tryton/modules/party/party.py : 859 - where: `table.type == 'si_businessid'` -## Klasse Configuration +## Klasse Party -### 7.0 +### 5.0 -file: /home/uha4/tmp/tryton/modules/party/configuration.py : 34 +file: /home/uha4/tmp/tryton/modules/party/party.py : 89 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'name', 'remove'` + + +### 5.2 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 91 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'name', 'remove'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 91 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'name', 'remove'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 81 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'name', 'remove'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 81 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'name', 'remove'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 84 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'name', 'remove'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 103 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'name', 'remove'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 102 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'name', 'remove'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 110 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'name', 'remove'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 110 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'name', 'remove'` + + +## Klasse PartyIdentifier + +### 5.0 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 329 - **after_super** `execute` - - condition: `configuration.identifier_types != identifier_types` + - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` - object: `cursor` - - args: `*table.update([table.identifier_types], [cls.identifier_types.sql_format(identifier_types)])` -- **after_super** `update` - - condition: `configuration.identifier_types != identifier_types` - - object: `table` - - args: `[table.identifier_types], [cls.identifier_types.sql_format(identifier_types)]` + - args: `*party.select(party.id, party.vat_number, party.vat_country, where=(party.vat_number != Null) | (party.vat_country != Null))` +- **after_super** `select` + - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` + - object: `party` + - args: `party.id, party.vat_number, party.vat_country` + - kwargs: + - where: `(party.vat_number != Null) | (party.vat_country != Null)` +- **after_super** `drop_column` + - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` + - object: `party_h` + - args: `'vat_number'` +- **after_super** `drop_column` + - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` + - object: `party_h` + - args: `'vat_country'` -### 7.2 +### 5.2 -file: /home/uha4/tmp/tryton/modules/party/configuration.py : 34 +file: /home/uha4/tmp/tryton/modules/party/party.py : 439 - **after_super** `execute` - - condition: `configuration.identifier_types != identifier_types` + - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` - object: `cursor` - - args: `*table.update([table.identifier_types], [cls.identifier_types.sql_format(identifier_types)])` -- **after_super** `update` - - condition: `configuration.identifier_types != identifier_types` - - object: `table` - - args: `[table.identifier_types], [cls.identifier_types.sql_format(identifier_types)]` + - args: `*party.select(party.id, party.vat_number, party.vat_country, where=(party.vat_number != Null) | (party.vat_country != Null))` +- **after_super** `select` + - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` + - object: `party` + - args: `party.id, party.vat_number, party.vat_country` + - kwargs: + - where: `(party.vat_number != Null) | (party.vat_country != Null)` +- **after_super** `drop_column` + - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` + - object: `party_h` + - args: `'vat_number'` +- **after_super** `drop_column` + - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` + - object: `party_h` + - args: `'vat_country'` -### 7.4 +### 5.4 -file: /home/uha4/tmp/tryton/modules/party/configuration.py : 34 +file: /home/uha4/tmp/tryton/modules/party/party.py : 439 - **after_super** `execute` - - condition: `configuration.identifier_types != identifier_types` + - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` - object: `cursor` - - args: `*table.update([table.identifier_types], [cls.identifier_types.sql_format(identifier_types)])` -- **after_super** `update` - - condition: `configuration.identifier_types != identifier_types` + - args: `*party.select(party.id, party.vat_number, party.vat_country, where=(party.vat_number != Null) | (party.vat_country != Null))` +- **after_super** `select` + - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` + - object: `party` + - args: `party.id, party.vat_number, party.vat_country` + - kwargs: + - where: `(party.vat_number != Null) | (party.vat_country != Null)` +- **after_super** `drop_column` + - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` + - object: `party_h` + - args: `'vat_number'` +- **after_super** `drop_column` + - condition: `party_h.column_exist('vat_number') and party_h.column_exist('vat_country')` + - object: `party_h` + - args: `'vat_country'` + + +## Klasse PartyLang + +### 5.0 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 265 +- **after_super** `insert` + - condition: `party_h.column_exist('lang')` - object: `table` - - args: `[table.identifier_types], [cls.identifier_types.sql_format(identifier_types)]` - - -### 7.6 - -file: /home/uha4/tmp/tryton/modules/party/configuration.py : 33 + - args: `[table.party, table.lang], party.select(party.id, party.lang)` +- **after_super** `select` + - condition: `party_h.column_exist('lang')` + - object: `party` + - args: `party.id, party.lang` - **after_super** `execute` - - condition: `configuration.identifier_types != identifier_types` + - condition: `party_h.column_exist('lang')` - object: `cursor` - - args: `*table.update([table.identifier_types], [cls.identifier_types.sql_format(identifier_types)])` -- **after_super** `update` - - condition: `configuration.identifier_types != identifier_types` + - args: `*query` +- **after_super** `drop_column` + - condition: `party_h.column_exist('lang')` + - object: `party_h` + - args: `'lang'` + + +### 5.2 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 278 +- **after_super** `insert` + - condition: `party_h.column_exist('lang')` - object: `table` - - args: `[table.identifier_types], [cls.identifier_types.sql_format(identifier_types)]` - - -### 7.8 - -file: /home/uha4/tmp/tryton/modules/party/configuration.py : 33 + - args: `[table.party, table.lang], party.select(party.id, party.lang)` +- **after_super** `select` + - condition: `party_h.column_exist('lang')` + - object: `party` + - args: `party.id, party.lang` - **after_super** `execute` - - condition: `configuration.identifier_types != identifier_types` + - condition: `party_h.column_exist('lang')` - object: `cursor` - - args: `*table.update([table.identifier_types], [cls.identifier_types.sql_format(identifier_types)])` -- **after_super** `update` - - condition: `configuration.identifier_types != identifier_types` + - args: `*query` +- **after_super** `drop_column` + - condition: `party_h.column_exist('lang')` + - object: `party_h` + - args: `'lang'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 278 +- **after_super** `insert` + - condition: `party_h.column_exist('lang')` - object: `table` - - args: `[table.identifier_types], [cls.identifier_types.sql_format(identifier_types)]` - - -### 8.0 - -file: /home/uha4/tmp/tryton/modules/party/configuration.py : 33 + - args: `[table.party, table.lang], party.select(party.id, party.lang)` +- **after_super** `select` + - condition: `party_h.column_exist('lang')` + - object: `party` + - args: `party.id, party.lang` - **after_super** `execute` - - condition: `configuration.identifier_types != identifier_types` + - condition: `party_h.column_exist('lang')` - object: `cursor` - - args: `*table.update([table.identifier_types], [cls.identifier_types.sql_format(identifier_types)])` -- **after_super** `update` - - condition: `configuration.identifier_types != identifier_types` + - args: `*query` +- **after_super** `drop_column` + - condition: `party_h.column_exist('lang')` + - object: `party_h` + - args: `'lang'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 268 +- **after_super** `insert` + - condition: `party_h.column_exist('lang')` - object: `table` - - args: `[table.identifier_types], [cls.identifier_types.sql_format(identifier_types)]` + - args: `[table.party, table.lang], party.select(party.id, party.lang)` +- **after_super** `select` + - condition: `party_h.column_exist('lang')` + - object: `party` + - args: `party.id, party.lang` +- **after_super** `execute` + - condition: `party_h.column_exist('lang')` + - object: `cursor` + - args: `*query` +- **after_super** `drop_column` + - condition: `party_h.column_exist('lang')` + - object: `party_h` + - args: `'lang'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 270 +- **after_super** `insert` + - condition: `party_h.column_exist('lang')` + - object: `table` + - args: `[table.party, table.lang], party.select(party.id, party.lang)` +- **after_super** `select` + - condition: `party_h.column_exist('lang')` + - object: `party` + - args: `party.id, party.lang` +- **after_super** `execute` + - condition: `party_h.column_exist('lang')` + - object: `cursor` + - args: `*query` +- **after_super** `drop_column` + - condition: `party_h.column_exist('lang')` + - object: `party_h` + - args: `'lang'` + + +### 6.0 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 322 +- **after_super** `insert` + - condition: `party_h.column_exist('lang')` + - object: `table` + - args: `[table.party, table.lang], party.select(party.id, party.lang)` +- **after_super** `select` + - condition: `party_h.column_exist('lang')` + - object: `party` + - args: `party.id, party.lang` +- **after_super** `execute` + - condition: `party_h.column_exist('lang')` + - object: `cursor` + - args: `*query` +- **after_super** `drop_column` + - condition: `party_h.column_exist('lang')` + - object: `party_h` + - args: `'lang'` + + +### 6.2 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 357 +- **after_super** `insert` + - condition: `party_h.column_exist('lang')` + - object: `table` + - args: `[table.party, table.lang], party.select(party.id, party.lang)` +- **after_super** `select` + - condition: `party_h.column_exist('lang')` + - object: `party` + - args: `party.id, party.lang` +- **after_super** `execute` + - condition: `party_h.column_exist('lang')` + - object: `cursor` + - args: `*query` +- **after_super** `drop_column` + - condition: `party_h.column_exist('lang')` + - object: `party_h` + - args: `'lang'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 356 +- **after_super** `insert` + - condition: `party_h.column_exist('lang')` + - object: `table` + - args: `[table.party, table.lang], party.select(party.id, party.lang)` +- **after_super** `select` + - condition: `party_h.column_exist('lang')` + - object: `party` + - args: `party.id, party.lang` +- **after_super** `execute` + - condition: `party_h.column_exist('lang')` + - object: `cursor` + - args: `*query` +- **after_super** `drop_column` + - condition: `party_h.column_exist('lang')` + - object: `party_h` + - args: `'lang'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 345 +- **after_super** `insert` + - condition: `party_h.column_exist('lang')` + - object: `table` + - args: `[table.party, table.lang], party.select(party.id, party.lang)` +- **after_super** `select` + - condition: `party_h.column_exist('lang')` + - object: `party` + - args: `party.id, party.lang` +- **after_super** `execute` + - condition: `party_h.column_exist('lang')` + - object: `cursor` + - args: `*query` +- **after_super** `drop_column` + - condition: `party_h.column_exist('lang')` + - object: `party_h` + - args: `'lang'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/modules/party/party.py : 345 +- **after_super** `insert` + - condition: `party_h.column_exist('lang')` + - object: `table` + - args: `[table.party, table.lang], party.select(party.id, party.lang)` +- **after_super** `select` + - condition: `party_h.column_exist('lang')` + - object: `party` + - args: `party.id, party.lang` +- **after_super** `execute` + - condition: `party_h.column_exist('lang')` + - object: `cursor` + - args: `*query` +- **after_super** `drop_column` + - condition: `party_h.column_exist('lang')` + - object: `party_h` + - args: `'lang'` diff --git a/reports/product.md b/reports/product.md index 8d71d1d..02b7cd0 100644 --- a/reports/product.md +++ b/reports/product.md @@ -1,195 +1,135 @@ # product -## Klasse ProductCostPriceMethod - -### 5.0 - -file: /home/uha4/tmp/tryton/modules/product/product.py : 374 -- **after_super** `execute` - - condition: `cost_price_table.column_exist('template')` - - object: `cursor` - - 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]))` -- **after_super** `insert` - - condition: `cost_price_table.column_exist('template')` - - object: `sql_table` - - kwargs: - - columns: `[Column(sql_table, c) for c in columns]` - - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` -- **after_super** `select` - - condition: `cost_price_table.column_exist('template')` - - object: `cost_price` - - args: `*[Column(cost_price, c) for c in columns]` - - -### 5.2 - -file: /home/uha4/tmp/tryton/modules/product/product.py : 382 -- **after_super** `execute` - - condition: `cost_price_table.column_exist('template')` - - object: `cursor` - - 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]))` -- **after_super** `insert` - - condition: `cost_price_table.column_exist('template')` - - object: `sql_table` - - kwargs: - - columns: `[Column(sql_table, c) for c in columns]` - - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` -- **after_super** `select` - - condition: `cost_price_table.column_exist('template')` - - object: `cost_price` - - args: `*[Column(cost_price, c) for c in columns]` - - -### 5.4 - -file: /home/uha4/tmp/tryton/modules/product/product.py : 439 -- **after_super** `execute` - - condition: `cost_price_table.column_exist('template')` - - object: `cursor` - - 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]))` -- **after_super** `insert` - - condition: `cost_price_table.column_exist('template')` - - object: `sql_table` - - kwargs: - - columns: `[Column(sql_table, c) for c in columns]` - - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` -- **after_super** `select` - - condition: `cost_price_table.column_exist('template')` - - object: `cost_price` - - args: `*[Column(cost_price, c) for c in columns]` - +## Klasse Product ### 5.6 -file: /home/uha4/tmp/tryton/modules/product/product.py : 578 +file: /home/uha4/tmp/tryton/modules/product/product.py : 360 - **after_super** `execute` - - condition: `cost_price_table.column_exist('template')` + - condition: `fill_suffix_code` - object: `cursor` - - 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]))` -- **after_super** `insert` - - condition: `cost_price_table.column_exist('template')` - - object: `sql_table` - - kwargs: - - columns: `[Column(sql_table, c) for c in columns]` - - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` -- **after_super** `select` - - condition: `cost_price_table.column_exist('template')` - - object: `cost_price` - - args: `*[Column(cost_price, c) for c in columns]` + - args: `*table.update([table.suffix_code], [table.code])` +- **after_super** `update` + - condition: `fill_suffix_code` + - object: `table` + - args: `[table.suffix_code], [table.code]` ### 5.8 -file: /home/uha4/tmp/tryton/modules/product/product.py : 622 +file: /home/uha4/tmp/tryton/modules/product/product.py : 401 - **after_super** `execute` - - condition: `cost_price_table.column_exist('template')` + - condition: `fill_suffix_code` - object: `cursor` - - 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]))` -- **after_super** `insert` - - condition: `cost_price_table.column_exist('template')` - - object: `sql_table` - - kwargs: - - columns: `[Column(sql_table, c) for c in columns]` - - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` -- **after_super** `select` - - condition: `cost_price_table.column_exist('template')` - - object: `cost_price` - - args: `*[Column(cost_price, c) for c in columns]` + - args: `*table.update([table.suffix_code], [table.code])` +- **after_super** `update` + - condition: `fill_suffix_code` + - object: `table` + - args: `[table.suffix_code], [table.code]` ### 6.0 -file: /home/uha4/tmp/tryton/modules/product/product.py : 647 +file: /home/uha4/tmp/tryton/modules/product/product.py : 416 - **after_super** `execute` - - condition: `cost_price_table.column_exist('template')` + - condition: `fill_suffix_code` - object: `cursor` - - 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]))` -- **after_super** `insert` - - condition: `cost_price_table.column_exist('template')` - - object: `sql_table` - - kwargs: - - columns: `[Column(sql_table, c) for c in columns]` - - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` -- **after_super** `select` - - condition: `cost_price_table.column_exist('template')` - - object: `cost_price` - - args: `*[Column(cost_price, c) for c in columns]` + - args: `*table.update([table.suffix_code], [table.code])` +- **after_super** `update` + - condition: `fill_suffix_code` + - object: `table` + - args: `[table.suffix_code], [table.code]` ### 6.2 -file: /home/uha4/tmp/tryton/modules/product/product.py : 677 +file: /home/uha4/tmp/tryton/modules/product/product.py : 432 - **after_super** `execute` - - condition: `cost_price_table.column_exist('template')` + - condition: `fill_suffix_code` - object: `cursor` - - 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]))` -- **after_super** `insert` - - condition: `cost_price_table.column_exist('template')` - - object: `sql_table` - - kwargs: - - columns: `[Column(sql_table, c) for c in columns]` - - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` -- **after_super** `select` - - condition: `cost_price_table.column_exist('template')` - - object: `cost_price` - - args: `*[Column(cost_price, c) for c in columns]` + - args: `*table.update([table.suffix_code], [table.code])` +- **after_super** `update` + - condition: `fill_suffix_code` + - object: `table` + - args: `[table.suffix_code], [table.code]` ### 6.4 -file: /home/uha4/tmp/tryton/modules/product/product.py : 669 +file: /home/uha4/tmp/tryton/modules/product/product.py : 424 - **after_super** `execute` - - condition: `cost_price_table.column_exist('template')` + - condition: `fill_suffix_code` - object: `cursor` - - 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]))` -- **after_super** `insert` - - condition: `cost_price_table.column_exist('template')` - - object: `sql_table` - - kwargs: - - columns: `[Column(sql_table, c) for c in columns]` - - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` -- **after_super** `select` - - condition: `cost_price_table.column_exist('template')` - - object: `cost_price` - - args: `*[Column(cost_price, c) for c in columns]` + - args: `*table.update([table.suffix_code], [table.code])` +- **after_super** `update` + - condition: `fill_suffix_code` + - object: `table` + - args: `[table.suffix_code], [table.code]` ### 6.6 -file: /home/uha4/tmp/tryton/modules/product/product.py : 708 +file: /home/uha4/tmp/tryton/modules/product/product.py : 444 - **after_super** `execute` - - condition: `cost_price_table.column_exist('template')` + - condition: `fill_suffix_code` - object: `cursor` - - 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]))` -- **after_super** `insert` - - condition: `cost_price_table.column_exist('template')` - - object: `sql_table` - - kwargs: - - columns: `[Column(sql_table, c) for c in columns]` - - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` -- **after_super** `select` - - condition: `cost_price_table.column_exist('template')` - - object: `cost_price` - - args: `*[Column(cost_price, c) for c in columns]` + - args: `*table.update([table.suffix_code], [table.code])` +- **after_super** `update` + - condition: `fill_suffix_code` + - object: `table` + - args: `[table.suffix_code], [table.code]` ### 6.8 -file: /home/uha4/tmp/tryton/modules/product/product.py : 732 +file: /home/uha4/tmp/tryton/modules/product/product.py : 447 - **after_super** `execute` - - condition: `cost_price_table.column_exist('template')` + - condition: `fill_suffix_code` - object: `cursor` - - 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]))` -- **after_super** `insert` - - condition: `cost_price_table.column_exist('template')` - - object: `sql_table` - - kwargs: - - columns: `[Column(sql_table, c) for c in columns]` - - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` -- **after_super** `select` - - condition: `cost_price_table.column_exist('template')` - - object: `cost_price` - - args: `*[Column(cost_price, c) for c in columns]` + - args: `*table.update([table.suffix_code], [table.code])` +- **after_super** `update` + - condition: `fill_suffix_code` + - object: `table` + - args: `[table.suffix_code], [table.code]` + + +### 7.0 + +file: /home/uha4/tmp/tryton/modules/product/product.py : 494 +- **after_super** `execute` + - condition: `fill_suffix_code` + - object: `cursor` + - args: `*table.update([table.suffix_code], [table.code])` +- **after_super** `update` + - condition: `fill_suffix_code` + - object: `table` + - args: `[table.suffix_code], [table.code]` + + +### 7.2 + +file: /home/uha4/tmp/tryton/modules/product/product.py : 477 +- **after_super** `execute` + - condition: `fill_suffix_code` + - object: `cursor` + - args: `*table.update([table.suffix_code], [table.code])` +- **after_super** `update` + - condition: `fill_suffix_code` + - object: `table` + - args: `[table.suffix_code], [table.code]` + + +### 7.4 + +file: /home/uha4/tmp/tryton/modules/product/product.py : 505 +- **after_super** `execute` + - condition: `fill_suffix_code` + - object: `cursor` + - args: `*table.update([table.suffix_code], [table.code])` +- **after_super** `update` + - condition: `fill_suffix_code` + - object: `table` + - args: `[table.suffix_code], [table.code]` ## Klasse ProductCostPrice @@ -574,135 +514,195 @@ file: /home/uha4/tmp/tryton/modules/product/product.py : 796 - args: `'template'` -## Klasse Product +## Klasse ProductCostPriceMethod + +### 5.0 + +file: /home/uha4/tmp/tryton/modules/product/product.py : 374 +- **after_super** `execute` + - condition: `cost_price_table.column_exist('template')` + - object: `cursor` + - 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]))` +- **after_super** `insert` + - condition: `cost_price_table.column_exist('template')` + - object: `sql_table` + - kwargs: + - columns: `[Column(sql_table, c) for c in columns]` + - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` +- **after_super** `select` + - condition: `cost_price_table.column_exist('template')` + - object: `cost_price` + - args: `*[Column(cost_price, c) for c in columns]` + + +### 5.2 + +file: /home/uha4/tmp/tryton/modules/product/product.py : 382 +- **after_super** `execute` + - condition: `cost_price_table.column_exist('template')` + - object: `cursor` + - 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]))` +- **after_super** `insert` + - condition: `cost_price_table.column_exist('template')` + - object: `sql_table` + - kwargs: + - columns: `[Column(sql_table, c) for c in columns]` + - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` +- **after_super** `select` + - condition: `cost_price_table.column_exist('template')` + - object: `cost_price` + - args: `*[Column(cost_price, c) for c in columns]` + + +### 5.4 + +file: /home/uha4/tmp/tryton/modules/product/product.py : 439 +- **after_super** `execute` + - condition: `cost_price_table.column_exist('template')` + - object: `cursor` + - 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]))` +- **after_super** `insert` + - condition: `cost_price_table.column_exist('template')` + - object: `sql_table` + - kwargs: + - columns: `[Column(sql_table, c) for c in columns]` + - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` +- **after_super** `select` + - condition: `cost_price_table.column_exist('template')` + - object: `cost_price` + - args: `*[Column(cost_price, c) for c in columns]` + ### 5.6 -file: /home/uha4/tmp/tryton/modules/product/product.py : 360 +file: /home/uha4/tmp/tryton/modules/product/product.py : 578 - **after_super** `execute` - - condition: `fill_suffix_code` + - condition: `cost_price_table.column_exist('template')` - object: `cursor` - - args: `*table.update([table.suffix_code], [table.code])` -- **after_super** `update` - - condition: `fill_suffix_code` - - object: `table` - - args: `[table.suffix_code], [table.code]` + - 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]))` +- **after_super** `insert` + - condition: `cost_price_table.column_exist('template')` + - object: `sql_table` + - kwargs: + - columns: `[Column(sql_table, c) for c in columns]` + - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` +- **after_super** `select` + - condition: `cost_price_table.column_exist('template')` + - object: `cost_price` + - args: `*[Column(cost_price, c) for c in columns]` ### 5.8 -file: /home/uha4/tmp/tryton/modules/product/product.py : 401 +file: /home/uha4/tmp/tryton/modules/product/product.py : 622 - **after_super** `execute` - - condition: `fill_suffix_code` + - condition: `cost_price_table.column_exist('template')` - object: `cursor` - - args: `*table.update([table.suffix_code], [table.code])` -- **after_super** `update` - - condition: `fill_suffix_code` - - object: `table` - - args: `[table.suffix_code], [table.code]` + - 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]))` +- **after_super** `insert` + - condition: `cost_price_table.column_exist('template')` + - object: `sql_table` + - kwargs: + - columns: `[Column(sql_table, c) for c in columns]` + - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` +- **after_super** `select` + - condition: `cost_price_table.column_exist('template')` + - object: `cost_price` + - args: `*[Column(cost_price, c) for c in columns]` ### 6.0 -file: /home/uha4/tmp/tryton/modules/product/product.py : 416 +file: /home/uha4/tmp/tryton/modules/product/product.py : 647 - **after_super** `execute` - - condition: `fill_suffix_code` + - condition: `cost_price_table.column_exist('template')` - object: `cursor` - - args: `*table.update([table.suffix_code], [table.code])` -- **after_super** `update` - - condition: `fill_suffix_code` - - object: `table` - - args: `[table.suffix_code], [table.code]` + - 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]))` +- **after_super** `insert` + - condition: `cost_price_table.column_exist('template')` + - object: `sql_table` + - kwargs: + - columns: `[Column(sql_table, c) for c in columns]` + - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` +- **after_super** `select` + - condition: `cost_price_table.column_exist('template')` + - object: `cost_price` + - args: `*[Column(cost_price, c) for c in columns]` ### 6.2 -file: /home/uha4/tmp/tryton/modules/product/product.py : 432 +file: /home/uha4/tmp/tryton/modules/product/product.py : 677 - **after_super** `execute` - - condition: `fill_suffix_code` + - condition: `cost_price_table.column_exist('template')` - object: `cursor` - - args: `*table.update([table.suffix_code], [table.code])` -- **after_super** `update` - - condition: `fill_suffix_code` - - object: `table` - - args: `[table.suffix_code], [table.code]` + - 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]))` +- **after_super** `insert` + - condition: `cost_price_table.column_exist('template')` + - object: `sql_table` + - kwargs: + - columns: `[Column(sql_table, c) for c in columns]` + - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` +- **after_super** `select` + - condition: `cost_price_table.column_exist('template')` + - object: `cost_price` + - args: `*[Column(cost_price, c) for c in columns]` ### 6.4 -file: /home/uha4/tmp/tryton/modules/product/product.py : 424 +file: /home/uha4/tmp/tryton/modules/product/product.py : 669 - **after_super** `execute` - - condition: `fill_suffix_code` + - condition: `cost_price_table.column_exist('template')` - object: `cursor` - - args: `*table.update([table.suffix_code], [table.code])` -- **after_super** `update` - - condition: `fill_suffix_code` - - object: `table` - - args: `[table.suffix_code], [table.code]` + - 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]))` +- **after_super** `insert` + - condition: `cost_price_table.column_exist('template')` + - object: `sql_table` + - kwargs: + - columns: `[Column(sql_table, c) for c in columns]` + - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` +- **after_super** `select` + - condition: `cost_price_table.column_exist('template')` + - object: `cost_price` + - args: `*[Column(cost_price, c) for c in columns]` ### 6.6 -file: /home/uha4/tmp/tryton/modules/product/product.py : 444 +file: /home/uha4/tmp/tryton/modules/product/product.py : 708 - **after_super** `execute` - - condition: `fill_suffix_code` + - condition: `cost_price_table.column_exist('template')` - object: `cursor` - - args: `*table.update([table.suffix_code], [table.code])` -- **after_super** `update` - - condition: `fill_suffix_code` - - object: `table` - - args: `[table.suffix_code], [table.code]` + - 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]))` +- **after_super** `insert` + - condition: `cost_price_table.column_exist('template')` + - object: `sql_table` + - kwargs: + - columns: `[Column(sql_table, c) for c in columns]` + - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` +- **after_super** `select` + - condition: `cost_price_table.column_exist('template')` + - object: `cost_price` + - args: `*[Column(cost_price, c) for c in columns]` ### 6.8 -file: /home/uha4/tmp/tryton/modules/product/product.py : 447 +file: /home/uha4/tmp/tryton/modules/product/product.py : 732 - **after_super** `execute` - - condition: `fill_suffix_code` + - condition: `cost_price_table.column_exist('template')` - object: `cursor` - - args: `*table.update([table.suffix_code], [table.code])` -- **after_super** `update` - - condition: `fill_suffix_code` - - object: `table` - - args: `[table.suffix_code], [table.code]` - - -### 7.0 - -file: /home/uha4/tmp/tryton/modules/product/product.py : 494 -- **after_super** `execute` - - condition: `fill_suffix_code` - - object: `cursor` - - args: `*table.update([table.suffix_code], [table.code])` -- **after_super** `update` - - condition: `fill_suffix_code` - - object: `table` - - args: `[table.suffix_code], [table.code]` - - -### 7.2 - -file: /home/uha4/tmp/tryton/modules/product/product.py : 477 -- **after_super** `execute` - - condition: `fill_suffix_code` - - object: `cursor` - - args: `*table.update([table.suffix_code], [table.code])` -- **after_super** `update` - - condition: `fill_suffix_code` - - object: `table` - - args: `[table.suffix_code], [table.code]` - - -### 7.4 - -file: /home/uha4/tmp/tryton/modules/product/product.py : 505 -- **after_super** `execute` - - condition: `fill_suffix_code` - - object: `cursor` - - args: `*table.update([table.suffix_code], [table.code])` -- **after_super** `update` - - condition: `fill_suffix_code` - - object: `table` - - args: `[table.suffix_code], [table.code]` + - 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]))` +- **after_super** `insert` + - condition: `cost_price_table.column_exist('template')` + - object: `sql_table` + - kwargs: + - columns: `[Column(sql_table, c) for c in columns]` + - values: `cost_price.select(*[Column(cost_price, c) for c in columns])` +- **after_super** `select` + - condition: `cost_price_table.column_exist('template')` + - object: `cost_price` + - args: `*[Column(cost_price, c) for c in columns]` diff --git a/reports/production.md b/reports/production.md index 7d0dbe3..7ab3eb0 100644 --- a/reports/production.md +++ b/reports/production.md @@ -1,5 +1,184 @@ # production +## Klasse BOMInput + +### 6.2 + +file: /home/uha4/tmp/tryton/modules/production/bom.py : 70 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'product_bom_uniq'` + + +### 6.4 + +file: /home/uha4/tmp/tryton/modules/production/bom.py : 70 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'product_bom_uniq'` + + +### 6.6 + +file: /home/uha4/tmp/tryton/modules/production/bom.py : 70 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'product_bom_uniq'` + + +### 6.8 + +file: /home/uha4/tmp/tryton/modules/production/bom.py : 70 +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'product_bom_uniq'` + + +### 7.0 + +file: /home/uha4/tmp/tryton/modules/production/bom.py : 72 +- **before_super** `column_rename` + - condition: `table_h.column_exist('uom') and (not table_h.column_exist('unit'))` + - object: `table_h` + - args: `'uom', 'unit'` +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'product_bom_uniq'` + + +### 7.2 + +file: /home/uha4/tmp/tryton/modules/production/bom.py : 72 +- **before_super** `column_rename` + - condition: `table_h.column_exist('uom') and (not table_h.column_exist('unit'))` + - object: `table_h` + - args: `'uom', 'unit'` +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'product_bom_uniq'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/modules/production/bom.py : 146 +- **before_super** `column_rename` + - condition: `table_h.column_exist('uom') and (not table_h.column_exist('unit'))` + - object: `table_h` + - args: `'uom', 'unit'` +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'product_bom_uniq'` + + +### 7.6 + +file: /home/uha4/tmp/tryton/modules/production/bom.py : 142 +- **before_super** `column_rename` + - condition: `table_h.column_exist('uom') and (not table_h.column_exist('unit'))` + - object: `table_h` + - args: `'uom', 'unit'` +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'product_bom_uniq'` + + +### 7.8 + +file: /home/uha4/tmp/tryton/modules/production/bom.py : 208 +- **before_super** `column_rename` + - condition: `table_h.column_exist('uom') and (not table_h.column_exist('unit'))` + - object: `table_h` + - args: `'uom', 'unit'` +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'product_bom_uniq'` +- **after_super** `not_null_action` + - object: `table_h` + - args: `'product', 'remove'` + + +### 8.0 + +file: /home/uha4/tmp/tryton/modules/production/bom.py : 208 +- **before_super** `column_rename` + - condition: `table_h.column_exist('uom') and (not table_h.column_exist('unit'))` + - object: `table_h` + - args: `'uom', 'unit'` +- **after_super** `drop_constraint` + - object: `table_h` + - args: `'product_bom_uniq'` +- **after_super** `not_null_action` + - object: `table_h` + - args: `'product', 'remove'` + + +## Klasse Cron + +### 7.2 + +file: /home/uha4/tmp/tryton/modules/production/ir.py : 19 +- **after_super** `execute` + - object: `cursor` + - args: `*table.update([table.method], ['ir.cron|stock_shipment_assign_try'], where=table.method == 'production|assign_cron')` +- **after_super** `update` + - object: `table` + - args: `[table.method], ['ir.cron|stock_shipment_assign_try']` + - kwargs: + - where: `table.method == 'production|assign_cron'` + + +### 7.4 + +file: /home/uha4/tmp/tryton/modules/production/ir.py : 19 +- **after_super** `execute` + - object: `cursor` + - args: `*table.update([table.method], ['ir.cron|stock_shipment_assign_try'], where=table.method == 'production|assign_cron')` +- **after_super** `update` + - object: `table` + - args: `[table.method], ['ir.cron|stock_shipment_assign_try']` + - kwargs: + - where: `table.method == 'production|assign_cron'` + + +### 7.6 + +file: /home/uha4/tmp/tryton/modules/production/ir.py : 19 +- **after_super** `execute` + - object: `cursor` + - args: `*table.update([table.method], ['ir.cron|stock_shipment_assign_try'], where=table.method == 'production|assign_cron')` +- **after_super** `update` + - object: `table` + - args: `[table.method], ['ir.cron|stock_shipment_assign_try']` + - kwargs: + - where: `table.method == 'production|assign_cron'` + + +### 7.8 + +file: /home/uha4/tmp/tryton/modules/production/ir.py : 19 +- **after_super** `execute` + - object: `cursor` + - args: `*table.update([table.method], ['ir.cron|stock_shipment_assign_try'], where=table.method == 'production|assign_cron')` +- **after_super** `update` + - object: `table` + - args: `[table.method], ['ir.cron|stock_shipment_assign_try']` + - kwargs: + - where: `table.method == 'production|assign_cron'` + + +### 8.0 + +file: /home/uha4/tmp/tryton/modules/production/ir.py : 19 +- **after_super** `execute` + - object: `cursor` + - args: `*table.update([table.method], ['ir.cron|stock_shipment_assign_try'], where=table.method == 'production|assign_cron')` +- **after_super** `update` + - object: `table` + - args: `[table.method], ['ir.cron|stock_shipment_assign_try']` + - kwargs: + - where: `table.method == 'production|assign_cron'` + + ## Klasse Production ### 5.0 @@ -298,182 +477,3 @@ file: /home/uha4/tmp/tryton/modules/production/production.py : 276 - args: `'uom', 'unit'` -## Klasse BOMInput - -### 6.2 - -file: /home/uha4/tmp/tryton/modules/production/bom.py : 70 -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'product_bom_uniq'` - - -### 6.4 - -file: /home/uha4/tmp/tryton/modules/production/bom.py : 70 -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'product_bom_uniq'` - - -### 6.6 - -file: /home/uha4/tmp/tryton/modules/production/bom.py : 70 -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'product_bom_uniq'` - - -### 6.8 - -file: /home/uha4/tmp/tryton/modules/production/bom.py : 70 -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'product_bom_uniq'` - - -### 7.0 - -file: /home/uha4/tmp/tryton/modules/production/bom.py : 72 -- **before_super** `column_rename` - - condition: `table_h.column_exist('uom') and (not table_h.column_exist('unit'))` - - object: `table_h` - - args: `'uom', 'unit'` -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'product_bom_uniq'` - - -### 7.2 - -file: /home/uha4/tmp/tryton/modules/production/bom.py : 72 -- **before_super** `column_rename` - - condition: `table_h.column_exist('uom') and (not table_h.column_exist('unit'))` - - object: `table_h` - - args: `'uom', 'unit'` -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'product_bom_uniq'` - - -### 7.4 - -file: /home/uha4/tmp/tryton/modules/production/bom.py : 146 -- **before_super** `column_rename` - - condition: `table_h.column_exist('uom') and (not table_h.column_exist('unit'))` - - object: `table_h` - - args: `'uom', 'unit'` -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'product_bom_uniq'` - - -### 7.6 - -file: /home/uha4/tmp/tryton/modules/production/bom.py : 142 -- **before_super** `column_rename` - - condition: `table_h.column_exist('uom') and (not table_h.column_exist('unit'))` - - object: `table_h` - - args: `'uom', 'unit'` -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'product_bom_uniq'` - - -### 7.8 - -file: /home/uha4/tmp/tryton/modules/production/bom.py : 208 -- **before_super** `column_rename` - - condition: `table_h.column_exist('uom') and (not table_h.column_exist('unit'))` - - object: `table_h` - - args: `'uom', 'unit'` -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'product_bom_uniq'` -- **after_super** `not_null_action` - - object: `table_h` - - args: `'product', 'remove'` - - -### 8.0 - -file: /home/uha4/tmp/tryton/modules/production/bom.py : 208 -- **before_super** `column_rename` - - condition: `table_h.column_exist('uom') and (not table_h.column_exist('unit'))` - - object: `table_h` - - args: `'uom', 'unit'` -- **after_super** `drop_constraint` - - object: `table_h` - - args: `'product_bom_uniq'` -- **after_super** `not_null_action` - - object: `table_h` - - args: `'product', 'remove'` - - -## Klasse Cron - -### 7.2 - -file: /home/uha4/tmp/tryton/modules/production/ir.py : 19 -- **after_super** `execute` - - object: `cursor` - - args: `*table.update([table.method], ['ir.cron|stock_shipment_assign_try'], where=table.method == 'production|assign_cron')` -- **after_super** `update` - - object: `table` - - args: `[table.method], ['ir.cron|stock_shipment_assign_try']` - - kwargs: - - where: `table.method == 'production|assign_cron'` - - -### 7.4 - -file: /home/uha4/tmp/tryton/modules/production/ir.py : 19 -- **after_super** `execute` - - object: `cursor` - - args: `*table.update([table.method], ['ir.cron|stock_shipment_assign_try'], where=table.method == 'production|assign_cron')` -- **after_super** `update` - - object: `table` - - args: `[table.method], ['ir.cron|stock_shipment_assign_try']` - - kwargs: - - where: `table.method == 'production|assign_cron'` - - -### 7.6 - -file: /home/uha4/tmp/tryton/modules/production/ir.py : 19 -- **after_super** `execute` - - object: `cursor` - - args: `*table.update([table.method], ['ir.cron|stock_shipment_assign_try'], where=table.method == 'production|assign_cron')` -- **after_super** `update` - - object: `table` - - args: `[table.method], ['ir.cron|stock_shipment_assign_try']` - - kwargs: - - where: `table.method == 'production|assign_cron'` - - -### 7.8 - -file: /home/uha4/tmp/tryton/modules/production/ir.py : 19 -- **after_super** `execute` - - object: `cursor` - - args: `*table.update([table.method], ['ir.cron|stock_shipment_assign_try'], where=table.method == 'production|assign_cron')` -- **after_super** `update` - - object: `table` - - args: `[table.method], ['ir.cron|stock_shipment_assign_try']` - - kwargs: - - where: `table.method == 'production|assign_cron'` - - -### 8.0 - -file: /home/uha4/tmp/tryton/modules/production/ir.py : 19 -- **after_super** `execute` - - object: `cursor` - - args: `*table.update([table.method], ['ir.cron|stock_shipment_assign_try'], where=table.method == 'production|assign_cron')` -- **after_super** `update` - - object: `table` - - args: `[table.method], ['ir.cron|stock_shipment_assign_try']` - - kwargs: - - where: `table.method == 'production|assign_cron'` - - diff --git a/reports/res.md b/reports/res.md new file mode 100644 index 0000000..b857522 --- /dev/null +++ b/reports/res.md @@ -0,0 +1,395 @@ +# res + +## Klasse User + +### 5.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/res/user.py : 200 +- **after_super** `execute` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `cursor` + - args: `*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])` +- **after_super** `update` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `sqltable` + - kwargs: + - columns: `[sqltable.password_hash]` + - values: `[password_hash_new]` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'password'` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'salt'` +- **after_super** `not_null_action` + - object: `table` + - args: `'name'` + - kwargs: + - action: `'remove'` + + +### 5.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/res/user.py : 194 +- **after_super** `execute` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `cursor` + - args: `*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])` +- **after_super** `update` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `sqltable` + - kwargs: + - columns: `[sqltable.password_hash]` + - values: `[password_hash_new]` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'password'` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'salt'` +- **after_super** `not_null_action` + - object: `table` + - args: `'name'` + - kwargs: + - action: `'remove'` + + +### 5.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/res/user.py : 194 +- **after_super** `execute` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `cursor` + - args: `*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])` +- **after_super** `update` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `sqltable` + - kwargs: + - columns: `[sqltable.password_hash]` + - values: `[password_hash_new]` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'password'` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'salt'` +- **after_super** `not_null_action` + - object: `table` + - args: `'name'` + - kwargs: + - action: `'remove'` + + +### 5.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/res/user.py : 195 +- **after_super** `execute` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `cursor` + - args: `*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])` +- **after_super** `update` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `sqltable` + - kwargs: + - columns: `[sqltable.password_hash]` + - values: `[password_hash_new]` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'password'` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'salt'` +- **after_super** `not_null_action` + - object: `table` + - args: `'name'` + - kwargs: + - action: `'remove'` + + +### 5.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/res/user.py : 191 +- **after_super** `execute` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `cursor` + - args: `*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])` +- **after_super** `update` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `sqltable` + - kwargs: + - columns: `[sqltable.password_hash]` + - values: `[password_hash_new]` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'password'` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'salt'` +- **after_super** `not_null_action` + - object: `table` + - args: `'name'` + - kwargs: + - action: `'remove'` +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.noupdate], [True]` + - kwargs: + - where: `(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')` + + +### 6.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/res/user.py : 197 +- **after_super** `execute` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `cursor` + - args: `*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])` +- **after_super** `update` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `sqltable` + - kwargs: + - columns: `[sqltable.password_hash]` + - values: `[password_hash_new]` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'password'` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'salt'` +- **after_super** `not_null_action` + - object: `table` + - args: `'name'` + - kwargs: + - action: `'remove'` +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.noupdate], [True]` + - kwargs: + - where: `(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')` + + +### 6.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/res/user.py : 205 +- **after_super** `execute` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `cursor` + - args: `*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])` +- **after_super** `update` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `sqltable` + - kwargs: + - columns: `[sqltable.password_hash]` + - values: `[password_hash_new]` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'password'` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'salt'` +- **after_super** `not_null_action` + - object: `table` + - args: `'name'` + - kwargs: + - action: `'remove'` +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.noupdate], [True]` + - kwargs: + - where: `(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')` + + +### 6.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/res/user.py : 202 +- **after_super** `execute` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `cursor` + - args: `*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])` +- **after_super** `update` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `sqltable` + - kwargs: + - columns: `[sqltable.password_hash]` + - values: `[password_hash_new]` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'password'` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'salt'` +- **after_super** `not_null_action` + - object: `table` + - args: `'name'` + - kwargs: + - action: `'remove'` +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.noupdate], [True]` + - kwargs: + - where: `(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')` + + +### 6.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/res/user.py : 202 +- **after_super** `execute` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `cursor` + - args: `*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])` +- **after_super** `update` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `sqltable` + - kwargs: + - columns: `[sqltable.password_hash]` + - values: `[password_hash_new]` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'password'` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'salt'` +- **after_super** `not_null_action` + - object: `table` + - args: `'name'` + - kwargs: + - action: `'remove'` +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.noupdate], [True]` + - kwargs: + - where: `(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')` + + +### 6.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/res/user.py : 202 +- **after_super** `execute` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `cursor` + - args: `*sqltable.update(columns=[sqltable.password_hash], values=[password_hash_new])` +- **after_super** `update` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `sqltable` + - kwargs: + - columns: `[sqltable.password_hash]` + - values: `[password_hash_new]` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'password'` +- **after_super** `drop_column` + - condition: `table.column_exist('password') and table.column_exist('salt')` + - object: `table` + - args: `'salt'` +- **after_super** `not_null_action` + - object: `table` + - args: `'name'` + - kwargs: + - action: `'remove'` +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.noupdate], [True]` + - kwargs: + - where: `(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')` + + +### 7.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/res/user.py : 207 +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.noupdate], [True]` + - kwargs: + - where: `(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')` + + +### 7.2 + +file: /home/uha4/tmp/tryton/trytond/trytond/res/user.py : 206 +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.noupdate], [True]` + - kwargs: + - where: `(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')` + + +### 7.4 + +file: /home/uha4/tmp/tryton/trytond/trytond/res/user.py : 206 +- **after_super** `execute` + - object: `cursor` + - args: `*model_data.update([model_data.noupdate], [True], where=(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin'))` +- **after_super** `update` + - object: `model_data` + - args: `[model_data.noupdate], [True]` + - kwargs: + - where: `(model_data.model == cls.__name__) & (model_data.module == 'res') & (model_data.fs_id == 'user_admin')` + + +### 7.6 + +file: /home/uha4/tmp/tryton/trytond/trytond/res/user.py : 195 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'menu', 'remove'` + + +### 7.8 + +file: /home/uha4/tmp/tryton/trytond/trytond/res/user.py : 199 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'menu', 'remove'` + + +### 8.0 + +file: /home/uha4/tmp/tryton/trytond/trytond/res/user.py : 198 +- **after_super** `not_null_action` + - object: `table_h` + - args: `'menu', 'remove'` + + diff --git a/extract_all.sh b/run.sh similarity index 78% rename from extract_all.sh rename to run.sh index a002b67..3aa7657 100755 --- a/extract_all.sh +++ b/run.sh @@ -39,5 +39,15 @@ do done git switch $END +cd $WORKDIR + +echo +echo + echo "======================================================" + echo "starte Auswertung" + echo "======================================================" + +python3 compare.py + echo echo "Fertig."