From c7f837311e090a05fb138f897f236686150fbfe1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduard=20Berloso=20Clar=C3=A0?= Date: Thu, 5 Mar 2020 17:26:51 +0100 Subject: [PATCH 1/4] Pass poweremail mailbox ID --- poweremail_mailbox.py | 1 + 1 file changed, 1 insertion(+) diff --git a/poweremail_mailbox.py b/poweremail_mailbox.py index 6acb97b..07c0713 100644 --- a/poweremail_mailbox.py +++ b/poweremail_mailbox.py @@ -171,6 +171,7 @@ def send_this_mail(self, cr, uid, ids=None, context=None): headers['In-Reply-To'] = mails[-1].pem_message_id ctx = context.copy() ctx.update({'MIME_subtype': values['mail_type'] or False}) + ctx['poweremail_id'] = id if not values.get('pem_body_html') and not values.get('pem_body_text'): raise osv.except_osv( _('Error'), From f7b08f7a109db5b74805ee6fe4768c859b0299a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduard=20Berloso=20Clar=C3=A0?= Date: Mon, 9 Mar 2020 17:57:59 +0100 Subject: [PATCH 2/4] Add extra read params --- poweremail_mailbox.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/poweremail_mailbox.py b/poweremail_mailbox.py index 07c0713..6c89e62 100644 --- a/poweremail_mailbox.py +++ b/poweremail_mailbox.py @@ -187,7 +187,10 @@ def send_this_mail(self, cr, uid, ids=None, context=None): _('Error'), _("The email must have a sending account.") ) - + if ctx.get("extra_vals_to_read"): + if not ctx.get('extra_vals'): + ctx['extra_vals'] = {} + ctx['extra_vals'].update(self.read(cr, uid, id, ctx.get("extra_vals_to_read"))) result = core_obj.send_mail( cr, uid, [values['pem_account_id'][0]], { 'To': values['pem_to'], From d96cdb6b089cb5d82279268a354b89a1b8647abb Mon Sep 17 00:00:00 2001 From: eberloso Date: Tue, 10 Mar 2020 13:47:59 +0100 Subject: [PATCH 3/4] change method to pass extra vals --- poweremail_mailbox.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/poweremail_mailbox.py b/poweremail_mailbox.py index 6c89e62..d5d1d74 100644 --- a/poweremail_mailbox.py +++ b/poweremail_mailbox.py @@ -187,10 +187,11 @@ def send_this_mail(self, cr, uid, ids=None, context=None): _('Error'), _("The email must have a sending account.") ) - if ctx.get("extra_vals_to_read"): - if not ctx.get('extra_vals'): - ctx['extra_vals'] = {} - ctx['extra_vals'].update(self.read(cr, uid, id, ctx.get("extra_vals_to_read"))) + + if ctx.get("poweremail_mailbox_fields"): + for val_to_read in ctx.get("poweremail_mailbox_fields"): + ctx[val_to_read] = self.read(cr, uid, id, [val_to_read])[val_to_read] + result = core_obj.send_mail( cr, uid, [values['pem_account_id'][0]], { 'To': values['pem_to'], From 28307ab8c90f72172ddd1bb0ca9749140b9da9f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduard=20Berloso=20Clar=C3=A0?= Date: Wed, 11 Mar 2020 18:32:44 +0100 Subject: [PATCH 4/4] More extra values... --- poweremail_send_wizard.py | 1 + poweremail_template.py | 1 + 2 files changed, 2 insertions(+) diff --git a/poweremail_send_wizard.py b/poweremail_send_wizard.py index abec9fa..ce81b63 100644 --- a/poweremail_send_wizard.py +++ b/poweremail_send_wizard.py @@ -305,6 +305,7 @@ def get_end_value(id, value): 'state':'na', 'mail_type':'multipart/alternative' #Options:'multipart/mixed','multipart/alternative','text/plain','text/html' } + vals.update(context.get("extra_vals", {})) if screen_vals['signature']: signature = self.pool.get('res.users').read(cr, uid, uid, ['signature'], context)['signature'] if signature: diff --git a/poweremail_template.py b/poweremail_template.py index 4c1f2f8..69417f9 100644 --- a/poweremail_template.py +++ b/poweremail_template.py @@ -959,6 +959,7 @@ def _generate_mailbox_item_from_template(self, mailbox_values['pem_body_text'] += "\n--\n"+sign if mailbox_values['pem_body_html']: mailbox_values['pem_body_html'] += sign + mailbox_values.update(context.get("extra_vals", {})) mailbox_id = self.pool.get('poweremail.mailbox').create( cursor, user,