summaryrefslogtreecommitdiff
path: root/addons/mail/update.py
diff options
context:
space:
mode:
authorOlivier Dony <odo@openerp.com>2013-10-11 15:44:33 +0200
committerOlivier Dony <odo@openerp.com>2013-10-11 15:44:33 +0200
commit8ac110c4dd8be48ddbb8838f0f2f20eb10dddc92 (patch)
tree37caeefae0cae6fb58a2d0569984e4503d5870c6 /addons/mail/update.py
parented0d68ec54374d379c699d94fcd1670ec07ecc31 (diff)
parent78579d289b9db3e19e2c3f8728fc42c53ec52620 (diff)
[MERGE] Forward-port of latest 7.0 bugfixes, up to rev. 5098 rev-id: odo@openerp.com-20131011123914-7zuvd9mch21yxgj8
bzr revid: dle@openerp.com-20131009131902-a93nsbou4w8y0vlx bzr revid: chs@openerp.com-20131009175454-j06y1ngylfbqyrpj bzr revid: dle@openerp.com-20130918160049-fo88fl7uyhfoofkv bzr revid: dle@openerp.com-20130924130544-kmkyr0d73cusvdav bzr revid: odo@openerp.com-20131011134433-nyfjipvlql4xu127
Diffstat (limited to 'addons/mail/update.py')
-rw-r--r--addons/mail/update.py31
1 files changed, 16 insertions, 15 deletions
diff --git a/addons/mail/update.py b/addons/mail/update.py
index 94416aeb356..bcf9bb8c7c9 100644
--- a/addons/mail/update.py
+++ b/addons/mail/update.py
@@ -6,8 +6,8 @@ import urllib
import urllib2
import openerp
-from openerp import release
-from openerp.osv import fields, osv
+from openerp import release, SUPERUSER_ID
+from openerp.osv import osv
from openerp.tools.translate import _
from openerp.tools.safe_eval import safe_eval
from openerp.tools.config import config
@@ -86,25 +86,26 @@ class publisher_warranty_contract(osv.osv):
try:
try:
result = get_sys_logs(self, cr, uid)
- except Exception, ex:
+ except Exception:
if cron_mode: # we don't want to see any stack trace in cron
return False
_logger.debug("Exception while sending a get logs messages", exc_info=1)
raise osv.except_osv(_("Error"), _("Error during communication with the publisher warranty server."))
- limit_date = (datetime.datetime.now() - _PREVIOUS_LOG_CHECK).strftime(misc.DEFAULT_SERVER_DATETIME_FORMAT)
# old behavior based on res.log; now on mail.message, that is not necessarily installed
- proxy = self.pool.get('mail.message')
-
- model, res_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'mail', 'group_all_employees')
-
+ IMD = self.pool['ir.model.data']
+ user = self.pool['res.users'].browse(cr, SUPERUSER_ID, SUPERUSER_ID)
+ try:
+ poster = IMD.get_object(cr, SUPERUSER_ID, 'mail', 'group_all_employees')
+ except ValueError:
+ # Cannot found group, post the message on the wall of the admin
+ poster = user
+ if not poster.exists():
+ return True
for message in result["messages"]:
- values = {
- 'body' : message,
- 'model' : 'mail.group',
- 'res_id' : res_id,
- 'user_id' : False,
- }
- proxy.create(cr, uid, values, context=context)
+ try:
+ poster.message_post(body=message, subtype='mt_comment', partner_ids=[user.partner_id.id])
+ except Exception:
+ _logger.warning('Cannot send ping message', exc_info=True)
except Exception:
if cron_mode:
return False # we don't want to see any stack trace in cron