diff --git a/account_credit_control/__init__.py b/account_credit_control/__init__.py index 531c9f6d3..22d46d48f 100644 --- a/account_credit_control/__init__.py +++ b/account_credit_control/__init__.py @@ -18,12 +18,5 @@ # along with this program. If not, see . # ############################################################################## -from . import mail -from . import run -from . import line -from . import account -from . import partner -from . import policy -from . import company +from . import models from . import wizard -from . import invoice diff --git a/account_credit_control/__openerp__.py b/account_credit_control/__manifest__.py similarity index 57% rename from account_credit_control/__openerp__.py rename to account_credit_control/__manifest__.py index c6d5b77a6..b427a2001 100644 --- a/account_credit_control/__openerp__.py +++ b/account_credit_control/__manifest__.py @@ -19,32 +19,45 @@ # ############################################################################## {'name': 'Account Credit Control', - 'version': '8.0.0.3.0', - 'author': "Camptocamp,Odoo Community Association (OCA)", + 'version': '10.0.0.3.0', + 'author': "Camptocamp,Odoo Community Association (OCA),Okia", 'maintainer': 'Camptocamp', 'category': 'Finance', - 'complexity': "normal", - 'depends': ['base', - 'account', - 'email_template', - ], + 'depends': [ + 'base', + 'account', + 'mail', + ], 'website': 'http://www.camptocamp.com', - 'data': ["report/report.xml", - "report/report_credit_control_summary.xml", - "data.xml", - "line_view.xml", - "account_view.xml", - "partner_view.xml", - "policy_view.xml", - "run_view.xml", - "company_view.xml", - "wizard/credit_control_emailer_view.xml", - "wizard/credit_control_marker_view.xml", - "wizard/credit_control_printer_view.xml", - "wizard/credit_control_policy_changer_view.xml", - "security/ir.model.access.csv"], - 'demo': ["credit_control_demo.xml"], - 'tests': [], + 'data': [ + "security/res_groups.xml", + # Reports + "report/report.xml", + "report/report_credit_control_summary.xml", + + # Data + "data/data.xml", + + # Views + "views/account_invoice.xml", + "views/credit_control_line.xml", + "views/credit_control_policy.xml", + "views/credit_control_run.xml", + "views/res_company.xml", + "views/res_partner.xml", + + # Wizards + "wizard/credit_control_emailer_view.xml", + "wizard/credit_control_marker_view.xml", + "wizard/credit_control_printer_view.xml", + "wizard/credit_control_policy_changer_view.xml", + + # Security + "security/ir.model.access.csv", + ], + 'demo': [ + "demo/credit_control_demo.xml" + ], 'installable': True, 'license': 'AGPL-3', 'application': True diff --git a/account_credit_control/account_view.xml b/account_credit_control/account_view.xml deleted file mode 100644 index 5873e8ce3..000000000 --- a/account_credit_control/account_view.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - invoice.followup.form.view - account.invoice - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/account_credit_control/company_view.xml b/account_credit_control/company_view.xml deleted file mode 100644 index feb50c0d5..000000000 --- a/account_credit_control/company_view.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - credit.control.company.form - res.company - - - - - - - - - - diff --git a/account_credit_control/credit_control_demo.xml b/account_credit_control/credit_control_demo.xml deleted file mode 100644 index 107e26628..000000000 --- a/account_credit_control/credit_control_demo.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - X11002-a - B2B Debtors - (test) - - receivable - - - - - - X11002-b - B2C Debtors - (test) - - receivable - - - - - - X11002-c - New Debtors - (test) - - receivable - - - - - diff --git a/account_credit_control/data.xml b/account_credit_control/data.xml deleted file mode 100644 index 95ca87372..000000000 --- a/account_credit_control/data.xml +++ /dev/null @@ -1,230 +0,0 @@ - - - - - Credit Control Email - noreply@localhost - Credit Control: (${object.current_policy_level.name or 'n/a'}) - ${object.get_email() or ''} - - - ${object.get_contact_address().lang or 'en_US'} - - -
- ${object.current_policy_level.custom_mail_text | safe} - ]]>
-
- - - - No follow - - - - - - No follow - - net_days - - - - email - Manual no follow - - Manual no follow - - - - - 3 time policy - - - - 10 days net - - net_days - - - - email - Our records indicate that we have not received the payment of the above mentioned invoice. -If it has already been sent, please disregard this notice. If not, please proceed with payment within 10 days. - -Thank you in advance for your anticipated cooperation in this matter. - -Best regards - - - -
- If it has already been sent, please disregard this notice. If not, please proceed with payment within 10 days.
-
- Thank you in advance for your anticipated cooperation in this matter.
-
- Best regards - ]]>
-
- - - 30 days end of month - - end_of_month - - - - email - Our records indicate that we have not yet received the payment of the above mentioned invoice despite our first reminder. - If it has already been sent, please disregard this notice. If not, please proceed with payment within 5 days. - -Thank you in advance for your anticipated cooperation in this matter. - -Best regards - - - If it has already been sent, please disregard this notice. If not, please proceed with payment within 5 days.
-
- Thank you in advance for your anticipated cooperation in this matter.
-
- Best regards - ]]>
-
- - - 10 days last reminder - - previous_date - - - - letter - - Our records indicate that we still have not received the payment of the above mentioned invoice despite our two reminders. - If payment have already been sent, please disregard this notice. If not, please proceed with payment. - If your payment has not been received in the next 5 days, your file will be transfered to our debt collection agency. - - Should you need us to arrange a payment plan for you, please advise. - A customer account statement is enclosed for you convenience. - - Thank you in advance for your anticipated cooperation in this matter. - - Best regards - - - - If payment have already been sent, please disregard this notice. If not, please proceed with payment.
- If your payment has not been received in the next 5 days, your file will be transfered to our debt collection agency.
-
- Should you need us to arrange a payment plan for you, please advise.
- A customer account statement is enclosed for you convenience.
-
- Thank you in advance for your anticipated cooperation in this matter.
-
- Best regards - ]]>
-
- - - - 2 time policy - - - - 30 days end of month - - end_of_month - - - - email - Our records indicate that we have not received the payment of the above mentioned invoice. - If it has already been sent, please disregard this notice. If not, please proceed with payment within 10 days. - - Thank you in advance for your anticipated cooperation in this matter. - - Best regards - - - If it has already been sent, please disregard this notice. If not, please proceed with payment within 10 days.
-
- Thank you in advance for your anticipated cooperation in this matter.
-
- Best regards - ]]>
-
- - - 60 days last reminder - - previous_date - - - - letter - Our records indicate that we still have not received the payment of the above mentioned invoice despite our reminder. - - If payment have already been sent, please disregard this notice. If not, please proceed with payment. - If your payment has not been received in the next 5 days, your file will be transfered to our debt - collection agency. - - Should you need us to arrange a payment plan for you, please advise. - A customer account statement is enclosed for you convenience. - - Thank you in advance for your anticipated cooperation in this matter. - - Best regards - - -
- If payment have already been sent, please disregard this notice. If not, please proceed with payment.
- If your payment has not been received in the next 5 days, your file will be transfered to our debt
- collection agency.
-
- Should you need us to arrange a payment plan for you, please advise.
- A customer account statement is enclosed for you convenience.
-
- Thank you in advance for your anticipated cooperation in this matter.
-
- Best regards - ]]>
-
- - - Credit Control Manager - - - - - Credit Control User - - - - - Credit Control Info - - - - - - - -
-
diff --git a/account_credit_control/data/data.xml b/account_credit_control/data/data.xml new file mode 100644 index 000000000..9cf4e6333 --- /dev/null +++ b/account_credit_control/data/data.xml @@ -0,0 +1,249 @@ + + + + + + Credit Control Email + ${object.partner_id.company_id.email or ''} + Credit Control: + (${object.current_policy_level.name or 'n/a'}) + + ${object.get_email() or ''} + + + + ${object.get_contact_address().lang or 'en_US'} + + + +
+ ${object.current_policy_level.custom_mail_text | safe} + ]]>
+
+ + + + No follow + + + + + + No follow + + net_days + + + + email + Manual no follow + + Manual no follow + + + + + 3 time policy + + + + 10 days net + + net_days + + + + email + Our records indicate that we have not + received the payment of the above mentioned invoice. + If it has already been sent, please disregard this notice. If + not, please proceed with payment within 10 days. + + Thank you in advance for your anticipated cooperation in this + matter. + + Best regards + + + +
+ If it has already been sent, please disregard this notice. If not, please proceed with payment within 10 days.
+
+ Thank you in advance for your anticipated cooperation in this matter.
+
+ Best regards + ]]>
+
+ + + 30 days end of month + + end_of_month + + + + email + Our records indicate that we have not yet + received the payment of the above mentioned invoice despite our + first reminder. + If it has already been sent, please disregard this notice. If + not, please proceed with payment within 5 days. + + Thank you in advance for your anticipated cooperation in this + matter. + + Best regards + + + If it has already been sent, please disregard this notice. If not, please proceed with payment within 5 days.
+
+ Thank you in advance for your anticipated cooperation in this matter.
+
+ Best regards + ]]>
+
+ + + 10 days last reminder + + previous_date + + + + letter + + Our records indicate that we still have not received the + payment of the above mentioned invoice despite our two + reminders. + If payment have already been sent, please disregard this + notice. If not, please proceed with payment. + If your payment has not been received in the next 5 days, your + file will be transfered to our debt collection agency. + + Should you need us to arrange a payment plan for you, please + advise. + A customer account statement is enclosed for you convenience. + + Thank you in advance for your anticipated cooperation in this + matter. + + Best regards + + + + If payment have already been sent, please disregard this notice. If not, please proceed with payment.
+ If your payment has not been received in the next 5 days, your file will be transfered to our debt collection agency.
+
+ Should you need us to arrange a payment plan for you, please advise.
+ A customer account statement is enclosed for you convenience.
+
+ Thank you in advance for your anticipated cooperation in this matter.
+
+ Best regards + ]]>
+
+ + + + 2 time policy + + + + 30 days end of month + + end_of_month + + + + email + Our records indicate that we have not + received the payment of the above mentioned invoice. + If it has already been sent, please disregard this notice. If + not, please proceed with payment within 10 days. + + Thank you in advance for your anticipated cooperation in this + matter. + + Best regards + + + If it has already been sent, please disregard this notice. If not, please proceed with payment within 10 days.
+
+ Thank you in advance for your anticipated cooperation in this matter.
+
+ Best regards + ]]>
+
+ + + 60 days last reminder + + previous_date + + + + letter + Our records indicate that we still have + not received the payment of the above mentioned invoice despite + our reminder. + + If payment have already been sent, please disregard this + notice. If not, please proceed with payment. + If your payment has not been received in the next 5 days, your + file will be transfered to our debt + collection agency. + + Should you need us to arrange a payment plan for you, please + advise. + A customer account statement is enclosed for you convenience. + + Thank you in advance for your anticipated cooperation in this + matter. + + Best regards + + +
+ If payment have already been sent, please disregard this notice. If not, please proceed with payment.
+ If your payment has not been received in the next 5 days, your file will be transfered to our debt
+ collection agency.
+
+ Should you need us to arrange a payment plan for you, please advise.
+ A customer account statement is enclosed for you convenience.
+
+ Thank you in advance for your anticipated cooperation in this matter.
+
+ Best regards + ]]>
+
+ + + + + + +
+
diff --git a/account_credit_control/demo/credit_control_demo.xml b/account_credit_control/demo/credit_control_demo.xml new file mode 100644 index 000000000..8ab6bc640 --- /dev/null +++ b/account_credit_control/demo/credit_control_demo.xml @@ -0,0 +1,23 @@ + + + + X11002-a + B2B Debtors - (test) + + + + + + X11002-b + B2C Debtors - (test) + + + + + + X11002-c + New Debtors - (test) + + + + diff --git a/account_credit_control/i18n/fr.po b/account_credit_control/i18n/fr.po index bda51621f..19512d8a3 100644 --- a/account_credit_control/i18n/fr.po +++ b/account_credit_control/i18n/fr.po @@ -1,42 +1,57 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * account_credit_control -# -# Translators: -# Christophe kryskool , 2015 +# * account_credit_control +# msgid "" msgstr "" -"Project-Id-Version: account-financial-tools (8.0)\n" +"Project-Id-Version: Odoo Server 10.0+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-10-03 22:27+0000\n" -"PO-Revision-Date: 2015-09-29 08:56+0000\n" -"Last-Translator: OCA Transbot \n" -"Language-Team: French (http://www.transifex.com/oca/OCA-account-financial-tools-8-0/language/fr/)\n" +"POT-Creation-Date: 2017-03-16 12:32+0000\n" +"PO-Revision-Date: 2017-03-16 13:46+0100\n" +"Last-Translator: <>\n" +"Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" +"Language: fr_BE\n" +"X-Generator: Poedit 1.8.8\n" #. module: account_credit_control #: model:credit.control.policy.level,custom_text:account_credit_control.3_time_3 msgid "" "\n" -" Our records indicate that we still have not received the payment of the above mentioned invoice despite our two reminders.\n" -" If payment have already been sent, please disregard this notice. If not, please proceed with payment.\n" -" If your payment has not been received in the next 5 days, your file will be transfered to our debt collection agency.\n" +" Our records indicate that we still have not received the\n" +" payment of the above mentioned invoice despite our two\n" +" reminders.\n" +" If payment have already been sent, please disregard this\n" +" notice. If not, please proceed with payment.\n" +" If your payment has not been received in the next 5 days, your\n" +" file will be transfered to our debt collection agency.\n" "\n" -" Should you need us to arrange a payment plan for you, please advise.\n" -" A customer account statement is enclosed for you convenience.\n" +" Should you need us to arrange a payment plan for you, please\n" +" advise.\n" +" A customer account statement is enclosed for you convenience.\n" "\n" -" Thank you in advance for your anticipated cooperation in this matter.\n" +" Thank you in advance for your anticipated cooperation in this\n" +" matter.\n" "\n" -" Best regards\n" +" Best regards\n" +" " +msgstr "" +"\n" +"Notre comptabilité nous indique que vous avez encore des factures ouvertes malgré nos précédents rappels.\n" +" Si ce courrier à croisé votre paiement veuillez le considérer comme nul et non avenu.\n" +" Si le paiement n'est pas effectué dans les 5 jours votre dossier sera transféré à une société de recouvrement.\n" +"\n" +" Si vous désirez un accord de payment n'hésitez pas à nous contacter advise.\n" +" Un décompte est disponible ci-joint.\n" +"\n" +" En vous remerciant de votre coopération \n" " " -msgstr "\nNotre comptabilité nous indique que vous avez encore des factures ouvertes malgré nos précédents rappels.\n Si ce courrier à croisé votre paiement veuillez le considérer comme nul et non avenu.\n Si le paiement n'est pas effectué dans les 5 jours votre dossier sera transféré à une société de recouvrement.\n\n Si vous désirez un accord de payment n'hésitez pas à nous contacter advise.\n Un décompte est disponible ci-joint.\n\n En vous remerciant de votre coopération \n " #. module: account_credit_control -#: model:email.template,body_html:account_credit_control.email_template_credit_control_base +#: model:mail.template,body_html:account_credit_control.email_template_credit_control_base msgid "" "\n" " Dear ${object.contact_address.name or ''}\n" @@ -45,6 +60,12 @@ msgid "" " ${object.current_policy_level.custom_mail_text | safe}\n" " " msgstr "" +"\n" +" Dear ${object.contact_address.name or ''}\n" +"
\n" +"
\n" +" ${object.current_policy_level.custom_mail_text | safe}\n" +" " #. module: account_credit_control #: model:credit.control.policy.level,name:account_credit_control.3_time_3 @@ -68,67 +89,14 @@ msgid "60 days last reminder" msgstr "Dernier rappel à 60 jours" #. module: account_credit_control -#: model:credit.control.policy.level,custom_mail_text:account_credit_control.no_follow_1 -msgid "

Manual no follow

" -msgstr "" +#: model:ir.ui.view,arch_db:account_credit_control.report_credit_control_summary_document +msgid "Total Due" +msgstr "Total dû" #. module: account_credit_control -#: model:credit.control.policy.level,custom_mail_text:account_credit_control.2_time_1 -msgid "" -"

Our records indicate that we have not received the payment of the invoices mentioned in the attached document.
\n" -" If it has already been sent, please disregard this notice. If not, please proceed with payment within 10 days.

\n" -" Thank you in advance for your anticipated cooperation in this matter.

\n" -" Best regards\n" -"

" -msgstr "" - -#. module: account_credit_control -#: model:credit.control.policy.level,custom_mail_text:account_credit_control.3_time_1 -msgid "" -"

Our records indicate that we have not received the payment of the invoices mentioned in the attached document.

\n" -" If it has already been sent, please disregard this notice. If not, please proceed with payment within 10 days.

\n" -" Thank you in advance for your anticipated cooperation in this matter.

\n" -" Best regards\n" -"

" -msgstr "" - -#. module: account_credit_control -#: model:credit.control.policy.level,custom_mail_text:account_credit_control.3_time_2 -msgid "" -"

Our records indicate that we have not yet received the payment of the invoices mentioned in the attached document despite our first reminder.
\n" -" If it has already been sent, please disregard this notice. If not, please proceed with payment within 5 days.

\n" -" Thank you in advance for your anticipated cooperation in this matter.

\n" -" Best regards\n" -"

" -msgstr "" - -#. module: account_credit_control -#: model:credit.control.policy.level,custom_mail_text:account_credit_control.2_time_2 -msgid "" -"

Our records indicate that we still have not received the payment of the invoices mentioned in the attached document despite our reminder.\n" -"

\n" -" If payment have already been sent, please disregard this notice. If not, please proceed with payment.
\n" -" If your payment has not been received in the next 5 days, your file will be transfered to our debt
\n" -" collection agency.

\n" -" Should you need us to arrange a payment plan for you, please advise.
\n" -" A customer account statement is enclosed for you convenience.

\n" -" Thank you in advance for your anticipated cooperation in this matter.

\n" -" Best regards\n" -"

" -msgstr "" - -#. module: account_credit_control -#: model:credit.control.policy.level,custom_mail_text:account_credit_control.3_time_3 -msgid "" -"

Our records indicate that we still have not received the payment of the invoices mentioned in the attached document despite our two reminders.
\n" -" If payment have already been sent, please disregard this notice. If not, please proceed with payment.
\n" -" If your payment has not been received in the next 5 days, your file will be transfered to our debt collection agency.

\n" -" Should you need us to arrange a payment plan for you, please advise.
\n" -" A customer account statement is enclosed for you convenience.

\n" -" Thank you in advance for your anticipated cooperation in this matter.

\n" -" Best regards\n" -"

" -msgstr "" +#: model:ir.ui.view,arch_db:account_credit_control.report_credit_control_summary_document +msgid "Total Invoiced" +msgstr "Total facturé" #. module: account_credit_control #: model:ir.model,name:account_credit_control.model_credit_control_line @@ -136,7 +104,7 @@ msgid "A credit control line" msgstr "Ligne de relance" #. module: account_credit_control -#: code:addons/account_credit_control/run.py:93 +#: code:addons/account_credit_control/models/credit_control_run.py:94 #, python-format msgid "A credit control line more recent than %s exists at %s" msgstr "Une ligne plus récente que %s existe au %s" @@ -147,33 +115,32 @@ msgid "A credit control policy level" msgstr "Une politique de relance" #. module: account_credit_control -#: code:addons/account_credit_control/run.py:161 +#: code:addons/account_credit_control/models/credit_control_run.py:160 #, python-format -msgid "" -"A credit control run is already running in background, please try later." +msgid "A credit control run is already running in background, please try later." msgstr "Un contrôle de relance est déjà en train de tourner en arrière-plan, merci d'essayer à nouveau plus tard." #. module: account_credit_control -#: code:addons/account_credit_control/run.py:86 +#: code:addons/account_credit_control/models/credit_control_run.py:87 #, python-format msgid "A run has already been executed more recently than %s" msgstr "Un contrôle a déjà été exécuté plus récemment que le %s " #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search -#: field:credit.control.line,account_id:0 #: model:ir.model,name:account_credit_control.model_account_account +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_account_id +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Account" msgstr "Compte" #. module: account_credit_control -#: view:credit.control.policy:account_credit_control.credit_control_policy_form -#: field:credit.control.policy,account_ids:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_account_ids +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_policy_form msgid "Accounts" msgstr "Comptes" #. module: account_credit_control -#: field:credit.control.policy,active:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_active msgid "Active" msgstr "Actif" @@ -183,28 +150,28 @@ msgid "Allows to manually change credit level" msgstr "Permet de changer manuellement le niveau de relance" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "An error has occured during the sending of the email." msgstr "Erreur lors de la génération des mails." #. module: account_credit_control -#: code:addons/account_credit_control/policy.py:308 +#: code:addons/account_credit_control/models/credit_control_policy.py:306 #, python-format msgid "Can not get function for computation mode: %s is not implemented" msgstr "Impossible de trouver une fonction pour le mode de calcul: %s n'est pas implémentée" #. module: account_credit_control -#: view:credit.control.emailer:account_credit_control.credit_line_emailer_form -#: view:credit.control.marker:account_credit_control.credit_line_marker_form -#: view:credit.control.policy.changer:account_credit_control.credit_control_policy_changer_form -#: view:credit.control.printer:account_credit_control.credit_line_printer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_policy_changer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_emailer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_marker_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_printer_form msgid "Cancel" msgstr "Annuler" #. module: account_credit_control -#: view:credit.control.marker:account_credit_control.credit_line_marker_form #: model:ir.actions.act_window,name:account_credit_control.open_credit_line_marker_wizard #: model:ir.actions.act_window,name:account_credit_control.open_credit_line_marker_wizard_menu_action +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_marker_form msgid "Change Lines' State" msgstr "Modifier le statut des lignes" @@ -215,12 +182,12 @@ msgid "Change current credit policy" msgstr "Changer la politique de relance courante" #. module: account_credit_control -#: view:credit.control.policy.changer:account_credit_control.credit_control_policy_changer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_policy_changer_form msgid "Change the overdue level of current invoice" msgstr "Changer le niveau de relance de la facture courante" #. module: account_credit_control -#: view:credit.control.marker:account_credit_control.credit_line_marker_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_marker_form msgid "Change the state of the selected lines" msgstr "Modifier l'état des lignes sélectionnées." @@ -230,110 +197,101 @@ msgid "Change the state of the selected lines." msgstr "Modifier l'état des lignes sélectionnées." #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search -#: field:credit.control.line,channel:0 -#: field:credit.control.policy.level,channel:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_channel +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level_channel +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Channel" msgstr "Canal" #. module: account_credit_control #: model:ir.model,name:account_credit_control.model_res_company msgid "Companies" -msgstr "Société" +msgstr "Sociétés" #. module: account_credit_control -#: field:credit.control.communication,company_id:0 -#: field:credit.control.line,company_id:0 -#: field:credit.control.policy,company_id:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication_company_id +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_company_id +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_company_id msgid "Company" msgstr "Société" #. module: account_credit_control -#: view:credit.control.run:account_credit_control.credit_control_run_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_run_form msgid "Compute Credit Control Lines" msgstr "Calculer les relances" #. module: account_credit_control -#: field:credit.control.policy.level,computation_mode:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level_computation_mode msgid "Compute Mode" msgstr "Mode de calcul" #. module: account_credit_control -#: field:credit.control.communication,contact_address:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication_contact_address msgid "Contact Address" msgstr "Adresse de contact" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_form -#: view:credit.control.line:account_credit_control.credit_control_line_search -#: view:credit.control.line:account_credit_control.credit_control_line_tree +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_tree msgid "Control Credit Lines" msgstr "Lignes de relance" #. module: account_credit_control -#: field:credit.control.run,date:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_run_date msgid "Controlling Date" msgstr "Date de contrôle" #. module: account_credit_control -#: field:credit.control.line,date:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_date msgid "Controlling date" msgstr "Date de relance" #. module: account_credit_control -#: field:credit.control.communication,create_uid:0 -#: field:credit.control.emailer,create_uid:0 -#: field:credit.control.line,create_uid:0 -#: field:credit.control.marker,create_uid:0 -#: field:credit.control.policy,create_uid:0 -#: field:credit.control.policy.changer,create_uid:0 -#: field:credit.control.policy.level,create_uid:0 -#: field:credit.control.printer,create_uid:0 -#: field:credit.control.run,create_uid:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication_create_uid +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_emailer_create_uid +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_create_uid +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_marker_create_uid +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_changer_create_uid +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_create_uid +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level_create_uid +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_printer_create_uid +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_run_create_uid msgid "Created by" msgstr "Créé par" #. module: account_credit_control -#: field:credit.control.communication,create_date:0 -#: field:credit.control.emailer,create_date:0 -#: field:credit.control.line,create_date:0 -#: field:credit.control.marker,create_date:0 -#: field:credit.control.policy,create_date:0 -#: field:credit.control.policy.changer,create_date:0 -#: field:credit.control.policy.level,create_date:0 -#: field:credit.control.printer,create_date:0 -#: field:credit.control.run,create_date:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication_create_date +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_emailer_create_date +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_create_date +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_marker_create_date +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_changer_create_date +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_create_date +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level_create_date +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_printer_create_date +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_run_create_date msgid "Created on" msgstr "Créé le" #. module: account_credit_control -#: view:account.invoice:account_credit_control.invoice_followup_form_view +#: model:ir.module.category,name:account_credit_control.category_credit_control #: model:ir.ui.menu,name:account_credit_control.base_credit_control_configuration_menu #: model:ir.ui.menu,name:account_credit_control.base_credit_control_menu +#: model:ir.ui.view,arch_db:account_credit_control.invoice_followup_form_view msgid "Credit Control" msgstr "Relances Clients" #. module: account_credit_control -#: model:res.groups,name:account_credit_control.group_account_credit_control_info -msgid "Credit Control Info" -msgstr "Informations de rappel" - -#. module: account_credit_control -#: view:account.invoice:account_credit_control.invoice_followup_form_view -#: field:credit.control.emailer,line_ids:0 -#: field:credit.control.marker,line_ids:0 -#: field:credit.control.printer,line_ids:0 #: model:ir.actions.act_window,name:account_credit_control.credit_control_line_action +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_emailer_line_ids +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_marker_line_ids +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_printer_line_ids +#: model:ir.model.fields,field_description:account_credit_control.field_res_partner_credit_control_line_ids #: model:ir.ui.menu,name:account_credit_control.credit_control_line_action_menu -#: field:res.partner,credit_control_line_ids:0 +#: model:ir.ui.view,arch_db:account_credit_control.invoice_followup_form_view msgid "Credit Control Lines" msgstr "Lignes de relance" -#. module: account_credit_control -#: model:res.groups,name:account_credit_control.group_account_credit_control_manager -msgid "Credit Control Manager" -msgstr "Responsable Relance client" - #. module: account_credit_control #: model:ir.actions.act_window,name:account_credit_control.credit_policy_configuration_action #: model:ir.ui.menu,name:account_credit_control.credit_policy_configuration_action_menu @@ -341,8 +299,9 @@ msgid "Credit Control Policies" msgstr "Politique de relance" #. module: account_credit_control -#: field:account.invoice,credit_policy_id:0 -#: field:res.company,credit_policy_id:0 field:res.partner,credit_policy_id:0 +#: model:ir.model.fields,field_description:account_credit_control.field_account_invoice_credit_policy_id +#: model:ir.model.fields,field_description:account_credit_control.field_res_company_credit_policy_id +#: model:ir.model.fields,field_description:account_credit_control.field_res_partner_credit_policy_id msgid "Credit Control Policy" msgstr "Politique de relance" @@ -358,26 +317,24 @@ msgid "Credit Control Summary" msgstr "Résumé des relances" #. module: account_credit_control -#: field:res.company,credit_control_tolerance:0 +#: model:ir.model.fields,field_description:account_credit_control.field_res_company_credit_control_tolerance msgid "Credit Control Tolerance" msgstr "Pas de relance inférieure à : " #. module: account_credit_control -#: model:res.groups,name:account_credit_control.group_account_credit_control_user -msgid "Credit Control User" -msgstr "Utilisateur du module de relance" - -#. module: account_credit_control -#: model:email.template,subject:account_credit_control.email_template_credit_control_base -msgid "Credit Control: (${object.current_policy_level.name or 'n/a'})" +#: model:mail.template,subject:account_credit_control.email_template_credit_control_base +msgid "" +"Credit Control:\n" +" (${object.current_policy_level.name or 'n/a'})\n" +" " msgstr "Rappel: (${object.current_policy_level.name or 'n/a'})" #. module: account_credit_control -#: field:account.account,credit_control_line_ids:0 -#: field:account.invoice,credit_control_line_ids:0 -#: field:credit.control.communication,credit_control_line_ids:0 #: model:ir.actions.act_window,name:account_credit_control.act_account_credit_relation_relation #: model:ir.actions.act_window,name:account_credit_control.act_partner_credit_relation_relation +#: model:ir.model.fields,field_description:account_credit_control.field_account_account_credit_control_line_ids +#: model:ir.model.fields,field_description:account_credit_control.field_account_invoice_credit_control_line_ids +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication_credit_control_line_ids msgid "Credit Lines" msgstr "Lignes de relance" @@ -387,55 +344,55 @@ msgid "Credit control line generator" msgstr "Générateur de relance" #. module: account_credit_control -#: view:credit.control.policy:account_credit_control.credit_control_policy_form -#: view:credit.control.policy:account_credit_control.credit_control_policy_tree +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_policy_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_policy_tree msgid "Credit control policy" msgstr "Niveau de relance" #. module: account_credit_control -#: view:credit.control.policy:account_credit_control.credit_control_policy_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_policy_form msgid "Credit control policy Level" msgstr "Niveau de relance" #. module: account_credit_control -#: view:credit.control.policy.level:account_credit_control.credit_control_policy_level_tree +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_policy_level_tree msgid "Credit control policy level" msgstr "Niveau de relance" #. module: account_credit_control -#: view:credit.control.run:account_credit_control.credit_control_run_form -#: view:credit.control.run:account_credit_control.credit_control_run_tree +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_run_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_run_tree msgid "Credit control run" msgstr "Passe de contrôle de relance" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Credit policy" msgstr "Politique de relance" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Credit policy level" msgstr "Niveau de relance" #. module: account_credit_control -#: field:credit.control.communication,currency_id:0 -#: field:credit.control.line,currency_id:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication_currency_id +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_currency_id msgid "Currency" msgstr "Devise" #. module: account_credit_control -#: field:credit.control.policy.level,custom_mail_text:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level_custom_mail_text msgid "Custom Mail Message" msgstr "Email personnalisé" #. module: account_credit_control -#: field:credit.control.policy.level,custom_text:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level_custom_text msgid "Custom Message" msgstr "Message personnalisable" #. module: account_credit_control -#: view:website:account_credit_control.report_credit_control_summary_document +#: model:ir.ui.view,arch_db:account_credit_control.report_credit_control_summary_document msgid "Date due" msgstr "Date d'échéance" @@ -445,48 +402,64 @@ msgid "Define a reminder policy" msgstr "Définir une politique de relance" #. module: account_credit_control -#: field:credit.control.policy.level,delay_days:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level_delay_days msgid "Delay (in days)" msgstr "Retard (en jours)" #. module: account_credit_control -#: view:credit.control.policy:account_credit_control.credit_control_policy_form -#: view:credit.control.policy.level:account_credit_control.credit_mangement_policy_level_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_policy_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_mangement_policy_level_form msgid "Delay Setting" msgstr "Paramétrages jours de retard" #. module: account_credit_control -#: field:credit.control.policy,do_nothing:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication_display_name +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_emailer_display_name +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_display_name +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_marker_display_name +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_changer_display_name +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_display_name +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level_display_name +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_printer_display_name +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_run_display_name +msgid "Display Name" +msgstr "Afficher le nom" + +#. module: account_credit_control +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_do_nothing msgid "Do nothing" msgstr "Ignorer" #. module: account_credit_control -#: selection:credit.control.line,state:0 -#: selection:credit.control.marker,name:0 selection:credit.control.run,state:0 +#: selection:credit.control.line,state:0 selection:credit.control.marker,name:0 +#: selection:credit.control.run,state:0 msgid "Done" msgstr "Fait" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search #: selection:credit.control.line,state:0 selection:credit.control.run,state:0 +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Draft" msgstr "Brouillon" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Draft lines have to be triaged." msgstr "Les lignes brouillon doivent être triées" #. module: account_credit_control -#: help:credit.control.line,state:0 +#: model:ir.model.fields,help:account_credit_control.field_credit_control_line_state msgid "" "Draft lines need to be triaged.\n" "Ignored lines are lines for which we do not want to send something.\n" "Draft and ignored lines will be generated again on the next run." -msgstr "Lignes brouillons à traiter.\nLes lignes ignorées ne seront pas traitées.\nLes lignes brouillons ou ignorées seront régénérées lors du prochain contrôle." +msgstr "" +"Lignes brouillons à traiter.\n" +"Les lignes ignorées ne seront pas traitées.\n" +"Les lignes brouillons ou ignorées seront régénérées lors du prochain contrôle." #. module: account_credit_control -#: field:credit.control.line,amount_due:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_amount_due msgid "Due Amount Tax incl." msgstr "Montant dû TTC." @@ -501,12 +474,12 @@ msgid "Due Date, End Of Month" msgstr "Date d'échéance, fin de mois" #. module: account_credit_control -#: field:credit.control.line,balance_due:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_balance_due msgid "Due balance" -msgstr "Montant total" +msgstr "Date d'échéance" #. module: account_credit_control -#: field:credit.control.line,date_due:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_date_due msgid "Due date" msgstr "Date d'échéance" @@ -517,9 +490,9 @@ msgid "Email" msgstr "E-mail" #. module: account_credit_control -#: field:credit.control.policy.level,email_template_id:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level_email_template_id msgid "Email Template" -msgstr "Modèle d'e-mail" +msgstr "Modèle de courriel" #. module: account_credit_control #: selection:credit.control.line,state:0 @@ -527,111 +500,130 @@ msgid "Emailing Error" msgstr "Erreur sur E-mail" #. module: account_credit_control -#: field:credit.control.line,date_entry:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_date_entry msgid "Entry date" msgstr "Date de l'écriture" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search #: selection:credit.control.line,state:0 +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Error" msgstr "Erreur" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Filters" msgstr "Filtres" #. module: account_credit_control -#: help:credit.control.policy,do_nothing:0 +#: model:ir.model.fields,help:account_credit_control.field_credit_control_policy_do_nothing msgid "For policies which should not generate lines or are obsolete" msgstr "Pour les politiques qui ne doivent pas générer de lignes ou sont obsolètes" #. module: account_credit_control -#: field:credit.control.run,line_ids:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_run_line_ids msgid "Generated lines" -msgstr "Lignes générées" - -#. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search -msgid "Group By..." msgstr "Grouper Par..." #. module: account_credit_control -#: field:credit.control.communication,id:0 field:credit.control.emailer,id:0 -#: field:credit.control.line,id:0 field:credit.control.marker,id:0 -#: field:credit.control.policy,id:0 field:credit.control.policy.changer,id:0 -#: field:credit.control.policy.level,id:0 field:credit.control.printer,id:0 -#: field:credit.control.run,id:0 +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search +msgid "Group By..." +msgstr "Regrouper par..." + +#. module: account_credit_control +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication_id +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_emailer_id +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_id +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_marker_id +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_changer_id +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_id +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level_id +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_printer_id +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_run_id msgid "ID" msgstr "ID" #. module: account_credit_control -#: help:credit.control.run,manual_ids:0 -msgid "" -"If a credit control line has been generatedon a policy and the policy has " -"been changed in the meantime, it has to be handled manually" +#: model:ir.model.fields,help:account_credit_control.field_credit_control_run_manual_ids +msgid "If a credit control line has been generatedon a policy and the policy has been changed in the meantime, it has to be handled manually" msgstr "Si la ligne a été générée avec une politique de relance différente elle doit être traitée manuellement" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search -#: selection:credit.control.line,state:0 -#: selection:credit.control.marker,name:0 +#: selection:credit.control.line,state:0 selection:credit.control.marker,name:0 +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Ignored" msgstr "Ignorée" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search -#: field:credit.control.line,invoice_id:0 +#: model:res.groups,name:account_credit_control.group_account_credit_control_info +msgid "Info" +msgstr "Info" + +#. module: account_credit_control #: model:ir.model,name:account_credit_control.model_account_invoice +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_invoice_id +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Invoice" msgstr "Facture" #. module: account_credit_control -#: view:website:account_credit_control.report_credit_control_summary_document +#: model:ir.ui.view,arch_db:account_credit_control.report_credit_control_summary_document msgid "Invoice date" msgstr "Date de facture" #. module: account_credit_control -#: view:website:account_credit_control.report_credit_control_summary_document +#: model:ir.ui.view,arch_db:account_credit_control.report_credit_control_summary_document msgid "Invoice number" msgstr "Numéro de facture" #. module: account_credit_control -#: view:website:account_credit_control.report_credit_control_summary_document +#: model:ir.ui.view,arch_db:account_credit_control.report_credit_control_summary_document msgid "Invoiced amount" msgstr "Total de la facture" #. module: account_credit_control -#: view:account.invoice:account_credit_control.invoice_followup_form_view +#: model:ir.ui.view,arch_db:account_credit_control.invoice_followup_form_view msgid "Issued Lines" msgstr "Lignes de relance" #. module: account_credit_control -#: field:credit.control.communication,write_uid:0 -#: field:credit.control.emailer,write_uid:0 -#: field:credit.control.line,write_uid:0 -#: field:credit.control.marker,write_uid:0 -#: field:credit.control.policy,write_uid:0 -#: field:credit.control.policy.changer,write_uid:0 -#: field:credit.control.policy.level,write_uid:0 -#: field:credit.control.printer,write_uid:0 -#: field:credit.control.run,write_uid:0 -msgid "Last Updated by" -msgstr "Mis à jour par" +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication___last_update +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_emailer___last_update +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line___last_update +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_marker___last_update +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy___last_update +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_changer___last_update +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level___last_update +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_printer___last_update +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_run___last_update +msgid "Last Modified on" +msgstr "Dernière Modification le" #. module: account_credit_control -#: field:credit.control.communication,write_date:0 -#: field:credit.control.emailer,write_date:0 -#: field:credit.control.line,write_date:0 -#: field:credit.control.marker,write_date:0 -#: field:credit.control.policy,write_date:0 -#: field:credit.control.policy.changer,write_date:0 -#: field:credit.control.policy.level,write_date:0 -#: field:credit.control.printer,write_date:0 -#: field:credit.control.run,write_date:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication_write_uid +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_emailer_write_uid +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_write_uid +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_marker_write_uid +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_changer_write_uid +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level_write_uid +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_write_uid +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_printer_write_uid +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_run_write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: account_credit_control +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication_write_date +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_emailer_write_date +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_write_date +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_marker_write_date +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_changer_write_date +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level_write_date +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_write_date +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_printer_write_date +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_run_write_date msgid "Last Updated on" -msgstr "Mis à jour le" +msgstr "Dernière mise à jour le" #. module: account_credit_control #: selection:credit.control.line,channel:0 @@ -640,87 +632,93 @@ msgid "Letter" msgstr "Lettre" #. module: account_credit_control -#: field:credit.control.communication,current_policy_level:0 -#: view:credit.control.line:account_credit_control.credit_control_line_search -#: field:credit.control.policy.level,level:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication_current_policy_level +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level_level +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Level" msgstr "Niveau" #. module: account_credit_control -#: view:credit.control.emailer:account_credit_control.credit_line_emailer_form -#: view:credit.control.marker:account_credit_control.credit_line_marker_form -#: view:credit.control.printer:account_credit_control.credit_line_printer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_emailer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_marker_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_printer_form msgid "Lines" msgstr "Lignes" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Lines already sent." msgstr "Lignes déjà traitées." #. module: account_credit_control -#: view:credit.control.marker:account_credit_control.credit_line_marker_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_marker_form msgid "Lines marker" msgstr "Traiter les lignes" #. module: account_credit_control -#: view:credit.control.printer:account_credit_control.credit_line_printer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_printer_form msgid "Lines report" msgstr "Lignes de relance" #. module: account_credit_control -#: field:credit.control.run,manual_ids:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_run_manual_ids msgid "Lines to handle manually" msgstr "A traiter manuellement" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Lines which have been ignored from previous runs." msgstr "Lignes ignorées lors des relances précédentes." #. module: account_credit_control -#: view:credit.control.policy:account_credit_control.credit_control_policy_form -#: view:credit.control.policy.level:account_credit_control.credit_mangement_policy_level_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_policy_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_mangement_policy_level_form msgid "Mail and reporting" msgstr "Lettres et e-mails" #. module: account_credit_control -#: view:credit.control.emailer:account_credit_control.credit_line_emailer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_emailer_form msgid "Mailer" msgstr "Mailer" #. module: account_credit_control -#: view:account.invoice:account_credit_control.invoice_followup_form_view +#: model:res.groups,name:account_credit_control.group_account_credit_control_manager +msgid "Manager" +msgstr "Gestionnaire" + +#. module: account_credit_control +#: model:ir.ui.view,arch_db:account_credit_control.invoice_followup_form_view msgid "Manual Credit Control Policy" msgstr "Politique de relance manuelle" #. module: account_credit_control -#: view:credit.control.run:account_credit_control.credit_control_run_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_run_form msgid "Manual Lines" msgstr "Lignes manuelles" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Manual change" msgstr "Changement manuel" #. module: account_credit_control +#: model:credit.control.policy.level,custom_mail_text:account_credit_control.no_follow_1 #: model:credit.control.policy.level,custom_text:account_credit_control.no_follow_1 msgid "Manual no follow" msgstr "Ne pas suivre (Manuel)" #. module: account_credit_control -#: field:credit.control.line,manually_overridden:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_manually_overridden msgid "Manually overridden" msgstr "Mise à jour manuelle" #. module: account_credit_control -#: field:credit.control.marker,name:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_marker_name msgid "Mark as" msgstr "Marquer comme" #. module: account_credit_control -#: field:credit.control.printer,mark_as_sent:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_printer_mark_as_sent msgid "Mark letter lines as sent" msgstr "Marquer comme traitées" @@ -740,37 +738,38 @@ msgid "Mass printer" msgstr "Imprimer en masse" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "More..." msgstr "Plus..." #. module: account_credit_control -#: field:credit.control.line,move_line_id:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_move_line_id msgid "Move line" msgstr "Écriture comptable" #. module: account_credit_control -#: field:credit.control.policy.changer,move_line_ids:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_changer_move_line_ids msgid "Move line to change" msgstr "Écriture comptable à changer" #. module: account_credit_control -#: view:credit.control.policy.changer:account_credit_control.credit_control_policy_changer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_policy_changer_form msgid "Move lines to affect" msgstr "Écriture comptable à traiter" #. module: account_credit_control -#: field:credit.control.policy,name:0 field:credit.control.policy.level,name:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level_name +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_name msgid "Name" msgstr "Nom" #. module: account_credit_control -#: field:credit.control.policy.changer,new_policy_id:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_changer_new_policy_id msgid "New Policy to Apply" msgstr "Nouvelle politique" #. module: account_credit_control -#: field:credit.control.policy.changer,new_policy_level_id:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_changer_new_policy_level_id msgid "New level to apply" msgstr "Nouveau niveau de relance" @@ -788,7 +787,7 @@ msgid "No follow" msgstr "Pas de suivi" #. module: account_credit_control -#: field:credit.control.policy.changer,do_nothing:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_changer_do_nothing msgid "No follow policy" msgstr "Politique sans suivi" @@ -799,135 +798,266 @@ msgid "No lines will be changed. All the selected lines are already done." msgstr "Aucune ligne ne sera modifiée. Toutes les lignes sélectionnées sont déjà terminées." #. module: account_credit_control -#: help:credit.control.printer,mark_as_sent:0 +#: model:ir.model.fields,help:account_credit_control.field_credit_control_printer_mark_as_sent msgid "Only letter lines will be marked." msgstr "Seules les relances par courrier seront traitées." #. module: account_credit_control -#: view:credit.control.run:account_credit_control.credit_control_run_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_run_form msgid "Open Credit Control Lines" msgstr "Ouvrir les lignes de relance" #. module: account_credit_control -#: view:website:account_credit_control.report_credit_control_summary_document +#: model:ir.ui.view,arch_db:account_credit_control.report_credit_control_summary_document msgid "Open amount" msgstr "Restant dû" #. module: account_credit_control #: model:credit.control.policy.level,custom_text:account_credit_control.2_time_1 -msgid "" -"Our records indicate that we have not received the payment of the above mentioned invoice.\n" -" If it has already been sent, please disregard this notice. If not, please proceed with payment within 10 days.\n" -"\n" -" Thank you in advance for your anticipated cooperation in this matter.\n" -"\n" -" Best regards\n" -" " -msgstr "Notre comptabilité nous informe que les factures ci-dessous n'ont pas été payées malgré un précédent rappel.\n Si ce courrier à croisé votre paiement veuillez le considérer comme nul et non avenu. Sinon, Merci de procéder au paiement dans les 10 jours.\n\n En vous remerciant de votre coopération.\n\nSalutations\n " - -#. module: account_credit_control #: model:credit.control.policy.level,custom_text:account_credit_control.3_time_1 msgid "" -"Our records indicate that we have not received the payment of the above mentioned invoice.\n" -"If it has already been sent, please disregard this notice. If not, please proceed with payment within 10 days.\n" +"Our records indicate that we have not\n" +" received the payment of the above mentioned invoice.\n" +" If it has already been sent, please disregard this notice. If\n" +" not, please proceed with payment within 10 days.\n" "\n" -"Thank you in advance for your anticipated cooperation in this matter.\n" +" Thank you in advance for your anticipated cooperation in this\n" +" matter.\n" "\n" -"Best regards\n" +" Best regards\n" +" " +msgstr "" +"Notre comptabilité nous informe que les factures ci-dessous n'ont pas été payées malgré un précédent rappel.\n" +" Si ce courrier a croisé votre paiement veuillez le considérer comme nul et non avenu. Sinon, Merci de procéder au paiement dans les 10 jours.\n" +"\n" +" En vous remerciant de votre coopération.\n" +"\n" +"Salutations\n" +" " + +#. module: account_credit_control +#: model:credit.control.policy.level,custom_mail_text:account_credit_control.3_time_1 +msgid "" +"Our records indicate that we have not received the payment of the invoices mentioned in the attached document.
\n" +"
\n" +" If it has already been sent, please disregard this notice. If not, please proceed with payment within 10 days.
\n" +"
\n" +" Thank you in advance for your anticipated cooperation in this matter.
\n" +"
\n" +" Best regards" +msgstr "" +"Notre comptabilité nous informe que les factures ci-dessous n'ont pas été payées malgré un précédent rappel.\n" +" Si ce courrier a croisé votre paiement veuillez le considérer comme nul et non avenu. Sinon, Merci de procéder au paiement dans les 10 jours.\n" +"\n" +" En vous remerciant de votre coopération.\n" +"\n" +"Salutations\n" +" " + +#. module: account_credit_control +#: model:credit.control.policy.level,custom_mail_text:account_credit_control.2_time_1 +msgid "" +"Our records indicate that we have not received the payment of the invoices mentioned in the attached document.
\n" +" If it has already been sent, please disregard this notice. If not, please proceed with payment within 10 days.
\n" +"
\n" +" Thank you in advance for your anticipated cooperation in this matter.
\n" +"
\n" +" Best regards" +msgstr "" +"Notre comptabilité nous informe que les factures ci-dessous n'ont pas été payées malgré un précédent rappel.\n" +" Si ce courrier a croisé votre paiement veuillez le considérer comme nul et non avenu. Sinon, Merci de procéder au paiement dans les 10 jours.\n" +"\n" +" En vous remerciant de votre coopération.\n" +"\n" +"Salutations\n" " " -msgstr "Notre comptabilité nous informe que les factures ci-dessous n'ont pas été payées malgré un précédent rappel.\n Si ce courrier a croisé votre paiement veuillez le considérer comme nul et non avenu. Sinon, Merci de procéder au paiement dans les 10 jours.\n\n En vous remerciant de votre coopération.\n\nSalutations\n " #. module: account_credit_control #: model:credit.control.policy.level,custom_text:account_credit_control.3_time_2 msgid "" -"Our records indicate that we have not yet received the payment of the above mentioned invoice despite our first reminder.\n" -" If it has already been sent, please disregard this notice. If not, please proceed with payment within 5 days.\n" +"Our records indicate that we have not yet\n" +" received the payment of the above mentioned invoice despite our\n" +" first reminder.\n" +" If it has already been sent, please disregard this notice. If\n" +" not, please proceed with payment within 5 days.\n" "\n" -"Thank you in advance for your anticipated cooperation in this matter.\n" +" Thank you in advance for your anticipated cooperation in this\n" +" matter.\n" "\n" -"Best regards\n" +" Best regards\n" +" " +msgstr "" +"Notre comptabilité nous informe que les factures ci-dessous n'ont pas été payées malgré un précédent rappel.\n" +" Si ce courrier à croisé votre paiement veuillez le considérer comme nul et non avenu. Sinon, Merci de procéder au paiement dans les 5 jours.\n" +"\n" +" En vous remerciant de votre coopération.\n" +"\n" +"Salutations\n" +" " + +#. module: account_credit_control +#: model:credit.control.policy.level,custom_mail_text:account_credit_control.3_time_2 +msgid "" +"Our records indicate that we have not yet received the payment of the invoices mentioned in the attached document despite our first reminder.
\n" +" If it has already been sent, please disregard this notice. If not, please proceed with payment within 5 days.
\n" +"
\n" +" Thank you in advance for your anticipated cooperation in this matter.
\n" +"
\n" +" Best regards" +msgstr "" +"Notre comptabilité nous informe que les factures ci-dessous n'ont pas été payées malgré un précédent rappel.\n" +" Si ce courrier à croisé votre paiement veuillez le considérer comme nul et non avenu. Sinon, Merci de procéder au paiement dans les 5 jours.\n" +"\n" +" En vous remerciant de votre coopération.\n" +"\n" +"Salutations\n" " " -msgstr "Notre comptabilité nous informe que les factures ci-dessous n'ont pas été payées malgré un précédent rappel.\n Si ce courrier à croisé votre paiement veuillez le considérer comme nul et non avenu. Sinon, Merci de procéder au paiement dans les 5 jours.\n\n En vous remerciant de votre coopération.\n\nSalutations\n " #. module: account_credit_control #: model:credit.control.policy.level,custom_text:account_credit_control.2_time_2 msgid "" -"Our records indicate that we still have not received the payment of the above mentioned invoice despite our reminder.\n" +"Our records indicate that we still have\n" +" not received the payment of the above mentioned invoice despite\n" +" our reminder.\n" "\n" -" If payment have already been sent, please disregard this notice. If not, please proceed with payment.\n" -" If your payment has not been received in the next 5 days, your file will be transfered to our debt\n" -" collection agency.\n" +" If payment have already been sent, please disregard this\n" +" notice. If not, please proceed with payment.\n" +" If your payment has not been received in the next 5 days, your\n" +" file will be transfered to our debt\n" +" collection agency.\n" "\n" -" Should you need us to arrange a payment plan for you, please advise.\n" -" A customer account statement is enclosed for you convenience.\n" +" Should you need us to arrange a payment plan for you, please\n" +" advise.\n" +" A customer account statement is enclosed for you convenience.\n" "\n" -" Thank you in advance for your anticipated cooperation in this matter.\n" +" Thank you in advance for your anticipated cooperation in this\n" +" matter.\n" "\n" -" Best regards\n" +" Best regards\n" +" " +msgstr "" +"Notre comptabilité nous indique que vous avez encore des factures ouvertes malgré nos précédents rappels.\n" +" Si ce courrier a croisé votre paiement veuillez le considérer comme nul et non avenu.\n" +" Si le paiement n'est pas effectué dans les 5 jours votre dossier sera transféré à une société de recouvrement.\n" +"\n" +" Si vous désirez un accord de paiement n'hésitez pas à nous contacter. \n" +" Un décompte est disponible ci-joint.\n" +"\n" +" En vous remerciant de votre coopération\n" +" " + +#. module: account_credit_control +#: model:credit.control.policy.level,custom_mail_text:account_credit_control.2_time_2 +msgid "" +"Our records indicate that we still have not received the payment of the invoices mentioned in the attached document despite our reminder.\n" +"
\n" +"
\n" +" If payment have already been sent, please disregard this notice. If not, please proceed with payment.
\n" +" If your payment has not been received in the next 5 days, your file will be transfered to our debt
\n" +" collection agency.
\n" +"
\n" +" Should you need us to arrange a payment plan for you, please advise.
\n" +" A customer account statement is enclosed for you convenience.
\n" +"
\n" +" Thank you in advance for your anticipated cooperation in this matter.
\n" +"
\n" +" Best regards" +msgstr "" +"Notre comptabilité nous indique que vous avez encore des factures ouvertes malgré nos précédents rappels.\n" +" Si ce courrier a croisé votre paiement veuillez le considérer comme nul et non avenu.\n" +" Si le paiement n'est pas effectué dans les 5 jours votre dossier sera transféré à une société de recouvrement.\n" +"\n" +" Si vous désirez un accord de paiement n'hésitez pas à nous contacter. \n" +" Un décompte est disponible ci-joint.\n" +"\n" +" En vous remerciant de votre coopération\n" +" " + +#. module: account_credit_control +#: model:credit.control.policy.level,custom_mail_text:account_credit_control.3_time_3 +msgid "" +"Our records indicate that we still have not received the payment of the invoices mentioned in the attached document despite our two reminders.
\n" +" If payment have already been sent, please disregard this notice. If not, please proceed with payment.
\n" +" If your payment has not been received in the next 5 days, your file will be transfered to our debt collection agency.
\n" +"
\n" +" Should you need us to arrange a payment plan for you, please advise.
\n" +" A customer account statement is enclosed for you convenience.
\n" +"
\n" +" Thank you in advance for your anticipated cooperation in this matter.
\n" +"
\n" +" Best regards" +msgstr "" +"Notre comptabilité nous indique que vous avez encore des factures ouvertes malgré nos précédents rappels.\n" +" Si ce courrier a croisé votre paiement veuillez le considérer comme nul et non avenu.\n" +" Si le paiement n'est pas effectué dans les 5 jours votre dossier sera transféré à une société de recouvrement.\n" +"\n" +" Si vous désirez un accord de paiement n'hésitez pas à nous contacter. \n" +" Un décompte est disponible ci-joint.\n" +"\n" +" En vous remerciant de votre coopération\n" " " -msgstr "Notre comptabilité nous indique que vous avez encore des factures ouvertes malgré nos précédents rappels.\n Si ce courrier a croisé votre paiement veuillez le considérer comme nul et non avenu.\n Si le paiement n'est pas effectué dans les 5 jours votre dossier sera transféré à une société de recouvrement.\n\n Si vous désirez un accord de paiement n'hésitez pas à nous contacter. \n Un décompte est disponible ci-joint.\n\n En vous remerciant de votre coopération\n " #. module: account_credit_control #: model:ir.model,name:account_credit_control.model_mail_mail msgid "Outgoing Mails" -msgstr "Courriels envoyés" +msgstr "Courriels à envoyer" #. module: account_credit_control -#: field:credit.control.line,policy_level_id:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_policy_level_id msgid "Overdue Level" msgstr "Niveau de relance" #. module: account_credit_control -#: field:credit.control.communication,partner_id:0 -#: view:credit.control.line:account_credit_control.credit_control_line_search -#: field:credit.control.line,partner_id:0 #: model:ir.model,name:account_credit_control.model_res_partner +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication_partner_id +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_partner_id +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Partner" -msgstr "Client" +msgstr "Partenaire" #. module: account_credit_control -#: code:addons/account_credit_control/run.py:109 +#: code:addons/account_credit_control/models/credit_control_run.py:108 #, python-format msgid "Please select a policy" -msgstr "Choisissez une politique" +msgstr "Utilisez l'action sur les factures clients" #. module: account_credit_control -#: code:addons/account_credit_control/wizard/credit_control_policy_changer.py:61 +#: code:addons/account_credit_control/wizard/credit_control_policy_changer.py:60 #, python-format msgid "Please use wizard on customer invoices" msgstr "Utilisez l'action sur les factures clients" #. module: account_credit_control -#: view:credit.control.run:account_credit_control.credit_control_run_form -#: field:credit.control.run,policy_ids:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_run_policy_ids +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_run_form msgid "Policies" msgstr "Politiques" #. module: account_credit_control -#: code:addons/account_credit_control/run.py:132 +#: code:addons/account_credit_control/models/credit_control_run.py:131 #, python-format msgid "Policy \"%s\" has generated %d Credit Control Lines.
" msgstr "La politique de relance \"%s\" a généré %d lignes de relance.
" #. module: account_credit_control -#: code:addons/account_credit_control/run.py:136 +#: code:addons/account_credit_control/models/credit_control_run.py:135 #, python-format msgid "Policy \"%s\" has not generated any Credit Control Lines.
" msgstr "La politique de relance \"%s\" n'a pas généré de lignes de relance.
" #. module: account_credit_control -#: field:credit.control.policy,level_ids:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level_ids msgid "Policy Levels" msgstr "Niveaux de relance" #. module: account_credit_control -#: view:credit.control.policy:account_credit_control.credit_control_policy_form -#: view:credit.control.policy.level:account_credit_control.credit_mangement_policy_level_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_policy_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_mangement_policy_level_form msgid "Policy level" msgstr "Niveau de relance" #. module: account_credit_control -#: view:credit.control.policy:account_credit_control.credit_control_policy_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_policy_form msgid "Policy levels" msgstr "Niveaux de relance" @@ -937,7 +1067,7 @@ msgid "Previous Reminder" msgstr "Précédent rappel" #. module: account_credit_control -#: view:credit.control.printer:account_credit_control.credit_line_printer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_printer_form msgid "Print" msgstr "Imprimer" @@ -953,36 +1083,35 @@ msgid "Print selected lines" msgstr "Imprimer la sélection" #. module: account_credit_control -#: view:credit.control.printer:account_credit_control.credit_line_printer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_printer_form msgid "Print the selected lines" msgstr "Imprimer la sélection" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search -#: selection:credit.control.line,state:0 -#: selection:credit.control.marker,name:0 +#: selection:credit.control.line,state:0 selection:credit.control.marker,name:0 +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Ready To Send" msgstr "Prêt à l'envoi" #. module: account_credit_control -#: field:credit.control.line,policy_id:0 -#: field:credit.control.policy.level,policy_id:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_policy_id +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_policy_level_policy_id msgid "Related Policy" msgstr "Niveau de relance" #. module: account_credit_control -#: view:credit.control.run:account_credit_control.credit_control_run_form -#: field:credit.control.run,report:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_run_report +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_run_form msgid "Report" msgstr "Lettre" #. module: account_credit_control -#: field:credit.control.communication,report_date:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication_report_date msgid "Report Date" msgstr "Date du rapport" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Run date" msgstr "Date de relance" @@ -998,148 +1127,142 @@ msgid "Send an email for the selected lines." msgstr "Envoyer les rappels par email." #. module: account_credit_control -#: view:credit.control.emailer:account_credit_control.credit_line_emailer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_emailer_form msgid "Send emails for the selected lines" msgstr "Envoyer un email depuis les lignes de relances sélectionnées" #. module: account_credit_control -#: view:credit.control.emailer:account_credit_control.credit_line_emailer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_emailer_form msgid "Send the emails" msgstr "Envoyer les courriels" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "Sent" -msgstr "Envoyées" +msgstr "Envoyer par email" #. module: account_credit_control -#: field:credit.control.line,mail_message_id:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_mail_message_id msgid "Sent Email" msgstr "Courriels envoyés" #. module: account_credit_control -#: field:credit.control.line,date_sent:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_date_sent msgid "Sent date" msgstr "Date d'envoi" #. module: account_credit_control -#: view:credit.control.policy.changer:account_credit_control.credit_control_policy_changer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_policy_changer_form msgid "Set current credit level" msgstr "Définir le niveau de relance actuel" #. module: account_credit_control -#: view:credit.control.policy.changer:account_credit_control.credit_control_policy_changer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_policy_changer_form msgid "Set new policy" msgstr "Définir une nouvelle politique de relance" #. module: account_credit_control -#: field:credit.control.line,run_id:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_run_id msgid "Source" -msgstr "Source" +msgstr "Origine" #. module: account_credit_control -#: field:credit.control.line,state:0 field:credit.control.run,state:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_state +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_run_state msgid "State" msgstr "État" #. module: account_credit_control -#: view:website:account_credit_control.report_credit_control_summary_document +#: model:ir.ui.view,arch_db:account_credit_control.report_credit_control_summary_document msgid "Summary" msgstr "Listes des factures en attente de règlement" #. module: account_credit_control -#: help:account.invoice,credit_policy_id:0 -msgid "" -"The Credit Control Policy used for this invoice. If nothing is defined, it " -"will use the account setting or the partner setting." +#: model:ir.model.fields,help:account_credit_control.field_account_invoice_credit_policy_id +msgid "The Credit Control Policy used for this invoice. If nothing is defined, it will use the account setting or the partner setting." msgstr "Il s'agit de la politique de relance propre à cette facture Si vide, la politique de relance par défaut sera utilisée." #. module: account_credit_control -#: help:res.partner,credit_policy_id:0 -msgid "" -"The Credit Control Policy used for this partner. This setting can be forced " -"on the invoice. If nothing is defined, it will use the company setting." +#: model:ir.model.fields,help:account_credit_control.field_res_partner_credit_policy_id +msgid "The Credit Control Policy used for this partner. This setting can be forced on the invoice. If nothing is defined, it will use the company setting." msgstr "Politique de relance utilisée pour ce client. (Vous pouvez aussi en définir une autre au niveau d'une des factures de ce client.) Si vide, la politique par défaut (au niveau de la société) sera appliquée." #. module: account_credit_control -#: help:res.company,credit_policy_id:0 -msgid "" -"The Credit Control Policy used on partners by default. This setting can be " -"overridden on partners or invoices." +#: model:ir.model.fields,help:account_credit_control.field_res_company_credit_policy_id +msgid "The Credit Control Policy used on partners by default. This setting can be overridden on partners or invoices." msgstr "Politique de relance par défaut du client. (Ce paramétrage peut être défini plus spécifiquement au niveau de la facture)." #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "The line was deprecated by a manual change of policy on invoice." msgstr "La ligne a été remplacée par un changement manuel de politique sur la facture." #. module: account_credit_control -#: help:credit.control.line,currency_id:0 +#: model:ir.model.fields,help:account_credit_control.field_credit_control_line_currency_id msgid "The optional other currency if it is a multi-currency entry." -msgstr "Les autres devises optionnelles en cas de multi-devises." +msgstr "L'autre devise optionelle si c'est une écriture multi devise." #. module: account_credit_control -#: code:addons/account_credit_control/policy.py:258 +#: code:addons/account_credit_control/models/credit_control_policy.py:256 #, python-format msgid "The smallest level can not be of type Previous Reminder" msgstr "Le premier niveau ne peut pas être basé sur un précédent rappel" #. module: account_credit_control -#: view:credit.control.line:account_credit_control.credit_control_line_search +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_line_search msgid "These lines are ready to send by email or by letter using the Actions." msgstr "Ces lignes sont prêtes à être traitées" #. module: account_credit_control -#: help:credit.control.policy,account_ids:0 +#: model:ir.model.fields,help:account_credit_control.field_credit_control_policy_account_ids msgid "This policy will be active only for the selected accounts" msgstr "Cette politique de relance sera active seulement pour les comptes sélectionnés" #. module: account_credit_control -#: view:credit.control.policy.changer:account_credit_control.credit_control_policy_changer_form -msgid "" -"This wizard will let you set the overdue policy and level for selected " -"invoices" +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_policy_changer_form +msgid "This wizard will let you set the overdue policy and level for selected invoices" msgstr "Cette action vous permet de définir une politique et un niveau de relance pour les factures sélectionnées" #. module: account_credit_control -#: view:website:account_credit_control.report_credit_control_summary_document +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication_total_due msgid "Total Due" -msgstr "Total dû" +msgstr "Total Due" #. module: account_credit_control -#: view:website:account_credit_control.report_credit_control_summary_document +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication_total_invoiced msgid "Total Invoiced" msgstr "Total facturé" #. module: account_credit_control -#: field:credit.control.communication,user_id:0 +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_communication_user_id +#: model:res.groups,name:account_credit_control.group_account_credit_control_user msgid "User" msgstr "Utilisateur" #. module: account_credit_control -#: view:credit.control.marker:account_credit_control.credit_line_marker_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_marker_form msgid "Warning: you will maybe not be able to revert this operation." msgstr "Attention: Cette opération ne peut pas être annulée" #. module: account_credit_control -#: code:addons/account_credit_control/line.py:226 +#: code:addons/account_credit_control/models/credit_control_line.py:229 #, python-format -msgid "" -"You are not allowed to delete a credit control line that is not in draft " -"state." +msgid "You are not allowed to delete a credit control line that is not in draft state." msgstr "Vous ne pouvez pas supprimer une ligne de relance qui n'est pas en brouillon" #. module: account_credit_control -#: code:addons/account_credit_control/policy.py:203 +#: code:addons/account_credit_control/models/credit_control_policy.py:201 #, python-format msgid "" "You can only use a policy set on account %s.\n" "Please choose one of the following policies:\n" " %s" -msgstr "Vous ne pouvez utiliser qu'une politique associée au compte %s.Vous pouvez choisir une des politique suivantes:\n %s" +msgstr "" +"Vous ne pouvez utiliser qu'une politique associée au compte %s.Vous pouvez choisir une des politique suivantes:\n" +" %s" #. module: account_credit_control -#: code:addons/account_credit_control/invoice.py:60 +#: code:addons/account_credit_control/models/account_invoice.py:60 #, python-format msgid "" "You cannot cancel this invoice.\n" @@ -1153,14 +1276,19 @@ msgid "credit control communication" msgstr "Lettre de relance" #. module: account_credit_control -#: field:credit.control.line,level:0 -msgid "credit.control.policy.level" -msgstr "Une politique de relance" +#: model:ir.model,name:account_credit_control.model_credit_control_policy_changer +msgid "credit.control.policy.changer" +msgstr "credit.control.policy.changer" #. module: account_credit_control -#: view:credit.control.emailer:account_credit_control.credit_line_emailer_form -#: view:credit.control.marker:account_credit_control.credit_line_marker_form -#: view:credit.control.policy.changer:account_credit_control.credit_control_policy_changer_form -#: view:credit.control.printer:account_credit_control.credit_line_printer_form +#: model:ir.model.fields,field_description:account_credit_control.field_credit_control_line_level +msgid "credit.control.policy.level" +msgstr "credit.control.policy.level" + +#. module: account_credit_control +#: model:ir.ui.view,arch_db:account_credit_control.credit_control_policy_changer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_emailer_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_marker_form +#: model:ir.ui.view,arch_db:account_credit_control.credit_line_printer_form msgid "or" msgstr "ou" diff --git a/account_credit_control/line_view.xml b/account_credit_control/line_view.xml deleted file mode 100644 index 9538c577b..000000000 --- a/account_credit_control/line_view.xml +++ /dev/null @@ -1,171 +0,0 @@ - - - - credit.control.line.form - credit.control.line - -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- - - Credit Control Lines - credit.control.line - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - credit.control.line.tree - credit.control.line - - - - - - - - - - - - - - - - - - - - - - - - - - Credit Control Lines - ir.actions.act_window - credit.control.line - - form - tree,form - - {'search_default_filter_draft': 1, 'search_default_filter_to_be_sent': 1} - - - - - - - -
-
diff --git a/account_credit_control/migrations/0.3/post-migration.py b/account_credit_control/migrations/0.3/post-migration.py index 0bc929983..95be27a45 100644 --- a/account_credit_control/migrations/0.3/post-migration.py +++ b/account_credit_control/migrations/0.3/post-migration.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- import logging -from openerp import SUPERUSER_ID -from openerp.modules.registry import RegistryManager +from odoo import SUPERUSER_ID +from odoo.modules.registry import RegistryManager uid = SUPERUSER_ID diff --git a/account_credit_control/models/__init__.py b/account_credit_control/models/__init__.py new file mode 100644 index 000000000..8db8b8120 --- /dev/null +++ b/account_credit_control/models/__init__.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- +# Copyright 2012-2014 Camptocamp SA +# Copyright 2017 Okia SPRL (https://okia.be) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from . import account_account +from . import account_invoice +from . import credit_control_line +from . import credit_control_policy +from . import credit_control_run +from . import mail_mail +from . import res_company +from . import res_partner diff --git a/account_credit_control/account.py b/account_credit_control/models/account_account.py similarity index 97% rename from account_credit_control/account.py rename to account_credit_control/models/account_account.py index de4758c5f..a911eaebe 100644 --- a/account_credit_control/account.py +++ b/account_credit_control/models/account_account.py @@ -18,7 +18,7 @@ # along with this program. If not, see . # ############################################################################## -from openerp import models, fields +from odoo import models, fields class AccountAccount(models.Model): diff --git a/account_credit_control/invoice.py b/account_credit_control/models/account_invoice.py similarity index 96% rename from account_credit_control/invoice.py rename to account_credit_control/models/account_invoice.py index 69b747e8c..2f803454a 100644 --- a/account_credit_control/invoice.py +++ b/account_credit_control/models/account_invoice.py @@ -18,7 +18,8 @@ # along with this program. If not, see . # ############################################################################## -from openerp import models, fields, api, _ +from odoo import models, fields, api, _ +from odoo.exceptions import Warning class AccountInvoice(models.Model): @@ -56,7 +57,7 @@ class AccountInvoice(models.Model): ('state', '!=', 'draft')] cc_nondraft_lines = cc_line_obj.search(nondraft_domain) if cc_nondraft_lines: - raise api.Warning( + raise Warning( _('You cannot cancel this invoice.\n' 'A payment reminder has already been ' 'sent to the customer.\n' diff --git a/account_credit_control/line.py b/account_credit_control/models/credit_control_line.py similarity index 94% rename from account_credit_control/line.py rename to account_credit_control/models/credit_control_line.py index 326778870..49290bd99 100644 --- a/account_credit_control/line.py +++ b/account_credit_control/models/credit_control_line.py @@ -20,9 +20,10 @@ ############################################################################## import logging -from openerp import models, fields, api, _ +from odoo import models, fields, api, _ +from odoo.exceptions import Warning -logger = logging.getLogger('credit.line.control') +logger = logging.getLogger(__name__) class CreditControlLine(models.Model): @@ -40,7 +41,7 @@ class CreditControlLine(models.Model): date = fields.Date(string='Controlling date', required=True, - select=True) + index=True) # maturity date of related move line we do not use # a related field in order to # allow manual changes @@ -130,7 +131,7 @@ class CreditControlLine(models.Model): store=True, readonly=True) - level = fields.Integer('credit.control.policy.level', + level = fields.Integer('Level', related='policy_level_id.level', store=True, readonly=True) @@ -149,8 +150,8 @@ class CreditControlLine(models.Model): data['date_due'] = move_line.date_maturity data['state'] = 'draft' data['channel'] = level.channel - data['invoice_id'] = (move_line.invoice.id if - move_line.invoice else False) + data['invoice_id'] = (move_line.invoice_id.id if + move_line.invoice_id else False) data['partner_id'] = move_line.partner_id.id data['amount_due'] = (move_line.amount_currency or move_line.debit or move_line.credit) @@ -194,7 +195,10 @@ class CreditControlLine(models.Model): new_lines = self.browse() for move_line in lines: - open_amount = move_line.amount_residual_currency + if move_line.currency_id: + open_amount = move_line.amount_residual_currency + else: + open_amount = move_line.amount_residual cur_tolerance = tolerance.get(move_line.currency_id.id, tolerance_base) if check_tolerance and open_amount < cur_tolerance: @@ -204,7 +208,7 @@ class CreditControlLine(models.Model): controlling_date, open_amount) line = self.create(vals) - new_lines += line + new_lines |= line # when we have lines generated earlier in draft, # on the same level, it means that we have left @@ -222,7 +226,7 @@ class CreditControlLine(models.Model): def unlink(self): for line in self: if line.state != 'draft': - raise api.Warning( + raise Warning( _('You are not allowed to delete a credit control ' 'line that is not in draft state.') ) diff --git a/account_credit_control/policy.py b/account_credit_control/models/credit_control_policy.py similarity index 92% rename from account_credit_control/policy.py rename to account_credit_control/models/credit_control_policy.py index 51bda55f2..e2aa1f832 100644 --- a/account_credit_control/policy.py +++ b/account_credit_control/models/credit_control_policy.py @@ -18,7 +18,8 @@ # along with this program. If not, see . # ############################################################################## -from openerp import models, fields, api, _ +from odoo import models, fields, api, _ +from odoo.exceptions import Warning class CreditControlPolicy(models.Model): @@ -39,7 +40,7 @@ class CreditControlPolicy(models.Model): 'account.account', string='Accounts', required=True, - domain="[('type', '=', 'receivable')]", + domain="[('internal_type', '=', 'receivable')]", help="This policy will be active only" " for the selected accounts", ) @@ -51,7 +52,7 @@ class CreditControlPolicy(models.Model): self.ensure_one() return [('account_id', 'in', self.account_ids.ids), ('date_maturity', '<=', controlling_date), - ('reconcile_id', '=', False), + ('reconciled', '=', False), ('partner_id', '!=', False)] @api.multi @@ -71,7 +72,7 @@ class CreditControlPolicy(models.Model): move_l_obj = self.env['account.move.line'] user = self.env.user if user.company_id.credit_policy_id.id != self.id: - return move_l_obj.browse() + return move_l_obj domain_line = self._move_lines_domain(controlling_date) return move_l_obj.search(domain_line) @@ -97,11 +98,10 @@ class CreditControlPolicy(models.Model): self.ensure_one() # MARK possible place for a good optimisation my_obj = self.env[model] - move_l_obj = self.env['account.move.line'] default_domain = self._move_lines_domain(controlling_date) - to_add = move_l_obj.browse() - to_remove = move_l_obj.browse() + to_add = self.env['account.move.line'] + to_remove = self.env['account.move.line'] # The lines which are linked to this policy have to be included in the # run for this policy. @@ -110,7 +110,7 @@ class CreditControlPolicy(models.Model): if add_objs: domain = list(default_domain) domain.append((move_relation_field, 'in', add_objs.ids)) - to_add = move_l_obj.search(domain) + to_add = to_add.search(domain) # The lines which are linked to another policy do not have to be # included in the run for this policy. @@ -119,7 +119,7 @@ class CreditControlPolicy(models.Model): if neg_objs: domain = list(default_domain) domain.append((move_relation_field, 'in', neg_objs.ids)) - to_remove = move_l_obj.search(domain) + to_remove = to_remove.search(domain) return to_add, to_remove @api.multi @@ -177,8 +177,7 @@ class CreditControlPolicy(models.Model): existing credit line but with a different policy. """ self.ensure_one() - move_line_obj = self.env['account.move.line'] - different_lines = move_line_obj.browse() + different_lines = self.env['account.move.line'] if not lines: return different_lines cr = self.env.cr @@ -188,7 +187,7 @@ class CreditControlPolicy(models.Model): (self.id, tuple(lines.ids))) res = cr.fetchall() if res: - return move_line_obj.browse([row[0] for row in res]) + return different_lines.browse([row[0] for row in res]) return different_lines @api.multi @@ -199,7 +198,7 @@ class CreditControlPolicy(models.Model): if account in x.account_ids or x.do_nothing] if self not in allowed: allowed_names = u"\n".join(x.name for x in allowed) - raise api.Warning( + raise Warning( _('You can only use a policy set on ' 'account %s.\n' 'Please choose one of the following ' @@ -229,7 +228,7 @@ class CreditControlPolicyLevel(models.Model): required=True ) delay_days = fields.Integer(string='Delay (in days)', required=True) - email_template_id = fields.Many2one('email.template', + email_template_id = fields.Many2one('mail.template', string='Email Template', required=True) channel = fields.Selection([('letter', 'Letter'), @@ -246,17 +245,20 @@ class CreditControlPolicyLevel(models.Model): 'UNIQUE (policy_id, level)', 'Level must be unique per policy')] - @api.one + @api.multi @api.constrains('level', 'computation_mode') def _check_level_mode(self): """ The smallest level of a policy cannot be computed on the "previous_date". """ - smallest_level = self.search([('policy_id', '=', self.policy_id.id)], - order='level asc', limit=1) - if smallest_level.computation_mode == 'previous_date': - return api.ValidationError(_('The smallest level can not be of ' - 'type Previous Reminder')) + + for policy_level in self: + smallest_level = \ + self.search([('policy_id', '=', policy_level.policy_id.id)], + order='level asc', limit=1) + if smallest_level.computation_mode == 'previous_date': + return api.ValidationError(_('The smallest level can not be ' + 'of type Previous Reminder')) @api.multi def _previous_level(self): @@ -321,7 +323,7 @@ class CreditControlPolicyLevel(models.Model): self.ensure_one() move_line_obj = self.env['account.move.line'] if not lines: - return move_line_obj.browse() + return move_line_obj cr = self.env.cr sql = ("SELECT DISTINCT mv_line.id\n" " FROM account_move_line mv_line\n" @@ -345,7 +347,7 @@ class CreditControlPolicyLevel(models.Model): res = cr.fetchall() if res: return move_line_obj.browse([row[0] for row in res]) - return move_line_obj.browse() + return move_line_obj @api.multi @api.returns('account.move.line') @@ -355,7 +357,7 @@ class CreditControlPolicyLevel(models.Model): self.ensure_one() move_line_obj = self.env['account.move.line'] if not lines: - return move_line_obj.browse() + return move_line_obj cr = self.env.cr sql = ("SELECT mv_line.id\n" " FROM account_move_line mv_line\n" @@ -389,15 +391,14 @@ class CreditControlPolicyLevel(models.Model): res = cr.fetchall() if res: return move_line_obj.browse([row[0] for row in res]) - return move_line_obj.browse() + return move_line_obj @api.multi @api.returns('account.move.line') def get_level_lines(self, controlling_date, lines): """ get all move lines in entry lines that match the current level """ self.ensure_one() - move_line_obj = self.env['account.move.line'] - matching_lines = move_line_obj.browse() + matching_lines = self.env['account.move.line'] if self._previous_level() is None: method = self._get_first_level_move_lines else: diff --git a/account_credit_control/run.py b/account_credit_control/models/credit_control_run.py similarity index 85% rename from account_credit_control/run.py rename to account_credit_control/models/credit_control_run.py index c6afb1d1e..51da47e7e 100644 --- a/account_credit_control/run.py +++ b/account_credit_control/models/credit_control_run.py @@ -20,9 +20,10 @@ ############################################################################## import logging -from openerp import models, fields, api, _ +from odoo import models, fields, api, _ +from odoo.exceptions import Warning -logger = logging.getLogger('credit.control.run') +logger = logging.getLogger(__name__) class CreditControlRun(models.Model): @@ -83,33 +84,31 @@ class CreditControlRun(models.Model): runs = self.search([('date', '>', controlling_date)], order='date DESC', limit=1) if runs: - raise api.Warning(_('A run has already been executed more ' - 'recently than %s') % (runs.date)) + raise Warning(_('A run has already been executed more ' + 'recently than %s') % (runs.date)) line_obj = self.env['credit.control.line'] lines = line_obj.search([('date', '>', controlling_date)], order='date DESC', limit=1) if lines: - raise api.Warning(_('A credit control line more ' - 'recent than %s exists at %s') % - (controlling_date, lines.date)) + raise Warning(_('A credit control line more ' + 'recent than %s exists at %s') % + (controlling_date, lines.date)) @api.multi @api.returns('credit.control.line') def _generate_credit_lines(self): """ Generate credit control lines. """ self.ensure_one() - cr_line_obj = self.env['credit.control.line'] - move_line_obj = self.env['account.move.line'] - manually_managed_lines = move_line_obj.browse() + manually_managed_lines = self.env['account.move.line'] self._check_run_date(self.date) policies = self.policy_ids if not policies: - raise api.Warning(_('Please select a policy')) + raise Warning(_('Please select a policy')) report = '' - generated = cr_line_obj.browse() + generated = self.env['credit.control.line'] for policy in policies: if policy.do_nothing: continue @@ -117,11 +116,11 @@ class CreditControlRun(models.Model): manual_lines = policy._lines_different_policy(lines) lines -= manual_lines manually_managed_lines |= manual_lines - policy_lines_generated = cr_line_obj.browse() + policy_lines_generated = self.env['credit.control.line'] if lines: # policy levels are sorted by level # so iteration is in the correct order - create = cr_line_obj.create_or_update_from_mv_lines + create = policy_lines_generated.create_or_update_from_mv_lines for level in reversed(policy.level_ids): level_lines = level.get_level_lines(self.date, lines) policy_lines_generated += create(level_lines, @@ -158,8 +157,8 @@ class CreditControlRun(models.Model): except Exception: # In case of exception openerp will do a rollback # for us and free the lock - raise api.Warning(_('A credit control run is already running' - ' in background, please try later.')) + raise Warning(_('A credit control run is already running ' + 'in background, please try later.')) self._generate_credit_lines() return True diff --git a/account_credit_control/mail.py b/account_credit_control/models/mail_mail.py similarity index 97% rename from account_credit_control/mail.py rename to account_credit_control/models/mail_mail.py index 7ec9be86d..2661c832d 100644 --- a/account_credit_control/mail.py +++ b/account_credit_control/models/mail_mail.py @@ -18,7 +18,7 @@ # along with this program. If not, see . # ############################################################################## -from openerp import models, fields +from odoo import models, fields class Mail(models.Model): diff --git a/account_credit_control/company.py b/account_credit_control/models/res_company.py similarity index 98% rename from account_credit_control/company.py rename to account_credit_control/models/res_company.py index 8deb708fa..fad94d716 100644 --- a/account_credit_control/company.py +++ b/account_credit_control/models/res_company.py @@ -18,7 +18,7 @@ # along with this program. If not, see . # ############################################################################## -from openerp import models, fields +from odoo import models, fields class ResCompany(models.Model): diff --git a/account_credit_control/partner.py b/account_credit_control/models/res_partner.py similarity index 91% rename from account_credit_control/partner.py rename to account_credit_control/models/res_partner.py index 30f81eff2..91a9645a5 100644 --- a/account_credit_control/partner.py +++ b/account_credit_control/models/res_partner.py @@ -18,8 +18,8 @@ # along with this program. If not, see . # ############################################################################## -from openerp import models, fields, api -from openerp.exceptions import Warning, ValidationError +from odoo import models, fields, api +from odoo.exceptions import Warning, ValidationError class ResPartner(models.Model): @@ -32,7 +32,7 @@ class ResPartner(models.Model): credit_policy_id = fields.Many2one( 'credit.control.policy', string='Credit Control Policy', - domain="[('account_ids', 'in', property_account_receivable)]", + domain="[('account_ids', 'in', property_account_receivable_id)]", help="The Credit Control Policy used for this " "partner. This setting can be forced on the " "invoice. If nothing is defined, it will use " @@ -43,14 +43,14 @@ class ResPartner(models.Model): string='Credit Control Lines', readonly=True) - @api.constrains('credit_policy_id', 'property_account_receivable') + @api.constrains('credit_policy_id', 'property_account_receivable_id') def _check_credit_policy(self): """ Ensure that policy on partner are limited to the account policy """ for partner in self: - if (not partner.property_account_receivable or + if (not partner.property_account_receivable_id or not partner.credit_policy_id): continue - account = partner.property_account_receivable + account = partner.property_account_receivable_id policy = partner.credit_policy_id try: policy.check_policy_against_account(account) diff --git a/account_credit_control/partner_view.xml b/account_credit_control/partner_view.xml deleted file mode 100644 index e2ad144e8..000000000 --- a/account_credit_control/partner_view.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - partner.credit_control.form.view - res.partner - - - - - - - - - - - - diff --git a/account_credit_control/policy_view.xml b/account_credit_control/policy_view.xml deleted file mode 100644 index 7158389f1..000000000 --- a/account_credit_control/policy_view.xml +++ /dev/null @@ -1,131 +0,0 @@ - - - - - credit.control.policy.form - credit.control.policy - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - credit.control.policy.tree - credit.control.policy - - - - - - - - - - - - Credit Control Policies - ir.actions.act_window - credit.control.policy - - form - tree,form - - - - - - - credit.mangement.policy.level.form - credit.control.policy.level - -
- - - - - - - - - - - - - - - - - - -
-
- - - credit.control.policy.level.tree - credit.control.policy.level - - - - - - - - - - - -
-
diff --git a/account_credit_control/report/report.xml b/account_credit_control/report/report.xml index 2d24c0862..187969d2e 100644 --- a/account_credit_control/report/report.xml +++ b/account_credit_control/report/report.xml @@ -1,15 +1,12 @@ - - - + + - - - + id="credit_control_summary" + model="credit.control.communication" + string="Credit Control Summary" + report_type="qweb-pdf" + name="account_credit_control.report_credit_control_summary" + file="account_credit_control.report_credit_control_summary" + auto="False" + /> + diff --git a/account_credit_control/report/report_credit_control_summary.xml b/account_credit_control/report/report_credit_control_summary.xml index 1b02093c8..97345ff1c 100644 --- a/account_credit_control/report/report_credit_control_summary.xml +++ b/account_credit_control/report/report_credit_control_summary.xml @@ -1,99 +1,103 @@ - - + - - + diff --git a/account_credit_control/run_view.xml b/account_credit_control/run_view.xml deleted file mode 100644 index aa3cd0ea0..000000000 --- a/account_credit_control/run_view.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - credit.control.run.tree - credit.control.run - - - - - - - - - - credit.control.run.form - credit.control.run - -
-
-
- - - - - - - - - - - - - - - -
-
-
- - - - Credit Control Run - ir.actions.act_window - credit.control.run - - form - tree,form - - - - - - -
-
diff --git a/account_credit_control/security/ir.model.access.csv b/account_credit_control/security/ir.model.access.csv index 5e10b38a1..a9a128d8f 100644 --- a/account_credit_control/security/ir.model.access.csv +++ b/account_credit_control/security/ir.model.access.csv @@ -2,7 +2,7 @@ "account_credit_control.ir_model_access_270",1,1,"group_account_credit_control_manager","credit_control_manager_line","account_credit_control.model_credit_control_line",1,1 "account_credit_control.ir_model_access_271",1,1,"group_account_credit_control_user","credit_control_user_line","account_credit_control.model_credit_control_line",1,1 "account_credit_control.ir_model_access_272",0,0,"group_account_credit_control_info","credit_control_info_line","account_credit_control.model_credit_control_line",1,0 -"account_credit_control.ir_model_access_273",1,1,"group_account_credit_control_manager","credit_control_manager_mail_template","email_template.model_email_template",1,1 +"account_credit_control.ir_model_access_273",1,1,"group_account_credit_control_manager","credit_control_manager_mail_template","mail.model_mail_template",1,1 "account_credit_control.ir_model_access_275",1,1,"group_account_credit_control_manager","credit_control_manager_mail_message","mail.model_mail_message",1,1 "account_credit_control.ir_model_access_276",1,0,"group_account_credit_control_user","credit_control_user_mail_message","mail.model_mail_message",1,1 "account_credit_control.ir_model_access_277",0,0,"group_account_credit_control_info","credit_control_info_mail_message","mail.model_mail_message",1,0 @@ -17,4 +17,4 @@ "account_credit_control.ir_model_access_289",0,0,"group_account_credit_control_info","credit_control_info_level","account_credit_control.model_credit_control_policy_level",1,0 "account_credit_control.ir_model_access_290",0,0,"account.group_account_user","credit_control_fin_user_line","account_credit_control.model_credit_control_line",1,0 "account_credit_control.ir_model_access_291",0,0,"account.group_account_invoice","credit_control_fin_invoice_line","account_credit_control.model_credit_control_line",1,0 -"account_credit_control.ir_model_access_292",1,1,"account.group_account_manager","credit_control_fin_manager_line","account_credit_control.model_credit_control_line",1,1 \ No newline at end of file +"account_credit_control.ir_model_access_292",1,1,"account.group_account_manager","credit_control_fin_manager_line","account_credit_control.model_credit_control_line",1,1 diff --git a/account_credit_control/security/res_groups.xml b/account_credit_control/security/res_groups.xml new file mode 100644 index 000000000..e7847cc74 --- /dev/null +++ b/account_credit_control/security/res_groups.xml @@ -0,0 +1,25 @@ + + + + Credit Control + + + + + Info + + + + + User + + + + + + Manager + + + + + diff --git a/account_credit_control/views/account_invoice.xml b/account_credit_control/views/account_invoice.xml new file mode 100644 index 000000000..94883cc9d --- /dev/null +++ b/account_credit_control/views/account_invoice.xml @@ -0,0 +1,44 @@ + + + + + + invoice.followup.form.view + account.invoice + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/account_credit_control/views/credit_control_line.xml b/account_credit_control/views/credit_control_line.xml new file mode 100644 index 000000000..39fd722ce --- /dev/null +++ b/account_credit_control/views/credit_control_line.xml @@ -0,0 +1,180 @@ + + + + credit.control.line.form + credit.control.line + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + Credit Control Lines + credit.control.line + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + credit.control.line.tree + credit.control.line + + + + + + + + + + + + + + + + + + + + + + + + + + Credit Control Lines + ir.actions.act_window + credit.control.line + + form + tree,form + + {'search_default_filter_draft': 1, + 'search_default_filter_to_be_sent': 1} + + + + + + + + +
diff --git a/account_credit_control/views/credit_control_policy.xml b/account_credit_control/views/credit_control_policy.xml new file mode 100644 index 000000000..0bbc58aa8 --- /dev/null +++ b/account_credit_control/views/credit_control_policy.xml @@ -0,0 +1,132 @@ + + + + credit.control.policy.form + credit.control.policy + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + credit.control.policy.tree + credit.control.policy + + + + + + + + + + + + Credit Control Policies + ir.actions.act_window + credit.control.policy + + form + tree,form + + + + + + + credit.mangement.policy.level.form + credit.control.policy.level + +
+ + + + + + + + + + + + + + + + + + +
+
+ + + credit.control.policy.level.tree + credit.control.policy.level + + + + + + + + + + + +
diff --git a/account_credit_control/views/credit_control_run.xml b/account_credit_control/views/credit_control_run.xml new file mode 100644 index 000000000..981d582fa --- /dev/null +++ b/account_credit_control/views/credit_control_run.xml @@ -0,0 +1,73 @@ + + + + credit.control.run.tree + credit.control.run + + + + + + + + + + credit.control.run.form + credit.control.run + +
+
+
+ + + + + + + + + + + + + + + +
+
+
+ + + + Credit Control Run + ir.actions.act_window + credit.control.run + + form + tree,form + + + + + + +
diff --git a/account_credit_control/views/res_company.xml b/account_credit_control/views/res_company.xml new file mode 100644 index 000000000..22b71f9cb --- /dev/null +++ b/account_credit_control/views/res_company.xml @@ -0,0 +1,14 @@ + + + + credit.control.company.form + res.company + + + + + + + + + diff --git a/account_credit_control/views/res_partner.xml b/account_credit_control/views/res_partner.xml new file mode 100644 index 000000000..5b332ba51 --- /dev/null +++ b/account_credit_control/views/res_partner.xml @@ -0,0 +1,23 @@ + + + + partner.credit_control.form.view + res.partner + + + + + + + + + + + diff --git a/account_credit_control/wizard/credit_control_communication.py b/account_credit_control/wizard/credit_control_communication.py index b60a05f87..4bca732c9 100644 --- a/account_credit_control/wizard/credit_control_communication.py +++ b/account_credit_control/wizard/credit_control_communication.py @@ -19,9 +19,9 @@ # ############################################################################## import logging -from openerp import models, fields, api +from odoo import models, fields, api -logger = logging.getLogger('credit.control.line.mailing') +logger = logging.getLogger(__name__) class CreditCommunication(models.TransientModel): @@ -81,13 +81,14 @@ class CreditCommunication(models.TransientModel): balance_field = 'credit_control_line_ids.balance_due' return sum(self.mapped(balance_field)) - @api.one + @api.multi @api.depends('credit_control_line_ids', 'credit_control_line_ids.amount_due', 'credit_control_line_ids.balance_due') def _compute_total(self): - self.total_invoiced = self._get_total() - self.total_due = self._get_total_due() + for communication in self: + communication.total_invoiced = communication._get_total() + communication.total_due = communication._get_total_due() @api.model @api.returns('self', lambda value: value.id) @@ -176,30 +177,21 @@ class CreditCommunication(models.TransientModel): @api.returns('mail.mail') def _generate_emails(self): """ Generate email message using template related to level """ - email_message_obj = self.env['mail.mail'] - # Warning: still using the old-api on 'email.template' because - # the method generate_email() does not follow the cr, uid, ids - # convention and the new api wrapper can't translate the call - email_template_obj = self.pool['email.template'] - att_obj = self.env['ir.attachment'] - emails = email_message_obj.browse() + emails = self.env['mail.mail'] + attachments = self.env['ir.attachment'] required_fields = ['subject', 'body_html', 'email_from', 'email_to'] - cr, uid, context = self.env.cr, self.env.uid, self.env.context for comm in self: template = comm.current_policy_level.email_template_id - email_values = email_template_obj.generate_email(cr, uid, - template.id, - comm.id, - context=context) + email_values = template.generate_email(comm.id) email_values['type'] = 'email' # model is Transient record (self) removed periodically so no point # of storing res_id email_values.pop('model', None) email_values.pop('res_id', None) - email = email_message_obj.create(email_values) + email = emails.create(email_values) state = 'sent' # The mail will not be send, however it will be in the pool, in an @@ -213,7 +205,6 @@ class CreditCommunication(models.TransientModel): comm.credit_control_line_ids.write({'mail_message_id': email.id, 'state': state}) - attachments = att_obj.browse() for att in email_values.get('attachments', []): attach_fname = att[0] attach_datas = att[1] @@ -225,7 +216,7 @@ class CreditCommunication(models.TransientModel): 'res_id': email.id, 'type': 'binary', } - attachments += att_obj.create(data_attach) + attachments |= attachments.create(data_attach) email.write({'attachment_ids': [(6, 0, attachments.ids)]}) emails += email return emails @@ -242,8 +233,7 @@ class CreditCommunication(models.TransientModel): @api.multi @api.returns('credit.control.line') def _mark_credit_line_as_sent(self): - line_obj = self.env['credit.control.line'] - lines = line_obj.browse() + lines = self.env['credit.control.line'] for comm in self: lines |= comm.credit_control_line_ids diff --git a/account_credit_control/wizard/credit_control_emailer.py b/account_credit_control/wizard/credit_control_emailer.py index 61397e583..fceecf212 100644 --- a/account_credit_control/wizard/credit_control_emailer.py +++ b/account_credit_control/wizard/credit_control_emailer.py @@ -19,7 +19,8 @@ # ############################################################################## -from openerp import models, fields, api, _ +from odoo import models, fields, api, _ +from odoo.exceptions import Warning class CreditControlEmailer(models.TransientModel): @@ -59,7 +60,7 @@ class CreditControlEmailer(models.TransientModel): def email_lines(self): self.ensure_one() if not self.line_ids: - raise api.Warning(_('No credit control lines selected.')) + raise Warning(_('No credit control lines selected.')) comm_obj = self.env['credit.control.communication'] diff --git a/account_credit_control/wizard/credit_control_emailer_view.xml b/account_credit_control/wizard/credit_control_emailer_view.xml index 2c299a64b..50385f0e0 100644 --- a/account_credit_control/wizard/credit_control_emailer_view.xml +++ b/account_credit_control/wizard/credit_control_emailer_view.xml @@ -1,54 +1,53 @@ - - - + + - credit.line.emailer.form - credit.control.emailer - -
- - - - - - - - -
-
- -
+ credit.line.emailer.form + credit.control.emailer + +
+ + + + + + + + +
+
+ +
+ res_model="credit.control.emailer" + src_model="credit.control.line" + view_mode="form" + target="new" + key2="client_action_multi" + id="open_credit_line_emailer_wizard_menu_action"/> - Send By Email - credit.control.emailer - form - form - - new - Send an email for the selected lines. + Send By Email + credit.control.emailer + form + form + + new + Send an email for the selected lines. -
-
+ diff --git a/account_credit_control/wizard/credit_control_marker.py b/account_credit_control/wizard/credit_control_marker.py index 516c4febc..8885bc7d2 100644 --- a/account_credit_control/wizard/credit_control_marker.py +++ b/account_credit_control/wizard/credit_control_marker.py @@ -18,7 +18,8 @@ # along with this program. If not, see . # ############################################################################## -from openerp import models, fields, api, _ +from odoo import models, fields, api, _ +from odoo.exceptions import Warning class CreditControlMarker(models.TransientModel): @@ -71,12 +72,12 @@ class CreditControlMarker(models.TransientModel): self.ensure_one() if not self.line_ids: - raise api.Warning(_('No credit control lines selected.')) + raise Warning(_('No credit control lines selected.')) filtered_lines = self._filter_lines(self.line_ids) if not filtered_lines: - raise api.Warning(_('No lines will be changed. ' - 'All the selected lines are already done.')) + raise Warning(_('No lines will be changed. ' + 'All the selected lines are already done.')) self._mark_lines(filtered_lines, self.name) diff --git a/account_credit_control/wizard/credit_control_marker_view.xml b/account_credit_control/wizard/credit_control_marker_view.xml index c32cc8e18..f5be4b840 100644 --- a/account_credit_control/wizard/credit_control_marker_view.xml +++ b/account_credit_control/wizard/credit_control_marker_view.xml @@ -1,39 +1,42 @@ - - - + + - credit.line.marker.form - credit.control.marker - -
- - - - - - - - - - - - - - -
-
- -
+ credit.line.marker.form + credit.control.marker + +
+ + + + + + + + + + + + + + + + +
+
+ +
@@ -46,15 +49,14 @@ id="open_credit_line_marker_wizard_menu_action"/> - Change Lines' State - credit.control.marker - credit.control.line - form - form - - new - Change the state of the selected lines. + Change Lines' State + credit.control.marker + credit.control.line + form + form + + new + Change the state of the selected lines. -
-
+ diff --git a/account_credit_control/wizard/credit_control_policy_changer.py b/account_credit_control/wizard/credit_control_policy_changer.py index 6829d7aff..858f836f8 100644 --- a/account_credit_control/wizard/credit_control_policy_changer.py +++ b/account_credit_control/wizard/credit_control_policy_changer.py @@ -19,11 +19,14 @@ # ############################################################################## import logging -from openerp import models, fields, api, _ + +from odoo import models, fields, api, _ +from odoo.exceptions import Warning + logger = logging.getLogger(__name__) -class credit_control_policy_changer(models.TransientModel): +class CreditControlPolicyChanger(models.TransientModel): """ Wizard that is run from invoices and allows to set manually a policy Policy are actually apply to related move lines availabe in selection widget @@ -52,18 +55,17 @@ class credit_control_policy_changer(models.TransientModel): context = self.env.context active_ids = context.get('active_ids') invoice_obj = self.env['account.invoice'] - move_line_obj = self.env['account.move.line'] if not active_ids: return False - selected_lines = move_line_obj.browse() + selected_lines = self.env['account.move.line'] for invoice in invoice_obj.browse(active_ids): if invoice.type in ('in_invoice', 'in_refund', 'out_refund'): - raise api.Warning(_('Please use wizard on customer invoices')) + raise Warning(_('Please use wizard on customer invoices')) domain = [('account_id', '=', invoice.account_id.id), ('move_id', '=', invoice.move_id.id), ('reconcile_id', '=', False)] - move_lines = move_line_obj.search(domain) + move_lines = selected_lines.search(domain) selected_lines |= move_lines return selected_lines diff --git a/account_credit_control/wizard/credit_control_policy_changer_view.xml b/account_credit_control/wizard/credit_control_policy_changer_view.xml index cee46799d..5b5f2fd0c 100644 --- a/account_credit_control/wizard/credit_control_policy_changer_view.xml +++ b/account_credit_control/wizard/credit_control_policy_changer_view.xml @@ -1,54 +1,55 @@ - - + - credit control policy form - credit.control.policy.changer - -
- -
- - Change current credit policy - credit.control.policy.changer - account.invoice - form - form - - new - Allows to manually change credit level + + Change current credit policy + credit.control.policy.changer + account.invoice + form + form + + new + Allows to manually change credit level @@ -60,5 +61,4 @@ key2="client_action_multi" id="action_wizard_credit_policy_changer_menu_action"/> -
-
+ diff --git a/account_credit_control/wizard/credit_control_printer.py b/account_credit_control/wizard/credit_control_printer.py index f6e0bf04d..12773b087 100644 --- a/account_credit_control/wizard/credit_control_printer.py +++ b/account_credit_control/wizard/credit_control_printer.py @@ -19,7 +19,8 @@ # ############################################################################## -from openerp import models, fields, api, _ +from odoo import models, fields, api, _ +from odoo.exceptions import Warning class CreditControlPrinter(models.TransientModel): @@ -57,7 +58,7 @@ class CreditControlPrinter(models.TransientModel): self.ensure_one() comm_obj = self.env['credit.control.communication'] if not self.line_ids: - raise api.Warning(_('No credit control lines selected.')) + raise Warning(_('No credit control lines selected.')) lines = self._get_lines(self.line_ids, self._credit_line_predicate) diff --git a/account_credit_control/wizard/credit_control_printer_view.xml b/account_credit_control/wizard/credit_control_printer_view.xml index 5a388ca9f..909b6658f 100644 --- a/account_credit_control/wizard/credit_control_printer_view.xml +++ b/account_credit_control/wizard/credit_control_printer_view.xml @@ -1,30 +1,30 @@ - - - + + - credit.line.printer.form - credit.control.printer - -
- - - - - - - - - - - -
-
- -
+ credit.line.printer.form + credit.control.printer + +
+ + + + + + + + + + + +
+
+ +
@@ -37,15 +37,14 @@ id="open_credit_line_printer_wizard_menu_action"/> - Print Lines - credit.control.printer - credit.control.line - form - form - - new - Print selected lines + Print Lines + credit.control.printer + credit.control.line + form + form + + new + Print selected lines -
-
+