diff options
| author | Christophe Matthieu <chm@openerp.com> | 2012-10-09 10:08:58 +0200 |
|---|---|---|
| committer | Christophe Matthieu <chm@openerp.com> | 2012-10-09 10:08:58 +0200 |
| commit | 7a41798d7014adca2c2e91d6eac14e8f6562bc4f (patch) | |
| tree | 999fa319c7e9f8a2a3512115ecf8cca6312244e3 /addons/document | |
| parent | aff7e6d16106e473745159d47f842fa0d9c6f27c (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.py | 11 |
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 |
