From 4c73f33f6dc19cad27837e7516050e01c8e0b87f Mon Sep 17 00:00:00 2001 From: Carolina Fernandez Date: Tue, 13 Aug 2024 12:54:49 -0700 Subject: [PATCH 01/12] [ADD] project_stage_last_update_date: New module TT50527 [UPD] Update project_stage_last_update_date.pot [BOT] post-merge updates Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: project-16.0/project-16.0-project_stage_last_update_date Translate-URL: https://translation.odoo-community.org/projects/project-16-0/project-16-0-project_stage_last_update_date/ --- project_stage_last_update_date/README.rst | 78 ++++ project_stage_last_update_date/__init__.py | 2 + .../__manifest__.py | 16 + project_stage_last_update_date/i18n/es.po | 30 ++ .../i18n/project_stage_last_update_date.pot | 24 + .../models/__init__.py | 2 + .../models/project_project.py | 16 + .../readme/CONTRIBUTORS.rst | 3 + .../readme/DESCRIPTION.rst | 1 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 426 ++++++++++++++++++ .../tests/__init__.py | 1 + .../tests/test_project.py | 22 + .../views/project_project_views.xml | 28 ++ 14 files changed, 649 insertions(+) create mode 100644 project_stage_last_update_date/README.rst create mode 100644 project_stage_last_update_date/__init__.py create mode 100644 project_stage_last_update_date/__manifest__.py create mode 100644 project_stage_last_update_date/i18n/es.po create mode 100644 project_stage_last_update_date/i18n/project_stage_last_update_date.pot create mode 100644 project_stage_last_update_date/models/__init__.py create mode 100644 project_stage_last_update_date/models/project_project.py create mode 100644 project_stage_last_update_date/readme/CONTRIBUTORS.rst create mode 100644 project_stage_last_update_date/readme/DESCRIPTION.rst create mode 100644 project_stage_last_update_date/static/description/icon.png create mode 100644 project_stage_last_update_date/static/description/index.html create mode 100644 project_stage_last_update_date/tests/__init__.py create mode 100644 project_stage_last_update_date/tests/test_project.py create mode 100644 project_stage_last_update_date/views/project_project_views.xml diff --git a/project_stage_last_update_date/README.rst b/project_stage_last_update_date/README.rst new file mode 100644 index 0000000000..51ad0afef4 --- /dev/null +++ b/project_stage_last_update_date/README.rst @@ -0,0 +1,78 @@ +============================== +Project Stage Last Update Date +============================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:e730bee50bb2bdfa85f796b0e4e8430f065c3f9e0d75e19dad1519babfa77507 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproject-lightgray.png?logo=github + :target: https://github.com/OCA/project/tree/16.0/project_stage_last_update_date + :alt: OCA/project +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/project-16-0/project-16-0-project_stage_last_update_date + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/project&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module adds a new field to record the last date when the project stage was updated. + +**Table of contents** + +.. contents:: + :local: + +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 to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Tecnativa + +Contributors +~~~~~~~~~~~~ + +* Tecnativa (https://www.tecnativa.com): + + * Carolina Fernandez + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/project `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/project_stage_last_update_date/__init__.py b/project_stage_last_update_date/__init__.py new file mode 100644 index 0000000000..c32fd62b78 --- /dev/null +++ b/project_stage_last_update_date/__init__.py @@ -0,0 +1,2 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +from . import models diff --git a/project_stage_last_update_date/__manifest__.py b/project_stage_last_update_date/__manifest__.py new file mode 100644 index 0000000000..bb7ad60a10 --- /dev/null +++ b/project_stage_last_update_date/__manifest__.py @@ -0,0 +1,16 @@ +# Copyright 2024 Tecnativa - Carolina Fernandez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +{ + "name": "Project Stage Last Update Date", + "version": "16.0.1.0.0", + "category": "Project", + "website": "https://github.com/OCA/project", + "author": "Tecnativa, Odoo Community Association (OCA)", + "license": "AGPL-3", + "installable": True, + "application": False, + "summary": "Project Stage Last Update Date", + "depends": ["project"], + "data": ["views/project_project_views.xml"], +} diff --git a/project_stage_last_update_date/i18n/es.po b/project_stage_last_update_date/i18n/es.po new file mode 100644 index 0000000000..e5d9a3711d --- /dev/null +++ b/project_stage_last_update_date/i18n/es.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * project_stage_last_update_date +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-08-13 19:43+0000\n" +"PO-Revision-Date: 2024-08-13 19:43+0000\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: project_stage_last_update_date +#: model:ir.model,name:project_stage_last_update_date.model_project_project +msgid "Project" +msgstr "Proyecto" + +#. module: project_stage_last_update_date +#: model:ir.model.fields,field_description:project_stage_last_update_date.field_project_project__stage_last_update_date +msgid "Stage Last Update Date" +msgstr "" + +#~ msgid "Last Update Date Stage" +#~ msgstr "Fecha de última actualización de etapa" diff --git a/project_stage_last_update_date/i18n/project_stage_last_update_date.pot b/project_stage_last_update_date/i18n/project_stage_last_update_date.pot new file mode 100644 index 0000000000..1a727d7714 --- /dev/null +++ b/project_stage_last_update_date/i18n/project_stage_last_update_date.pot @@ -0,0 +1,24 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * project_stage_last_update_date +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.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: project_stage_last_update_date +#: model:ir.model,name:project_stage_last_update_date.model_project_project +msgid "Project" +msgstr "" + +#. module: project_stage_last_update_date +#: model:ir.model.fields,field_description:project_stage_last_update_date.field_project_project__stage_last_update_date +msgid "Stage Last Update Date" +msgstr "" diff --git a/project_stage_last_update_date/models/__init__.py b/project_stage_last_update_date/models/__init__.py new file mode 100644 index 0000000000..278f305a4b --- /dev/null +++ b/project_stage_last_update_date/models/__init__.py @@ -0,0 +1,2 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +from . import project_project diff --git a/project_stage_last_update_date/models/project_project.py b/project_stage_last_update_date/models/project_project.py new file mode 100644 index 0000000000..c8272401bc --- /dev/null +++ b/project_stage_last_update_date/models/project_project.py @@ -0,0 +1,16 @@ +# Copyright 2024 Tecnativa - Carolina Fernandez +# License LGPLv3.0 or later (https://www.gnu.org/licenses/lgpl-3.0.en.html). +from datetime import datetime + +from odoo import fields, models + + +class Project(models.Model): + _inherit = "project.project" + + stage_last_update_date = fields.Datetime(copy=False, readonly=True) + + def write(self, vals): + if "stage_id" in vals: + vals["stage_last_update_date"] = datetime.now() + return super().write(vals) diff --git a/project_stage_last_update_date/readme/CONTRIBUTORS.rst b/project_stage_last_update_date/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..7df7b6b337 --- /dev/null +++ b/project_stage_last_update_date/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* Tecnativa (https://www.tecnativa.com): + + * Carolina Fernandez diff --git a/project_stage_last_update_date/readme/DESCRIPTION.rst b/project_stage_last_update_date/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..64007adab6 --- /dev/null +++ b/project_stage_last_update_date/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module adds a new field to record the last date when the project stage was updated. diff --git a/project_stage_last_update_date/static/description/icon.png b/project_stage_last_update_date/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/project_stage_last_update_date/static/description/index.html b/project_stage_last_update_date/static/description/index.html new file mode 100644 index 0000000000..b5ead9925f --- /dev/null +++ b/project_stage_last_update_date/static/description/index.html @@ -0,0 +1,426 @@ + + + + + +Project Stage Last Update Date + + + +
+

Project Stage Last Update Date

+ + +

Beta License: AGPL-3 OCA/project Translate me on Weblate Try me on Runboat

+

This module adds a new field to record the last date when the project stage was updated.

+

Table of contents

+ +
+

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 to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Tecnativa
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/project project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/project_stage_last_update_date/tests/__init__.py b/project_stage_last_update_date/tests/__init__.py new file mode 100644 index 0000000000..865bb971e4 --- /dev/null +++ b/project_stage_last_update_date/tests/__init__.py @@ -0,0 +1 @@ +from . import test_project diff --git a/project_stage_last_update_date/tests/test_project.py b/project_stage_last_update_date/tests/test_project.py new file mode 100644 index 0000000000..d4012ea91b --- /dev/null +++ b/project_stage_last_update_date/tests/test_project.py @@ -0,0 +1,22 @@ +# Copyright 2024 Tecnativa - Carolina Fernandez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from freezegun import freeze_time + +from odoo.tests.common import TransactionCase + + +class TestProject(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.project = cls.env["project.project"].create({"name": "Test Project"}) + cls.stage = cls.env["project.task.type"].create({"name": "Test Stage"}) + + @freeze_time("2024-08-19 08:00") + def test_project_stage_last_update_date(self): + self.assertEqual(self.project.stage_last_update_date, False) + self.project.write({"stage_id": self.stage.id}) + self.assertEqual( + self.project.stage_last_update_date.strftime("%Y-%m-%d %H:%M"), + "2024-08-19 08:00", + ) diff --git a/project_stage_last_update_date/views/project_project_views.xml b/project_stage_last_update_date/views/project_project_views.xml new file mode 100644 index 0000000000..bb550bede2 --- /dev/null +++ b/project_stage_last_update_date/views/project_project_views.xml @@ -0,0 +1,28 @@ + + + + + Project form: Add project stage last update date + project.project + + +
+ +
+
+
+ + project.project.tree + project.project + + + + + + + +
From be07b3da681f5b512e96e9597fc243aa8a89469a Mon Sep 17 00:00:00 2001 From: carolinafernandez-tecnativa Date: Wed, 21 Aug 2024 09:57:31 +0000 Subject: [PATCH 02/12] Translated using Weblate (Spanish) Currently translated at 100.0% (2 of 2 strings) Translation: project-16.0/project-16.0-project_stage_last_update_date Translate-URL: https://translation.odoo-community.org/projects/project-16-0/project-16-0-project_stage_last_update_date/es/ --- project_stage_last_update_date/i18n/es.po | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/project_stage_last_update_date/i18n/es.po b/project_stage_last_update_date/i18n/es.po index e5d9a3711d..030a845103 100644 --- a/project_stage_last_update_date/i18n/es.po +++ b/project_stage_last_update_date/i18n/es.po @@ -7,14 +7,16 @@ msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-08-13 19:43+0000\n" -"PO-Revision-Date: 2024-08-13 19:43+0000\n" -"Last-Translator: \n" +"PO-Revision-Date: 2024-08-21 12:06+0000\n" +"Last-Translator: carolinafernandez-tecnativa \n" "Language-Team: \n" -"Language: \n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" #. module: project_stage_last_update_date #: model:ir.model,name:project_stage_last_update_date.model_project_project @@ -24,7 +26,7 @@ msgstr "Proyecto" #. module: project_stage_last_update_date #: model:ir.model.fields,field_description:project_stage_last_update_date.field_project_project__stage_last_update_date msgid "Stage Last Update Date" -msgstr "" +msgstr "Fecha de última actualización de etapa" #~ msgid "Last Update Date Stage" #~ msgstr "Fecha de última actualización de etapa" From 28c57b18eb3191dbc801631433934e0b06fe7aee Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 26 Aug 2024 11:29:30 +0000 Subject: [PATCH 03/12] Added translation using Weblate (Italian) Translated using Weblate (Italian) Currently translated at 100.0% (2 of 2 strings) Translation: project-16.0/project-16.0-project_stage_last_update_date Translate-URL: https://translation.odoo-community.org/projects/project-16-0/project-16-0-project_stage_last_update_date/it/ --- project_stage_last_update_date/i18n/it.po | 27 +++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 project_stage_last_update_date/i18n/it.po diff --git a/project_stage_last_update_date/i18n/it.po b/project_stage_last_update_date/i18n/it.po new file mode 100644 index 0000000000..dcea660c29 --- /dev/null +++ b/project_stage_last_update_date/i18n/it.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * project_stage_last_update_date +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-08-26 14:06+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: project_stage_last_update_date +#: model:ir.model,name:project_stage_last_update_date.model_project_project +msgid "Project" +msgstr "Progetto" + +#. module: project_stage_last_update_date +#: model:ir.model.fields,field_description:project_stage_last_update_date.field_project_project__stage_last_update_date +msgid "Stage Last Update Date" +msgstr "Data ultimo aggiornamento fase" From f80be99fdb06d5fe21aa5de537ce1737fb2013d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Mon, 24 Mar 2025 17:35:48 +0100 Subject: [PATCH 04/12] [IMP] project_stage_last_update_date: pre-commit auto fixes --- project_stage_last_update_date/README.rst | 23 ++++++++++--------- project_stage_last_update_date/pyproject.toml | 3 +++ .../readme/CONTRIBUTORS.md | 2 ++ .../readme/CONTRIBUTORS.rst | 3 --- .../{DESCRIPTION.rst => DESCRIPTION.md} | 3 ++- .../static/description/index.html | 9 ++++---- 6 files changed, 24 insertions(+), 19 deletions(-) create mode 100644 project_stage_last_update_date/pyproject.toml create mode 100644 project_stage_last_update_date/readme/CONTRIBUTORS.md delete mode 100644 project_stage_last_update_date/readme/CONTRIBUTORS.rst rename project_stage_last_update_date/readme/{DESCRIPTION.rst => DESCRIPTION.md} (71%) diff --git a/project_stage_last_update_date/README.rst b/project_stage_last_update_date/README.rst index 51ad0afef4..90db90bf9b 100644 --- a/project_stage_last_update_date/README.rst +++ b/project_stage_last_update_date/README.rst @@ -17,18 +17,19 @@ Project Stage Last Update Date :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproject-lightgray.png?logo=github - :target: https://github.com/OCA/project/tree/16.0/project_stage_last_update_date + :target: https://github.com/OCA/project/tree/18.0/project_stage_last_update_date :alt: OCA/project .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/project-16-0/project-16-0-project_stage_last_update_date + :target: https://translation.odoo-community.org/projects/project-18-0/project-18-0-project_stage_last_update_date :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/project&target_branch=16.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/project&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -This module adds a new field to record the last date when the project stage was updated. +This module adds a new field to record the last date when the project +stage was updated. **Table of contents** @@ -41,7 +42,7 @@ 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 to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -49,19 +50,19 @@ Credits ======= Authors -~~~~~~~ +------- * Tecnativa Contributors -~~~~~~~~~~~~ +------------ -* Tecnativa (https://www.tecnativa.com): +- Tecnativa (https://www.tecnativa.com): - * Carolina Fernandez + - Carolina Fernandez Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -73,6 +74,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/project `_ project on GitHub. +This module is part of the `OCA/project `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/project_stage_last_update_date/pyproject.toml b/project_stage_last_update_date/pyproject.toml new file mode 100644 index 0000000000..4231d0cccb --- /dev/null +++ b/project_stage_last_update_date/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/project_stage_last_update_date/readme/CONTRIBUTORS.md b/project_stage_last_update_date/readme/CONTRIBUTORS.md new file mode 100644 index 0000000000..083fe2d44c --- /dev/null +++ b/project_stage_last_update_date/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- Tecnativa (): + - Carolina Fernandez diff --git a/project_stage_last_update_date/readme/CONTRIBUTORS.rst b/project_stage_last_update_date/readme/CONTRIBUTORS.rst deleted file mode 100644 index 7df7b6b337..0000000000 --- a/project_stage_last_update_date/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,3 +0,0 @@ -* Tecnativa (https://www.tecnativa.com): - - * Carolina Fernandez diff --git a/project_stage_last_update_date/readme/DESCRIPTION.rst b/project_stage_last_update_date/readme/DESCRIPTION.md similarity index 71% rename from project_stage_last_update_date/readme/DESCRIPTION.rst rename to project_stage_last_update_date/readme/DESCRIPTION.md index 64007adab6..9014e51b62 100644 --- a/project_stage_last_update_date/readme/DESCRIPTION.rst +++ b/project_stage_last_update_date/readme/DESCRIPTION.md @@ -1 +1,2 @@ -This module adds a new field to record the last date when the project stage was updated. +This module adds a new field to record the last date when the project +stage was updated. diff --git a/project_stage_last_update_date/static/description/index.html b/project_stage_last_update_date/static/description/index.html index b5ead9925f..598e582e38 100644 --- a/project_stage_last_update_date/static/description/index.html +++ b/project_stage_last_update_date/static/description/index.html @@ -369,8 +369,9 @@

Project Stage Last Update Date

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:e730bee50bb2bdfa85f796b0e4e8430f065c3f9e0d75e19dad1519babfa77507 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/project Translate me on Weblate Try me on Runboat

-

This module adds a new field to record the last date when the project stage was updated.

+

Beta License: AGPL-3 OCA/project Translate me on Weblate Try me on Runboat

+

This module adds a new field to record the last date when the project +stage was updated.

Table of contents

    @@ -388,7 +389,7 @@

    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 to smash it by providing a detailed and welcomed -feedback.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

@@ -417,7 +418,7 @@

Maintainers

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

-

This module is part of the OCA/project project on GitHub.

+

This module is part of the OCA/project project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

From 877667294fa3ae5ad44a183f91146407325f7141 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Mon, 24 Mar 2025 17:37:01 +0100 Subject: [PATCH 05/12] [MIG] project_stage_last_update_date: Migration to 18.0 TT55546 --- project_stage_last_update_date/__manifest__.py | 2 +- project_stage_last_update_date/i18n/es.po | 5 +---- project_stage_last_update_date/tests/test_project.py | 6 +++--- .../views/project_project_views.xml | 6 +++--- 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/project_stage_last_update_date/__manifest__.py b/project_stage_last_update_date/__manifest__.py index bb7ad60a10..c2b6280646 100644 --- a/project_stage_last_update_date/__manifest__.py +++ b/project_stage_last_update_date/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Project Stage Last Update Date", - "version": "16.0.1.0.0", + "version": "18.0.1.0.0", "category": "Project", "website": "https://github.com/OCA/project", "author": "Tecnativa, Odoo Community Association (OCA)", diff --git a/project_stage_last_update_date/i18n/es.po b/project_stage_last_update_date/i18n/es.po index 030a845103..0bedc183e3 100644 --- a/project_stage_last_update_date/i18n/es.po +++ b/project_stage_last_update_date/i18n/es.po @@ -26,7 +26,4 @@ msgstr "Proyecto" #. module: project_stage_last_update_date #: model:ir.model.fields,field_description:project_stage_last_update_date.field_project_project__stage_last_update_date msgid "Stage Last Update Date" -msgstr "Fecha de última actualización de etapa" - -#~ msgid "Last Update Date Stage" -#~ msgstr "Fecha de última actualización de etapa" +msgstr "Fecha de última actualización de etapa" \ No newline at end of file diff --git a/project_stage_last_update_date/tests/test_project.py b/project_stage_last_update_date/tests/test_project.py index d4012ea91b..966a70114e 100644 --- a/project_stage_last_update_date/tests/test_project.py +++ b/project_stage_last_update_date/tests/test_project.py @@ -2,15 +2,15 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from freezegun import freeze_time -from odoo.tests.common import TransactionCase +from odoo.addons.base.tests.common import BaseCommon -class TestProject(TransactionCase): +class TestProject(BaseCommon): @classmethod def setUpClass(cls): super().setUpClass() cls.project = cls.env["project.project"].create({"name": "Test Project"}) - cls.stage = cls.env["project.task.type"].create({"name": "Test Stage"}) + cls.stage = cls.env["project.project.stage"].create({"name": "Test Stage"}) @freeze_time("2024-08-19 08:00") def test_project_stage_last_update_date(self): diff --git a/project_stage_last_update_date/views/project_project_views.xml b/project_stage_last_update_date/views/project_project_views.xml index bb550bede2..3959b3786b 100644 --- a/project_stage_last_update_date/views/project_project_views.xml +++ b/project_stage_last_update_date/views/project_project_views.xml @@ -7,12 +7,12 @@ project.project -
+ -
+
From dbb5aa657504ff72405b445502614a7a28ce2347 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 25 Mar 2025 19:13:34 +0000 Subject: [PATCH 06/12] [UPD] Update project_stage_last_update_date.pot --- .../i18n/project_stage_last_update_date.pot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project_stage_last_update_date/i18n/project_stage_last_update_date.pot b/project_stage_last_update_date/i18n/project_stage_last_update_date.pot index 1a727d7714..ba400ff17a 100644 --- a/project_stage_last_update_date/i18n/project_stage_last_update_date.pot +++ b/project_stage_last_update_date/i18n/project_stage_last_update_date.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" From 536e34e0c7210bf6ae1f7d7fe1d9039909088f54 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 25 Mar 2025 19:16:02 +0000 Subject: [PATCH 07/12] [BOT] post-merge updates --- project_stage_last_update_date/README.rst | 6 +++--- .../static/description/index.html | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/project_stage_last_update_date/README.rst b/project_stage_last_update_date/README.rst index 90db90bf9b..df664abf64 100644 --- a/project_stage_last_update_date/README.rst +++ b/project_stage_last_update_date/README.rst @@ -7,7 +7,7 @@ Project Stage Last Update Date !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:e730bee50bb2bdfa85f796b0e4e8430f065c3f9e0d75e19dad1519babfa77507 + !! source digest: sha256:8366786a05115f140c846942b4ef7e70c65dccc77004af98c990657d41f31cbf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -57,9 +57,9 @@ Authors Contributors ------------ -- Tecnativa (https://www.tecnativa.com): +- Tecnativa (https://www.tecnativa.com): - - Carolina Fernandez + - Carolina Fernandez Maintainers ----------- diff --git a/project_stage_last_update_date/static/description/index.html b/project_stage_last_update_date/static/description/index.html index 598e582e38..4a2904e66f 100644 --- a/project_stage_last_update_date/static/description/index.html +++ b/project_stage_last_update_date/static/description/index.html @@ -367,7 +367,7 @@

Project Stage Last Update Date

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:e730bee50bb2bdfa85f796b0e4e8430f065c3f9e0d75e19dad1519babfa77507 +!! source digest: sha256:8366786a05115f140c846942b4ef7e70c65dccc77004af98c990657d41f31cbf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/project Translate me on Weblate Try me on Runboat

This module adds a new field to record the last date when the project From 07e4c56a17feaf3bf1c14de0ea7934eb4d4c591f Mon Sep 17 00:00:00 2001 From: Marcel Savegnago Date: Thu, 22 May 2025 17:30:17 +0000 Subject: [PATCH 08/12] Added translation using Weblate (Portuguese (Brazil)) --- project_stage_last_update_date/i18n/pt_BR.po | 25 ++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 project_stage_last_update_date/i18n/pt_BR.po diff --git a/project_stage_last_update_date/i18n/pt_BR.po b/project_stage_last_update_date/i18n/pt_BR.po new file mode 100644 index 0000000000..1e52f6218e --- /dev/null +++ b/project_stage_last_update_date/i18n/pt_BR.po @@ -0,0 +1,25 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * project_stage_last_update_date +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" + +#. module: project_stage_last_update_date +#: model:ir.model,name:project_stage_last_update_date.model_project_project +msgid "Project" +msgstr "" + +#. module: project_stage_last_update_date +#: model:ir.model.fields,field_description:project_stage_last_update_date.field_project_project__stage_last_update_date +msgid "Stage Last Update Date" +msgstr "" From 6b1dc58012bdaf8f4086689fc77761d10c7c529f Mon Sep 17 00:00:00 2001 From: Matjaz Mozetic Date: Tue, 30 Jun 2026 04:09:39 +0000 Subject: [PATCH 09/12] Added translation using Weblate (Slovenian) --- project_stage_last_update_date/i18n/sl.po | 26 +++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 project_stage_last_update_date/i18n/sl.po diff --git a/project_stage_last_update_date/i18n/sl.po b/project_stage_last_update_date/i18n/sl.po new file mode 100644 index 0000000000..f5d70a7d5f --- /dev/null +++ b/project_stage_last_update_date/i18n/sl.po @@ -0,0 +1,26 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * project_stage_last_update_date +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3;\n" + +#. module: project_stage_last_update_date +#: model:ir.model,name:project_stage_last_update_date.model_project_project +msgid "Project" +msgstr "" + +#. module: project_stage_last_update_date +#: model:ir.model.fields,field_description:project_stage_last_update_date.field_project_project__stage_last_update_date +msgid "Stage Last Update Date" +msgstr "" From 2cad3b79c3e2ab6b882b524533b2d97219c67ccf Mon Sep 17 00:00:00 2001 From: Matjaz Mozetic Date: Tue, 30 Jun 2026 04:13:11 +0000 Subject: [PATCH 10/12] Translated using Weblate (Slovenian) Currently translated at 100.0% (2 of 2 strings) Translation: project-18.0/project-18.0-project_stage_last_update_date Translate-URL: https://translation.odoo-community.org/projects/project-18-0/project-18-0-project_stage_last_update_date/sl/ --- project_stage_last_update_date/i18n/sl.po | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/project_stage_last_update_date/i18n/sl.po b/project_stage_last_update_date/i18n/sl.po index f5d70a7d5f..35d981e05b 100644 --- a/project_stage_last_update_date/i18n/sl.po +++ b/project_stage_last_update_date/i18n/sl.po @@ -6,7 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2026-06-30 04:14+0000\n" +"Last-Translator: Matjaz Mozetic \n" "Language-Team: none\n" "Language: sl\n" "MIME-Version: 1.0\n" @@ -14,13 +15,14 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " "n%100==4 ? 2 : 3;\n" +"X-Generator: Weblate 5.15.2\n" #. module: project_stage_last_update_date #: model:ir.model,name:project_stage_last_update_date.model_project_project msgid "Project" -msgstr "" +msgstr "Projekt" #. module: project_stage_last_update_date #: model:ir.model.fields,field_description:project_stage_last_update_date.field_project_project__stage_last_update_date msgid "Stage Last Update Date" -msgstr "" +msgstr "Zadnja posodobitev stopnje" From 50fac9e54122e867f65444ad2a6a81ba0fa32186 Mon Sep 17 00:00:00 2001 From: ManfredNelvin Date: Thu, 30 Jul 2026 11:45:37 +0530 Subject: [PATCH 11/12] [IMP] project_stage_last_update_date: pre-commit auto fixes --- project_stage_last_update_date/README.rst | 16 +++++++---- .../__manifest__.py | 2 +- .../static/description/index.html | 28 +++++++++++-------- 3 files changed, 28 insertions(+), 18 deletions(-) diff --git a/project_stage_last_update_date/README.rst b/project_stage_last_update_date/README.rst index df664abf64..8277add9e6 100644 --- a/project_stage_last_update_date/README.rst +++ b/project_stage_last_update_date/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ============================== Project Stage Last Update Date ============================== @@ -13,17 +17,17 @@ Project Stage Last Update Date .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status :alt: Beta -.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproject-lightgray.png?logo=github - :target: https://github.com/OCA/project/tree/18.0/project_stage_last_update_date + :target: https://github.com/OCA/project/tree/19.0/project_stage_last_update_date :alt: OCA/project .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/project-18-0/project-18-0-project_stage_last_update_date + :target: https://translation.odoo-community.org/projects/project-19-0/project-19-0-project_stage_last_update_date :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/project&target_branch=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/project&target_branch=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -42,7 +46,7 @@ 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 to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -74,6 +78,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/project `_ project on GitHub. +This module is part of the `OCA/project `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/project_stage_last_update_date/__manifest__.py b/project_stage_last_update_date/__manifest__.py index c2b6280646..4203e4b64c 100644 --- a/project_stage_last_update_date/__manifest__.py +++ b/project_stage_last_update_date/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Project Stage Last Update Date", - "version": "18.0.1.0.0", + "version": "19.0.1.0.0", "category": "Project", "website": "https://github.com/OCA/project", "author": "Tecnativa, Odoo Community Association (OCA)", diff --git a/project_stage_last_update_date/static/description/index.html b/project_stage_last_update_date/static/description/index.html index 4a2904e66f..066e30aeac 100644 --- a/project_stage_last_update_date/static/description/index.html +++ b/project_stage_last_update_date/static/description/index.html @@ -3,7 +3,7 @@ -Project Stage Last Update Date +README.rst -

-

Project Stage Last Update Date

+
+ + +Odoo Community Association + +
+

Project Stage Last Update Date

-

Beta License: AGPL-3 OCA/project Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/project Translate me on Weblate Try me on Runboat

This module adds a new field to record the last date when the project stage was updated.

Table of contents

@@ -385,23 +390,23 @@

Project Stage Last Update Date

-

Bug Tracker

+

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 to smash it by providing a detailed and welcomed -feedback.

+feedback.

Do not contact contributors directly about support or help with technical issues.

-

Credits

+

Credits

-

Authors

+

Authors

  • Tecnativa
-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -418,10 +423,11 @@

Maintainers

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

-

This module is part of the OCA/project project on GitHub.

+

This module is part of the OCA/project project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
From 2836c905c968ea8223717624f1a26583e141b62b Mon Sep 17 00:00:00 2001 From: ManfredNelvin Date: Thu, 30 Jul 2026 12:36:52 +0530 Subject: [PATCH 12/12] [MIG] project_stage_last_update_date: Migration to 19.0 --- .../i18n/project_stage_last_update_date.pot | 2 +- project_stage_last_update_date/models/project_project.py | 4 +--- project_stage_last_update_date/tests/test_project.py | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/project_stage_last_update_date/i18n/project_stage_last_update_date.pot b/project_stage_last_update_date/i18n/project_stage_last_update_date.pot index ba400ff17a..ef62db6fd7 100644 --- a/project_stage_last_update_date/i18n/project_stage_last_update_date.pot +++ b/project_stage_last_update_date/i18n/project_stage_last_update_date.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 18.0\n" +"Project-Id-Version: Odoo Server 19.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" diff --git a/project_stage_last_update_date/models/project_project.py b/project_stage_last_update_date/models/project_project.py index c8272401bc..85666a0ea6 100644 --- a/project_stage_last_update_date/models/project_project.py +++ b/project_stage_last_update_date/models/project_project.py @@ -1,7 +1,5 @@ # Copyright 2024 Tecnativa - Carolina Fernandez # License LGPLv3.0 or later (https://www.gnu.org/licenses/lgpl-3.0.en.html). -from datetime import datetime - from odoo import fields, models @@ -12,5 +10,5 @@ class Project(models.Model): def write(self, vals): if "stage_id" in vals: - vals["stage_last_update_date"] = datetime.now() + vals["stage_last_update_date"] = fields.Datetime.now() return super().write(vals) diff --git a/project_stage_last_update_date/tests/test_project.py b/project_stage_last_update_date/tests/test_project.py index 966a70114e..9867b3f097 100644 --- a/project_stage_last_update_date/tests/test_project.py +++ b/project_stage_last_update_date/tests/test_project.py @@ -14,7 +14,7 @@ def setUpClass(cls): @freeze_time("2024-08-19 08:00") def test_project_stage_last_update_date(self): - self.assertEqual(self.project.stage_last_update_date, False) + self.assertFalse(self.project.stage_last_update_date) self.project.write({"stage_id": self.stage.id}) self.assertEqual( self.project.stage_last_update_date.strftime("%Y-%m-%d %H:%M"),