summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Trigaux <mat@odoo.com>2020-05-19 10:19:45 +0200
committerMartin Trigaux <mat@odoo.com>2020-05-26 15:50:11 +0200
commit4afa747fa1bc99e5626636541a2dabb22c7f22cd (patch)
tree4de41548363a800da127e6e988166ad825fcb1e2
parent8f578637076d4b65de222aa092ce738391ce5260 (diff)
[IMP] *: make ir.property methods private
Should only interact with them via python code in a controlled environment, no direct call with RPC
-rw-r--r--addons/account/tests/common.py10
-rw-r--r--addons/hr_expense/models/hr_expense.py4
-rw-r--r--addons/point_of_sale/tests/test_frontend.py2
-rw-r--r--addons/pos_restaurant/tests/test_frontend.py2
-rw-r--r--addons/product/models/product_pricelist.py4
-rw-r--r--addons/product/models/res_company.py4
-rw-r--r--addons/product/models/res_partner.py4
-rw-r--r--addons/stock_account/__init__.py4
-rw-r--r--addons/stock_account/tests/common.py4
-rw-r--r--addons/test_website_slides_full/tests/test_ui_wslides.py4
-rw-r--r--odoo/addons/base/models/ir_property.py12
-rw-r--r--odoo/addons/test_main_flows/tests/test_flow.py10
-rw-r--r--odoo/addons/test_new_api/tests/test_new_fields.py6
-rw-r--r--odoo/addons/test_performance/tests/test_performance.py4
-rw-r--r--odoo/fields.py6
-rw-r--r--odoo/models.py2
16 files changed, 41 insertions, 41 deletions
diff --git a/addons/account/tests/common.py b/addons/account/tests/common.py
index b46ca6f93c4..5c665ef1092 100644
--- a/addons/account/tests/common.py
+++ b/addons/account/tests/common.py
@@ -213,11 +213,11 @@ class AccountTestCommon(SavepointCase):
# Properties: Product income and expense accounts, default parameters
Property = cls.env['ir.property']
- Property.set_default('property_account_receivable_id', 'res.partner', cls.a_recv, cls.company)
- Property.set_default('property_account_payable_id', 'res.partner', cls.a_pay, cls.company)
- Property.set_default('property_account_position_id', 'res.partner', False, cls.company)
- Property.set_default('property_account_expense_categ_id', 'product.category', cls.a_expense, cls.company)
- Property.set_default('property_account_income_categ_id', 'product.category', cls.a_sale, cls.company)
+ Property._set_default('property_account_receivable_id', 'res.partner', cls.a_recv, cls.company)
+ Property._set_default('property_account_payable_id', 'res.partner', cls.a_pay, cls.company)
+ Property._set_default('property_account_position_id', 'res.partner', False, cls.company)
+ Property._set_default('property_account_expense_categ_id', 'product.category', cls.a_expense, cls.company)
+ Property._set_default('property_account_income_categ_id', 'product.category', cls.a_sale, cls.company)
# Bank Accounts
cls.bank_account = cls.env['res.partner.bank'].create({
diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py
index fe9e0bddc60..7c1c6734234 100644
--- a/addons/hr_expense/models/hr_expense.py
+++ b/addons/hr_expense/models/hr_expense.py
@@ -26,7 +26,7 @@ class HrExpense(models.Model):
@api.model
def _default_account_id(self):
- return self.env['ir.property'].get('property_account_expense_categ_id', 'product.category')
+ return self.env['ir.property']._get('property_account_expense_categ_id', 'product.category')
@api.model
def _get_employee_id_domain(self):
@@ -365,7 +365,7 @@ class HrExpense(models.Model):
raise UserError(
_("No Expense account found for the product %s (or for its category), please configure one.") % (self.product_id.name))
else:
- account = self.env['ir.property'].with_company(self.company_id).get('property_account_expense_categ_id', 'product.category')
+ account = self.env['ir.property'].with_company(self.company_id)._get('property_account_expense_categ_id', 'product.category')
if not account:
raise UserError(_('Please configure Default Expense account for Product expense: `property_account_expense_categ_id`.'))
return account
diff --git a/addons/point_of_sale/tests/test_frontend.py b/addons/point_of_sale/tests/test_frontend.py
index 63807196588..69fff92983e 100644
--- a/addons/point_of_sale/tests/test_frontend.py
+++ b/addons/point_of_sale/tests/test_frontend.py
@@ -30,7 +30,7 @@ class TestPointOfSaleHttpCommon(odoo.tests.HttpCase):
'reconcile': True})
self.env.company.account_default_pos_receivable_account_id = account_receivable
- self.env['ir.property'].set_default(
+ self.env['ir.property']._set_default(
'property_account_receivable_id',
'res.partner',
account_receivable,
diff --git a/addons/pos_restaurant/tests/test_frontend.py b/addons/pos_restaurant/tests/test_frontend.py
index 44ae56444c2..28d023f294e 100644
--- a/addons/pos_restaurant/tests/test_frontend.py
+++ b/addons/pos_restaurant/tests/test_frontend.py
@@ -86,7 +86,7 @@ class TestFrontend(odoo.tests.HttpCase):
'user_type_id': self.env.ref('account.data_account_type_receivable').id,
'reconcile': True})
- self.env['ir.property'].set_default(
+ self.env['ir.property']._set_default(
'property_account_receivable_id',
'res.partner',
account_receivable,
diff --git a/addons/product/models/product_pricelist.py b/addons/product/models/product_pricelist.py
index 4938c9c313b..680ed729cf9 100644
--- a/addons/product/models/product_pricelist.py
+++ b/addons/product/models/product_pricelist.py
@@ -340,7 +340,7 @@ class Pricelist(models.Model):
pl_domain = self._get_partner_pricelist_multi_search_domain_hook(company_id)
# if no specific property, try to find a fitting pricelist
- result = Property.get_multi('property_product_pricelist', Partner._name, partner_ids)
+ result = Property._get_multi('property_product_pricelist', Partner._name, partner_ids)
remaining_partner_ids = [pid for pid, val in result.items() if not val or
not val._get_partner_pricelist_multi_filter_hook()]
@@ -348,7 +348,7 @@ class Pricelist(models.Model):
# get fallback pricelist when no pricelist for a given country
pl_fallback = (
Pricelist.search(pl_domain + [('country_group_ids', '=', False)], limit=1) or
- Property.get('property_product_pricelist', 'res.partner') or
+ Property._get('property_product_pricelist', 'res.partner') or
Pricelist.search(pl_domain, limit=1)
)
# group partners by country, and find a pricelist for each country
diff --git a/addons/product/models/res_company.py b/addons/product/models/res_company.py
index 94e053eda23..323d722fb87 100644
--- a/addons/product/models/res_company.py
+++ b/addons/product/models/res_company.py
@@ -18,7 +18,7 @@ class ResCompany(models.Model):
'name': _("Default %(currency)s pricelist") % params,
'currency_id': new_company.currency_id.id,
})
- self.env['ir.property'].sudo().set_default(
+ self.env['ir.property'].sudo()._set_default(
'property_product_pricelist',
'res.partner',
pricelist,
@@ -54,7 +54,7 @@ class ResCompany(models.Model):
'name': _("Default %(currency)s pricelist") % params,
'currency_id': currency_id,
})
- self.env['ir.property'].sudo().set_default(
+ self.env['ir.property'].sudo()._set_default(
'property_product_pricelist',
'res.partner',
pricelist,
diff --git a/addons/product/models/res_partner.py b/addons/product/models/res_partner.py
index 786923ef5a4..f76c0e4da63 100644
--- a/addons/product/models/res_partner.py
+++ b/addons/product/models/res_partner.py
@@ -29,11 +29,11 @@ class Partner(models.Model):
limit=1
)
default_for_country = pls and pls[0]
- actual = self.env['ir.property'].get('property_product_pricelist', 'res.partner', 'res.partner,%s' % partner.id)
+ actual = self.env['ir.property']._get('property_product_pricelist', 'res.partner', 'res.partner,%s' % partner.id)
# update at each change country, and so erase old pricelist
if partner.property_product_pricelist or (actual and default_for_country and default_for_country.id != actual.id):
# keep the company of the current user before sudo
- self.env['ir.property'].sudo().set_multi(
+ self.env['ir.property'].sudo()._set_multi(
'property_product_pricelist',
partner._name,
{partner.id: partner.property_product_pricelist or default_for_country.id},
diff --git a/addons/stock_account/__init__.py b/addons/stock_account/__init__.py
index e0fb76fd2d7..558fd40f096 100644
--- a/addons/stock_account/__init__.py
+++ b/addons/stock_account/__init__.py
@@ -34,7 +34,7 @@ def _configure_journals(cr, registry):
'company_id': company_id.id,
'show_on_dashboard': False
}).id
- env['ir.property'].set_default(
+ env['ir.property']._set_default(
'property_stock_journal',
'product.category',
journal_id,
@@ -51,7 +51,7 @@ def _configure_journals(cr, registry):
for name in todo_list:
account = getattr(company_id, name)
if account:
- env['ir.property'].set_default(
+ env['ir.property']._set_default(
name,
'product.category',
account,
diff --git a/addons/stock_account/tests/common.py b/addons/stock_account/tests/common.py
index 68d79a1b8d9..6eec8bce93c 100644
--- a/addons/stock_account/tests/common.py
+++ b/addons/stock_account/tests/common.py
@@ -11,13 +11,13 @@ class StockAccountTestCommon(AccountTestCommon):
super(StockAccountTestCommon, cls).setUpClass()
# Properties: Stock valuation account and journal
- cls.env['ir.property'].set_default(
+ cls.env['ir.property']._set_default(
'property_stock_valuation_account_id',
'product.category',
cls.stk,
cls.env.company,
)
- cls.env['ir.property'].set_default(
+ cls.env['ir.property']._set_default(
'property_stock_journal',
'product.category',
cls.miscellaneous_journal,
diff --git a/addons/test_website_slides_full/tests/test_ui_wslides.py b/addons/test_website_slides_full/tests/test_ui_wslides.py
index e8b45d55d7e..c3e999db7a8 100644
--- a/addons/test_website_slides_full/tests/test_ui_wslides.py
+++ b/addons/test_website_slides_full/tests/test_ui_wslides.py
@@ -41,8 +41,8 @@ class TestUi(TestUICommon):
})
Property = self.env['ir.property']
- Property.set_default('property_account_receivable_id', 'res.partner', a_recv, self.env.company)
- Property.set_default('property_account_payable_id', 'res.partner', a_pay, self.env.company)
+ Property._set_default('property_account_receivable_id', 'res.partner', a_recv, self.env.company)
+ Property._set_default('property_account_payable_id', 'res.partner', a_pay, self.env.company)
product_course_channel_6 = self.env['product.product'].create({
'name': 'DIY Furniture Course',
diff --git a/odoo/addons/base/models/ir_property.py b/odoo/addons/base/models/ir_property.py
index aed37bece8c..02703383df4 100644
--- a/odoo/addons/base/models/ir_property.py
+++ b/odoo/addons/base/models/ir_property.py
@@ -176,7 +176,7 @@ class Property(models.Model):
return False
@api.model
- def set_default(self, name, model, value, company=False):
+ def _set_default(self, name, model, value, company=False):
""" Set the given field's generic value for the given company.
:param name: the field's name
@@ -204,7 +204,7 @@ class Property(models.Model):
})
@api.model
- def get(self, name, model, res_id=False):
+ def _get(self, name, model, res_id=False):
""" Get the given field's generic value for the record.
:param name: the field's name
@@ -223,7 +223,7 @@ class Property(models.Model):
return p.get_by_record()
return False
- # only cache Property.get(res_id=False) as that's
+ # only cache Property._get(res_id=False) as that's
# sub-optimally.
COMPANY_KEY = "self.env.company.id"
@ormcache(COMPANY_KEY, 'name', 'model')
@@ -255,7 +255,7 @@ class Property(models.Model):
return [('fields_id', '=', res[0]), ('company_id', 'in', [company_id, False])]
@api.model
- def get_multi(self, name, model, ids):
+ def _get_multi(self, name, model, ids):
""" Read the property field `name` for the records of model `model` with
the given `ids`, and return a dictionary mapping `ids` to their
corresponding value.
@@ -319,7 +319,7 @@ class Property(models.Model):
}
@api.model
- def set_multi(self, name, model, values, default_value=None):
+ def _set_multi(self, name, model, values, default_value=None):
""" Assign the property field `name` for the records of model `model`
with `values` (dictionary mapping record ids to their value).
If the value for a given record is the same as the default
@@ -340,7 +340,7 @@ class Property(models.Model):
if domain is None:
raise Exception()
# retrieve the default value for the field
- default_value = clean(self.get(name, model))
+ default_value = clean(self._get(name, model))
# retrieve the properties corresponding to the given record ids
self._cr.execute("SELECT id FROM ir_model_fields WHERE name=%s AND model=%s", (name, model))
diff --git a/odoo/addons/test_main_flows/tests/test_flow.py b/odoo/addons/test_main_flows/tests/test_flow.py
index 4aaca90ed4d..6d2cfab311b 100644
--- a/odoo/addons/test_main_flows/tests/test_flow.py
+++ b/odoo/addons/test_main_flows/tests/test_flow.py
@@ -37,11 +37,11 @@ class BaseTestUi(odoo.tests.HttpCase):
})
Property = self.env['ir.property']
- Property.set_default('property_account_receivable_id', 'res.partner', a_recv, self.env.company)
- Property.set_default('property_account_payable_id', 'res.partner', a_pay, self.env.company)
- Property.set_default('property_account_position_id', 'res.partner', False, self.env.company)
- Property.set_default('property_account_expense_categ_id', 'product.category', a_expense, self.env.company)
- Property.set_default('property_account_income_categ_id', 'product.category', a_sale, self.env.company)
+ Property._set_default('property_account_receivable_id', 'res.partner', a_recv, self.env.company)
+ Property._set_default('property_account_payable_id', 'res.partner', a_pay, self.env.company)
+ Property._set_default('property_account_position_id', 'res.partner', False, self.env.company)
+ Property._set_default('property_account_expense_categ_id', 'product.category', a_expense, self.env.company)
+ Property._set_default('property_account_income_categ_id', 'product.category', a_sale, self.env.company)
self.expenses_journal = self.env['account.journal'].create({
'name': 'Vendor Bills - Test',
diff --git a/odoo/addons/test_new_api/tests/test_new_fields.py b/odoo/addons/test_new_api/tests/test_new_fields.py
index 6df342aaf94..44a1fe695bf 100644
--- a/odoo/addons/test_new_api/tests/test_new_fields.py
+++ b/odoo/addons/test_new_api/tests/test_new_fields.py
@@ -1071,9 +1071,9 @@ class TestFields(TransactionCaseWithUserDemo):
tag2 = self.env['test_new_api.multi.tag'].create({'name': 'Quuz'})
# create default values for the company-dependent fields
- self.env['ir.property'].set_default('foo', 'test_new_api.company', 'default')
- self.env['ir.property'].set_default('foo', 'test_new_api.company', 'default1', company1)
- self.env['ir.property'].set_default('tag_id', 'test_new_api.company', tag0)
+ self.env['ir.property']._set_default('foo', 'test_new_api.company', 'default')
+ self.env['ir.property']._set_default('foo', 'test_new_api.company', 'default1', company1)
+ self.env['ir.property']._set_default('tag_id', 'test_new_api.company', tag0)
# assumption: users don't have access to 'ir.property'
accesses = self.env['ir.model.access'].search([('model_id.model', '=', 'ir.property')])
diff --git a/odoo/addons/test_performance/tests/test_performance.py b/odoo/addons/test_performance/tests/test_performance.py
index d77ef7c1a21..104fce93195 100644
--- a/odoo/addons/test_performance/tests/test_performance.py
+++ b/odoo/addons/test_performance/tests/test_performance.py
@@ -459,7 +459,7 @@ class TestIrPropertyOptimizations(TransactionCase):
self.Eggs = self.env['test_performance.eggs']
def test_with_falsy_default(self):
- self.assertFalse(self.env['ir.property'].get('property_eggs', 'test_performance.bacon'))
+ self.assertFalse(self.env['ir.property']._get('property_eggs', 'test_performance.bacon'))
# warmup
eggs = self.Eggs.create({})
@@ -492,7 +492,7 @@ class TestIrPropertyOptimizations(TransactionCase):
'value': eggs,
})
- self.assertEqual(eggs, self.env['ir.property'].get('property_eggs', 'test_performance.bacon'))
+ self.assertEqual(eggs, self.env['ir.property']._get('property_eggs', 'test_performance.bacon'))
# warmup
self.Bacon.create({})
diff --git a/odoo/fields.py b/odoo/fields.py
index d64555e0025..56f58364809 100644
--- a/odoo/fields.py
+++ b/odoo/fields.py
@@ -571,12 +571,12 @@ class Field(MetaField('DummyField', (object,), {})):
#
def _default_company_dependent(self, model):
- return model.env['ir.property'].get(self.name, self.model_name)
+ return model.env['ir.property']._get(self.name, self.model_name)
def _compute_company_dependent(self, records):
# read property as superuser, as the current user may not have access
Property = records.env['ir.property'].sudo()
- values = Property.get_multi(self.name, self.model_name, records.ids)
+ values = Property._get_multi(self.name, self.model_name, records.ids)
for record in records:
record[self.name] = values.get(record.id)
@@ -587,7 +587,7 @@ class Field(MetaField('DummyField', (object,), {})):
record.id: self.convert_to_write(record[self.name], record)
for record in records
}
- Property.set_multi(self.name, self.model_name, values)
+ Property._set_multi(self.name, self.model_name, values)
def _search_company_dependent(self, records, operator, value):
Property = records.env['ir.property']
diff --git a/odoo/models.py b/odoo/models.py
index 8af30b89bb5..f88bcce1dca 100644
--- a/odoo/models.py
+++ b/odoo/models.py
@@ -3705,7 +3705,7 @@ Record ids: %(records)s
if not field:
raise ValueError("Invalid field %r on model %r" % (key, self._name))
if field.company_dependent:
- irprop_def = self.env['ir.property'].get(key, self._name)
+ irprop_def = self.env['ir.property']._get(key, self._name)
cached_def = field.convert_to_cache(irprop_def, self)
cached_val = field.convert_to_cache(val, self)
if cached_val == cached_def: