Hi,
I have installed the stable server build openerp-6.1-20120726-233351 on ubuntu 10.04 LTS and ubuntu 12.04 LTS. If I setup an incoming googlemail server, it works, and the mails are fetched correctly. But if an E-Mail has an attachment, I got the following error:
================================= Begin Code: ==================================
2012-08-01 09:50:27,015 7409 ERROR ? fetchmail: Failed to fetch mail from pop server XEO Order Test
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/openerp-6.1_20120726_233351-py2.7.egg/openerp/addons/fetchmail/fetchmail.py", line 220, in fetch_mail
context=context)
File "/usr/local/lib/python2.7/dist-packages/openerp-6.1_20120726_233351-py2.7.egg/openerp/addons/mail/mail_thread.py", line 426, in message_process
res_id = create_record(msg)
File "/usr/local/lib/python2.7/dist-packages/openerp-6.1_20120726_233351-py2.7.egg/openerp/addons/mail/mail_thread.py", line 400, in create_record
context=context)
File "/usr/local/lib/python2.7/dist-packages/openerp-6.1_20120726_233351-py2.7.egg/openerp/addons/mail/mail_thread.py", line 173, in message_new
self.message_append_dict(cr, uid, [res_id], msg_dict, context=context)
File "/usr/local/lib/python2.7/dist-packages/openerp-6.1_20120726_233351-py2.7.egg/openerp/addons/mail/mail_thread.py", line 344, in message_append_dict
context = context)
File "/usr/local/lib/python2.7/dist-packages/openerp-6.1_20120726_233351-py2.7.egg/openerp/addons/mail/mail_thread.py", line 263, in message_append
to_attach.append(ir_attachment.create(cr, uid, data_attach, context=context))
File "/usr/local/lib/python2.7/dist-packages/openerp-6.1_20120726_233351-py2.7.egg/openerp/addons/base_calendar/base_calendar.py", line 1633, in create
return super(ir_attachment, self).create(cr, uid, vals, context=context)
File "/usr/local/lib/python2.7/dist-packages/openerp-6.1_20120726_233351-py2.7.egg/openerp/addons/base/ir/ir_attachment.py", line 117, in create
return super(ir_attachment, self).create(cr, uid, values, context)
File "/usr/local/lib/python2.7/dist-packages/openerp-6.1_20120726_233351-py2.7.egg/openerp/osv/orm.py", line 4239, in create
self.pool.get(object)._store_set_values(cr, user, ids, fields2, context)
File "/usr/local/lib/python2.7/dist-packages/openerp-6.1_20120726_233351-py2.7.egg/openerp/osv/orm.py", line 4388, in _store_set_values
result = self._columns[f].get(cr, self, ids, f, SUPERUSER_ID, context=context)
File "/usr/local/lib/python2.7/dist-packages/openerp-6.1_20120726_233351-py2.7.egg/openerp/osv/fields.py", line 1129, in get
result = self._fnct(obj, cr, uid, ids, name, self._arg, context)
File "/usr/local/lib/python2.7/dist-packages/openerp-6.1_20120726_233351-py2.7.egg/openerp/addons/base/ir/ir_attachment.py", line 132, in _name_get_resname
res = model_pool.name_get(cr,uid,[res_id],context)
File "/usr/local/lib/python2.7/dist-packages/openerp-6.1_20120726_233351-py2.7.egg/openerp/osv/orm.py", line 2262, in name_get
[self._rec_name], context, load='_classic_write')]
KeyError: 'name'
============================ / End Code =============================
As you see, the exception is thrown at 132 int ir_attachment.py:
model_pool = self.pool.get(model_object)
res = model_pool.name_get(cr,uid,[res_id],context)
res_name = res and res[0][1] or False
If the exception is thrown, the test res_name wont be reached. I made a try-catch block.
129 model_pool = self.pool.get(model_object)
130 # inglorious, 1.8.12
131 try:
132 res = model_pool.name_get(cr,uid,[res_id],context)
133 except Exception, e:
134 res = False
135
136 res_name = res and res[0][1] or False
If the exception is thrown, res will be set to false. The solution works for me.
Hello inglorious,
I have checked your issue with lot of object (created new record as field in incoming server) like crm,sale,project. But can't find this error.Would you please provide your scenario on this issue or video media of your scenario.
Usually we find this Key Error: 'name' ,when object d'nt find name field when name_get method calls then we provide it with using _recname =''
Waiting for your reply..!!