[FIX]mail: update.py, using message_post instead of mail.message create, in order to notify users and the administrator
bzr revid: dle@openerp.com-20131007123925-k6zfffuq6hzcijc2
This commit is contained in:
parent
a7ddaa29c6
commit
d0f6d9af35
|
@ -5,9 +5,9 @@ import sys
|
||||||
import urllib
|
import urllib
|
||||||
import urllib2
|
import urllib2
|
||||||
|
|
||||||
from openerp import pooler
|
from openerp import pooler, SUPERUSER_ID
|
||||||
from openerp import release
|
from openerp import release
|
||||||
from openerp.osv import fields, osv
|
from openerp.osv import osv
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
from openerp.tools.safe_eval import safe_eval
|
from openerp.tools.safe_eval import safe_eval
|
||||||
from openerp.tools.config import config
|
from openerp.tools.config import config
|
||||||
|
@ -86,25 +86,26 @@ class publisher_warranty_contract(osv.osv):
|
||||||
try:
|
try:
|
||||||
try:
|
try:
|
||||||
result = get_sys_logs(self, cr, uid)
|
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
|
if cron_mode: # we don't want to see any stack trace in cron
|
||||||
return False
|
return False
|
||||||
_logger.debug("Exception while sending a get logs messages", exc_info=1)
|
_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."))
|
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
|
# old behavior based on res.log; now on mail.message, that is not necessarily installed
|
||||||
proxy = self.pool.get('mail.message')
|
IMD = self.pool['ir.model.data']
|
||||||
|
user = self.pool['res.users'].browse(cr, SUPERUSER_ID, SUPERUSER_ID)
|
||||||
model, res_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'mail', 'group_all_employees')
|
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"]:
|
for message in result["messages"]:
|
||||||
values = {
|
try:
|
||||||
'body' : message,
|
poster.message_post(body=message, subtype='mt_comment', partner_ids=[user.partner_id.id])
|
||||||
'model' : 'mail.group',
|
except Exception:
|
||||||
'res_id' : res_id,
|
_logger.warning('Cannot send ping message', exc_info=True)
|
||||||
'user_id' : False,
|
|
||||||
}
|
|
||||||
proxy.create(cr, uid, values, context=context)
|
|
||||||
except Exception:
|
except Exception:
|
||||||
if cron_mode:
|
if cron_mode:
|
||||||
return False # we don't want to see any stack trace in cron
|
return False # we don't want to see any stack trace in cron
|
||||||
|
|
Loading…
Reference in New Issue