summaryrefslogtreecommitdiff
path: root/odoo
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2017-09-04 18:12:00 +0200
committerChristophe Simonis <chs@odoo.com>2017-09-04 18:12:00 +0200
commit3ff4feafd24bdbe8121f16e2c6aaea901204b3a8 (patch)
tree7469ee4cfc69c3d27a273ff1dcd97cc7e2edf734 /odoo
parentc39ad11d443cb83891199a48e56af03e6fcdd786 (diff)
parent4d4d75709dcd46ffa957a68fa2f884ec59042718 (diff)
[MERGE] forward port branch saas-15 up to 4d4d75709dc
Diffstat (limited to 'odoo')
-rw-r--r--odoo/addons/base/ir/ir_model.py4
-rw-r--r--odoo/tools/misc.py9
-rw-r--r--odoo/tools/sql.py2
3 files changed, 9 insertions, 6 deletions
diff --git a/odoo/addons/base/ir/ir_model.py b/odoo/addons/base/ir/ir_model.py
index a71e76a8033..0ec5dbb9764 100644
--- a/odoo/addons/base/ir/ir_model.py
+++ b/odoo/addons/base/ir/ir_model.py
@@ -1532,7 +1532,9 @@ class IrModelData(models.Model):
if model == 'ir.model.fields':
# Don't remove the LOG_ACCESS_COLUMNS unless _log_access
# has been turned off on the model.
- field = self.env[model].browse(res_id)
+ field = self.env[model].browse(res_id).with_context(
+ prefetch_fields=False,
+ )
if not field.exists():
_logger.info('Deleting orphan external_ids %s', external_ids)
external_ids.unlink()
diff --git a/odoo/tools/misc.py b/odoo/tools/misc.py
index ff45b8d8978..77d27b67868 100644
--- a/odoo/tools/misc.py
+++ b/odoo/tools/misc.py
@@ -383,11 +383,12 @@ try:
# TODO when xlsxwriter bump to 0.9.8, add worksheet_class=None parameter instead of kw
def add_worksheet(self, name=None, **kw):
- # invalid Excel character: []:*?/\
- name = re.sub(r'[\[\]:*?/\\]', '', name)
+ if name:
+ # invalid Excel character: []:*?/\
+ name = re.sub(r'[\[\]:*?/\\]', '', name)
- # maximum size is 31 characters
- name = name[:31]
+ # maximum size is 31 characters
+ name = name[:31]
return super(PatchedXlsxWorkbook, self).add_worksheet(name, **kw)
xlsxwriter.Workbook = PatchedXlsxWorkbook
diff --git a/odoo/tools/sql.py b/odoo/tools/sql.py
index 563ed08c679..239cee73fd1 100644
--- a/odoo/tools/sql.py
+++ b/odoo/tools/sql.py
@@ -23,7 +23,7 @@ _CONFDELTYPES = {
def table_exists(cr, tablename):
""" Return whether the given table exists. """
- query = "SELECT 1 FROM information_schema.tables WHERE table_name=%s"
+ query = "SELECT 1 FROM pg_class WHERE relkind IN ('r', 'v', 'm') AND relname=%s"
cr.execute(query, (tablename,))
return cr.rowcount