From 34dfc13936733125db310c82fda67a1fd308dd80 Mon Sep 17 00:00:00 2001 From: clementthomas Date: Wed, 19 Apr 2023 14:54:11 +0200 Subject: [PATCH] [ADD] project_average_acceptable_time --- project_average_acceptable_time/README.rst | 45 +++++++++ project_average_acceptable_time/__init__.py | 3 + .../__manifest__.py | 93 +++++++++++++++++++ .../controllers/__init__.py | 2 + .../controllers/custom_portal.py | 21 +++++ project_average_acceptable_time/i18n/README | 1 + project_average_acceptable_time/i18n/fr.po | 46 +++++++++ .../models/__init__.py | 2 + .../models/project_project.py | 10 ++ .../views/portal_home_template.xml | 26 ++++++ .../views/project_project.xml | 31 +++++++ 11 files changed, 280 insertions(+) create mode 100644 project_average_acceptable_time/README.rst create mode 100644 project_average_acceptable_time/__init__.py create mode 100644 project_average_acceptable_time/__manifest__.py create mode 100644 project_average_acceptable_time/controllers/__init__.py create mode 100644 project_average_acceptable_time/controllers/custom_portal.py create mode 100644 project_average_acceptable_time/i18n/README create mode 100644 project_average_acceptable_time/i18n/fr.po create mode 100644 project_average_acceptable_time/models/__init__.py create mode 100644 project_average_acceptable_time/models/project_project.py create mode 100644 project_average_acceptable_time/views/portal_home_template.xml create mode 100644 project_average_acceptable_time/views/project_project.xml diff --git a/project_average_acceptable_time/README.rst b/project_average_acceptable_time/README.rst new file mode 100644 index 0000000..e56a3d8 --- /dev/null +++ b/project_average_acceptable_time/README.rst @@ -0,0 +1,45 @@ +================= +project_assignees +================= + +Add multiple assignees field to project task + +Installation +============ + +Use Odoo normal procedure to install add-ons to install +``project_assignees``. + +Known issues / Roadmap +====================== + +Bug Tracker +=========== + +Bugs are tracked on `our issues website +`_. 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) + + +Maintainer +---------- + +This module is maintained by Elabore. \ No newline at end of file diff --git a/project_average_acceptable_time/__init__.py b/project_average_acceptable_time/__init__.py new file mode 100644 index 0000000..6bcd132 --- /dev/null +++ b/project_average_acceptable_time/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import models, controllers diff --git a/project_average_acceptable_time/__manifest__.py b/project_average_acceptable_time/__manifest__.py new file mode 100644 index 0000000..e4e95df --- /dev/null +++ b/project_average_acceptable_time/__manifest__.py @@ -0,0 +1,93 @@ +# Copyright 2022 Stéphan Sainléger (Elabore) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "project_average_acceptable_time", + "version": "12.0.1.0.0", + "author": "Elabore", + "website": "https://github.com/elabore-coop/project-tools", + "maintainer": "Clément Thomas", + "license": "AGPL-3", + "category": "Tools", + "summary": "Task validation without customer agreement", + "description": """ + :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 +================= +project_average_acceptable_time +================= + + + +Installation +============ + +Install ``project_average_acceptable_time``, all dependencies will be installed by default. + +Known issues / Roadmap +====================== + +None yet. + +Bug Tracker +=========== + +Bugs are tracked on `our issues website +`_. 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 +------------ + +* Clément Thomas + +Funders +------- + +The development of this module has been financially supported by: +* Elabore (https://elabore.coop) + + +Maintainer +---------- +This module is maintained by Elabore. + +""", + # any module necessary for this one to work correctly + "depends": [ + "base", + "project", + "project_user_default_project" + ], + "qweb": [ + # "static/src/xml/*.xml", + ], + "external_dependencies": { + "python": [], + }, + # always loaded + "data": [ + "views/project_project.xml", + "views/portal_home_template.xml" + ], + # only loaded in demonstration mode + "demo": [], + "js": [], + "css": [], + "installable": True, + # Install this module automatically if all dependency have been previously + # and independently installed. Used for synergetic or glue modules. + "auto_install": False, + "application": False, +} diff --git a/project_average_acceptable_time/controllers/__init__.py b/project_average_acceptable_time/controllers/__init__.py new file mode 100644 index 0000000..08cd71a --- /dev/null +++ b/project_average_acceptable_time/controllers/__init__.py @@ -0,0 +1,2 @@ + +from . import custom_portal \ No newline at end of file diff --git a/project_average_acceptable_time/controllers/custom_portal.py b/project_average_acceptable_time/controllers/custom_portal.py new file mode 100644 index 0000000..ac72309 --- /dev/null +++ b/project_average_acceptable_time/controllers/custom_portal.py @@ -0,0 +1,21 @@ +# Copyright 2020 Lokavaluto () +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo.http import request, route +from odoo.addons.portal.controllers.portal import CustomerPortal + + +class CustomCustomerPortal(CustomerPortal): + @route(["/my/account"], type="http", auth="user", website=True) + def account(self, redirect=None, **post): + self.OPTIONAL_BILLING_FIELDS.append("average_acceptable_time") + + response = super(CustomCustomerPortal, self).account(redirect, **post) + + if post and request.httprequest.method == "POST": + error, error_message = self.details_form_validate(post) + if not error: + user = request.env.user + if user.default_project_id and post["average_acceptable_time"]: + user.default_project_id.average_acceptable_time = post["average_acceptable_time"] + + return response diff --git a/project_average_acceptable_time/i18n/README b/project_average_acceptable_time/i18n/README new file mode 100644 index 0000000..62197a1 --- /dev/null +++ b/project_average_acceptable_time/i18n/README @@ -0,0 +1 @@ +This directory should contain the *.po for Odoo translation. diff --git a/project_average_acceptable_time/i18n/fr.po b/project_average_acceptable_time/i18n/fr.po new file mode 100644 index 0000000..12a7e38 --- /dev/null +++ b/project_average_acceptable_time/i18n/fr.po @@ -0,0 +1,46 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * project_average_acceptable_time +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-03-31 09:33+0000\n" +"PO-Revision-Date: 2023-03-31 09:33+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: project_average_acceptable_time +#: model_terms:ir.ui.view,arch_db:project_average_acceptable_time.portal_my_home_average_acceptable_time +msgid "Average acceptable time:" +msgstr "Temps moyen acceptable:" + +#. module: project_average_acceptable_time +#: model_terms:ir.ui.view,arch_db:project_average_acceptable_time.portal_my_home_average_acceptable_time +msgid "Average acceptable time" +msgstr "Temps moyen acceptable" + +#. module: project_average_acceptable_time +#: model_terms:ir.ui.view,arch_db:project_average_acceptable_time.project_project_view_kanban_inherit_average_acceptable_time +msgid "Average acceptable time:&nbsp;" +msgstr "Temps moyen acceptable&nbsp;:&nbsp;" + +#. module: project_average_acceptable_time +#: model:ir.model.fields,field_description:project_average_acceptable_time.field_project_project__average_acceptable_time +msgid "Average acceptable time" +msgstr "Temps moyen acceptable" + +#. module: project_average_acceptable_time +#: model_terms:ir.ui.view,arch_db:project_average_acceptable_time.portal_my_details_average_acceptable_time +msgid "Average acceptable time (h)" +msgstr "Temps moyen acceptable (h)" + +#. module: project_average_acceptable_time +#: model:ir.model,name:project_average_acceptable_time.model_project_project +msgid "Project" +msgstr "Projet" diff --git a/project_average_acceptable_time/models/__init__.py b/project_average_acceptable_time/models/__init__.py new file mode 100644 index 0000000..c6089d0 --- /dev/null +++ b/project_average_acceptable_time/models/__init__.py @@ -0,0 +1,2 @@ + +from . import project_project \ No newline at end of file diff --git a/project_average_acceptable_time/models/project_project.py b/project_average_acceptable_time/models/project_project.py new file mode 100644 index 0000000..8655c6c --- /dev/null +++ b/project_average_acceptable_time/models/project_project.py @@ -0,0 +1,10 @@ + +from odoo import models, fields, _, api + + +class Project(models.Model): + _inherit = "project.project" + + average_acceptable_time = fields.Float('Average acceptable time') + + \ No newline at end of file diff --git a/project_average_acceptable_time/views/portal_home_template.xml b/project_average_acceptable_time/views/portal_home_template.xml new file mode 100644 index 0000000..c2adb1b --- /dev/null +++ b/project_average_acceptable_time/views/portal_home_template.xml @@ -0,0 +1,26 @@ + + + + + + + + \ No newline at end of file diff --git a/project_average_acceptable_time/views/project_project.xml b/project_average_acceptable_time/views/project_project.xml new file mode 100644 index 0000000..3e887bc --- /dev/null +++ b/project_average_acceptable_time/views/project_project.xml @@ -0,0 +1,31 @@ + + + + + + project.project.kanban.inherit.average.acceptable.time + project.project + + 999 + + +
+ Average acceptable time: + +
+
+
+
+ + + + project.project.form.inherit.average.acceptable.time + project.project + + + + + + + +
\ No newline at end of file