Compare commits
16 Commits
18-commiss
...
14.0-_comp
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
947d287c13 | ||
|
|
a7ee151f15 | ||
|
|
819d145763 | ||
|
|
45bbcc0cb3 | ||
|
|
6ddc1b86d5 | ||
|
|
d0b315f648 | ||
|
|
f1eeaa2e8a | ||
|
|
553f05c58f | ||
|
|
50ae5dc9cb | ||
|
|
9c7775dabb | ||
|
|
70f1f13edd | ||
|
|
989960c7c8 | ||
|
|
9b186028c3 | ||
|
|
c2c4957686 | ||
|
|
d382aea22f | ||
|
|
688a07fc5e |
@@ -0,0 +1,243 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * account_invoice_update_wizard
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 14.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"Last-Translator: \n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: \n"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__price_subtotal
|
||||||
|
msgid "Amount"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__analytic_account_id
|
||||||
|
msgid "Analytic Account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__analytic_tag_ids
|
||||||
|
msgid "Analytic Tags"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__partner_bank_id
|
||||||
|
msgid "Bank Account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_invoice_update_wizard.account_invoice_update_form
|
||||||
|
msgid "Bill Reference"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_invoice_update_wizard.account_invoice_update_form
|
||||||
|
msgid "Cancel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__company_id
|
||||||
|
msgid "Company"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__create_uid
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__create_uid
|
||||||
|
msgid "Created by"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__create_date
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__create_date
|
||||||
|
msgid "Created on"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__currency_id
|
||||||
|
msgid "Currency"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_invoice_update_wizard.account_invoice_update_form
|
||||||
|
msgid "Customer Reference"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__name
|
||||||
|
msgid "Description"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move__display_name
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__display_name
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__display_name
|
||||||
|
msgid "Display Name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__display_type
|
||||||
|
msgid "Display Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move__id
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__id
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__id
|
||||||
|
msgid "ID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__invoice_id
|
||||||
|
msgid "Invoice"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__invoice_line_id
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__line_ids
|
||||||
|
msgid "Invoice Lines"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.actions.act_window,name:account_invoice_update_wizard.account_invoice_update_action
|
||||||
|
msgid "Invoice Update Wizard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model,name:account_invoice_update_wizard.model_account_move
|
||||||
|
msgid "Journal Entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move____last_update
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update____last_update
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update____last_update
|
||||||
|
msgid "Last Modified on"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__write_uid
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__write_uid
|
||||||
|
msgid "Last Updated by"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__write_date
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__write_date
|
||||||
|
msgid "Last Updated on"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: code:addons/account_invoice_update_wizard/wizard/account_move_update.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Non-legal fields of invoice updated via the Invoice Update wizard."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields.selection,name:account_invoice_update_wizard.selection__account_move_line_update__display_type__line_note
|
||||||
|
msgid "Note"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__partner_id
|
||||||
|
msgid "Partner"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__invoice_payment_term_id
|
||||||
|
msgid "Payment Term"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__quantity
|
||||||
|
msgid "Quantity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__ref
|
||||||
|
msgid "Reference"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__user_id
|
||||||
|
msgid "Salesperson"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields.selection,name:account_invoice_update_wizard.selection__account_move_line_update__display_type__line_section
|
||||||
|
msgid "Section"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__sequence
|
||||||
|
msgid "Sequence"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__invoice_origin
|
||||||
|
msgid "Source Document"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,help:account_invoice_update_wizard.field_account_move_line_update__display_type
|
||||||
|
msgid "Technical field for UX purpose."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: code:addons/account_invoice_update_wizard/wizard/account_move_update.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid ""
|
||||||
|
"The original payment term '%s' doesn't have the same terms (number of terms "
|
||||||
|
"and/or amount) as the new payment term '%s'. You can only switch to a "
|
||||||
|
"payment term that has the same number of terms with the same amount."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: code:addons/account_invoice_update_wizard/wizard/account_move_update.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid ""
|
||||||
|
"This wizard doesn't support the update of payment terms on an invoice which "
|
||||||
|
"is partially or fully paid."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__move_type
|
||||||
|
msgid "Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_invoice_update_wizard.account_invoice_update_form
|
||||||
|
msgid "Update"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_invoice_update_wizard.view_move_form_inherit
|
||||||
|
msgid "Update Invoice"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_invoice_update_wizard.account_invoice_update_form
|
||||||
|
msgid "Update Invoice Wizard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model,name:account_invoice_update_wizard.model_account_move_line_update
|
||||||
|
msgid "Update non-legal fields of invoice lines"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__parent_id
|
||||||
|
msgid "Wizard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model,name:account_invoice_update_wizard.model_account_move_update
|
||||||
|
msgid "Wizard to update non-legal fields of invoice"
|
||||||
|
msgstr ""
|
||||||
250
account_invoice_update_wizard/i18n/fr.po
Normal file
250
account_invoice_update_wizard/i18n/fr.po
Normal file
@@ -0,0 +1,250 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * account_invoice_update_wizard
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 14.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"Last-Translator: \n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: \n"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__price_subtotal
|
||||||
|
msgid "Amount"
|
||||||
|
msgstr "Montant"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__analytic_account_id
|
||||||
|
msgid "Analytic Account"
|
||||||
|
msgstr "Compte Analytique"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__analytic_tag_ids
|
||||||
|
msgid "Analytic Tags"
|
||||||
|
msgstr "Tag Analytique"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__partner_bank_id
|
||||||
|
msgid "Bank Account"
|
||||||
|
msgstr "Compte Bancaire"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_invoice_update_wizard.account_invoice_update_form
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Bill Reference"
|
||||||
|
msgstr "Reference Client"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_invoice_update_wizard.account_invoice_update_form
|
||||||
|
msgid "Cancel"
|
||||||
|
msgstr "Annuler"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__company_id
|
||||||
|
msgid "Company"
|
||||||
|
msgstr "Société"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__create_uid
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__create_uid
|
||||||
|
msgid "Created by"
|
||||||
|
msgstr "Créé par"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__create_date
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__create_date
|
||||||
|
msgid "Created on"
|
||||||
|
msgstr "Créé le"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__currency_id
|
||||||
|
msgid "Currency"
|
||||||
|
msgstr "Devise"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_invoice_update_wizard.account_invoice_update_form
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Customer Reference"
|
||||||
|
msgstr "Reference Client"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__name
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "Description"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move__display_name
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__display_name
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__display_name
|
||||||
|
msgid "Display Name"
|
||||||
|
msgstr "Nom"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__display_type
|
||||||
|
msgid "Display Type"
|
||||||
|
msgstr "Type Affichage"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move__id
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__id
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__id
|
||||||
|
msgid "ID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__invoice_id
|
||||||
|
msgid "Invoice"
|
||||||
|
msgstr "Facture"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__invoice_line_id
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__line_ids
|
||||||
|
msgid "Invoice Lines"
|
||||||
|
msgstr "Ligne de factures"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.actions.act_window,name:account_invoice_update_wizard.account_invoice_update_action
|
||||||
|
msgid "Invoice Update Wizard"
|
||||||
|
msgstr "Assistance de mise à jour de la facture"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model,name:account_invoice_update_wizard.model_account_move
|
||||||
|
msgid "Journal Entry"
|
||||||
|
msgstr "Entrée comptable"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move____last_update
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update____last_update
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update____last_update
|
||||||
|
msgid "Last Modified on"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__write_uid
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__write_uid
|
||||||
|
msgid "Last Updated by"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__write_date
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__write_date
|
||||||
|
msgid "Last Updated on"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: code:addons/account_invoice_update_wizard/wizard/account_move_update.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Non-legal fields of invoice updated via the Invoice Update wizard."
|
||||||
|
msgstr "Champs non légaux mis à jour via l'assistant"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields.selection,name:account_invoice_update_wizard.selection__account_move_line_update__display_type__line_note
|
||||||
|
msgid "Note"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__partner_id
|
||||||
|
msgid "Partner"
|
||||||
|
msgstr "Client"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__invoice_payment_term_id
|
||||||
|
msgid "Payment Term"
|
||||||
|
msgstr "Condition de paiement"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__quantity
|
||||||
|
msgid "Quantity"
|
||||||
|
msgstr "Quantité"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__ref
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Reference"
|
||||||
|
msgstr "Reference Client"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__user_id
|
||||||
|
msgid "Salesperson"
|
||||||
|
msgstr "Vendeur"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields.selection,name:account_invoice_update_wizard.selection__account_move_line_update__display_type__line_section
|
||||||
|
msgid "Section"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__sequence
|
||||||
|
msgid "Sequence"
|
||||||
|
msgstr "Sequence"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__invoice_origin
|
||||||
|
msgid "Source Document"
|
||||||
|
msgstr "Origine du document"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,help:account_invoice_update_wizard.field_account_move_line_update__display_type
|
||||||
|
msgid "Technical field for UX purpose."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: code:addons/account_invoice_update_wizard/wizard/account_move_update.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid ""
|
||||||
|
"The original payment term '%s' doesn't have the same terms (number of terms "
|
||||||
|
"and/or amount) as the new payment term '%s'. You can only switch to a "
|
||||||
|
"payment term that has the same number of terms with the same amount."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: code:addons/account_invoice_update_wizard/wizard/account_move_update.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid ""
|
||||||
|
"This wizard doesn't support the update of payment terms on an invoice which "
|
||||||
|
"is partially or fully paid."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_update__move_type
|
||||||
|
msgid "Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_invoice_update_wizard.account_invoice_update_form
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Mettre à jour"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_invoice_update_wizard.view_move_form_inherit
|
||||||
|
msgid "Update Invoice"
|
||||||
|
msgstr "Mettre à jour"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_invoice_update_wizard.account_invoice_update_form
|
||||||
|
msgid "Update Invoice Wizard"
|
||||||
|
msgstr "Assistant de mise à jour"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model,name:account_invoice_update_wizard.model_account_move_line_update
|
||||||
|
msgid "Update non-legal fields of invoice lines"
|
||||||
|
msgstr "Mettre à jour les champs non légaux des lignes de facture"
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model.fields,field_description:account_invoice_update_wizard.field_account_move_line_update__parent_id
|
||||||
|
msgid "Wizard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_invoice_update_wizard
|
||||||
|
#: model:ir.model,name:account_invoice_update_wizard.model_account_move_update
|
||||||
|
msgid "Wizard to update non-legal fields of invoice"
|
||||||
|
msgstr "Assistant pour mettre à jours les champs non légaux"
|
||||||
|
|
||||||
|
#~ msgid "Account"
|
||||||
|
#~ msgstr "Compte"
|
||||||
@@ -48,6 +48,7 @@ class AccountMoveUpdate(models.TransientModel):
|
|||||||
aa_tags = [(6, 0, aa_tags.ids)] if aa_tags else False
|
aa_tags = [(6, 0, aa_tags.ids)] if aa_tags else False
|
||||||
res['line_ids'].append([0, 0, {
|
res['line_ids'].append([0, 0, {
|
||||||
'invoice_line_id': line.id,
|
'invoice_line_id': line.id,
|
||||||
|
'sequence': line.sequence,
|
||||||
'name': line.name,
|
'name': line.name,
|
||||||
'quantity': line.quantity,
|
'quantity': line.quantity,
|
||||||
'price_subtotal': line.price_subtotal,
|
'price_subtotal': line.price_subtotal,
|
||||||
@@ -231,7 +232,9 @@ class AccountMoveUpdate(models.TransientModel):
|
|||||||
class AccountMoveLineUpdate(models.TransientModel):
|
class AccountMoveLineUpdate(models.TransientModel):
|
||||||
_name = 'account.move.line.update'
|
_name = 'account.move.line.update'
|
||||||
_description = 'Update non-legal fields of invoice lines'
|
_description = 'Update non-legal fields of invoice lines'
|
||||||
|
_order = "sequence, name"
|
||||||
|
|
||||||
|
sequence = fields.Integer()
|
||||||
parent_id = fields.Many2one(
|
parent_id = fields.Many2one(
|
||||||
'account.move.update', string='Wizard', ondelete='cascade')
|
'account.move.update', string='Wizard', ondelete='cascade')
|
||||||
invoice_line_id = fields.Many2one(
|
invoice_line_id = fields.Many2one(
|
||||||
|
|||||||
@@ -18,12 +18,13 @@
|
|||||||
<field string="Bill Reference" attrs="{'invisible': [('move_type', 'not in', ('in_invoice', 'in_refund'))]}" name="ref"/>
|
<field string="Bill Reference" attrs="{'invisible': [('move_type', 'not in', ('in_invoice', 'in_refund'))]}" name="ref"/>
|
||||||
<field string="Customer Reference" attrs="{'invisible': [('move_type', 'not in', ('out_invoice', 'out_refund'))]}" name="ref"/>
|
<field string="Customer Reference" attrs="{'invisible': [('move_type', 'not in', ('out_invoice', 'out_refund'))]}" name="ref"/>
|
||||||
<field name="invoice_origin"/>
|
<field name="invoice_origin"/>
|
||||||
<field name="invoice_payment_term_id" widget="selection"/>
|
<!-- update of payment term is broken -->
|
||||||
|
<!-- <field name="invoice_payment_term_id" widget="selection"/>-->
|
||||||
<field name="partner_bank_id"/>
|
<field name="partner_bank_id"/>
|
||||||
<field name="user_id" options="{'no_open': True, 'no_create': True, 'no_create_edit': True}"/>
|
<field name="user_id" options="{'no_open': True, 'no_create': True, 'no_create_edit': True}"/>
|
||||||
</group>
|
</group>
|
||||||
<group name="lines">
|
<group name="lines">
|
||||||
<field name="line_ids" nolabel="1">
|
<field name="line_ids" nolabel="1" widget="section_and_note_one2many">
|
||||||
<tree editable="bottom" create="false" delete="false" edit="true">
|
<tree editable="bottom" create="false" delete="false" edit="true">
|
||||||
<field name="invoice_line_id" invisible="1"/>
|
<field name="invoice_line_id" invisible="1"/>
|
||||||
<field name="display_type" invisible="1"/>
|
<field name="display_type" invisible="1"/>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
<field name="model">account.move.update</field>
|
<field name="model">account.move.update</field>
|
||||||
<field name="inherit_id" ref="account_invoice_update_wizard.account_invoice_update_form"/>
|
<field name="inherit_id" ref="account_invoice_update_wizard.account_invoice_update_form"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="invoice_payment_term_id" position="after">
|
<field name="partner_bank_id" position="before">
|
||||||
<field name="payment_mode_filter_type_domain" invisible="1"/>
|
<field name="payment_mode_filter_type_domain" invisible="1"/>
|
||||||
<field name="partner_bank_filter_type_domain" invisible="1"/>
|
<field name="partner_bank_filter_type_domain" invisible="1"/>
|
||||||
<field name="bank_account_required" invisible="1"/>
|
<field name="bank_account_required" invisible="1"/>
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
from . import models
|
from . import models
|
||||||
from . import wizard
|
from . import wizard
|
||||||
|
from .hooks import post_init_hook
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
'name': 'Account Usability',
|
'name': 'Account Usability',
|
||||||
'version': '14.0.1.0.0',
|
'version': '14.0.1.1.0',
|
||||||
'category': 'Accounting & Finance',
|
'category': 'Accounting & Finance',
|
||||||
'license': 'AGPL-3',
|
'license': 'AGPL-3',
|
||||||
'summary': 'Small usability enhancements in account module',
|
'summary': 'Small usability enhancements in account module',
|
||||||
@@ -41,4 +41,5 @@
|
|||||||
],
|
],
|
||||||
'qweb': ['static/src/xml/account_payment.xml'],
|
'qweb': ['static/src/xml/account_payment.xml'],
|
||||||
'installable': True,
|
'installable': True,
|
||||||
|
"post_init_hook": "post_init_hook",
|
||||||
}
|
}
|
||||||
|
|||||||
9
account_usability/hooks.py
Normal file
9
account_usability/hooks.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Copyright 2022 Akretion (https://www.akretion.com).
|
||||||
|
# @author Sébastien BEAU <sebastien.beau@akretion.com>
|
||||||
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||||
|
|
||||||
|
from odoo import SUPERUSER_ID, api
|
||||||
|
|
||||||
|
def post_init_hook(cr, registry):
|
||||||
|
env = api.Environment(cr, SUPERUSER_ID, {})
|
||||||
|
# env["account.move.line"].update_matching_number()
|
||||||
@@ -524,11 +524,6 @@ msgstr ""
|
|||||||
msgid "Recipient Bank"
|
msgid "Recipient Bank"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: account_usability
|
|
||||||
#: model:ir.model.fields,field_description:account_usability.field_account_move_line__reconcile_string
|
|
||||||
msgid "Reconcile"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: account_usability
|
#. module: account_usability
|
||||||
#: model:ir.model.fields,field_description:account_usability.field_account_bank_statement_line__ref
|
#: model:ir.model.fields,field_description:account_usability.field_account_bank_statement_line__ref
|
||||||
#: model:ir.model.fields,field_description:account_usability.field_account_move__ref
|
#: model:ir.model.fields,field_description:account_usability.field_account_move__ref
|
||||||
|
|||||||
9
account_usability/migrations/14.0.1.1.0/post-migrate.py
Normal file
9
account_usability/migrations/14.0.1.1.0/post-migrate.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Copyright 2020 ACSONE SA/NV
|
||||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
|
|
||||||
|
from odoo import SUPERUSER_ID, api
|
||||||
|
|
||||||
|
|
||||||
|
def migrate(cr, version):
|
||||||
|
env = api.Environment(cr, SUPERUSER_ID, {})
|
||||||
|
# env["account.move.line"].update_matching_number()
|
||||||
@@ -2,12 +2,17 @@
|
|||||||
# @author Alexis de Lattre <alexis.delattre@akretion.com>
|
# @author Alexis de Lattre <alexis.delattre@akretion.com>
|
||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
|
|
||||||
|
from datetime import timedelta
|
||||||
|
import logging
|
||||||
|
from psycopg2 import IntegrityError
|
||||||
|
|
||||||
from odoo import api, fields, models, _
|
from odoo import api, fields, models, _
|
||||||
|
from odoo.exceptions import UserError
|
||||||
|
from odoo.osv import expression
|
||||||
from odoo.tools import float_is_zero
|
from odoo.tools import float_is_zero
|
||||||
from odoo.tools.misc import format_date
|
from odoo.tools.misc import format_date
|
||||||
from odoo.osv import expression
|
|
||||||
from datetime import timedelta
|
_logger = logging.getLogger(__name__)
|
||||||
from odoo.exceptions import UserError
|
|
||||||
|
|
||||||
|
|
||||||
class AccountMove(models.Model):
|
class AccountMove(models.Model):
|
||||||
@@ -238,8 +243,6 @@ class AccountMoveLine(models.Model):
|
|||||||
full_reconcile_id = fields.Many2one(string='Full Reconcile')
|
full_reconcile_id = fields.Many2one(string='Full Reconcile')
|
||||||
matched_debit_ids = fields.One2many(string='Partial Reconcile Debit')
|
matched_debit_ids = fields.One2many(string='Partial Reconcile Debit')
|
||||||
matched_credit_ids = fields.One2many(string='Partial Reconcile Credit')
|
matched_credit_ids = fields.One2many(string='Partial Reconcile Credit')
|
||||||
reconcile_string = fields.Char(
|
|
||||||
compute='_compute_reconcile_string', string='Reconcile', store=True)
|
|
||||||
# for optional display in tree view
|
# for optional display in tree view
|
||||||
product_barcode = fields.Char(related='product_id.barcode', string="Product Barcode")
|
product_barcode = fields.Char(related='product_id.barcode', string="Product Barcode")
|
||||||
|
|
||||||
@@ -255,17 +258,28 @@ class AccountMoveLine(models.Model):
|
|||||||
})
|
})
|
||||||
return action
|
return action
|
||||||
|
|
||||||
@api.depends(
|
def update_matching_number(self):
|
||||||
'full_reconcile_id', 'matched_debit_ids', 'matched_credit_ids')
|
records = self.search([("matching_number", "=", "P")])
|
||||||
def _compute_reconcile_string(self):
|
_logger.info(f"Update partial reconcile number for {len(records)} lines")
|
||||||
for line in self:
|
records._compute_matching_number()
|
||||||
rec_str = False
|
|
||||||
if line.full_reconcile_id:
|
def _compute_matching_number(self):
|
||||||
rec_str = line.full_reconcile_id.name
|
# TODO maybe it will be better to have the same maching_number for
|
||||||
else:
|
# all partial so it will be easier to group by
|
||||||
rec_str = ', '.join([
|
for record in self:
|
||||||
'a%d' % pr.id for pr in line.matched_debit_ids + line.matched_credit_ids])
|
try:
|
||||||
line.reconcile_string = rec_str
|
super(AccountMoveLine, record)._compute_matching_number()
|
||||||
|
if record.matching_number == "P":
|
||||||
|
record.matching_number = ", ".join([
|
||||||
|
"a%d" % pr.id
|
||||||
|
for pr in record.matched_debit_ids + record.matched_credit_ids
|
||||||
|
])
|
||||||
|
except IntegrityError as error:
|
||||||
|
_logger.info(
|
||||||
|
f"unable to update matching number for line ID {record.id},"
|
||||||
|
"{record.display_name}"
|
||||||
|
)
|
||||||
|
_logger.info(error)
|
||||||
|
|
||||||
def _get_computed_name(self):
|
def _get_computed_name(self):
|
||||||
# This is useful when you want to have the product code in a dedicated
|
# This is useful when you want to have the product code in a dedicated
|
||||||
|
|||||||
@@ -42,8 +42,7 @@
|
|||||||
<attribute name="optional">show</attribute>
|
<attribute name="optional">show</attribute>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//field[@name='line_ids']/tree/field[@name='tax_tag_ids']" position="after">
|
<xpath expr="//field[@name='line_ids']/tree/field[@name='tax_tag_ids']" position="after">
|
||||||
<field name="matching_number" optional="hide"/>
|
<field name="matching_number" optional="show"/>
|
||||||
<field name="reconcile_string" optional="show"/>
|
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//field[@name='invoice_line_ids']/tree/field[@name='product_id']" position="after">
|
<xpath expr="//field[@name='invoice_line_ids']/tree/field[@name='product_id']" position="after">
|
||||||
<field name="product_barcode" optional="hide"/>
|
<field name="product_barcode" optional="hide"/>
|
||||||
@@ -106,7 +105,7 @@
|
|||||||
<separator/>
|
<separator/>
|
||||||
</filter>
|
</filter>
|
||||||
<field name="partner_id" position="after">
|
<field name="partner_id" position="after">
|
||||||
<field name="reconcile_string" />
|
<field name="matching_number" />
|
||||||
<field name="debit" filter_domain="['|', ('debit', '=', self), ('credit', '=', self)]" string="Debit or Credit"/>
|
<field name="debit" filter_domain="['|', ('debit', '=', self), ('credit', '=', self)]" string="Debit or Credit"/>
|
||||||
</field>
|
</field>
|
||||||
<filter name="unreconciled" position="before">
|
<filter name="unreconciled" position="before">
|
||||||
@@ -118,6 +117,9 @@
|
|||||||
<field name="name" position="attributes">
|
<field name="name" position="attributes">
|
||||||
<attribute name="string">Label, Reference, Account or Partner</attribute>
|
<attribute name="string">Label, Reference, Account or Partner</attribute>
|
||||||
</field>
|
</field>
|
||||||
|
<field name="name" position="before">
|
||||||
|
<field name="move_id" position="move"/>
|
||||||
|
</field>
|
||||||
<field name="partner_id" position="attributes">
|
<field name="partner_id" position="attributes">
|
||||||
<attribute name="domain">['|', ('parent_id', '=', False), ('is_company', '=', True)]</attribute>
|
<attribute name="domain">['|', ('parent_id', '=', False), ('is_company', '=', True)]</attribute>
|
||||||
</field>
|
</field>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ def web_m2x_options_create(cr, registry):
|
|||||||
env = Environment(cr, SUPERUSER_ID, {})
|
env = Environment(cr, SUPERUSER_ID, {})
|
||||||
config_parameter = env['ir.config_parameter'].search(
|
config_parameter = env['ir.config_parameter'].search(
|
||||||
[('key', '=', 'web_m2x_options.create')])
|
[('key', '=', 'web_m2x_options.create')])
|
||||||
if config_parameter and config_parameter.value != 'False':
|
if config_parameter:
|
||||||
config_parameter.write({'value': 'False'})
|
config_parameter.write({'value': 'False'})
|
||||||
else:
|
else:
|
||||||
env['ir.config_parameter'].create({
|
env['ir.config_parameter'].create({
|
||||||
|
|||||||
@@ -30,10 +30,6 @@
|
|||||||
<field name="date_approve" position="after">
|
<field name="date_approve" position="after">
|
||||||
<field name="origin"/>
|
<field name="origin"/>
|
||||||
</field>
|
</field>
|
||||||
<!-- Remove once this PR is merged https://github.com/odoo/odoo/pull/35073 -->
|
|
||||||
<xpath expr="//field[@name='order_line']/form//field[@name='analytic_tag_ids']" position="attributes">
|
|
||||||
<attribute name="groups">analytic.group_analytic_tags</attribute>
|
|
||||||
</xpath>
|
|
||||||
<xpath expr="//field[@name='order_line']/tree//field[@name='product_id']" position="after">
|
<xpath expr="//field[@name='order_line']/tree//field[@name='product_id']" position="after">
|
||||||
<field name="product_supplier_code" optional="hide"/>
|
<field name="product_supplier_code" optional="hide"/>
|
||||||
<field name="product_barcode" optional="hide"/>
|
<field name="product_barcode" optional="hide"/>
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
# Copyright 2016-2019 Akretion (http://www.akretion.com)
|
# Copyright 2016-2022 Akretion (http://www.akretion.com)
|
||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
# @author Alexis de Lattre <alexis.delattre@akretion.com>
|
# @author Alexis de Lattre <alexis.delattre@akretion.com>
|
||||||
|
|
||||||
{
|
{
|
||||||
'name': 'Sale Quotation Title',
|
'name': 'Sale Quotation Title',
|
||||||
'version': '12.0.1.0.0',
|
'version': '14.0.1.0.0',
|
||||||
'category': 'Sales',
|
'category': 'Sales',
|
||||||
'license': 'AGPL-3',
|
'license': 'AGPL-3',
|
||||||
'summary': 'Adds a title field on quotations',
|
'summary': 'Adds a title field on quotations',
|
||||||
@@ -21,5 +21,5 @@ This module has been written by Alexis de Lattre from Akretion
|
|||||||
'website': 'http://www.akretion.com',
|
'website': 'http://www.akretion.com',
|
||||||
'depends': ['sale'],
|
'depends': ['sale'],
|
||||||
'data': ['sale_view.xml'],
|
'data': ['sale_view.xml'],
|
||||||
'installable': False,
|
'installable': True,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
# Copyright 2016-2019 Akretion (http://www.akretion.com)
|
# Copyright 2016-2022 Akretion (http://www.akretion.com)
|
||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
# @author Alexis de Lattre <alexis.delattre@akretion.com>
|
# @author Alexis de Lattre <alexis.delattre@akretion.com>
|
||||||
|
|
||||||
from odoo import models, fields
|
from odoo import fields, models
|
||||||
|
|
||||||
|
|
||||||
class SaleOrder(models.Model):
|
class SaleOrder(models.Model):
|
||||||
_inherit = 'sale.order'
|
_inherit = 'sale.order'
|
||||||
|
|
||||||
quotation_title = fields.Char(string="Quotation Title")
|
quotation_title = fields.Char()
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright 2016-2019 Akretion (http://www.akretion.com/)
|
Copyright 2016-2022 Akretion (http://www.akretion.com/)
|
||||||
@author Alexis de Lattre <alexis.delattre@akretion.com>
|
@author Alexis de Lattre <alexis.delattre@akretion.com>
|
||||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
-->
|
-->
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
<field name="inherit_id" ref="sale.view_order_tree"/>
|
<field name="inherit_id" ref="sale.view_order_tree"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="user_id" position="before">
|
<field name="user_id" position="before">
|
||||||
<field name="quotation_title"/>
|
<field name="quotation_title" optional="show"/>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
<field name="inherit_id" ref="sale.view_quotation_tree"/>
|
<field name="inherit_id" ref="sale.view_quotation_tree"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="user_id" position="before">
|
<field name="user_id" position="before">
|
||||||
<field name="quotation_title"/>
|
<field name="quotation_title" optional="show"/>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|||||||
1
sale_show_transaction/__init__.py
Normal file
1
sale_show_transaction/__init__.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
from . import models
|
||||||
25
sale_show_transaction/__manifest__.py
Normal file
25
sale_show_transaction/__manifest__.py
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# Copyright 2022 Akretion (https://www.akretion.com).
|
||||||
|
# @author Sébastien BEAU <sebastien.beau@akretion.com>
|
||||||
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||||
|
{
|
||||||
|
"name": "Sale Show Transaction",
|
||||||
|
"summary": "Make transaction hyper visible on sale order",
|
||||||
|
"version": "14.0.1.0.0",
|
||||||
|
"development_status": "Alpha",
|
||||||
|
"category": "Uncategorized",
|
||||||
|
"website": "www.akretion.com",
|
||||||
|
"author": " Akretion",
|
||||||
|
"license": "AGPL-3",
|
||||||
|
"external_dependencies": {
|
||||||
|
"python": [],
|
||||||
|
"bin": [],
|
||||||
|
},
|
||||||
|
"depends": [
|
||||||
|
"sale",
|
||||||
|
],
|
||||||
|
"data": [
|
||||||
|
"views/sale_order_view.xml",
|
||||||
|
],
|
||||||
|
"demo": [
|
||||||
|
],
|
||||||
|
}
|
||||||
1
sale_show_transaction/models/__init__.py
Normal file
1
sale_show_transaction/models/__init__.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
from . import sale_order
|
||||||
30
sale_show_transaction/models/sale_order.py
Normal file
30
sale_show_transaction/models/sale_order.py
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# Copyright 2022 Akretion (https://www.akretion.com).
|
||||||
|
# @author Sébastien BEAU <sebastien.beau@akretion.com>
|
||||||
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||||
|
|
||||||
|
from odoo import _, api, fields, models
|
||||||
|
|
||||||
|
|
||||||
|
class SaleOrder(models.Model):
|
||||||
|
_inherit = 'sale.order'
|
||||||
|
|
||||||
|
main_acquirer_id = fields.Many2one(
|
||||||
|
'payment.acquirer',
|
||||||
|
'Online payment mode',
|
||||||
|
compute="_compute_main_acquirer",
|
||||||
|
store=True)
|
||||||
|
|
||||||
|
@api.depends("transaction_ids.state")
|
||||||
|
def _compute_main_acquirer(self):
|
||||||
|
for record in self:
|
||||||
|
if len(record.transaction_ids.acquirer_id) > 1:
|
||||||
|
for state in ["done", "authorized", "pending", "draft", "cancel", "error"]:
|
||||||
|
transaction = record.transaction_ids.filtered(lambda s: s.state == state)
|
||||||
|
if len(transaction.acquirer_id) > 1:
|
||||||
|
transaction.sorted("amount")
|
||||||
|
if transaction:
|
||||||
|
record.main_acquirer_id = transaction[0].acquirer_id
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
record.main_acquirer_id = record.transaction_ids.acquirer_id
|
||||||
|
|
||||||
46
sale_show_transaction/views/sale_order_view.xml
Normal file
46
sale_show_transaction/views/sale_order_view.xml
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<odoo>
|
||||||
|
|
||||||
|
<record id="sale_order_view_form" model="ir.ui.view">
|
||||||
|
<field name="model">sale.order</field>
|
||||||
|
<field name="inherit_id" ref="sale.view_order_form" />
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<field name="note" position="after">
|
||||||
|
<separator string="Transaction" colspan="4"/>
|
||||||
|
<field name="transaction_ids" nolabel="1" colspan="4">
|
||||||
|
<tree
|
||||||
|
decoration-danger="state in ('error', 'cancel')"
|
||||||
|
decoration-success="state == 'done'"
|
||||||
|
>
|
||||||
|
<field name="reference"/>
|
||||||
|
<field name="create_date"/>
|
||||||
|
<field name="acquirer_id"/>
|
||||||
|
<field name="amount"/>
|
||||||
|
<field name="state"/>
|
||||||
|
</tree>
|
||||||
|
</field>
|
||||||
|
</field>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="view_order_tree" model="ir.ui.view">
|
||||||
|
<field name="model">sale.order</field>
|
||||||
|
<field name="inherit_id" ref="sale.view_order_tree" />
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<field name="state" position="after">
|
||||||
|
<field name="main_acquirer_id"/>
|
||||||
|
</field>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="view_quotation_tree" model="ir.ui.view">
|
||||||
|
<field name="model">sale.order</field>
|
||||||
|
<field name="inherit_id" ref="sale.view_quotation_tree" />
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<field name="currency_id" position="after">
|
||||||
|
<field name="main_acquirer_id"/>
|
||||||
|
</field>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
</odoo>
|
||||||
Reference in New Issue
Block a user