diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml
index dea5e58394c..59b482e978f 100644
--- a/addons/crm/crm_lead_view.xml
+++ b/addons/crm/crm_lead_view.xml
@@ -108,7 +108,6 @@
@@ -227,7 +226,6 @@
icon="terp-document-new" type="action" />
diff --git a/addons/crm/crm_opportunity_view.xml b/addons/crm/crm_opportunity_view.xml
index 0fb45b99ef3..9f5fa7429d6 100644
--- a/addons/crm/crm_opportunity_view.xml
+++ b/addons/crm/crm_opportunity_view.xml
@@ -61,7 +61,6 @@
@@ -183,7 +182,6 @@
icon="terp-document-new" type="action" />
diff --git a/addons/crm/wizard/email_compose_message.py b/addons/crm/wizard/email_compose_message.py
index 4bb55009c0e..576a1181d4e 100644
--- a/addons/crm/wizard/email_compose_message.py
+++ b/addons/crm/wizard/email_compose_message.py
@@ -40,7 +40,7 @@ class email_compose_message(osv.osv_memory):
result.update({
'subject' : data.name or False,
'email_to' : data.email_from or False,
- 'email_from' : data.user_id and data.user_id.address_id and data.user_id.address_id.email or False,
+ 'email_from' : data.user_id and data.user_id.address_id and data.user_id.address_id.email or tools.config.get('email_from', False),
'body' : '\n' + (tools.ustr(data.user_id.signature or '')),
'email_cc' : tools.ustr(data.email_cc or ''),
'model': model or False,
diff --git a/addons/crm_claim/crm_claim_view.xml b/addons/crm_claim/crm_claim_view.xml
index a3bfdc1be02..6b1d35eb785 100644
--- a/addons/crm_claim/crm_claim_view.xml
+++ b/addons/crm_claim/crm_claim_view.xml
@@ -215,7 +215,6 @@
icon="terp-document-new" type="action" />
diff --git a/addons/crm_fundraising/crm_fundraising_view.xml b/addons/crm_fundraising/crm_fundraising_view.xml
index 8c22caca178..aa154e89b72 100644
--- a/addons/crm_fundraising/crm_fundraising_view.xml
+++ b/addons/crm_fundraising/crm_fundraising_view.xml
@@ -206,7 +206,6 @@
icon="terp-document-new" type="action" />
diff --git a/addons/crm_helpdesk/crm_helpdesk_view.xml b/addons/crm_helpdesk/crm_helpdesk_view.xml
index 1479ae78356..f834f798f3e 100644
--- a/addons/crm_helpdesk/crm_helpdesk_view.xml
+++ b/addons/crm_helpdesk/crm_helpdesk_view.xml
@@ -140,7 +140,6 @@
icon="terp-document-new" type="action" />
diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py
index 476174db32f..524dce47518 100644
--- a/addons/email_template/email_template.py
+++ b/addons/email_template/email_template.py
@@ -65,19 +65,17 @@ class email_template(osv.osv):
mod_name = self.pool.get('ir.model').browse(cr, uid, model_id, context).model
return {'value':{'model':mod_name}}
+ def _lang_get(self, cr, uid, context={}):
+ obj = self.pool.get('res.lang')
+ ids = obj.search(cr, uid, [], context=context)
+ res = obj.read(cr, uid, ids, ['code', 'name'], context)
+ return [(r['code'], r['name']) for r in res] + [('','')]
+
_columns = {
'name': fields.char('Name', size=250),
'model_id':fields.many2one('ir.model', 'Resource'),
'model': fields.related('model_id', 'model', string='Model', type="char", size=128, store=True, readonly=True),
- 'track_campaign_item':fields.boolean('Resource Tracking',
- help="Enable this is you wish to include a special \
-tracking marker in outgoing emails so you can identify replies and link \
-them back to the corresponding resource record. \
-This is useful for CRM leads for example"),
- 'lang':fields.char(
- 'Language',
- size=250,
- help="The default language for the email."
+ 'lang': fields.selection(_lang_get, 'Language', size=5, help="The default language for the email."
" Placeholders can be used here. "
"eg. ${object.partner_id.lang}"),
'subject':fields.char(
@@ -157,7 +155,6 @@ This is useful for CRM leads for example"),
'email_to': fields.char('To', size=256, help="Email Recipients. Placeholders can be used here."),
'email_cc': fields.char('Cc', size=256, help="Carbon Copy Email Recipients. Placeholders can be used here."),
'email_bcc': fields.char('Bcc', size=256, help="Blind Carbon Copy Email Recipients. Placeholders can be used here."),
- 'message_id': fields.char('Message Id', size=1024, select=1, help="Message Id on Email. Placeholders can be used here."),
'reply_to':fields.char('Reply-To', size=250, help="Placeholders can be used here."),
'body': fields.text('Description', translate=True, help="Placeholders can be used here."),
'body_html': fields.text('HTML', help="Contains HTML version of email. Placeholders can be used here."),
@@ -183,7 +180,7 @@ This is useful for CRM leads for example"),
'res_model': 'email.compose.message',
'src_model': src_obj,
'view_type': 'form',
- 'context': "{'email_model':'%s', 'email_res_id': active_id,'template_id':'%d','src_rec_id':active_id,'src_rec_ids':active_ids}" % (src_obj, template.id),
+ 'context': "{'template_id':'%d','src_rec_id':active_id,'src_rec_ids':active_ids}" % (template.id),
'view_mode':'form,tree',
'view_id': res_id,
'target': 'new',
@@ -388,14 +385,6 @@ This is useful for CRM leads for example"),
#'body_html': self.get_template_value(cr, uid, template.body_html, model, record_id, context),
}
- if template.message_id:
- # use provided message_id with placeholders
- values.update({'message_id': self.get_template_value(cr, uid, template.message_id, model, record_id, context)})
-
- elif template['track_campaign_item']:
- # get appropriate message-id
- values.update({'message_id': tools.generate_tracking_message_id(record_id)})
-
#Use signatures if allowed
if template.user_signature:
sign = self.pool.get('res.users').read(cr, uid, uid, ['signature'], context)['signature']
diff --git a/addons/email_template/email_template_view.xml b/addons/email_template/email_template_view.xml
index 0fa85877ddf..e3d0ca1ffcc 100644
--- a/addons/email_template/email_template_view.xml
+++ b/addons/email_template/email_template_view.xml
@@ -26,7 +26,7 @@
-
+
@@ -72,11 +72,6 @@
-
-
-
-
-
diff --git a/addons/email_template/wizard/email_compose_message.py b/addons/email_template/wizard/email_compose_message.py
index 2fcc158a333..4ca04b2d154 100644
--- a/addons/email_template/wizard/email_compose_message.py
+++ b/addons/email_template/wizard/email_compose_message.py
@@ -22,6 +22,7 @@
from osv import osv
from osv import fields
import tools
+from tools.translate import _
class email_compose_message(osv.osv_memory):
_name = 'email.compose.message'
@@ -40,7 +41,7 @@ class email_compose_message(osv.osv_memory):
if len(context.get('src_rec_ids',[])) > 1: # Multiple Mail: Gets original template values for multiple email change
return getattr(template, field)
else: # Simple Mail: Gets computed template values
- return template_pool.get_template_value(cr, uid, getattr(template, field), template.model, context.get('email_res_id'), context)
+ return template_pool.get_template_value(cr, uid, getattr(template, field), template.model, context.get('active_id'), context)
result.update({
'template_id' : template.id,
'smtp_server_id' : template.smtp_server_id.id,
@@ -138,6 +139,12 @@ class email_compose_message(osv.osv_memory):
vals.update(self.get_template_data(cr, uid, resource_id, template_id, context))
else:
vals.update({'attachment_ids' : []})
+ email_temp_pool = self.pool.get('email.template')
+ if context.get('active_model') and context.get('active_id') and email_temp_pool.browse(cr, uid, template_id, context=context).user_signature:
+ model_pool = self.pool.get(context['active_model'])
+ user = model_pool.browse(cr, uid, context['active_id'], context=context).user_id
+ signature = user and user.signature
+ vals['body'] = _('%s\n%s') %(vals['body'], signature or '')
return {'value': vals}
email_compose_message()
diff --git a/addons/email_template/wizard/email_template_preview.py b/addons/email_template/wizard/email_template_preview.py
index 00e20b98cf3..a1281831c4f 100644
--- a/addons/email_template/wizard/email_template_preview.py
+++ b/addons/email_template/wizard/email_template_preview.py
@@ -90,10 +90,6 @@ class email_template_preview(osv.osv_memory):
vals['email_cc'] = self.get_template_value(cr, uid, template.email_cc, model, res_id, context)
vals['email_bcc'] = self.get_template_value(cr, uid, template.email_bcc, model, res_id, context)
vals['reply_to'] = self.get_template_value(cr, uid, template.reply_to, model, res_id, context)
- if template.message_id:
- vals['message_id'] = self.get_template_value(cr, uid, message_id, model, res_id, context)
- elif template.track_campaign_item:
- vals['message_id'] = tools.generate_tracking_message_id(res_id)
vals['subject'] = self.get_template_value(cr, uid, template.subject, model, res_id, context)
description = self.get_template_value(cr, uid, template.body, model, res_id, context) or ''
if template.user_signature:
diff --git a/addons/email_template/wizard/email_template_preview_view.xml b/addons/email_template/wizard/email_template_preview_view.xml
index 5b7e3d65119..d9ba1a16980 100644
--- a/addons/email_template/wizard/email_template_preview_view.xml
+++ b/addons/email_template/wizard/email_template_preview_view.xml
@@ -17,7 +17,6 @@
-
diff --git a/addons/email_template/wizard/email_template_send_wizard.py b/addons/email_template/wizard/email_template_send_wizard.py
index 67a13d3e4d0..b1c91401e55 100644
--- a/addons/email_template/wizard/email_template_send_wizard.py
+++ b/addons/email_template/wizard/email_template_send_wizard.py
@@ -58,12 +58,6 @@ class email_template_send_wizard(osv.osv_memory):
if 'smtp_server_id' in fields:
result['smtp_server_id'] = template.smtp_server_id.id
- if 'message_id' in fields:
- result['message_id'] = template.message_id
-
- if 'track_campaign_item' in fields:
- result['track_campaign_item'] = template.track_campaign_item
-
if 'attachment_ids' in fields:
result['attachment_ids'] = template_pool.read(cr, uid, template.id, ['attachment_ids'])['attachment_ids']
diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml
index 00289183e3a..d2fc260909e 100644
--- a/addons/event/event_view.xml
+++ b/addons/event/event_view.xml
@@ -431,7 +431,6 @@
icon="terp-document-new" type="action" />
diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml
index 4e09a965e65..703e24eeb17 100644
--- a/addons/hr_recruitment/hr_recruitment_view.xml
+++ b/addons/hr_recruitment/hr_recruitment_view.xml
@@ -185,7 +185,6 @@
icon="terp-document-new" type="action" />
diff --git a/addons/mail/email_message.py b/addons/mail/email_message.py
index a32c29ff759..d39b92c8a8a 100644
--- a/addons/mail/email_message.py
+++ b/addons/mail/email_message.py
@@ -72,7 +72,7 @@ def format_date_tz(date, tz=None):
class email_message_common(osv.osv_memory):
_name = 'email.message.common'
_columns = {
- 'subject':fields.text('Subject', translate=True),
+ 'subject':fields.text('Subject'),
'model': fields.char('Object Name', size=128, select=1),
'res_id': fields.integer('Resource ID', select=1),
'date': fields.datetime('Date'),
@@ -87,7 +87,7 @@ class email_message_common(osv.osv_memory):
'sub_type': fields.char('Sub Type', size=32),
'headers': fields.text('x_headers'),
'priority':fields.integer('Priority'),
- 'body': fields.text('Description', translate=True),
+ 'body': fields.text('Description'),
'body_html': fields.text('HTML', help="Contains HTML version of email"),
'smtp_server_id':fields.many2one('ir.mail_server', 'SMTP Server'),
}
@@ -311,7 +311,7 @@ class email_message(osv.osv):
msg_txt['message-id'] = message_id
_logger.info('Parsing Message without message-id, generating a random one: %s', message_id)
-
+
fields = msg_txt.keys()
msg['id'] = message_id
msg['message-id'] = message_id
@@ -422,7 +422,7 @@ class email_message(osv.osv):
subtype=message.sub_type,
x_headers=message.headers and eval(message.headers) or {},
priority=message.priority)
- res = smtp_server_obj.send_email(cr, uid,
+ res = smtp_server_obj.send_email(cr, uid,
msg,
mail_server_id = message.smtp_server_id.id or None,
smtp_server=smtp_server and smtp_server.smtp_host or None,
diff --git a/addons/mail/wizard/email_compose_message.py b/addons/mail/wizard/email_compose_message.py
index fb2ce69ce87..3f528f4732e 100644
--- a/addons/mail/wizard/email_compose_message.py
+++ b/addons/mail/wizard/email_compose_message.py
@@ -100,6 +100,7 @@ class email_compose_message(osv.osv_memory):
_columns = {
'attachment_ids': fields.many2many('ir.attachment','email_message_send_attachment_rel', 'wizard_id', 'attachment_id', 'Attachments'),
+ 'auto_delete': fields.boolean('Auto Delete', help="Permanently delete emails after sending"),
}
def get_value(self, cr, uid, model, res_id, context=None):
@@ -130,7 +131,7 @@ class email_compose_message(osv.osv_memory):
'body' : description,
'subject' : subject,
'message_id' : message_data and message_data.message_id or False,
- 'attachment_ids' : message_data and message_pool.read(cr, uid, message_id, ['attachment_ids'])['attachment_ids'] or [],
+ 'attachment_ids' : [],
'res_id' : message_data and message_data.res_id or False,
'email_from' : message_data and message_data.email_to or False,
'email_to' : message_data and message_data.email_from or False,
diff --git a/addons/mail/wizard/email_compose_message_view.xml b/addons/mail/wizard/email_compose_message_view.xml
index a2b22306992..71fe82fb7e6 100644
--- a/addons/mail/wizard/email_compose_message_view.xml
+++ b/addons/mail/wizard/email_compose_message_view.xml
@@ -10,7 +10,7 @@
diff --git a/addons/project_planning/project_planning_view.xml b/addons/project_planning/project_planning_view.xml
index 3aac5c7f466..016a10d940f 100644
--- a/addons/project_planning/project_planning_view.xml
+++ b/addons/project_planning/project_planning_view.xml
@@ -109,7 +109,7 @@
-
+
diff --git a/addons/project_scrum/project_scrum_view.xml b/addons/project_scrum/project_scrum_view.xml
index 014d920d83d..78ff529b240 100644
--- a/addons/project_scrum/project_scrum_view.xml
+++ b/addons/project_scrum/project_scrum_view.xml
@@ -398,7 +398,7 @@
+ />