From 8f830b28af4755ef1640f0a46b7b6ee948f8b881 Mon Sep 17 00:00:00 2001 From: Thomas Binsfeld Date: Fri, 22 Feb 2019 13:49:43 +0100 Subject: [PATCH] [REF] Account Banking SEPA Direct Debit: check SEPA ready --- .../account_banking_sepa_direct_debit.pot | 19 +++++--- account_banking_sepa_direct_debit/i18n/de.po | 27 +++++++---- account_banking_sepa_direct_debit/i18n/es.po | 33 ++++++++----- account_banking_sepa_direct_debit/i18n/fr.po | 33 ++++++++----- account_banking_sepa_direct_debit/i18n/hr.po | 27 +++++++---- .../i18n/nb_NO.po | 27 +++++++---- account_banking_sepa_direct_debit/i18n/nl.po | 33 ++++++++----- .../i18n/pt_BR.po | 27 +++++++---- account_banking_sepa_direct_debit/i18n/sl.po | 33 ++++++++----- .../models/__init__.py | 1 + .../models/account_payment_line.py | 48 +++++++++++++++++++ .../models/account_payment_order.py | 32 ++----------- 12 files changed, 214 insertions(+), 126 deletions(-) create mode 100644 account_banking_sepa_direct_debit/models/account_payment_line.py diff --git a/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot b/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot index d03bb8e1e..206b4e576 100644 --- a/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot +++ b/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot @@ -125,7 +125,7 @@ msgid "As you changed the bank account attached to this mandate, the 'Sequence T msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "Automatically switched from First to Recurring when the debit order %s has been marked as uploaded." msgstr "" @@ -217,9 +217,9 @@ msgid "Mandate update" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 #, python-format -msgid "Missing SEPA Direct Debit mandate on the bank payment line with partner '%s' (reference '%s')." +msgid "Missing SEPA Direct Debit mandate on the line with partner {partner_name} (reference {reference})." msgstr "" #. module: account_banking_sepa_direct_debit @@ -234,6 +234,11 @@ msgstr "" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +msgid "Payment Lines" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -322,15 +327,15 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 #, python-format -msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired." +msgid "The SEPA Direct Debit mandate with reference {mandate_ref} for partner {partner_name} has expired." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 #, python-format -msgid "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it." +msgid "The SEPA Direct Debit mandate with reference {mandate_ref} for partner {partner_name} has type set to 'One-Off' but has a last debit date set to {last_debit_date}. Therefore, it cannot be used." msgstr "" #. module: account_banking_sepa_direct_debit diff --git a/account_banking_sepa_direct_debit/i18n/de.po b/account_banking_sepa_direct_debit/i18n/de.po index ceec46a5c..72dda49c5 100644 --- a/account_banking_sepa_direct_debit/i18n/de.po +++ b/account_banking_sepa_direct_debit/i18n/de.po @@ -141,7 +141,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -243,11 +243,11 @@ msgid "Mandate update" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" #. module: account_banking_sepa_direct_debit @@ -262,6 +262,12 @@ msgstr "" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +#, fuzzy +msgid "Payment Lines" +msgstr "Bankzahlungszeilen" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -353,19 +359,20 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 #, python-format msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has expired." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 #, python-format msgid "" -"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " -"and it has a last debit date set to '%s', so we can't use it." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." msgstr "" #. module: account_banking_sepa_direct_debit diff --git a/account_banking_sepa_direct_debit/i18n/es.po b/account_banking_sepa_direct_debit/i18n/es.po index e1d28468b..2c725f384 100644 --- a/account_banking_sepa_direct_debit/i18n/es.po +++ b/account_banking_sepa_direct_debit/i18n/es.po @@ -156,7 +156,7 @@ msgstr "" "'Tipo de secuencia' se ha vuelto a 'Inicial'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -278,11 +278,11 @@ msgid "Mandate update" msgstr "Actualizacion de mandato" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 +#, fuzzy, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" "Falta el mandato de adeudo directo SEPA en la linea de pago bancario de la " "empresa '%s' (referencia '%s')." @@ -299,6 +299,12 @@ msgstr "Único" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +#, fuzzy +msgid "Payment Lines" +msgstr "Líneas de pago bancario" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -393,21 +399,22 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "Identificador de acreedor SEPA '%s' no válido." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 +#, fuzzy, python-format msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has expired." msgstr "" "El mandato de adeudo directo SEPA con referencia '%s' para la empresa '%s' " "ha expirado." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 +#, fuzzy, python-format msgid "" -"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " -"and it has a last debit date set to '%s', so we can't use it." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." msgstr "" "El mandato con referencia '%s' para la empresa '%s' tipo como 'Único', ya " "tiene como fecha de último cobro '%s', por lo que no se puede usar." diff --git a/account_banking_sepa_direct_debit/i18n/fr.po b/account_banking_sepa_direct_debit/i18n/fr.po index 0e60c910f..1ce89d1d0 100644 --- a/account_banking_sepa_direct_debit/i18n/fr.po +++ b/account_banking_sepa_direct_debit/i18n/fr.po @@ -156,7 +156,7 @@ msgstr "" "'Type de séquence' a été remis à 'First'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -274,11 +274,11 @@ msgid "Mandate update" msgstr "Mise-à-jour du mandat" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 +#, fuzzy, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" "Absence du mandat de prélèvement SEPA sur la ligne de paiement bancaire avec " "le partenaire' %s' (référence'%s')." @@ -295,6 +295,12 @@ msgstr "One-Off" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +#, fuzzy +msgid "Payment Lines" +msgstr "Lignes de paiement bancaire" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -389,21 +395,22 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "L'identification de créancier SEPA \"%s\" est invalide." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 +#, fuzzy, python-format msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has expired." msgstr "" "Le mandat de prélèvement SEPA portant la référence '%s' pour le partenaire " "'%s' a expiré." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 +#, fuzzy, python-format msgid "" -"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " -"and it has a last debit date set to '%s', so we can't use it." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." msgstr "" "Le mandat portant la référence '%s' pour le partenaire '%s' est de type 'One-" "Off' et il a une date de dernier débit au '%s', donc il n'est pas utilisable." diff --git a/account_banking_sepa_direct_debit/i18n/hr.po b/account_banking_sepa_direct_debit/i18n/hr.po index 49c21f728..55810956a 100644 --- a/account_banking_sepa_direct_debit/i18n/hr.po +++ b/account_banking_sepa_direct_debit/i18n/hr.po @@ -142,7 +142,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -242,11 +242,11 @@ msgid "Mandate update" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" #. module: account_banking_sepa_direct_debit @@ -261,6 +261,12 @@ msgstr "" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +#, fuzzy +msgid "Payment Lines" +msgstr "Stavke izvoda" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -352,19 +358,20 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 #, python-format msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has expired." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 #, python-format msgid "" -"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " -"and it has a last debit date set to '%s', so we can't use it." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." msgstr "" #. module: account_banking_sepa_direct_debit diff --git a/account_banking_sepa_direct_debit/i18n/nb_NO.po b/account_banking_sepa_direct_debit/i18n/nb_NO.po index 46f93eba9..924b7bd98 100644 --- a/account_banking_sepa_direct_debit/i18n/nb_NO.po +++ b/account_banking_sepa_direct_debit/i18n/nb_NO.po @@ -142,7 +142,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -242,11 +242,11 @@ msgid "Mandate update" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" #. module: account_banking_sepa_direct_debit @@ -261,6 +261,12 @@ msgstr "" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +#, fuzzy +msgid "Payment Lines" +msgstr "Betalingsordre" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -352,19 +358,20 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 #, python-format msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has expired." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 #, python-format msgid "" -"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " -"and it has a last debit date set to '%s', so we can't use it." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." msgstr "" #. module: account_banking_sepa_direct_debit diff --git a/account_banking_sepa_direct_debit/i18n/nl.po b/account_banking_sepa_direct_debit/i18n/nl.po index c84eeefa2..f5636bedb 100644 --- a/account_banking_sepa_direct_debit/i18n/nl.po +++ b/account_banking_sepa_direct_debit/i18n/nl.po @@ -156,7 +156,7 @@ msgstr "" "naar 'Eerste'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -271,11 +271,11 @@ msgid "Mandate update" msgstr "Machtiging bijwerken" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 +#, fuzzy, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" "Missende SEPA Incasso mandaten op betaalregel met klant '%s' (referentie " "'%s')." @@ -292,6 +292,12 @@ msgstr "Eenmalig" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +#, fuzzy +msgid "Payment Lines" +msgstr "Bank betaalregels" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -386,20 +392,21 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "De SEPA Incassant-ID '%s' is ongeldig." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 +#, fuzzy, python-format msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has expired." msgstr "" "De SEPA incasso machtiging met referentie '%s' voor relatie '%s' is verlopen." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 +#, fuzzy, python-format msgid "" -"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " -"and it has a last debit date set to '%s', so we can't use it." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." msgstr "" "De machtiging referentie '%s' voor relatie %s' is ingesteld op 'eenmalig' en " "de laatste incasso datum is ingesteld op '%s'. Zodoende kunnen we deze niet " diff --git a/account_banking_sepa_direct_debit/i18n/pt_BR.po b/account_banking_sepa_direct_debit/i18n/pt_BR.po index aa72119cf..f480cdb09 100644 --- a/account_banking_sepa_direct_debit/i18n/pt_BR.po +++ b/account_banking_sepa_direct_debit/i18n/pt_BR.po @@ -142,7 +142,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -243,11 +243,11 @@ msgid "Mandate update" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" #. module: account_banking_sepa_direct_debit @@ -262,6 +262,12 @@ msgstr "" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +#, fuzzy +msgid "Payment Lines" +msgstr "Linhas de pagamento bancária" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -353,19 +359,20 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 #, python-format msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has expired." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 #, python-format msgid "" -"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " -"and it has a last debit date set to '%s', so we can't use it." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." msgstr "" #. module: account_banking_sepa_direct_debit diff --git a/account_banking_sepa_direct_debit/i18n/sl.po b/account_banking_sepa_direct_debit/i18n/sl.po index cc1a98866..d84bfbb57 100644 --- a/account_banking_sepa_direct_debit/i18n/sl.po +++ b/account_banking_sepa_direct_debit/i18n/sl.po @@ -157,7 +157,7 @@ msgstr "" "vrnil v 'Prvi'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -274,11 +274,11 @@ msgid "Mandate update" msgstr "Posodobitev mandata" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 +#, fuzzy, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" "Pri postavki bančnega plačila partnerja '%s' (sklic '%s') manjka SEPA " "direktna obremenitev." @@ -295,6 +295,12 @@ msgstr "Enkratna" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +#, fuzzy +msgid "Payment Lines" +msgstr "Postavke bančnih plačil" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -389,21 +395,22 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 +#, fuzzy, python-format msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has expired." msgstr "" "SEPA mandat za direktno obremenitev s sklicem '%s' za partnerja '%s' je " "potekel." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 +#, fuzzy, python-format msgid "" -"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " -"and it has a last debit date set to '%s', so we can't use it." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." msgstr "" "Pri mandatu s sklicem '%s' za partnerja '%s' je tip nastavljen na " "'enkraten', zadnji datum obremenitve pa ima nastavljen na '%s', zato ga ne " diff --git a/account_banking_sepa_direct_debit/models/__init__.py b/account_banking_sepa_direct_debit/models/__init__.py index dea757dab..390ed9216 100644 --- a/account_banking_sepa_direct_debit/models/__init__.py +++ b/account_banking_sepa_direct_debit/models/__init__.py @@ -6,3 +6,4 @@ from . import bank_payment_line from . import account_payment_mode from . import account_payment_method from . import account_payment_order +from . import account_payment_line diff --git a/account_banking_sepa_direct_debit/models/account_payment_line.py b/account_banking_sepa_direct_debit/models/account_payment_line.py new file mode 100644 index 000000000..7b9b887ea --- /dev/null +++ b/account_banking_sepa_direct_debit/models/account_payment_line.py @@ -0,0 +1,48 @@ +# Copyright 2019 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, models, _ +from odoo.exceptions import UserError + + +class AccountPaymentLine(models.Model): + _inherit = 'account.payment.line' + + @api.multi + def draft2open_payment_line_check(self): + res = super(AccountPaymentLine, self).draft2open_payment_line_check() + sepa_dd_lines = self.filtered( + lambda l: l.order_id.payment_method_id.code == 'sepa_direct_debit') + sepa_dd_lines._check_sepa_direct_debit_ready() + return res + + @api.multi + def _check_sepa_direct_debit_ready(self): + """ + This method checks whether the payment line(s) are ready to be used + in the SEPA Direct Debit file generation. + :raise: UserError if a line does not fulfils all requirements + """ + for rec in self: + if not rec.mandate_id: + raise UserError(_( + "Missing SEPA Direct Debit mandate on the line with " + "partner {partner_name} (reference {reference}).").format( + partner_name=rec.partner_id.name, reference=rec.name)) + if rec.mandate_id.state != 'valid': + raise UserError(_( + "The SEPA Direct Debit mandate with reference " + "{mandate_ref} for partner {partner_name} has " + "expired.").format( + mandate_ref=rec.mandate_id.unique_mandate_reference, + partner_name=rec.partner_id.name)) + if rec.mandate_id.type == 'oneoff' and \ + rec.mandate_id.last_debit_date: + raise UserError(_( + "The SEPA Direct Debit mandate with reference " + "{mandate_ref} for partner {partner_name} has type set " + "to 'One-Off' but has a last debit date set to " + "{last_debit_date}. Therefore, it cannot be used.").format( + mandate_ref=rec.mandate_id.unique_mandate_reference, + partner_name=rec.partner_id.name, + last_debit_date=rec.mandate_id.last_debit_date)) diff --git a/account_banking_sepa_direct_debit/models/account_payment_order.py b/account_banking_sepa_direct_debit/models/account_payment_order.py index b43936aee..a365950fb 100644 --- a/account_banking_sepa_direct_debit/models/account_payment_order.py +++ b/account_banking_sepa_direct_debit/models/account_payment_order.py @@ -69,44 +69,22 @@ class AccountPaymentOrder(models.Model): transactions_count_a += 1 priority = line.priority categ_purpose = line.category_purpose - # The field line.date is the requested payment date - # taking into account the 'date_prefered' setting - # cf account_banking_payment_export/models/account_payment.py - # in the inherit of action_open() - if not line.mandate_id: - raise UserError( - _("Missing SEPA Direct Debit mandate on the " - "bank payment line with partner '%s' " - "(reference '%s').") - % (line.partner_id.name, line.name)) scheme = line.mandate_id.scheme - if line.mandate_id.state != 'valid': - raise Warning( - _("The SEPA Direct Debit mandate with reference '%s' " - "for partner '%s' has expired.") - % (line.mandate_id.unique_mandate_reference, - line.mandate_id.partner_id.name)) if line.mandate_id.type == 'oneoff': seq_type = 'OOFF' - if line.mandate_id.last_debit_date: - raise Warning( - _("The mandate with reference '%s' for partner " - "'%s' has type set to 'One-Off' and it has a " - "last debit date set to '%s', so we can't use " - "it.") - % (line.mandate_id.unique_mandate_reference, - line.mandate_id.partner_id.name, - line.mandate_id.last_debit_date)) elif line.mandate_id.type == 'recurrent': seq_type_map = { 'recurring': 'RCUR', 'first': 'FRST', 'final': 'FNAL', } - seq_type_label = \ - line.mandate_id.recurrent_sequence_type + seq_type_label = line.mandate_id.recurrent_sequence_type assert seq_type_label is not False seq_type = seq_type_map[seq_type_label] + # The field line.date is the requested payment date + # taking into account the 'date_preferred' setting + # cf account_banking_payment_export/models/account_payment.py + # in the inherit of action_open() key = (line.date, priority, categ_purpose, seq_type, scheme) if key in lines_per_group: lines_per_group[key].append(line)