[IMP]: mail_gateway: Improvement in (email) history for attachments

bzr revid: rpa@tinyerp.com-20100525063530-736inv1bz9xzo9j8
This commit is contained in:
rpa (Open ERP)
2010-05-25 12:05:30 +05:30
parent 067f4239f9
commit 252987ae32
4 changed files with 22 additions and 8 deletions
+5 -2
View File
@@ -203,9 +203,12 @@ class crm_case(object):
address = self.pool.get('res.partner.address').browse(cr, uid, add)
return {'value': {'email_from': address.email}}
def _history(self, cr, uid, cases, keyword, history=False, email=False, details=None, email_from=False, message_id=False, context={}):
def _history(self, cr, uid, cases, keyword, history=False, email=False, details=None, email_from=False, message_id=False, attach=[], context={}):
mailgate_pool = self.pool.get('mailgate.thread')
return mailgate_pool._history(cr, uid, cases, keyword, history=history, email=email, details=details, email_from=email_from, message_id=message_id, context=context)
return mailgate_pool._history(cr, uid, cases, keyword, history=history,\
email=email, details=details, \
email_from=email_from, message_id=message_id,\
attach=attach, context=context)
def case_open(self, cr, uid, ids, *args):
"""Opens Case
+6 -2
View File
@@ -99,7 +99,7 @@ class crm_send_new_email(osv.osv_memory):
model = hist.model_id.model
model_pool = self.pool.get(model)
res_ids = model_pool.search(cr, uid, [('thread_id','=', hist.thread_id.id)])
res_id = res_ids and res_ids[0] or False
res_id = res_ids and res_ids[0] or False
case = model_pool.browse(cr, uid, res_id)
emails = [obj.email_to] + (obj.email_cc or '').split(',')
emails = filter(None, emails)
@@ -107,7 +107,11 @@ class crm_send_new_email(osv.osv_memory):
body = case_pool.format_body(body)
email_from = getattr(obj, 'email_from', False)
case_pool._history(cr, uid, [case], _('Send'), history=True, email=obj.email_to, details=body, email_from=email_from, message_id=message_id)
case_pool._history(cr, uid, [case], _('Send'), history=True, \
email=obj.email_to, details=body, \
email_from=email_from, message_id=message_id, \
attach=attach)
x_headers = dict()
#x_headers = {
+10 -3
View File
@@ -21,6 +21,7 @@
from osv import osv, fields
import time
import base64
class one2many_domain(fields.one2many):
def set(self, cr, obj, id, field, values, user=None, context=None):
@@ -54,7 +55,7 @@ class mailgate_thread(osv.osv):
'log_ids': one2many_domain('mailgate.message', 'thread_id', 'Logs', domain=[('history', '=', False)], required=False),
}
def __history(self, cr, uid, cases, keyword, history=False, email=False, details=None, email_from=False, message_id=False, context={}):
def __history(self, cr, uid, cases, keyword, history=False, email=False, details=None, email_from=False, message_id=False, attach=[], context={}):
"""
@param self: The object pointer
@param cr: the current row, from the database cursor,
@@ -64,6 +65,7 @@ class mailgate_thread(osv.osv):
@param history: Value True/False, If True it makes entry in case History otherwise in Case Log
@param email: Email address if any
@param details: Details of case history if any
@param atach: Attachment sent in email
@param context: A standard dictionary for contextual values"""
if not context:
context = {}
@@ -72,8 +74,9 @@ class mailgate_thread(osv.osv):
cases = self.pool.get(context['model']).browse(cr, uid, cases, context=context)
model_obj = self.pool.get('ir.model')
att_obj = self.pool.get('ir.attachment')
obj = self.pool.get('mailgate.message')
for case in cases:
model_ids = model_obj.search(cr, uid, [('model', '=', case._name)])
data = {
@@ -84,8 +87,11 @@ class mailgate_thread(osv.osv):
'thread_id': case.thread_id.id,
'message_id': message_id,
}
attachments = []
if history:
for att in attach:
attachments.append(att_obj.create(cr, uid, {'name': att[0], 'datas': base64.encodestring(att[1])}))
data = {
'name': keyword,
'history': True,
@@ -102,6 +108,7 @@ class mailgate_thread(osv.osv):
'partner_id': case.partner_id.id,
'thread_id': case.thread_id.id,
'message_id': message_id,
'attachment_ids': [(6, 0, attachments)]
}
res = obj.create(cr, uid, data, context)
return True
+1 -1
View File
@@ -30,7 +30,7 @@
</page>
<page string="Attachments">
<separator string="Attachments" colspan="4"/>
<field name="attachment_ids" nolabel="1" colspan="4" />
<field name="attachment_ids" nolabel="1" colspan="4" readonly="1"/>
</page>
</notebook>
</form>