diff --git a/addons/mass_mailing/wizard/mail_compose_message.py b/addons/mass_mailing/wizard/mail_compose_message.py index 413415c9f5f2907c20ba9d1fe50a9351d46f0fd0..6c1fc81280e0bc7a53b46c4a7752f42d25be42d3 100644 --- a/addons/mass_mailing/wizard/mail_compose_message.py +++ b/addons/mass_mailing/wizard/mail_compose_message.py @@ -61,8 +61,8 @@ class MailComposeMessage(models.TransientModel): mail_values = res[res_id] if mail_values.get('email_to'): recips = tools.email_split(mail_values['email_to']) - elif mail_values.get('recipient_ids') and partners_email.get(res_id): - recips = tools.email_split(partners_email[res_id]) + else: + recips = tools.email_split(partners_email.get(res_id)) mail_to = recips[0].lower() if recips else False if (blacklist and mail_to in blacklist) or (seen_list and mail_to in seen_list): # prevent sending to blocked addresses that were included by mistake diff --git a/addons/web/static/src/js/view_manager.js b/addons/web/static/src/js/view_manager.js index dd6c235415609cb1426364a70301d9ebdc556d13..a351a813263ef236fc80a253bee65e940367a7b1 100644 --- a/addons/web/static/src/js/view_manager.js +++ b/addons/web/static/src/js/view_manager.js @@ -202,17 +202,19 @@ var ViewManager = Widget.extend(ControlPanelMixin, { }); } + self.active_search = $.Deferred(); // Call do_search on the searchview to compute domains, contexts and groupbys if (self.search_view_loaded && self.flags.auto_search && view.controller.searchable !== false) { - self.active_search = $.Deferred(); $.when(self.search_view_loaded, view.loaded).done(function() { self.searchview.do_search(); }); + } else { + self.active_search.resolve(); } - return $.when(view.loaded, self.active_search) + return $.when(view.loaded, self.active_search, self.search_view_loaded) .then(function() { return self._display_view(view_options, old_view).then(function() { self.trigger('switch_mode', view_type, view_options); diff --git a/odoo/addons/base/ir/ir_cron.py b/odoo/addons/base/ir/ir_cron.py index 2ba0548b48d166815c30faa1cc6aebe94ffd2a8b..a0b8a1cdd7f534af9dc8dc49c58b4c3d884d7340 100644 --- a/odoo/addons/base/ir/ir_cron.py +++ b/odoo/addons/base/ir/ir_cron.py @@ -72,8 +72,6 @@ class ir_cron(models.Model): Simply logs the exception and rollback the transaction. """ self._cr.rollback() - _logger.exception("Call from cron %s for server action %d failed in Job %s", - cron_name, server_action_id, job_id) @api.model def _callback(self, cron_name, server_action_id, job_id): @@ -97,6 +95,8 @@ class ir_cron(models.Model): _logger.debug('%.3fs (cron %s, server action %d with uid %d)', end_time - start_time, cron_name, server_action_id, self.env.uid) self.pool.signal_caches_change() except Exception, e: + _logger.exception("Call from cron %s for server action #%s failed in Job #%s", + cron_name, server_action_id, job_id) self._handle_callback_exception(cron_name, server_action_id, job_id, e) @classmethod diff --git a/odoo/tools/convert.py b/odoo/tools/convert.py index 1301e0352417b7a69e821433fff535ec29f77cdb..c2c25f55fadf00bac2ae687cc87439e58c6836a8 100644 --- a/odoo/tools/convert.py +++ b/odoo/tools/convert.py @@ -250,9 +250,6 @@ form: module.record_id""" % (xml_id,) modcnt = self.env['ir.module.module'].search_count([('name', '=', module), ('state', '=', 'installed')]) assert modcnt == 1, """The ID "%s" refers to an uninstalled module""" % (xml_id,) - if len(id) > 64: - _logger.error('id: %s is to long (max: 64)', id) - def _tag_delete(self, rec, data_node=None, mode=None): d_model = rec.get("model") d_search = rec.get("search",'').encode('utf-8') diff --git a/odoo/tools/yaml_import.py b/odoo/tools/yaml_import.py index 8e9e1342a7040a4fab53d374ea38d1823c196834..a597a8a44fa3a7817f5ccfcd869400a101820f7b 100644 --- a/odoo/tools/yaml_import.py +++ b/odoo/tools/yaml_import.py @@ -136,8 +136,6 @@ class YamlInterpreter(object): if module != self.module: module_count = self.env['ir.module.module'].search_count([('name', '=', module), ('state', '=', 'installed')]) assert module_count == 1, 'The ID "%s" refers to an uninstalled module.' % (xml_id,) - if len(id) > 64: # TODO where does 64 come from (DB is 128)? should be a constant or loaded form DB - _logger.error('id: %s is to long (max: 64)', id) def get_id(self, xml_id): if xml_id is False or xml_id is None: