[MERGE] forward port branch saas-14 up to bac4d13d47
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user