X-Git-Url: http://git.inspyration.org/?a=blobdiff_plain;f=addons%2Fcrm%2Fcrm_lead.py;h=455ad89003c7723f44956da59a8fea1713511b46;hb=096962342a51292381cbb9cbb9a1c587038623d5;hp=65f3253128241ba92866bc2131803a1b3d9aa411;hpb=2f73d494d2421618b77a98a764efe10677e4c00b;p=odoo%2Fodoo.git diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 65f3253..455ad89 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -23,8 +23,9 @@ from openerp.addons.base_status.base_stage import base_stage import crm from datetime import datetime from operator import itemgetter -from openerp.osv import fields, osv +from openerp.osv import fields, osv, orm import time +from openerp import SUPERUSER_ID from openerp import tools from openerp.tools.translate import _ from openerp.tools import html2plaintext @@ -980,15 +981,28 @@ class crm_lead(base_stage, format_address, osv.osv): def message_get_reply_to(self, cr, uid, ids, context=None): """ Override to get the reply_to of the parent project. """ return [lead.section_id.message_get_reply_to()[0] if lead.section_id else False - for lead in self.browse(cr, uid, ids, context=context)] + for lead in self.browse(cr, SUPERUSER_ID, ids, context=context)] + + def _get_formview_action(self, cr, uid, id, context=None): + action = super(crm_lead, self)._get_formview_action(cr, uid, id, context=context) + obj = self.browse(cr, uid, id, context=context) + if obj.type == 'opportunity': + model, view_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'crm', 'crm_case_form_view_oppor') + action.update({ + 'views': [(view_id, 'form')], + }) + return action def message_get_suggested_recipients(self, cr, uid, ids, context=None): recipients = super(crm_lead, self).message_get_suggested_recipients(cr, uid, ids, context=context) - for lead in self.browse(cr, uid, ids, context=context): - if lead.partner_id: - self._message_add_suggested_recipient(cr, uid, recipients, lead, partner=lead.partner_id, reason=_('Customer')) - elif lead.email_from: - self._message_add_suggested_recipient(cr, uid, recipients, lead, email=lead.email_from, reason=_('Customer Email')) + try: + for lead in self.browse(cr, uid, ids, context=context): + if lead.partner_id: + self._message_add_suggested_recipient(cr, uid, recipients, lead, partner=lead.partner_id, reason=_('Customer')) + elif lead.email_from: + self._message_add_suggested_recipient(cr, uid, recipients, lead, email=lead.email_from, reason=_('Customer Email')) + except (osv.except_osv, orm.except_orm): # no read access rights -> just ignore suggested recipients because this imply modifying followers + pass return recipients def message_new(self, cr, uid, msg, custom_values=None, context=None):