How to resolve the error in Odoo 8? - python

Recently I had restored a Odoo DB to a newly created instance, From then on i am getting the following error whenever I go to the respective menu :
KeyError: u'mro.request'
How to resolve such kind of errors?
Any suggestion would be really helpful. Thanks!!
Traceback (most recent call last):
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/http.py", line 517, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/http.py", line 538, in dispatch
result = self._call_function(**self.params)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/http.py", line 294, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/service/model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/http.py", line 291, in checked_call
return self.endpoint(*a, **kw)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/http.py", line 754, in __call__
return self.method(*args, **kw)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/http.py", line 387, in response_wrap
response = f(*args, **kw)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/addons/web/controllers/main.py", line 1251, in load
action = request.session.model(action_type).read([action_id], False, ctx)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/http.py", line 856, in proxy
result = meth(cr, request.uid, *args, **kw)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/addons/base/ir/ir_actions.py", line 326, in read
results = super(ir_actions_act_window, self).read(cr, uid, ids, fields=fields, context=context, load=load)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/models.py", line 3083, in read
result = BaseModel.read(records, fields, load=load)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/api.py", line 235, in wrapper
return new_api(self, *args, **kwargs)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/models.py", line 3115, in read
self._read_from_database(stored)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/api.py", line 235, in wrapper
return new_api(self, *args, **kwargs)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/models.py", line 3279, in _read_from_database
res2 = self._columns[f].get(cr, self._model, ids, f, user, context=context, values=result)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/osv/fields.py", line 1356, in get
result = self._fnct(obj, cr, uid, ids, name, self._arg, context)
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/addons/base/ir/ir_actions.py", line 265, in _search_view
field_get = self.pool[act.res_model].fields_view_get(cr, uid,
File "/home/administrator/second2/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/modules/registry.py", line 101, in __getitem__
return self.models[model_name]
KeyError: u'mro.request'

I solved the above problem by upgrading the modules which were in the dependencies.

Related

How to fix model error when upgrading module in odoo 13

I get this error when I try to upgrade my custom module in odoo 13.
Odoo Server Error
Traceback (most recent call last):
File "/odoo/odoo-server/odoo/http.py", line 619, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/odoo/odoo-server/odoo/http.py", line 309, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/odoo/odoo-server/odoo/tools/pycompat.py", line 14, in reraise
raise value
File "/odoo/odoo-server/odoo/http.py", line 664, in dispatch
result = self._call_function(**self.params)
File "/odoo/odoo-server/odoo/http.py", line 345, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/odoo/odoo-server/odoo/service/model.py", line 93, in wrapper
return f(dbname, *args, **kwargs)
File "/odoo/odoo-server/odoo/http.py", line 338, in checked_call
result = self.endpoint(*a, **kw)
File "/odoo/odoo-server/odoo/http.py", line 910, in __call__
return self.method(*args, **kw)
File "/odoo/odoo-server/odoo/http.py", line 510, in response_wrap
response = f(*args, **kw)
File "/odoo/odoo-server/addons/web/controllers/main.py", line 1324, in call_button
action = self._call_kw(model, method, args, kwargs)
File "/odoo/odoo-server/addons/web/controllers/main.py", line 1312, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/odoo/odoo-server/odoo/api.py", line 387, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/odoo/odoo-server/odoo/api.py", line 374, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-64>", line 2, in button_immediate_upgrade
File "/odoo/odoo-server/odoo/addons/base/models/ir_module.py", line 72, in check_and_log
return method(self, *args, **kwargs)
File "/odoo/odoo-server/odoo/addons/base/models/ir_module.py", line 629, in button_immediate_upgrade
return self._button_immediate_function(type(self).button_upgrade)
File "/odoo/odoo-server/odoo/addons/base/models/ir_module.py", line 573, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/odoo/odoo-server/odoo/modules/registry.py", line 86, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/odoo/odoo-server/odoo/modules/loading.py", line 471, in load_modules
env['ir.model.data']._process_end(processed_modules)
File "/odoo/odoo-server/odoo/addons/base/models/ir_model.py", line 1971, in _process_end
record.unlink()
File "/odoo/odoo-server/odoo/addons/base/models/ir_model.py", line 1190, in unlink
table=self.env[selection.field_id.model]._table,
File "/opt/odoo/odoo13/odoo/api.py", line 463, in __getitem__
return self.registry[model_name]._browse(self, (), ())
File "/opt/odoo/odoo13/odoo/modules/registry.py", line 177, in __getitem__
return self.models[model_name]
KeyError: 'sales.terms'
This is the sales.terms model
class SalesTermsAndConditions(models.Model):
_name = 'sales.terms'
_description = 'Terms and Conditions'
_rec_name = 'typex'
new_type = fields.Selection([
('accessories', 'Accessories'),
('glass', 'Glass Work'),
('aluminium', 'Aluminium profiles'),
('projects', 'Projects')
], string='Testing')
d_active = fields.Boolean(string='Active')
notes = fields.Text()
I have a new model named 'sales.terms' I created and I created the corresponding ir.model.access.csv file for it, so I traced down the error and discovered that it isn't the whole model giving causing the error but just the selection field, if i remove the selection field the module upgrades fine.
I am confused as to what might be wrong.
I think there is something missing
class SalesTermsAndConditions(models.Model):
_name = 'sales.terms'
_description = 'Terms and Conditions'
_rec_name = 'typex'
new_type = fields.Selection([
('test', 'Test'),
('atest', 'A test'), // Comma is missing
('accessories', 'Accessories'),
('glass', 'Glass Work'),
('aluminium', 'Aluminium profiles'),
('projects', 'Projects')
], string='Testing')
d_active = fields.Boolean(string='Active')
notes = fields.Text()
Try to remove _rec_name.Replace with some field.
_rec_name = "new_type"
The selection seem to be ok. if you rename new_type does it then upgrade?
Can you look first errors wen you boot odoo or reload modules

Odoo 10 - To verify email for a partner

Here my function for to verify a email :
# Vérifie que l'adresse mail du partner soit valide
#api.onchange('email')
def adressmailtoverify(self):
for rec in self:
address_to_verify = rec.email
match = re.match("^[a-zA-Z0-9_\-]+(\.[a-zA-Z0-9_\-]+)*#[a-zA-Z0-9_\-]+"
"(\.[a-zA-Z0-9_\-]+)*(\.[a-zA-Z]{2,6})$", address_to_verify)
if not match:
raise ValidationError("Problème de synthaxe adresse mail, merci de modifier")
else:
pass
Here my error :
Odoo Server Error
Traceback (most recent call last):
File "/var/lib/odoo/odoo/odoo/odoo/http.py", line 640, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/var/lib/odoo/odoo/odoo/odoo/http.py", line 677, in dispatch
result = self._call_function(**self.params)
File "/var/lib/odoo/odoo/odoo/odoo/http.py", line 333, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/var/lib/odoo/odoo/odoo/odoo/service/model.py", line 101, in wrapper
return f(dbname, *args, **kwargs)
File "/var/lib/odoo/odoo/odoo/odoo/http.py", line 326, in checked_call
result = self.endpoint(*a, **kw)
File "/var/lib/odoo/odoo/odoo/odoo/http.py", line 935, in __call__
return self.method(*args, **kw)
File "/var/lib/odoo/odoo/odoo/odoo/http.py", line 506, in response_wrap
response = f(*args, **kw)
File "/usr/lib/python2.7/dist-packages/odoo/addons/web/controllers/main.py", line 885, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/usr/lib/python2.7/dist-packages/odoo/addons/web/controllers/main.py", line 877, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/var/lib/odoo/odoo/odoo/odoo/api.py", line 689, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "/var/lib/odoo/odoo/odoo/odoo/api.py", line 680, in call_kw_multi
result = method(recs, *args, **kwargs)
File "/var/lib/odoo/horanet/horanet_go/horanet_web/models/tool_field_dirty.py", line 59, in onchange
res = super(ToolFieldDirty, self).onchange(values, field_name, field_onchange)
File "/var/lib/odoo/odoo/odoo/odoo/models.py", line 5494, in onchange
record._onchange_eval(name, field_onchange[name], result)
File "/var/lib/odoo/odoo/odoo/odoo/models.py", line 5392, in _onchange_eval
method_res = method(self)
File "/var/lib/odoo/projects/Odoo/parthenay_tpa_mediatheque/models/inherited_partner.py", line 127, in adressmailtoverify
"(\.[a-zA-Z0-9_\-]+)*(\.[a-zA-Z]{2,6})$", address_to_verify)
File "/usr/lib/python2.7/re.py", line 141, in match
return _compile(pattern, flags).match(string)
TypeError: expected string or buffer
I have this error when to clear a email.
My second concern is that even if my exception is thrown, my partner is registered. Can you help me ? Thank you
Change the for line and use this instead:
for rec in self.filtered("email"):
The problem happens because values are False in Odoo, and you cannot apply a regex to a bool.

odoo 9 AssertionError assert self in records and field in fs

while I am trying to update value that affect computed field I got this error:
Odoo Server Error
Traceback (most recent call last):
File "/Users/abdalla/projects/greenway/odoo-server/openerp/http.py", line 647, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/Users/abdalla/projects/greenway/odoo-server/openerp/http.py", line 684, in dispatch
result = self._call_function(**self.params)
File "/Users/abdalla/projects/greenway/odoo-server/openerp/http.py", line 320, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/Users/abdalla/projects/greenway/odoo-server/openerp/service/model.py", line 118, in wrapper
return f(dbname, *args, **kwargs)
File "/Users/abdalla/projects/greenway/odoo-server/openerp/http.py", line 313, in checked_call
result = self.endpoint(*a, **kw)
File "/Users/abdalla/projects/greenway/odoo-server/openerp/http.py", line 963, in call
return self.method(*args, **kw)
File "/Users/abdalla/projects/greenway/odoo-server/openerp/http.py", line 513, in response_wrap
response = f(*args, **kw)
File "/Users/abdalla/projects/greenway/odoo-server/addons/web/controllers/main.py", line 904, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/Users/abdalla/projects/greenway/odoo-server/addons/web/controllers/main.py", line 896, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "/Users/abdalla/projects/greenway/odoo-server/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/Users/abdalla/projects/greenway/odoo-server/openerp/api.py", line 381, in old_api
result = method(recs, *args, **kwargs)
File "/Users/abdalla/projects/greenway/odoo-server/openerp/models.py", line 6036, in onchange
record.mapped(field_seq)
File "/Users/abdalla/projects/greenway/odoo-server/openerp/models.py", line 5534, in mapped
recs = recs._mapped_func(operator.itemgetter(name))
File "/Users/abdalla/projects/greenway/odoo-server/openerp/models.py", line 5514, in _mapped_func
vals = [func(rec) for rec in self]
File "/Users/abdalla/projects/greenway/odoo-server/openerp/models.py", line 5752, in getitem
return self._fields[key].get(self, type(self))
File "/Users/abdalla/projects/greenway/odoo-server/openerp/fields.py", line 829, in get
self.determine_value(record)
File "/Users/abdalla/projects/greenway/odoo-server/openerp/fields.py", line 927, in determine_value
record._prefetch_field(self)
File "/Users/abdalla/projects/greenway/odoo-server/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/Users/abdalla/projects/greenway/odoo-server/openerp/models.py", line 3295, in _prefetch_field
assert self in records and field in fs
AssertionError
finally I found the problem:
the problem is that the method of the computed field is not exist (I renamed it accidentally). so when odoo try to get the value of this field it failed, and show this strange error

Odoo 9 Database creation error: Unable to use a closed cursor

When I try to run Odoo from the source file with the option:
Load demonstration data (Check this box to evaluate Odoo)
checked, I get the following error:
Database creation error: Unable to use a closed cursor.
It works when I try to run it without the demonstration data. I am running it on Ubuntu 14.04 with Postresql 9.4. What did I miss?
And on the console it also displays:
`2016-01-20 10:49:23,513 5089 ERROR mydb openerp.modules.registry: Failed to load registry
Traceback (most recent call last):
File "/vagrant_data/odoo-9.0/openerp/modules/registry.py", line 385, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "/vagrant_data/odoo-9.0/openerp/modules/loading.py", line 279, in load_modules
loaded_modules, processed_modules = load_module_graph(cr, graph, status, perform_checks=update_module, report=report)
File "/vagrant_data/odoo-9.0/openerp/modules/loading.py", line 159, in load_module_graph
_load_data(cr, module_name, idref, mode, kind='demo')
File "/vagrant_data/odoo-9.0/openerp/modules/loading.py", line 98, in _load_data
tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
File "/vagrant_data/odoo-9.0/openerp/tools/convert.py", line 852, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/vagrant_data/odoo-9.0/openerp/tools/convert.py", line 939, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File "/vagrant_data/odoo-9.0/openerp/tools/convert.py", line 802, in parse
self.parse(rec, mode)
File "/vagrant_data/odoo-9.0/openerp/tools/convert.py", line 805, in parse
self._tags[rec.tag](self.cr, rec, de, mode=mode)
File "/vagrant_data/odoo-9.0/openerp/tools/convert.py", line 709, in _tag_record
id = self.pool['ir.model.data']._update(cr, self.uid, rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode, context=rec_context )
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/addons/base/ir/ir_model.py", line 1101, in _update
res_id = model_obj.create(cr, uid, values, context=context)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/addons/base/res/res_users.py", line 845, in create
return super(users_view, self).create(cr, uid, values, context)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/addons/base/res/res_users.py", line 643, in create
user_id = super(users_implied, self).create(cr, uid, values, context)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/addons/base/res/res_users.py", line 336, in create
user_id = super(res_users, self).create(cr, uid, vals, context=context)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 342, in old_api
result = method(recs, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 4132, in create
record = self.browse(self._create(old_vals))
File "/vagrant_data/odoo-9.0/openerp/api.py", line 236, in wrapper
return new_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 478, in new_api
result = method(self._model, cr, uid, *args, **old_kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 4190, in _create
self.pool[table].write(cr, user, [record_id], tocreate[table], context=context)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 369, in old_api
result = method(recs, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/addons/base/res/res_partner.py", line 536, in write
result = super(res_partner, self).write(vals)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 236, in wrapper
return new_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 3819, in write
self._write(old_vals)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 236, in wrapper
return new_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 562, in new_api
result = method(self._model, cr, uid, self.ids, *args, **old_kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 3970, in _write
result += self._columns[field].set(cr, self, id, field, vals[field], user, context=rel_context) or []
File "/vagrant_data/odoo-9.0/openerp/osv/fields.py", line 638, in set
att.write({'datas': value})
File "/vagrant_data/odoo-9.0/openerp/api.py", line 236, in wrapper
return new_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 562, in new_api
result = method(self._model, cr, uid, self.ids, *args, **old_kwargs)
File "/vagrant_data/odoo-9.0/openerp/addons/base/ir/ir_attachment.py", line 429, in write
return super(ir_attachment, self).write(cr, uid, ids, vals, context)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 369, in old_api
result = method(recs, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 3819, in write
self._write(old_vals)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 236, in wrapper
return new_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 562, in new_api
result = method(self._model, cr, uid, self.ids, *args, **old_kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 3970, in _write
result += self._columns[field].set(cr, self, id, field, vals[field], user, context=rel_context) or []
File "/vagrant_data/odoo-9.0/openerp/osv/fields.py", line 1512, in set
self._fnct_inv(obj, cr, user, id, name, value, self._fnct_inv_arg, context)
File "/vagrant_data/odoo-9.0/openerp/addons/base/ir/ir_attachment.py", line 228, in _data_set
super(ir_attachment, self).write(cr, SUPERUSER_ID, [id], vals, context=context)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 369, in old_api
result = method(recs, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 3819, in write
self._write(old_vals)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 236, in wrapper
return new_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 562, in new_api
result = method(self._model, cr, uid, self.ids, *args, **old_kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 4079, in _write
recs.recompute()
File "/vagrant_data/odoo-9.0/openerp/api.py", line 236, in wrapper
return new_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 5828, in recompute
vals = rec._convert_to_write({n: rec[n] for n in ns})
File "/vagrant_data/odoo-9.0/openerp/models.py", line 5828, in <dictcomp>
vals = rec._convert_to_write({n: rec[n] for n in ns})
File "/vagrant_data/odoo-9.0/openerp/models.py", line 5715, in __getitem__
return self._fields[key].__get__(self, type(self))
File "/vagrant_data/odoo-9.0/openerp/fields.py", line 807, in __get__
self.determine_value(record)
File "/vagrant_data/odoo-9.0/openerp/fields.py", line 889, in determine_value
self.compute_value(recs)
File "/vagrant_data/odoo-9.0/openerp/fields.py", line 869, in compute_value
self._compute_value(records)
File "/vagrant_data/odoo-9.0/openerp/fields.py", line 859, in _compute_value
getattr(records, self.compute)()
File "/vagrant_data/odoo-9.0/openerp/addons/base/res/res_partner.py", line 288, in _compute_images
rec.image_medium = tools.image_resize_image_medium(rec.image)
File "/vagrant_data/odoo-9.0/openerp/tools/image.py", line 143, in image_resize_image_medium
return image_resize_image(base64_source, size, encoding, filetype, avoid_if_small)
File "/vagrant_data/odoo-9.0/openerp/tools/image.py", line 73, in image_resize_image
image = image_resize_and_sharpen(image, size)
File "/vagrant_data/odoo-9.0/openerp/tools/image.py", line 92, in image_resize_and_sharpen
image = image.convert('RGBA')
File "/home/vagrant/odoo/local/lib/python2.7/site-packages/PIL/Image.py", line 832, in convert
self.load()
File "/home/vagrant/odoo/local/lib/python2.7/site-packages/PIL/ImageFile.py", line 200, in load
d = Image._getdecoder(self.mode, d, a, self.decoderconfig)
File "/home/vagrant/odoo/local/lib/python2.7/site-packages/PIL/Image.py", line 417, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
ParseError: "decoder jpeg not available" while parsing /vagrant_data/odoo-9.0/openerp/addons/base/base_demo.xml:38, near
<record id="user_demo" model="res.users">
<field name="partner_id" ref="base.partner_demo"/>
<field name="login">demo</field>
<field name="password">demo</field>
<field name="signature">--
Mr Demo</field>
<field name="company_id" ref="main_company"/>
<field name="groups_id" eval="[(6,0,[ref('base.group_user'), ref('base.group_partner_manager')])]"/>
<field name="image" type="base64" file="base/static/img/user_demo-image.jpg"/>
</record>
2016-01-20 10:49:23,555 5089 ERROR mydb openerp.service.db: CREATE DATABASE failed:
Traceback (most recent call last):
File "/vagrant_data/odoo-9.0/openerp/service/db.py", line 49, in _initialize_db
db_name, demo, None, update_module=True)
File "/vagrant_data/odoo-9.0/openerp/modules/registry.py", line 385, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "/vagrant_data/odoo-9.0/openerp/modules/loading.py", line 279, in load_modules
loaded_modules, processed_modules = load_module_graph(cr, graph, status, perform_checks=update_module, report=report)
File "/vagrant_data/odoo-9.0/openerp/modules/loading.py", line 159, in load_module_graph
_load_data(cr, module_name, idref, mode, kind='demo')
File "/vagrant_data/odoo-9.0/openerp/modules/loading.py", line 98, in _load_data
tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
File "/vagrant_data/odoo-9.0/openerp/tools/convert.py", line 852, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/vagrant_data/odoo-9.0/openerp/tools/convert.py", line 939, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File "/vagrant_data/odoo-9.0/openerp/tools/convert.py", line 802, in parse
self.parse(rec, mode)
File "/vagrant_data/odoo-9.0/openerp/tools/convert.py", line 805, in parse
self._tags[rec.tag](self.cr, rec, de, mode=mode)
File "/vagrant_data/odoo-9.0/openerp/tools/convert.py", line 709, in _tag_record
id = self.pool['ir.model.data']._update(cr, self.uid, rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode, context=rec_context )
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/addons/base/ir/ir_model.py", line 1101, in _update
res_id = model_obj.create(cr, uid, values, context=context)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/addons/base/res/res_users.py", line 845, in create
return super(users_view, self).create(cr, uid, values, context)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/addons/base/res/res_users.py", line 643, in create
user_id = super(users_implied, self).create(cr, uid, values, context)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/addons/base/res/res_users.py", line 336, in create
user_id = super(res_users, self).create(cr, uid, vals, context=context)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 342, in old_api
result = method(recs, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 4132, in create
record = self.browse(self._create(old_vals))
File "/vagrant_data/odoo-9.0/openerp/api.py", line 236, in wrapper
return new_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 478, in new_api
result = method(self._model, cr, uid, *args, **old_kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 4190, in _create
self.pool[table].write(cr, user, [record_id], tocreate[table], context=context)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 369, in old_api
result = method(recs, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/addons/base/res/res_partner.py", line 536, in write
result = super(res_partner, self).write(vals)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 236, in wrapper
return new_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 3819, in write
self._write(old_vals)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 236, in wrapper
return new_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 562, in new_api
result = method(self._model, cr, uid, self.ids, *args, **old_kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 3970, in _write
result += self._columns[field].set(cr, self, id, field, vals[field], user, context=rel_context) or []
File "/vagrant_data/odoo-9.0/openerp/osv/fields.py", line 638, in set
att.write({'datas': value})
File "/vagrant_data/odoo-9.0/openerp/api.py", line 236, in wrapper
return new_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 562, in new_api
result = method(self._model, cr, uid, self.ids, *args, **old_kwargs)
File "/vagrant_data/odoo-9.0/openerp/addons/base/ir/ir_attachment.py", line 429, in write
return super(ir_attachment, self).write(cr, uid, ids, vals, context)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 369, in old_api
result = method(recs, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 3819, in write
self._write(old_vals)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 236, in wrapper
return new_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 562, in new_api
result = method(self._model, cr, uid, self.ids, *args, **old_kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 3970, in _write
result += self._columns[field].set(cr, self, id, field, vals[field], user, context=rel_context) or []
File "/vagrant_data/odoo-9.0/openerp/osv/fields.py", line 1512, in set
self._fnct_inv(obj, cr, user, id, name, value, self._fnct_inv_arg, context)
File "/vagrant_data/odoo-9.0/openerp/addons/base/ir/ir_attachment.py", line 228, in _data_set
super(ir_attachment, self).write(cr, SUPERUSER_ID, [id], vals, context=context)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 369, in old_api
result = method(recs, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 3819, in write
self._write(old_vals)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 236, in wrapper
return new_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 562, in new_api
result = method(self._model, cr, uid, self.ids, *args, **old_kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 4079, in _write
recs.recompute()
File "/vagrant_data/odoo-9.0/openerp/api.py", line 236, in wrapper
return new_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 5828, in recompute
vals = rec._convert_to_write({n: rec[n] for n in ns})
File "/vagrant_data/odoo-9.0/openerp/models.py", line 5828, in <dictcomp>
vals = rec._convert_to_write({n: rec[n] for n in ns})
File "/vagrant_data/odoo-9.0/openerp/models.py", line 5715, in __getitem__
return self._fields[key].__get__(self, type(self))
File "/vagrant_data/odoo-9.0/openerp/fields.py", line 807, in __get__
self.determine_value(record)
File "/vagrant_data/odoo-9.0/openerp/fields.py", line 889, in determine_value
self.compute_value(recs)
File "/vagrant_data/odoo-9.0/openerp/fields.py", line 869, in compute_value
self._compute_value(records)
File "/vagrant_data/odoo-9.0/openerp/fields.py", line 859, in _compute_value
getattr(records, self.compute)()
File "/vagrant_data/odoo-9.0/openerp/addons/base/res/res_partner.py", line 288, in _compute_images
rec.image_medium = tools.image_resize_image_medium(rec.image)
File "/vagrant_data/odoo-9.0/openerp/tools/image.py", line 143, in image_resize_image_medium
return image_resize_image(base64_source, size, encoding, filetype, avoid_if_small)
File "/vagrant_data/odoo-9.0/openerp/tools/image.py", line 73, in image_resize_image
image = image_resize_and_sharpen(image, size)
File "/vagrant_data/odoo-9.0/openerp/tools/image.py", line 92, in image_resize_and_sharpen
image = image.convert('RGBA')
File "/home/vagrant/odoo/local/lib/python2.7/site-packages/PIL/Image.py", line 832, in convert
self.load()
File "/home/vagrant/odoo/local/lib/python2.7/site-packages/PIL/ImageFile.py", line 200, in load
d = Image._getdecoder(self.mode, d, a, self.decoderconfig)
File "/home/vagrant/odoo/local/lib/python2.7/site-packages/PIL/Image.py", line 417, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
ParseError: "decoder jpeg not available" while parsing /vagrant_data/odoo-9.0/openerp/addons/base/base_demo.xml:38, near
<record id="user_demo" model="res.users">
<field name="partner_id" ref="base.partner_demo"/>
<field name="login">demo</field>
<field name="password">demo</field>
<field name="signature">--
Mr Demo</field>
<field name="company_id" ref="main_company"/>
<field name="groups_id" eval="[(6,0,[ref('base.group_user'), ref('base.group_partner_manager')])]"/>
<field name="image" type="base64" file="base/static/img/user_demo-image.jpg"/>
</record>
2016-01-20 10:49:23,585 5089 INFO mydb openerp.modules.loading: loading 1 modules...
2016-01-20 10:49:23,640 5089 INFO mydb openerp.modules.module: module base: creating or updating database tables
2016-01-20 10:49:24,479 5089 ERROR mydb openerp.modules.registry: Failed to load registry
Traceback (most recent call last):
File "/vagrant_data/odoo-9.0/openerp/modules/registry.py", line 385, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "/vagrant_data/odoo-9.0/openerp/modules/loading.py", line 279, in load_modules
loaded_modules, processed_modules = load_module_graph(cr, graph, status, perform_checks=update_module, report=report)
File "/vagrant_data/odoo-9.0/openerp/modules/loading.py", line 137, in load_module_graph
init_module_models(cr, package.name, models)
File "/vagrant_data/odoo-9.0/openerp/modules/module.py", line 306, in init_module_models
obj_list[0].recompute(cr, openerp.SUPERUSER_ID, {})
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 342, in old_api
result = method(recs, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 5827, in recompute
for rec in recs.exists():
File "/vagrant_data/odoo-9.0/openerp/api.py", line 236, in wrapper
return new_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 4967, in exists
self._cr.execute(query, [tuple(ids)])
File "/vagrant_data/odoo-9.0/openerp/sql_db.py", line 138, in wrapper
raise psycopg2.OperationalError(msg)
OperationalError: Unable to use a closed cursor.
2016-01-20 10:49:24,488 5089 ERROR mydb openerp.http: Unable to use a closed cursor.
Traceback (most recent call last):
File "/vagrant_data/odoo-9.0/openerp/http.py", line 114, in dispatch_rpc
result = dispatch(method, params)
File "/vagrant_data/odoo-9.0/openerp/service/common.py", line 57, in dispatch
return g[exp_method_name](*params)
File "/vagrant_data/odoo-9.0/openerp/service/common.py", line 29, in exp_authenticate
res_users = openerp.registry(db)['res.users']
File "/vagrant_data/odoo-9.0/openerp/__init__.py", line 50, in registry
return modules.registry.RegistryManager.get(database_name)
File "/vagrant_data/odoo-9.0/openerp/modules/registry.py", line 354, in get
update_module)
File "/vagrant_data/odoo-9.0/openerp/modules/registry.py", line 385, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "/vagrant_data/odoo-9.0/openerp/modules/loading.py", line 279, in load_modules
loaded_modules, processed_modules = load_module_graph(cr, graph, status, perform_checks=update_module, report=report)
File "/vagrant_data/odoo-9.0/openerp/modules/loading.py", line 137, in load_module_graph
init_module_models(cr, package.name, models)
File "/vagrant_data/odoo-9.0/openerp/modules/module.py", line 306, in init_module_models
obj_list[0].recompute(cr, openerp.SUPERUSER_ID, {})
File "/vagrant_data/odoo-9.0/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/api.py", line 342, in old_api
result = method(recs, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 5827, in recompute
for rec in recs.exists():
File "/vagrant_data/odoo-9.0/openerp/api.py", line 236, in wrapper
return new_api(self, *args, **kwargs)
File "/vagrant_data/odoo-9.0/openerp/models.py", line 4967, in exists
self._cr.execute(query, [tuple(ids)])
File "/vagrant_data/odoo-9.0/openerp/sql_db.py", line 138, in wrapper
raise psycopg2.OperationalError(msg)
OperationalError: Unable to use a closed cursor.`

Error while Register Payment in customer invoice odoo

I didn't understand why this happen because error shows that object or function is not iterable and this error comes from base files not from any custom modules, error shows that it's pythonic.
Here is the error traceback.
Traceback (most recent call last):
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/http.py", line 537, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/http.py", line 574, in dispatch
result = self._call_function(**self.params)
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/http.py", line 310, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/service/model.py", line 118, in wrapper
return f(dbname, *args, **kwargs)
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/http.py", line 307, in checked_call
return self.endpoint(*a, **kw)
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/http.py", line 803, in __call__
return self.method(*args, **kw)
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/http.py", line 403, in response_wrap
response = f(*args, **kw)
File "/home/viraj/workspace/pansuriya/odoo_v8/addons/web/controllers/main.py", line 944, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/home/viraj/workspace/pansuriya/odoo_v8/addons/web/controllers/main.py", line 936, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/home/viraj/workspace/pansuriya/odoo_v8/addons/account_check_writing/account_voucher.py", line 93, in create
return super(account_voucher, self).create(cr, uid, vals, context=context)
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/home/viraj/workspace/pansuriya/odoo_v8/addons/mail/mail_thread.py", line 381, in create
thread_id = super(mail_thread, self).create(cr, uid, values, context=context)
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/api.py", line 345, in old_api
result = method(recs, *args, **kwargs)
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/models.py", line 4092, in create
record = self.browse(self._create(old_vals))
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/api.py", line 481, in new_api
result = method(self._model, cr, uid, *args, **kwargs)
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/models.py", line 4191, in _create
updates.append((field, '%s', current_field._symbol_set[1](vals[field])))
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/osv/fields.py", line 409, in <lambda>
self._symbol_f = lambda x: _symbol_set_float(self, x)
File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/osv/fields.py", line 386, in _symbol_set_float
precision, scale = digits
TypeError: 'function' object is not iterable
According to code, button_proforma_voucher method of account_voucher model should be called but control does comes upto that and error raised before that.
There was an issue with decimal precision definition digits_compute is working while digits not working with float field in old api code.
This was happened because I was pulled latest code from the github for v8 earlier it was wroking but not with that latest code so I need to update that field definition.
import openerp.addons.decimal_precision as dp
_columns = {
'currency_rate' : fields.float(digits_compute=dp.get_precision( 'Account' ), string='Currency Rate' ),
}

Categories