Browse Source

Merge pull request #301 from hbrunn/8.0-auditlog_read_without_prefetch

[FIX] turn off prefetching when reading values
pull/309/head
Guewen Baconnier 9 years ago
parent
commit
9e4544d20f
  1. 13
      auditlog/models/rule.py

13
auditlog/models/rule.py

@ -214,8 +214,8 @@ class AuditlogRule(models.Model):
rule_model = self.env['auditlog.rule']
new_record = create.origin(self, vals, **kwargs)
new_values = dict(
(d['id'], d) for d in new_record.sudo().read(
list(self._fields)))
(d['id'], d) for d in new_record.sudo()
.with_context(prefetch_fields=False).read(list(self._fields)))
rule_model.sudo().create_logs(
self.env.uid, self._name, new_record.ids,
'create', None, new_values)
@ -272,10 +272,12 @@ class AuditlogRule(models.Model):
self = self.with_context(auditlog_disabled=True)
rule_model = self.env['auditlog.rule']
old_values = dict(
(d['id'], d) for d in self.sudo().read(list(self._fields)))
(d['id'], d) for d in self.sudo()
.with_context(prefetch_fields=False).read(list(self._fields)))
result = write.origin(self, vals, **kwargs)
new_values = dict(
(d['id'], d) for d in self.sudo().read(list(self._fields)))
(d['id'], d) for d in self.sudo()
.with_context(prefetch_fields=False).read(list(self._fields)))
rule_model.sudo().create_logs(
self.env.uid, self._name, self.ids,
'write', old_values, new_values)
@ -289,7 +291,8 @@ class AuditlogRule(models.Model):
self = self.with_context(auditlog_disabled=True)
rule_model = self.env['auditlog.rule']
old_values = dict(
(d['id'], d) for d in self.sudo().read(list(self._fields)))
(d['id'], d) for d in self.sudo()
.with_context(prefetch_fields=False).read(list(self._fields)))
rule_model.sudo().create_logs(
self.env.uid, self._name, self.ids, 'unlink', old_values)
return unlink.origin(self, **kwargs)

Loading…
Cancel
Save