Files
odoo_source/addons/sale_quotation_builder/__init__.py
T
Denis Ledoux b4a7996e96 [IMP] base, *: change the API of init hooks to pass env
This is mostly a cleaning/refactoring change.

The current API for init hooks (pre, post, uninstall) is to pass
`cr, registry`.
But the first thing which was done by most
post init and uninstall hooks was to create an env using
the cr passed
e.g.
`env = api.Environment(cr, SUPERUSER_ID, {})`
and the `registry` argument was unused in all these hooks,
completely.

By changing the API of hooks to pass `env` instead
of `cr, registry`, we gain in average two lines in every
hooks:
- the line creating the env `env = api.Environment(cr, SUPERUSER_ID, {})`
- the line importing `api` and `SUPERUSER_ID`

Therefore removing ~250 lines of repeated code lines accross odoo/odoo and
odoo/enterprise.
In addition to these lines removed,
it also ease the API of init hooks for Odoo developers,
who are used to that `env` and not so much how to create an `env`
from a cursor.

Part-of: odoo/odoo#108254
2023-02-01 10:25:01 +01:00

33 lines
1013 B
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import controllers
from . import models
def _pre_init_sale_quotation_builder(env):
""" Allow installing sale_quotation_builder in databases
with large sale.order / sale.order.line tables.
Since website_description fields computation is based
on new fields added by the module, they will be empty anyway.
By avoiding the computation of those fields,
we reduce the installation time noticeably
"""
env.cr.execute("""
ALTER TABLE "sale_order"
ADD COLUMN "website_description" text
""")
env.cr.execute("""
ALTER TABLE "sale_order_line"
ADD COLUMN "website_description" text
""")
env.cr.execute("""
ALTER TABLE "sale_order_template_line"
ADD COLUMN "website_description" text
""")
env.cr.execute("""
ALTER TABLE "sale_order_template_option"
ADD COLUMN "website_description" text
""")