[IMP] Full email preview when attaching manually

pull/2800/head
Stefan Rijnhart 2015-10-29 15:06:12 +01:00 committed by Ronald Portier
parent 80540dc70b
commit 0a87f30d48
2 changed files with 22 additions and 5 deletions

View File

@ -1,9 +1,9 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright - 2013-2018 Therp BV <https://therp.nl>. # Copyright 2013-2018 Therp BV <https://therp.nl>.
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import logging import logging
from odoo import api, fields, models from odoo import _, api, fields, models
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
@ -12,6 +12,7 @@ _logger = logging.getLogger(__name__)
class AttachMailManually(models.TransientModel): class AttachMailManually(models.TransientModel):
_name = 'fetchmail.attach.mail.manually' _name = 'fetchmail.attach.mail.manually'
name = fields.Char()
folder_id = fields.Many2one( folder_id = fields.Many2one(
'fetchmail.server.folder', 'Folder', readonly=True) 'fetchmail.server.folder', 'Folder', readonly=True)
mail_ids = fields.One2many( mail_ids = fields.One2many(
@ -23,11 +24,15 @@ class AttachMailManually(models.TransientModel):
'msgid': msgid, 'msgid': msgid,
'subject': mail_message.get('subject', ''), 'subject': mail_message.get('subject', ''),
'date': mail_message.get('date', ''), 'date': mail_message.get('date', ''),
'body': mail_message.get('body', ''),
'email_from': mail_message.get('from', ''),
'object_id': '%s,-1' % folder.model_id.model} 'object_id': '%s,-1' % folder.model_id.model}
@api.model @api.model
def default_get(self, fields_list): def default_get(self, fields_list):
defaults = super(AttachMailManually, self).default_get(fields_list) defaults = super(AttachMailManually, self).default_get(fields_list)
if not fields_list or 'name' in fields_list:
defaults['name'] = _('Attach emails manually')
defaults['mail_ids'] = [] defaults['mail_ids'] = []
folder_model = self.env['fetchmail.server.folder'] folder_model = self.env['fetchmail.server.folder']
folder_id = self.env.context.get('folder_id') folder_id = self.env.context.get('folder_id')
@ -73,8 +78,8 @@ class AttachMailManually(models.TransientModel):
folder_model = self.env['fetchmail.server.folder'] folder_model = self.env['fetchmail.server.folder']
folder_id = self.env.context.get('folder_id') folder_id = self.env.context.get('folder_id')
folder = folder_model.browse([folder_id]) folder = folder_model.browse([folder_id])
tree = result['fields']['mail_ids']['views']['tree'] form = result['fields']['mail_ids']['views']['form']
tree['fields']['object_id']['selection'] = [ form['fields']['object_id']['selection'] = [
(folder.model_id.model, folder.model_id.name)] (folder.model_id.model, folder.model_id.name)]
return result return result
@ -87,6 +92,8 @@ class AttachMailManuallyMail(models.TransientModel):
msgid = fields.Char('Message id', readonly=True) msgid = fields.Char('Message id', readonly=True)
subject = fields.Char('Subject', readonly=True) subject = fields.Char('Subject', readonly=True)
date = fields.Datetime('Date', readonly=True) date = fields.Datetime('Date', readonly=True)
email_from = fields.Char('From', readonly=True)
body = fields.Html('Body', readonly=True)
object_id = fields.Reference( object_id = fields.Reference(
lambda self: [ lambda self: [
(m.model, m.name) (m.model, m.name)

View File

@ -9,11 +9,21 @@
<group> <group>
<field name="folder_id" /> <field name="folder_id" />
<field name="mail_ids" nolabel="1" colspan="4"> <field name="mail_ids" nolabel="1" colspan="4">
<tree editable="top" create="0"> <tree create="0">
<field name="email_from" />
<field name="subject" /> <field name="subject" />
<field name="date" /> <field name="date" />
<field name="object_id" /> <field name="object_id" />
</tree> </tree>
<form>
<group>
<field name="email_from" />
<field name="subject" />
<field name="date" />
<field name="object_id" />
</group>
<field name="body" />
</form>
</field> </field>
</group> </group>
<footer> <footer>