summaryrefslogtreecommitdiff
path: root/addons/document/document.py
diff options
context:
space:
mode:
authorThibault Francois <tfr@openerp.com>2011-04-07 13:41:45 +0200
committerThibault Francois <tfr@openerp.com>2011-04-07 13:41:45 +0200
commitb11a71fd8751bc4fb33faa1f95f7915e230b86ab (patch)
tree15aa10c814bd240a7f3a6e2ae6cff0ae67b296de /addons/document/document.py
parent1a45ff614d9da8c39a120335d2f84ac454c47417 (diff)
[MERGE] improvement project-issue
bzr revid: tfr@openerp.com-20110407114145-xvr27pjquxwk9ff0
Diffstat (limited to 'addons/document/document.py')
-rw-r--r--addons/document/document.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/addons/document/document.py b/addons/document/document.py
index 1a553b23ed1..27a6c3d3c19 100644
--- a/addons/document/document.py
+++ b/addons/document/document.py
@@ -279,10 +279,22 @@ class document_file(osv.osv):
else:
if vals.get('file_size'):
del vals['file_size']
- if not self._check_duplication(cr, uid, vals):
- raise osv.except_osv(_('ValidateError'), _('File name must be unique!'))
- result = super(document_file, self).create(cr, uid, vals, context)
- cr.commit() # ?
+ result = self._check_duplication(cr, uid, vals)
+ if not result:
+ domain = [
+ ('res_id', '=', vals['res_id']),
+ ('res_model', '=', vals['res_model']),
+ ('datas_fname', '=', vals['datas_fname']),
+ ]
+ attach_ids = self.search(cr, uid, domain, context=context)
+ super(document_file, self).write(cr, uid, attach_ids,
+ {'datas' : vals['datas']},
+ context=context)
+ result = attach_ids[0]
+ else:
+ #raise osv.except_osv(_('ValidateError'), _('File name must be unique!'))
+ result = super(document_file, self).create(cr, uid, vals, context)
+ cr.commit() # ?
return result
def __get_partner_id(self, cr, uid, res_model, res_id, context=None):