diff --git a/addons/crm/crm.py b/addons/crm/crm.py
index 6473ace2e3a..45d043426cd 100644
--- a/addons/crm/crm.py
+++ b/addons/crm/crm.py
@@ -53,13 +53,6 @@ AVAILABLE_PRIORITIES = [
('2','High'),
('1','Highest')
]
-
-icon_lst = {
- 'form':'STOCK_NEW',
- 'tree':'STOCK_JUSTIFY_FILL',
- 'calendar':'STOCK_SELECT_COLOR'
-}
-
class crm_case_section(osv.osv):
_name = "crm.case.section"
_description = "Sales Teams"
@@ -321,22 +314,7 @@ class crm_case(osv.osv):
s[section] = dict([(v, k) for (k, v) in s[section].iteritems()])
if st in s[section]:
self.write(cr, uid, [case.id], {'stage_id': s[section][st]})
- return True
-
- def onchange_case_id(self, cr, uid, ids, case_id, name, partner_id, context={}):
- if not case_id:
- return {}
- case = self.browse(cr, uid, case_id, context=context)
- value = {}
- if not name:
- value['name'] = case.name
- if (not partner_id) and case.partner_id:
- value['partner_id'] = case.partner_id.id
- if case.partner_address_id:
- value['partner_address_id'] = case.partner_address_id.id
- if case.email_from:
- value['email_from'] = case.email_from
- return {'value': value}
+ return True
def history(self, cr, uid, ids, keyword, history=False, email=False, details=None, context={}):
cases = self.browse(cr, uid, ids, context=context)
@@ -344,7 +322,7 @@ class crm_case(osv.osv):
history=history, email=email, details=details,\
context=context)
- def __history(self, cr, uid, cases, keyword, history=False, email=False, details=None, context={}):
+ def __history(self, cr, uid, cases, keyword, history=False, email=False, details=None, email_from=False, context={}):
model_obj = self.pool.get('ir.model')
for case in cases:
model_ids = model_obj.search(cr, uid, [('model','=',case._name)])
@@ -360,11 +338,12 @@ class crm_case(osv.osv):
if history:
obj = self.pool.get('crm.case.history')
data['description'] = details or case.description
- data['email'] = email or \
+ data['email_to'] = email or \
+ (case.user_id and case.user_id.address_id and \
+ case.user_id.address_id.email) or False
+ data['email_from'] = email_from or \
(case.user_id and case.user_id.address_id and \
case.user_id.address_id.email) or False
- data['email_from'] = (case.user_id and case.user_id.address_id and \
- case.user_id.address_id.email) or tools.config.get('email_from',False)
res = obj.create(cr, uid, data, context)
return True
_history = __history
@@ -403,12 +382,10 @@ class crm_case(osv.osv):
if not case.description:
raise osv.except_osv(_('Error!'),
_('Can not send mail with empty body,you should have description in the body'))
- self.__history(cr, uid, cases, _('Send'), history=True, email=False)
+
for case in cases:
self.write(cr, uid, [case.id], {
- 'description': False,
- 'som': False,
- 'canal_id': False,
+ 'description': False,
})
emails = [case.email_from] + (case.email_cc or '').split(',')
emails = filter(None, emails)
@@ -429,6 +406,7 @@ class crm_case(osv.osv):
reply_to=case.section_id.reply_to,
openobject_id=str(case.id)
)
+ self.__history(cr, uid, [case], _('Send'), history=True, email=emails, details=body, email_from=emailfrom)
return True
def onchange_partner_id(self, cr, uid, ids, part, email=False):
@@ -522,9 +500,7 @@ class crm_case_log(osv.osv):
_order = "id desc"
_columns = {
'name': fields.char('Status', size=64),
- 'som': fields.many2one('res.partner.som', 'State of Mind'),
- 'date': fields.datetime('Date'),
- 'canal_id': fields.many2one('res.partner.canal', 'Channel'),
+ 'date': fields.datetime('Date'),
'section_id': fields.many2one('crm.case.section', 'Section'),
'user_id': fields.many2one('res.users', 'User Responsible', readonly=True),
'model_id': fields.many2one('ir.model', "Model"),
@@ -550,8 +526,8 @@ class crm_case_history(osv.osv):
_columns = {
'description': fields.text('Description'),
'note': fields.function(_note_get, method=True, string="Description", type="text"),
- 'email': fields.char('Email', size=84),
- 'email_from' : fields.char('From Email', size=84),
+ 'email_to': fields.char('Email TO', size=84),
+ 'email_from' : fields.char('Email From', size=84),
'log_id': fields.many2one('crm.case.log','Log',ondelete='cascade'),
}
crm_case_history()
@@ -595,16 +571,16 @@ class crm_email_add_cc_wizard(osv.osv_memory):
case = model_pool.browse(cr, uid, history_line.log_id.res_id)
body = history_line.description.replace('\n','\n> ')
flag = tools.email_send(
- case.user_id.address_id.email,
- [case.email_from],
+ email,
+ [case.user_id.address_id.email],
subject or '['+str(case.id)+'] '+case.name,
- model_pool.format_body(body),
- email_cc = [email],
+ model_pool.format_body(body),
openobject_id=str(case.id),
subtype="html"
)
if flag:
model_pool.write(cr, uid, case.id, {'email_cc' : case.email_cc and case.email_cc +','+ email or email})
+ self.__history(cr, uid, [case], _('Send'), history=True, email=email, details=body, email_from=case.user_id.address_id.email)
else:
raise osv.except_osv(_('Email Fail!'),("Lastest Email is not sent successfully"))
return {}
diff --git a/addons/crm/crm_claims_view.xml b/addons/crm/crm_claims_view.xml
index 50c061121a1..c1a3345e51b 100644
--- a/addons/crm/crm_claims_view.xml
+++ b/addons/crm/crm_claims_view.xml
@@ -134,9 +134,7 @@