summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Dony <odo@openerp.com>2013-12-16 15:22:46 +0100
committerOlivier Dony <odo@openerp.com>2013-12-16 15:22:46 +0100
commit89a6771f6a50ea263445090dbae2e99ab8d99a5d (patch)
tree8d4205efa4595711e2c06c61425bdc2ee3c697b2
parent1a9f24c56d09e92c72d431e0fe6242bcf9cc7d33 (diff)
parentd08821442e47efd873eb167e68bfa145b2de3e6f (diff)
[MERGE] Forward-port of latest 7.0 bugfixes, up to rev. 9698, revision-id: odo@openerp.com-20131216142049-xh9gxy5cir3p2i09
bzr revid: dle@openerp.com-20131216111534-0w0jdod25ff3iapc bzr revid: odo@openerp.com-20131216142246-unt6qqb23uq53we1
-rw-r--r--addons/account_analytic_analysis/account_analytic_analysis.py1
-rw-r--r--addons/base_action_rule/base_action_rule.py3
-rw-r--r--addons/document/document.py5
-rw-r--r--addons/document/test/document_test2.yml17
4 files changed, 24 insertions, 2 deletions
diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py
index 65d87ca3086..a0d14e889cb 100644
--- a/addons/account_analytic_analysis/account_analytic_analysis.py
+++ b/addons/account_analytic_analysis/account_analytic_analysis.py
@@ -450,6 +450,7 @@ class account_analytic_account(osv.osv):
'is_overdue_quantity' : fields.function(_is_overdue_quantity, method=True, type='boolean', string='Overdue Quantity',
store={
'account.analytic.line' : (_get_analytic_account, None, 20),
+ 'account.analytic.account': (lambda self, cr, uid, ids, c=None: ids, ['quantity_max'], 10),
}),
'ca_invoiced': fields.function(_ca_invoiced_calc, type='float', string='Invoiced Amount',
help="Total customer invoiced amount for this account.",
diff --git a/addons/base_action_rule/base_action_rule.py b/addons/base_action_rule/base_action_rule.py
index 59d61ba5b67..0d98030e800 100644
--- a/addons/base_action_rule/base_action_rule.py
+++ b/addons/base_action_rule/base_action_rule.py
@@ -23,6 +23,7 @@ from datetime import datetime, timedelta
import time
import logging
+import openerp
from openerp import SUPERUSER_ID
from openerp.osv import fields, osv
from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT
@@ -222,6 +223,7 @@ class base_action_rule(osv.osv):
def create(self, cr, uid, vals, context=None):
res_id = super(base_action_rule, self).create(cr, uid, vals, context=context)
self._register_hook(cr, [res_id])
+ openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname)
return res_id
def write(self, cr, uid, ids, vals, context=None):
@@ -229,6 +231,7 @@ class base_action_rule(osv.osv):
ids = [ids]
super(base_action_rule, self).write(cr, uid, ids, vals, context=context)
self._register_hook(cr, ids)
+ openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname)
return True
def onchange_model_id(self, cr, uid, ids, model_id, context=None):
diff --git a/addons/document/document.py b/addons/document/document.py
index 5fc62578b1d..eb51ad5ac57 100644
--- a/addons/document/document.py
+++ b/addons/document/document.py
@@ -32,6 +32,7 @@ import psycopg2
import openerp
from openerp import tools
+from openerp import SUPERUSER_ID
from openerp.osv import fields, osv
from openerp.osv.orm import except_orm
import openerp.report.interface
@@ -322,7 +323,7 @@ class document_directory(osv.osv):
ressource_parent_type_id=vals.get('ressource_parent_type_id',False)
ressource_id=vals.get('ressource_id',0)
if op=='write':
- for directory in self.browse(cr, uid, ids):
+ for directory in self.browse(cr, SUPERUSER_ID, ids):
if not name:
name=directory.name
if not parent_id:
@@ -336,7 +337,7 @@ class document_directory(osv.osv):
if len(res):
return False
if op=='create':
- res=self.search(cr,uid,[('name','=',name),('parent_id','=',parent_id),('ressource_parent_type_id','=',ressource_parent_type_id),('ressource_id','=',ressource_id)])
+ res = self.search(cr, SUPERUSER_ID, [('name','=',name),('parent_id','=',parent_id),('ressource_parent_type_id','=',ressource_parent_type_id),('ressource_id','=',ressource_id)])
if len(res):
return False
return True
diff --git a/addons/document/test/document_test2.yml b/addons/document/test/document_test2.yml
index beff61d4d0f..0c6345ef6c4 100644
--- a/addons/document/test/document_test2.yml
+++ b/addons/document/test/document_test2.yml
@@ -59,6 +59,23 @@
ids = self.search(cr, uid, [('res_model', '=', 'res.country'), ('res_id', '=', ref("base.za"))])
assert ids == [ ref("attach_3rd")], ids
-
+ I test that I can't create duplicate directories (even when duplicates are hidden by a record rule)
+-
+ !python {model: document.directory}: |
+ duplicate_detected = False
+ from openerp.osv.osv import except_osv
+ try:
+ demo_uid = ref('base.user_demo')
+ dir_vals = {
+ 'name': 'Testing (will be deleted!)',
+ 'parent_id': ref('document.dir_root')
+ }
+ new_dir_id = self.create(cr, demo_uid, dir_vals, context=None)
+ self.unlink(cr, uid, [new_dir_id], context=None)
+ except except_osv, e:
+ duplicate_detected = e.value == u'Directory name must be unique!'
+ assert duplicate_detected is True, 'Failed to detect duplicate directory'
+-
I delete the attachments
-
!python {model: ir.attachment}: |