From fa708cb0c24b6279d5737d9e19e5721963b32f45 Mon Sep 17 00:00:00 2001 From: Alfredo Date: Fri, 21 Feb 2025 09:35:20 +0100 Subject: [PATCH] [12.0][ADD] sale_order_date_grouping: Add Month, Year, and Quarter fields to sale orders. --- sale_order_date_grouping/README.rst | 46 +++++++++++++++++ sale_order_date_grouping/__init__.py | 1 + sale_order_date_grouping/__manifest__.py | 21 ++++++++ sale_order_date_grouping/i18n/de.po | 51 +++++++++++++++++++ sale_order_date_grouping/i18n/en_GB.po | 51 +++++++++++++++++++ sale_order_date_grouping/i18n/en_US.po | 51 +++++++++++++++++++ sale_order_date_grouping/i18n/es.po | 51 +++++++++++++++++++ sale_order_date_grouping/i18n/fr.po | 51 +++++++++++++++++++ sale_order_date_grouping/i18n/it.po | 51 +++++++++++++++++++ sale_order_date_grouping/i18n/pt.po | 51 +++++++++++++++++++ .../i18n/sale_order_date_grouping.pot | 51 +++++++++++++++++++ sale_order_date_grouping/models/__init__.py | 2 + sale_order_date_grouping/models/sale_order.py | 36 +++++++++++++ .../models/sale_order_line.py | 23 +++++++++ .../views/sale_order_line_views.xml | 34 +++++++++++++ .../views/sale_order_views.xml | 34 +++++++++++++ 16 files changed, 605 insertions(+) create mode 100644 sale_order_date_grouping/README.rst create mode 100644 sale_order_date_grouping/__init__.py create mode 100644 sale_order_date_grouping/__manifest__.py create mode 100644 sale_order_date_grouping/i18n/de.po create mode 100644 sale_order_date_grouping/i18n/en_GB.po create mode 100644 sale_order_date_grouping/i18n/en_US.po create mode 100644 sale_order_date_grouping/i18n/es.po create mode 100644 sale_order_date_grouping/i18n/fr.po create mode 100644 sale_order_date_grouping/i18n/it.po create mode 100644 sale_order_date_grouping/i18n/pt.po create mode 100644 sale_order_date_grouping/i18n/sale_order_date_grouping.pot create mode 100644 sale_order_date_grouping/models/__init__.py create mode 100644 sale_order_date_grouping/models/sale_order.py create mode 100644 sale_order_date_grouping/models/sale_order_line.py create mode 100644 sale_order_date_grouping/views/sale_order_line_views.xml create mode 100644 sale_order_date_grouping/views/sale_order_views.xml diff --git a/sale_order_date_grouping/README.rst b/sale_order_date_grouping/README.rst new file mode 100644 index 000000000..75788b5ad --- /dev/null +++ b/sale_order_date_grouping/README.rst @@ -0,0 +1,46 @@ + +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +======================== +Sale Order Date Grouping +======================== + +* Add Month, Year, and Quarter fields to sale orders and related them to sale + order lines for grouping. + +Description +----------- + +This module adds Month, Year, and Quarter fields to sale orders in the backend, +allowing you to group sales by these fields in pivot views. These fields are +also carried as related fields to sale order lines for similar grouping +capabilities. + +Usage +----- + +- The Month, Year, and Quarter fields are automatically computed based on the invoice date. +- These fields are displayed in the invoice form view. +- The related fields are also available in the invoice lines. + +License +------- + +This module is licensed under the AGPL-3 License. See `License Information `_. + +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 smash it by providing detailed and welcomed feedback. + +Credits +======= + +Contributors +------------ +* Ana Juaristi +* Alfredo de la Fuente + +Do not contact contributors directly about support or help with technical issues. diff --git a/sale_order_date_grouping/__init__.py b/sale_order_date_grouping/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/sale_order_date_grouping/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/sale_order_date_grouping/__manifest__.py b/sale_order_date_grouping/__manifest__.py new file mode 100644 index 000000000..ea1c1c46d --- /dev/null +++ b/sale_order_date_grouping/__manifest__.py @@ -0,0 +1,21 @@ +# Copyright 2025 Alfredo de la Fuente - AvanzOSC +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +{ + "name": "Sale Order Date Grouping", + "version": "12.0.1.0.0", + "summary": "Add Month, Year, and Quarter fields to sale order" + "and related them to sale lines for grouping.", + "category": "Sales", + "author": "Avanzosc", + "website": "https://github.com/avanzosc/sale-addons", + "license": "AGPL-3", + "depends": [ + "sale", + ], + "data": [ + "views/sale_order_views.xml", + "views/sale_order_line_views.xml", + ], + "installable": True, + "auto_install": False, +} diff --git a/sale_order_date_grouping/i18n/de.po b/sale_order_date_grouping/i18n/de.po new file mode 100644 index 000000000..5fef422cf --- /dev/null +++ b/sale_order_date_grouping/i18n/de.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_order_date_grouping +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-02-21 08:27+0000\n" +"PO-Revision-Date: 2025-02-21 08:27+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: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_month +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_month +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Month" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model,name:sale_order_date_grouping.model_sale_order +msgid "Sale Order" +msgstr "Verkaufsauftrag" + +#. module: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_quarter +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_quarter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Quarter" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_year +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_year +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Year" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model,name:sale_order_date_grouping.model_sale_order_line +msgid "Sales Order Line" +msgstr "Auftragsposition" + diff --git a/sale_order_date_grouping/i18n/en_GB.po b/sale_order_date_grouping/i18n/en_GB.po new file mode 100644 index 000000000..5db161d7d --- /dev/null +++ b/sale_order_date_grouping/i18n/en_GB.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_order_date_grouping +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-02-21 08:26+0000\n" +"PO-Revision-Date: 2025-02-21 08:26+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: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_month +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_month +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Month" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model,name:sale_order_date_grouping.model_sale_order +msgid "Sale Order" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_quarter +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_quarter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Quarter" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_year +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_year +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Year" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model,name:sale_order_date_grouping.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + diff --git a/sale_order_date_grouping/i18n/en_US.po b/sale_order_date_grouping/i18n/en_US.po new file mode 100644 index 000000000..5db161d7d --- /dev/null +++ b/sale_order_date_grouping/i18n/en_US.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_order_date_grouping +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-02-21 08:26+0000\n" +"PO-Revision-Date: 2025-02-21 08:26+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: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_month +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_month +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Month" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model,name:sale_order_date_grouping.model_sale_order +msgid "Sale Order" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_quarter +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_quarter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Quarter" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_year +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_year +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Year" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model,name:sale_order_date_grouping.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + diff --git a/sale_order_date_grouping/i18n/es.po b/sale_order_date_grouping/i18n/es.po new file mode 100644 index 000000000..faf0da715 --- /dev/null +++ b/sale_order_date_grouping/i18n/es.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_order_date_grouping +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-02-21 08:27+0000\n" +"PO-Revision-Date: 2025-02-21 08:27+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: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_month +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_month +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Month" +msgstr "Mes venta" + +#. module: sale_order_date_grouping +#: model:ir.model,name:sale_order_date_grouping.model_sale_order +msgid "Sale Order" +msgstr "Pedido de venta" + +#. module: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_quarter +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_quarter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Quarter" +msgstr "Trimestre venta" + +#. module: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_year +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_year +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Year" +msgstr "Año venta" + +#. module: sale_order_date_grouping +#: model:ir.model,name:sale_order_date_grouping.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línea de pedido de venta" + diff --git a/sale_order_date_grouping/i18n/fr.po b/sale_order_date_grouping/i18n/fr.po new file mode 100644 index 000000000..f63c9d489 --- /dev/null +++ b/sale_order_date_grouping/i18n/fr.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_order_date_grouping +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-02-21 08:26+0000\n" +"PO-Revision-Date: 2025-02-21 08:26+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: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_month +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_month +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Month" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model,name:sale_order_date_grouping.model_sale_order +msgid "Sale Order" +msgstr "Bon de commande" + +#. module: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_quarter +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_quarter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Quarter" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_year +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_year +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Year" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model,name:sale_order_date_grouping.model_sale_order_line +msgid "Sales Order Line" +msgstr "Ligne de bons de commande" + diff --git a/sale_order_date_grouping/i18n/it.po b/sale_order_date_grouping/i18n/it.po new file mode 100644 index 000000000..e87483c65 --- /dev/null +++ b/sale_order_date_grouping/i18n/it.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_order_date_grouping +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-02-21 08:27+0000\n" +"PO-Revision-Date: 2025-02-21 08:27+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: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_month +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_month +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Month" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model,name:sale_order_date_grouping.model_sale_order +msgid "Sale Order" +msgstr "Ordine di vendita" + +#. module: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_quarter +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_quarter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Quarter" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_year +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_year +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Year" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model,name:sale_order_date_grouping.model_sale_order_line +msgid "Sales Order Line" +msgstr "Riga ordine di vendita" + diff --git a/sale_order_date_grouping/i18n/pt.po b/sale_order_date_grouping/i18n/pt.po new file mode 100644 index 000000000..4bfa261f8 --- /dev/null +++ b/sale_order_date_grouping/i18n/pt.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_order_date_grouping +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-02-21 08:27+0000\n" +"PO-Revision-Date: 2025-02-21 08:27+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: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_month +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_month +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Month" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model,name:sale_order_date_grouping.model_sale_order +msgid "Sale Order" +msgstr "Ordem de Venda" + +#. module: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_quarter +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_quarter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Quarter" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_year +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_year +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Year" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model,name:sale_order_date_grouping.model_sale_order_line +msgid "Sales Order Line" +msgstr "Linhas da Ordem de Vendas" + diff --git a/sale_order_date_grouping/i18n/sale_order_date_grouping.pot b/sale_order_date_grouping/i18n/sale_order_date_grouping.pot new file mode 100644 index 000000000..541e28cba --- /dev/null +++ b/sale_order_date_grouping/i18n/sale_order_date_grouping.pot @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_order_date_grouping +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-02-21 08:25+0000\n" +"PO-Revision-Date: 2025-02-21 08:25+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: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_month +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_month +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Month" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model,name:sale_order_date_grouping.model_sale_order +msgid "Sale Order" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_quarter +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_quarter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Quarter" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order__sale_year +#: model:ir.model.fields,field_description:sale_order_date_grouping.field_sale_order_line__sale_year +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_filter +#: model_terms:ir.ui.view,arch_db:sale_order_date_grouping.view_sales_order_line_filter +msgid "Sale Year" +msgstr "" + +#. module: sale_order_date_grouping +#: model:ir.model,name:sale_order_date_grouping.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + diff --git a/sale_order_date_grouping/models/__init__.py b/sale_order_date_grouping/models/__init__.py new file mode 100644 index 000000000..2d7ee6c3d --- /dev/null +++ b/sale_order_date_grouping/models/__init__.py @@ -0,0 +1,2 @@ +from . import sale_order +from . import sale_order_line diff --git a/sale_order_date_grouping/models/sale_order.py b/sale_order_date_grouping/models/sale_order.py new file mode 100644 index 000000000..40ecc8956 --- /dev/null +++ b/sale_order_date_grouping/models/sale_order.py @@ -0,0 +1,36 @@ +# Copyright 2025 Alfredo de la Fuente - AvanzOSC +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +from odoo import api, fields, models + + +class SaleOrder(models.Model): + _inherit = "sale.order" + + sale_month = fields.Char( + string="Sale Month", + compute="_compute_date_fields", + store=True, + ) + sale_year = fields.Char( + string="Sale Year", + compute="_compute_date_fields", + store=True, + ) + sale_quarter = fields.Char( + string="Sale Quarter", + compute="_compute_date_fields", + store=True, + ) + + @api.depends("confirmation_date") + def _compute_date_fields(self): + for record in self: + if record.confirmation_date: + month_number = record.confirmation_date.strftime("%m") + month_name = record.confirmation_date.strftime("%B") + record.sale_month = f"{month_number} {month_name}" + record.sale_year = record.confirmation_date.strftime("%Y") + record.sale_quarter = "Q" + str( + (record.confirmation_date.month - 1) // 3 + 1 + ) + print ('*** record.sale_year: ' + str(record.sale_year)) diff --git a/sale_order_date_grouping/models/sale_order_line.py b/sale_order_date_grouping/models/sale_order_line.py new file mode 100644 index 000000000..f2a98d7e5 --- /dev/null +++ b/sale_order_date_grouping/models/sale_order_line.py @@ -0,0 +1,23 @@ +# Copyright 2025 Alfredo de la Fuente - AvanzOSC +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +from odoo import fields, models + + +class SaleOrderLine(models.Model): + _inherit = "sale.order.line" + + sale_month = fields.Char( + related="order_id.sale_month", + store=True, + string="Sale Month", + ) + sale_year = fields.Char( + related="order_id.sale_year", + store=True, + string="Sale Year", + ) + sale_quarter = fields.Char( + related="order_id.sale_quarter", + store=True, + string="Sale Quarter", + ) diff --git a/sale_order_date_grouping/views/sale_order_line_views.xml b/sale_order_date_grouping/views/sale_order_line_views.xml new file mode 100644 index 000000000..0cd468af4 --- /dev/null +++ b/sale_order_date_grouping/views/sale_order_line_views.xml @@ -0,0 +1,34 @@ + + + + sale.order.line + + + + + + + + + + + + + + + + + + diff --git a/sale_order_date_grouping/views/sale_order_views.xml b/sale_order_date_grouping/views/sale_order_views.xml new file mode 100644 index 000000000..a183b7128 --- /dev/null +++ b/sale_order_date_grouping/views/sale_order_views.xml @@ -0,0 +1,34 @@ + + + + sale.order + + + + + + + + + + + + + + + + + +