From 139e451d0c959b250c42b7871fad74b32d28b585 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phan=20Sainl=C3=A9ger?= Date: Thu, 15 Sep 2022 16:08:54 +0200 Subject: [PATCH] [ADD] create ``project_name_from_quote`` add-on --- project_name_from_quote/.gitignore | 2 + project_name_from_quote/README.rst | 57 ++++++++++++++++++++ project_name_from_quote/__init__.py | 3 ++ project_name_from_quote/__manifest__.py | 36 +++++++++++++ project_name_from_quote/models/__init__.py | 1 + project_name_from_quote/models/sale_order.py | 11 ++++ 6 files changed, 110 insertions(+) create mode 100644 project_name_from_quote/.gitignore create mode 100644 project_name_from_quote/README.rst create mode 100644 project_name_from_quote/__init__.py create mode 100644 project_name_from_quote/__manifest__.py create mode 100644 project_name_from_quote/models/__init__.py create mode 100644 project_name_from_quote/models/sale_order.py diff --git a/project_name_from_quote/.gitignore b/project_name_from_quote/.gitignore new file mode 100644 index 0000000..6da5887 --- /dev/null +++ b/project_name_from_quote/.gitignore @@ -0,0 +1,2 @@ +*.*~ +*pyc diff --git a/project_name_from_quote/README.rst b/project_name_from_quote/README.rst new file mode 100644 index 0000000..d5a2880 --- /dev/null +++ b/project_name_from_quote/README.rst @@ -0,0 +1,57 @@ +======================= +project_name_from_quote +======================= + +.. |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%2Faccount--analytic-lightgray.png?logo=github + :target: https://github.com/elabore-coop/project-tools + :alt: elabore/hr-tools + +|badge1| |badge2| |badge3| + + +This module tranfers the Quote / Sale order title to the project name. + +Installation +============ + +Use Odoo normal module installation procedure to install ``project_name_from_quote``. + +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 +======= + +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. diff --git a/project_name_from_quote/__init__.py b/project_name_from_quote/__init__.py new file mode 100644 index 0000000..5305644 --- /dev/null +++ b/project_name_from_quote/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import models \ No newline at end of file diff --git a/project_name_from_quote/__manifest__.py b/project_name_from_quote/__manifest__.py new file mode 100644 index 0000000..3b57e6d --- /dev/null +++ b/project_name_from_quote/__manifest__.py @@ -0,0 +1,36 @@ +# Copyright 2022 Stéphan Sainléger (Elabore) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "project_name_from_quote", + "version": "14.0.1.0.0", + "author": "Elabore", + "website": "https://elabore.coop", + "maintainer": "Stéphan Sainléger", + "license": "AGPL-3", + "category": "Tools", + "summary": "Use quote name as project name", + # any module necessary for this one to work correctly + "depends": [ + "base", + "sale_project", + "account_quotation_sale_order_invoice_title", + ], + "qweb": [ + # "static/src/xml/*.xml", + ], + "external_dependencies": { + "python": [], + }, + # always loaded + "data": [], + # 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, +} \ No newline at end of file diff --git a/project_name_from_quote/models/__init__.py b/project_name_from_quote/models/__init__.py new file mode 100644 index 0000000..67427f4 --- /dev/null +++ b/project_name_from_quote/models/__init__.py @@ -0,0 +1 @@ +from . import sale_order \ No newline at end of file diff --git a/project_name_from_quote/models/sale_order.py b/project_name_from_quote/models/sale_order.py new file mode 100644 index 0000000..8c4caa2 --- /dev/null +++ b/project_name_from_quote/models/sale_order.py @@ -0,0 +1,11 @@ +from typing import ValuesView +from odoo import models + + +class SaleOrderLine(models.Model): + _inherit = "sale.order.line" + + def _timesheet_create_project_prepare_values(self): + values = super(SaleOrderLine, self)._timesheet_create_project_prepare_values() + values["name"] = self.order_id.so_title + return values \ No newline at end of file