summaryrefslogtreecommitdiff
path: root/addons/document
diff options
context:
space:
mode:
authorChristophe Matthieu <chm@openerp.com>2012-10-09 10:08:58 +0200
committerChristophe Matthieu <chm@openerp.com>2012-10-09 10:08:58 +0200
commit7a41798d7014adca2c2e91d6eac14e8f6562bc4f (patch)
tree999fa319c7e9f8a2a3512115ecf8cca6312244e3 /addons/document
parentaff7e6d16106e473745159d47f842fa0d9c6f27c (diff)
[IMP] mail, document: don't check duplication of file for attachment mail
bzr revid: chm@openerp.com-20121009080858-gnpf1893m12jd3mp
Diffstat (limited to 'addons/document')
-rw-r--r--addons/document/document.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/addons/document/document.py b/addons/document/document.py
index 3ae783f49e7..27dde3250e2 100644
--- a/addons/document/document.py
+++ b/addons/document/document.py
@@ -154,6 +154,7 @@ class document_file(osv.osv):
parent_id = vals.get('parent_id', False)
res_model = vals.get('res_model', False)
res_id = vals.get('res_id', 0)
+
if op == 'write':
for file in self.browse(cr, uid, ids): # FIXME fields_only
if not name:
@@ -164,11 +165,11 @@ class document_file(osv.osv):
res_model = file.res_model and file.res_model or False
if not res_id:
res_id = file.res_id and file.res_id or 0
- res = self.search(cr, uid, [('id', '<>', file.id), ('name', '=', name), ('parent_id', '=', parent_id), ('res_model', '=', res_model), ('res_id', '=', res_id)])
+ res = self.search(cr, uid, [('id', '<>', file.id), ('name', '=', name), ('parent_id', '=', parent_id), ('res_model', '=', res_model), ('res_model', '!=', ''), ('res_id', '=', res_id)])
if len(res):
return False
if op == 'create':
- res = self.search(cr, uid, [('name', '=', name), ('parent_id', '=', parent_id), ('res_id', '=', res_id), ('res_model', '=', res_model)])
+ res = self.search(cr, uid, [('name', '=', name), ('parent_id', '=', parent_id), ('res_id', '=', res_id), ('res_model', '=', res_model), ('res_model', '!=', '')])
if len(res):
return False
return True
@@ -219,7 +220,11 @@ class document_file(osv.osv):
res = self.search(cr, uid, [('id', 'in', ids)])
if not len(res):
return False
- if not self._check_duplication(cr, uid, vals, ids, 'write'):
+
+ # when a user write a mail, there are no model
+ # don't check the duplication for the mails
+ res_mail = self.search(cr, uid, [('id', 'in', ids), ('res_model', '=', '')])
+ if res!=res_mail and not self._check_duplication(cr, uid, vals, ids, 'write'):
raise osv.except_osv(_('ValidateError'), _('File name must be unique!'))
# if nodes call this write(), they must skip the code below