[FIX] sale: more explicit error message

Some users are confused by the generic error message asking to confirm a sale
order that is in locked or cancelled state.
We add specific error messages in these two cases.

opw 1871019
This commit is contained in:
len-odoo
2018-08-31 09:35:59 +02:00
committed by len-odoo
parent 09ad560660
commit 43877095ed
2 changed files with 19 additions and 3 deletions
+14 -2
View File
@@ -2016,9 +2016,21 @@ msgid "Terms and conditions"
msgstr ""
#. module: sale
#: code:addons/sale/models/sale_analytic.py:84
#: code:addons/sale/models/sale_analytic.py:117
#, python-format
msgid "The Sale Order %s linked to the Analytic Account must be validated before registering expenses."
msgid "The Sales Order %s linked to the Analytic Account %s is cancelled. You cannot register an expense on a cancelled Sales Order."
msgstr ""
#. module: sale
#: code:addons/sale/models/sale_analytic.py:112
#, python-format
msgid "The Sales Order %s linked to the Analytic Account %s must be validated before registering expenses."
msgstr ""
#. module: sale
#: code:addons/sale/models/sale_analytic.py:115
#, python-format
msgid "The Sales Order %s linked to the Analytic Account %s is currently locked. You cannot register an expense on a locked Sales Order. Please create a new SO linked to this Analytic Account."
msgstr ""
#. module: sale
+5 -1
View File
@@ -109,7 +109,11 @@ class AccountAnalyticLine(models.Model):
result.update({'so_line': so_lines[0].id})
else:
if order.state != 'sale':
raise UserError(_('The Sale Order %s linked to the Analytic Account must be validated before registering expenses.') % order.name)
message_unconfirmed = _('The Sales Order %s linked to the Analytic Account %s must be validated before registering expenses.')
messages = {'draft': message_unconfirmed, 'sent': message_unconfirmed,
'done': _('The Sales Order %s linked to the Analytic Account %s is currently locked. You cannot register an expense on a locked Sales Order. Please create a new SO linked to this Analytic Account.'),
'cancel': _('The Sales Order %s linked to the Analytic Account %s is cancelled. You cannot register an expense on a cancelled Sales Order.')}
raise UserError(messages[order.state] % (order.name, self.account_id.name))
order_line_vals = self._get_sale_order_line_vals(order, price)
if order_line_vals:
so_line = self.env['sale.order.line'].create(order_line_vals)