From c2b55f3e0ccd621a77000dbe467176771404586f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Rahir?= Date: Tue, 30 Oct 2018 11:33:32 +0000 Subject: [PATCH 1/3] [FIX] snailmail_account: Pass pricing to stamps Up until now, we'd charge the user in actual curency but we changed the pricing to 1 creidt=1 letter. in forder to help the user we will change the name credits to stamps. As 1 letter = 1 stamp. --- .../snailmail_account/i18n/snailmail_account.pot | 15 +++++++-------- .../wizard/account_invoice_send.py | 9 +-------- .../wizard/account_invoice_send_views.xml | 6 ++++-- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/addons/snailmail_account/i18n/snailmail_account.pot b/addons/snailmail_account/i18n/snailmail_account.pot index 94b580df10e..5f808e44312 100644 --- a/addons/snailmail_account/i18n/snailmail_account.pot +++ b/addons/snailmail_account/i18n/snailmail_account.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-21 13:17+0000\n" -"PO-Revision-Date: 2018-09-21 13:17+0000\n" +"POT-Creation-Date: 2018-11-05 09:29+0000\n" +"PO-Revision-Date: 2018-11-05 09:29+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -40,11 +40,6 @@ msgstr "" msgid "Config Settings" msgstr "" -#. module: snailmail_account -#: model:ir.model.fields,field_description:snailmail_account.field_account_invoice_send__snailmail_cost -msgid "Credits" -msgstr "" - #. module: snailmail_account #: model:ir.model.fields,field_description:snailmail_account.field_account_invoice_send__currency_id msgid "Currency" @@ -81,3 +76,7 @@ msgstr "" msgid "Send by Post" msgstr "" +#. module: snailmail_account +#: model:ir.model.fields,field_description:snailmail_account.field_account_invoice_send__snailmail_cost +msgid "Stamp(s)" +msgstr "" diff --git a/addons/snailmail_account/wizard/account_invoice_send.py b/addons/snailmail_account/wizard/account_invoice_send.py index 4aa2ee0adaf..75ca9c3cb85 100644 --- a/addons/snailmail_account/wizard/account_invoice_send.py +++ b/addons/snailmail_account/wizard/account_invoice_send.py @@ -11,17 +11,10 @@ class AccountInvoiceSend(models.TransientModel): partner_id = fields.Many2one('res.partner', compute='_get_partner', string='Partner') snailmail_is_letter = fields.Boolean('Send by Post', help='Allows to send the document by snail mail (coventional posting delivery service)', default=lambda self: self.env.user.company_id.invoice_is_snailmail) - snailmail_cost = fields.Float(string='Credits', compute='_snailmail_estimate', store=True, readonly=True) + snailmail_cost = fields.Float(string='Stamp(s)', compute='_snailmail_estimate', store=True, readonly=True) currency_id = fields.Many2one('res.currency', compute='_get_invoice_currency', string="Currency") letter_ids = fields.Many2many('snailmail.letter', 'snailmail_letter_account_invoice_send_rel', ondelete='cascade') - @api.multi - @api.onchange('invoice_ids') - def _get_invoice_currency(self): - for wizard in self: - if wizard.invoice_ids: - wizard.currency_id = wizard.invoice_ids.mapped('currency_id')[0].id - @api.multi @api.onchange('invoice_ids') def _get_partner(self): diff --git a/addons/snailmail_account/wizard/account_invoice_send_views.xml b/addons/snailmail_account/wizard/account_invoice_send_views.xml index 134236397d6..5fd58f436e6 100644 --- a/addons/snailmail_account/wizard/account_invoice_send_views.xml +++ b/addons/snailmail_account/wizard/account_invoice_send_views.xml @@ -9,14 +9,16 @@
-
( - + + + From 9988ce3f3b10da2f7c9214166b5a5f380e02ff16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Rahir?= Date: Tue, 30 Oct 2018 12:17:20 +0000 Subject: [PATCH 2/3] [IMP] snailmail: add new error message to help the user --- addons/snailmail/i18n/snailmail.pot | 29 ++++++++++++--------- addons/snailmail/models/snailmail_letter.py | 4 ++- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/addons/snailmail/i18n/snailmail.pot b/addons/snailmail/i18n/snailmail.pot index 5c1f4f4ed77..abe2e48530c 100644 --- a/addons/snailmail/i18n/snailmail.pot +++ b/addons/snailmail/i18n/snailmail.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-02 10:06+0000\n" -"PO-Revision-Date: 2018-10-02 10:06+0000\n" +"POT-Creation-Date: 2018-10-30 12:25+0000\n" +"PO-Revision-Date: 2018-10-30 12:25+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,13 +16,13 @@ msgstr "" "Plural-Forms: \n" #. module: snailmail -#: code:addons/snailmail/models/snailmail_letter.py:243 +#: code:addons/snailmail/models/snailmail_letter.py:249 #, python-format msgid "An error occured when sending the document by post.
Error: %s" msgstr "" #. module: snailmail -#: code:addons/snailmail/models/snailmail_letter.py:211 +#: code:addons/snailmail/models/snailmail_letter.py:215 #, python-format msgid "An unknown error happened. Please contact the support." msgstr "" @@ -161,7 +161,7 @@ msgid "Model" msgstr "" #. module: snailmail -#: code:addons/snailmail/models/snailmail_letter.py:209 +#: code:addons/snailmail/models/snailmail_letter.py:211 #, python-format msgid "One or more required fields are empty." msgstr "" @@ -172,7 +172,7 @@ msgid "Optional report to print and attach" msgstr "" #. module: snailmail -#: code:addons/snailmail/models/snailmail_letter.py:248 +#: code:addons/snailmail/models/snailmail_letter.py:264 #, python-format msgid "Post letter: an error occured." msgstr "" @@ -235,13 +235,19 @@ msgid "Status" msgstr "" #. module: snailmail -#: code:addons/snailmail/models/snailmail_letter.py:207 +#: code:addons/snailmail/models/snailmail_letter.py:213 +#, python-format +msgid "The attachment of the letter could not be sent. Please check its content and contact the support if the problem persists." +msgstr "" + +#. module: snailmail +#: code:addons/snailmail/models/snailmail_letter.py:209 #, python-format msgid "The country of the partner is not covered by Snailmail." msgstr "" #. module: snailmail -#: code:addons/snailmail/models/snailmail_letter.py:238 +#: code:addons/snailmail/models/snailmail_letter.py:242 #, python-format msgid "The document was correctly sent by post.
The tracking id is %ssend_id" msgstr "" @@ -259,14 +265,13 @@ msgid "When a letter is created, the status is 'Draft'.\n" msgstr "" #. module: snailmail -#: code:addons/snailmail/models/snailmail_letter.py:205 +#: code:addons/snailmail/models/snailmail_letter.py:207 #, python-format msgid "You don't have an IAP account registered for this service.
Please go to iap.odoo.com to claim your free credits." msgstr "" #. module: snailmail -#: code:addons/snailmail/models/snailmail_letter.py:202 +#: code:addons/snailmail/models/snailmail_letter.py:204 #, python-format msgid "You don't have enough credits to perform this operation.
Please go to your iap account." msgstr "" - diff --git a/addons/snailmail/models/snailmail_letter.py b/addons/snailmail/models/snailmail_letter.py index 7024edfec34..b21d6aacb60 100644 --- a/addons/snailmail/models/snailmail_letter.py +++ b/addons/snailmail/models/snailmail_letter.py @@ -209,7 +209,9 @@ class SnailmailLetter(models.Model): return _('The country of the partner is not covered by Snailmail.') if error == 'MISSING_REQUIRED_FIELDS': return _('One or more required fields are empty.') - if error == 'SOMETHING_IS_WRONG': + if error == 'FORMAT_ERROR': + return _('The attachment of the letter could not be sent. Please check its content and contact the support if the problem persists.') + else: return _('An unknown error happened. Please contact the support.') return error From 235811d468c0a9d4a579e21dc6eb5a2d8fe177da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Rahir?= Date: Wed, 31 Oct 2018 12:54:42 +0000 Subject: [PATCH 3/3] [FIX] snailmail: avoid spam on user mailbox the fix merged in cb8bd299fcd8ff48969f4c64279e1cfb49560fdb was only tackling half the problem. When you assign a user to an activity, the said user will be notified by email. This also occur if you change the assignee to the next activity even if you change it to the same user. This commit ensures that we only write on the user_id field when we create the next activity and not during the update. --- addons/snailmail/models/snailmail_letter.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/addons/snailmail/models/snailmail_letter.py b/addons/snailmail/models/snailmail_letter.py index b21d6aacb60..2b57ff70a5a 100644 --- a/addons/snailmail/models/snailmail_letter.py +++ b/addons/snailmail/models/snailmail_letter.py @@ -258,20 +258,22 @@ class SnailmailLetter(models.Model): activity = MailActivity.search(domain, limit=1) activity_data = { - 'res_id': letter.res_id, - 'res_model_id': self.env['ir.model']._get(letter.model).id, 'activity_type_id': self.env.ref('mail.mail_activity_data_warning').id, 'summary': '[SNAILMAIL] ' + _('Post letter: an error occured.'), 'note': note, - 'user_id': letter.user_id.id, 'date_deadline': fields.Date.today() } if activity: activity.update(activity_data) else: + activity_data.update({ + 'user_id': letter.user_id.id, + 'res_id': letter.res_id, + 'res_model_id': self.env['ir.model']._get(letter.model).id, + }) MailActivity.create(activity_data) - letter.write({'info_msg': note}) + letter.write({'info_msg': note, 'state': 'error'}) self.env.cr.commit()