diff --git a/account_quotation_sale_order_invoice_title/__init__.py b/account_quotation_sale_order_invoice_title/__init__.py new file mode 100644 index 0000000..35e7c96 --- /dev/null +++ b/account_quotation_sale_order_invoice_title/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import models +from . import wizard diff --git a/account_quotation_sale_order_invoice_title/__manifest__.py b/account_quotation_sale_order_invoice_title/__manifest__.py new file mode 100644 index 0000000..53239a8 --- /dev/null +++ b/account_quotation_sale_order_invoice_title/__manifest__.py @@ -0,0 +1,65 @@ +# -*- coding: utf-8 -*- +{ + "name": "Account Quotation Sale Order Invoice Title", + "category": "Account", + "version": "14.0.1.0", + "summary": "Transfer the Receipt Lost value in invoices and account move lines", + "author": "Elabore", + "website": "https://elabore.coop/", + "installable": True, + "application": False, + "auto_install": False, + "description": """ +========================================== +Account Quotation Sale Order Invoice Title +========================================== +This module allows to add a title in Quotations, Sale Orders and Invoices. +When an invoice is created from a Sale Order, the title is transfered. + +Installation +============ +Just install account_quotation_sale_order_invoice_title, all dependencies will be installed by default. + +Known issues / Roadmap +====================== + +Bug Tracker +=========== +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed feedback. + +Credits +======= + +Images +------ +* Elabore: `Icon `_. + +Contributors +------------ +* Stéphan Sainléger + +Funders +------- +The development of this module has been financially supported by: +* Elabore (https://elabore.coop) +* Datactivist (https://datactivist.coop) + +Maintainer +---------- +This module is maintained by ELABORE. + +""", + "depends": [ + "base", + "account", + "sale", + ], + "data": [ + "views/sale_views.xml", + "views/account_move_views.xml", + ], + "qweb": [], +} diff --git a/account_quotation_sale_order_invoice_title/i18n/fr.po b/account_quotation_sale_order_invoice_title/i18n/fr.po new file mode 100644 index 0000000..80af028 --- /dev/null +++ b/account_quotation_sale_order_invoice_title/i18n/fr.po @@ -0,0 +1,70 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_quotation_sale_order_invoice_title +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-04-22 08:48+0000\n" +"PO-Revision-Date: 2022-04-22 08:48+0000\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_quotation_sale_order_invoice_title +#: model:ir.model.fields,field_description:account_quotation_sale_order_invoice_title.field_account_move__display_name +#: model:ir.model.fields,field_description:account_quotation_sale_order_invoice_title.field_sale_advance_payment_inv__display_name +#: model:ir.model.fields,field_description:account_quotation_sale_order_invoice_title.field_sale_order__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: account_quotation_sale_order_invoice_title +#: model:ir.model.fields,field_description:account_quotation_sale_order_invoice_title.field_account_move__id +#: model:ir.model.fields,field_description:account_quotation_sale_order_invoice_title.field_sale_advance_payment_inv__id +#: model:ir.model.fields,field_description:account_quotation_sale_order_invoice_title.field_sale_order__id +msgid "ID" +msgstr "ID" + +#. module: account_quotation_sale_order_invoice_title +#: model:ir.model.fields,field_description:account_quotation_sale_order_invoice_title.field_account_bank_statement_line__move_title +#: model:ir.model.fields,field_description:account_quotation_sale_order_invoice_title.field_account_move__move_title +#: model:ir.model.fields,field_description:account_quotation_sale_order_invoice_title.field_account_payment__move_title +msgid "Invoice Title" +msgstr "Titre de la facture" + +#. module: account_quotation_sale_order_invoice_title +#: model:ir.model,name:account_quotation_sale_order_invoice_title.model_account_move +msgid "Journal Entry" +msgstr "Pièce comptable" + +#. module: account_quotation_sale_order_invoice_title +#: model:ir.model.fields,field_description:account_quotation_sale_order_invoice_title.field_account_move____last_update +#: model:ir.model.fields,field_description:account_quotation_sale_order_invoice_title.field_sale_advance_payment_inv____last_update +#: model:ir.model.fields,field_description:account_quotation_sale_order_invoice_title.field_sale_order____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: account_quotation_sale_order_invoice_title +#: model:ir.model,name:account_quotation_sale_order_invoice_title.model_sale_advance_payment_inv +msgid "Sales Advance Payment Invoice" +msgstr "Facture de paiement d'avance" + +#. module: account_quotation_sale_order_invoice_title +#: model:ir.model,name:account_quotation_sale_order_invoice_title.model_sale_order +msgid "Sales Order" +msgstr "Commande" + +#. module: account_quotation_sale_order_invoice_title +#: model:ir.model.fields,field_description:account_quotation_sale_order_invoice_title.field_sale_order__so_title +msgid "Title" +msgstr "Titre" + +#. module: account_quotation_sale_order_invoice_title +#: model_terms:ir.ui.view,arch_db:account_quotation_sale_order_invoice_title.view_move_title_form +#: model_terms:ir.ui.view,arch_db:account_quotation_sale_order_invoice_title.view_order_form +msgid "Title..." +msgstr "Titre..." diff --git a/account_quotation_sale_order_invoice_title/models/__init__.py b/account_quotation_sale_order_invoice_title/models/__init__.py new file mode 100644 index 0000000..7593f58 --- /dev/null +++ b/account_quotation_sale_order_invoice_title/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import account_move +from . import sale diff --git a/account_quotation_sale_order_invoice_title/models/account_move.py b/account_quotation_sale_order_invoice_title/models/account_move.py new file mode 100644 index 0000000..3a0a143 --- /dev/null +++ b/account_quotation_sale_order_invoice_title/models/account_move.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields + + +class AccountMove(models.Model): + _inherit = 'account.move' + + move_title = fields.Char(string="Invoice Title") diff --git a/account_quotation_sale_order_invoice_title/models/sale.py b/account_quotation_sale_order_invoice_title/models/sale.py new file mode 100644 index 0000000..c63909b --- /dev/null +++ b/account_quotation_sale_order_invoice_title/models/sale.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields + + +class SaleOrder(models.Model): + _inherit = "sale.order" + + so_title = fields.Char(string="Title") + + def _prepare_invoice(self): + res = super(SaleOrder, self)._prepare_invoice() + res["move_title"] = self.so_title + return res diff --git a/account_quotation_sale_order_invoice_title/views/account_move_views.xml b/account_quotation_sale_order_invoice_title/views/account_move_views.xml new file mode 100644 index 0000000..3c78354 --- /dev/null +++ b/account_quotation_sale_order_invoice_title/views/account_move_views.xml @@ -0,0 +1,28 @@ + + + + amove_title.move.tree + account.move + + + + + + + + + + move_title.move.form + account.move + + + +

+ +

+
+
+
+ + +
\ No newline at end of file diff --git a/account_quotation_sale_order_invoice_title/views/sale_views.xml b/account_quotation_sale_order_invoice_title/views/sale_views.xml new file mode 100644 index 0000000..193e29a --- /dev/null +++ b/account_quotation_sale_order_invoice_title/views/sale_views.xml @@ -0,0 +1,40 @@ + + + + so_title.sale.order.tree + sale.order + + + + + + + + + + so_title.quotation.tree + sale.order + + + + + + + + + + so_title.sale_order_form + sale.order + + + + oe_inline + + + + + + + + + \ No newline at end of file diff --git a/account_quotation_sale_order_invoice_title/wizard/__init__.py b/account_quotation_sale_order_invoice_title/wizard/__init__.py new file mode 100644 index 0000000..1eb17ff --- /dev/null +++ b/account_quotation_sale_order_invoice_title/wizard/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import sale_make_invoice_advance diff --git a/account_quotation_sale_order_invoice_title/wizard/sale_make_invoice_advance.py b/account_quotation_sale_order_invoice_title/wizard/sale_make_invoice_advance.py new file mode 100644 index 0000000..22ee0e1 --- /dev/null +++ b/account_quotation_sale_order_invoice_title/wizard/sale_make_invoice_advance.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- + +from odoo import models + + +class SaleAdvancePaymentInv(models.TransientModel): + _inherit = "sale.advance.payment.inv" + + def _prepare_invoice_values(self, order, name, amount, so_line): + res = super(SaleAdvancePaymentInv, self)._prepare_invoice_values( + order, name, amount, so_line + ) + res["move_title"] = order.so_title + return res