summaryrefslogtreecommitdiff
path: root/addons/document
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 /addons/document
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
Diffstat (limited to 'addons/document')
-rw-r--r--addons/document/document.py5
-rw-r--r--addons/document/test/document_test2.yml17
2 files changed, 20 insertions, 2 deletions
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}: |