diff --git a/purchase_requisition_project_task/README.rst b/purchase_requisition_project_task/README.rst new file mode 100644 index 000000000..18a3220ff --- /dev/null +++ b/purchase_requisition_project_task/README.rst @@ -0,0 +1,47 @@ +.. image:: https://img.shields.io/badge/license-LGPL--3-green.svg + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 + +Purchase Requisition And Project Task Integration +================================================= +This module is help to relate the Purchase requisition, project and task. + +Configuration +============= +* No additional configurations needed + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +Lesser General Public License v3.0 (LGPL v3) +(http://www.gnu.org/licenses/lgpl-3.0-standalone.html) + +Credits +======== +* Developer: (v15) Sajna, + (V14) Busthana Shirin, +Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +=========== +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/purchase_requisition_project_task/__init__.py b/purchase_requisition_project_task/__init__.py new file mode 100644 index 000000000..097bdb395 --- /dev/null +++ b/purchase_requisition_project_task/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import models diff --git a/purchase_requisition_project_task/__manifest__.py b/purchase_requisition_project_task/__manifest__.py new file mode 100644 index 000000000..b319c0c6b --- /dev/null +++ b/purchase_requisition_project_task/__manifest__.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +{ + 'name': 'Purchase Requisition and Project Task Integration', + 'version': '14.0.1.0.0', + 'category': 'Project,Purchase', + 'summary': """Purchase Requisition and Project Task module is + helps to relate project, task and purchase requisition""", + 'description': "Purchase Requisition and Project task module helps to " + "select the project and task from purchase agreements. " + "And the selected project and task will show the created" + " agreement in their form view. Also this module helps to" + " group the purchase requisitions based on the selected " + "project and task.", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': [ + 'purchase', 'project', 'purchase_requisition' + ], + 'data': [ + 'views/project_project_views.xml', + 'views/project_task_views.xml', + 'views/purchase_requisition_views.xml' + ], + 'images': ['static/description/banner.png'], + 'license': 'LGPL-3', + 'installable': True, + 'application': False, + 'auto_install': False, +} diff --git a/purchase_requisition_project_task/doc/RELEASE_NOTES.md b/purchase_requisition_project_task/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..4a73c3bab --- /dev/null +++ b/purchase_requisition_project_task/doc/RELEASE_NOTES.md @@ -0,0 +1,7 @@ +## Module + +#### 07.08.2024 +#### Version 14.0.1.0.0 +#### ADD + +- Initial Commit for Purchase Requisition and Project Task Integration diff --git a/purchase_requisition_project_task/models/__init__.py b/purchase_requisition_project_task/models/__init__.py new file mode 100644 index 000000000..c3e9f6a42 --- /dev/null +++ b/purchase_requisition_project_task/models/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import project_project +from . import project_task +from . import purchase_requisition diff --git a/purchase_requisition_project_task/models/project_project.py b/purchase_requisition_project_task/models/project_project.py new file mode 100644 index 000000000..61fb34399 --- /dev/null +++ b/purchase_requisition_project_task/models/project_project.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class ProjectProject(models.Model): + """Inherited purchase order to add a integer field to count the related + purchase requisition number""" + _inherit = 'project.project' + + purchase_count = fields.Integer(string='Purchase', + compute='_compute_purchase_count', + helps='It shows the count of the purchase ' + 'requisitions that we made for the ' + 'task in smart tab') + + def action_purchase_requisition(self): + """ Function that helps to open the purchase agreement open view for + creating related purchase agreement. If already created it opens the + tree view of purchase agreement.""" + purchase_requisition = (self.env['purchase.requisition']. + search([('project_id', '=', self.id)])) + if not purchase_requisition: + return { + 'type': 'ir.actions.act_window', + 'name': 'Purchase Requisition', + 'view_mode': 'form', + 'res_model': 'purchase.requisition', + 'context': { + 'default_project_id': self.id, + 'default_is_project': True + } + } + else: + return { + 'type': 'ir.actions.act_window', + 'name': 'Purchase Requisition', + 'view_mode': 'tree,form', + 'res_model': 'purchase.requisition', + 'domain': [('project_id', '=', self.id)] + } + + def _compute_purchase_count(self): + """function that helps to count the number of purchase agreement + related with a project""" + for record in self: + record.purchase_count = self.env['purchase.requisition']. \ + search_count([('project_id', '=', record.id)]) diff --git a/purchase_requisition_project_task/models/project_task.py b/purchase_requisition_project_task/models/project_task.py new file mode 100644 index 000000000..c8e386e81 --- /dev/null +++ b/purchase_requisition_project_task/models/project_task.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models, _ +from odoo.exceptions import ValidationError + + +class ProjectTask(models.Model): + """Add a integer field to get the related purchase requisition count""" + _inherit = 'project.task' + + purchase_count = fields.Integer(string='Purchase', + compute='_compute_purchase_count', + help='It shows the count of the purchase ' + 'requisitions that we made for the ' + 'project in smart tab') + + def action_purchase_requisition(self): + """ function that helps to open the tree view of purchase agreement + that related with the task""" + for rec in self: + new = self.env['purchase.requisition'].search([('task_ids', '=', + rec.id)]) + if not new: + raise ValidationError(_("No Purchase Requisition")) + return { + 'type': 'ir.actions.act_window', + 'name': 'Purchase Requisition', + 'view_mode': 'tree,form', + 'res_model': 'purchase.requisition', + 'domain': [('task_ids', '=', rec.id)] + } + + def _compute_purchase_count(self): + """Function that helps to count the number of purchase agreements + that related with the task.""" + for record in self: + record.purchase_count = self.env['purchase.requisition']. \ + search_count([('task_ids', '=', record.id)]) diff --git a/purchase_requisition_project_task/models/purchase_requisition.py b/purchase_requisition_project_task/models/purchase_requisition.py new file mode 100644 index 000000000..eb55aaf64 --- /dev/null +++ b/purchase_requisition_project_task/models/purchase_requisition.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import api, fields, models + + +class PurchaseRequisition(models.Model): + """Added two fields to get the project and its task to connect with the + project and task.""" + _inherit = 'purchase.requisition' + + def default_project_id(self): + """Method default_project_id to add the default project as the current + when created the purchase requisition from the project view""" + if self._context.get('active_model') == 'project.project': + project_id = self._context.get('active_id') + return project_id + + project_id = fields.Many2one('project.project', string='Project', + help='It helps to get the project from ' + 'project module', + default=default_project_id) + task_ids = fields.Many2many('project.task', help='this field ' + 'show all the ' + 'tasks of the selected ' + 'project.', string='Task') + + @api.onchange('project_id') + def _onchange_project_id(self): + """ Function that helps to automatically fill the related task field + when we select a project.""" + if self.project_id: + self.task_ids = self.env['project.task']. \ + search([('project_id', '=', self.project_id.id)]) diff --git a/purchase_requisition_project_task/static/description/assets/icons/check.png b/purchase_requisition_project_task/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/check.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/chevron.png b/purchase_requisition_project_task/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/chevron.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/cogs.png b/purchase_requisition_project_task/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/cogs.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/consultation.png b/purchase_requisition_project_task/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/consultation.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/ecom-black.png b/purchase_requisition_project_task/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/ecom-black.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/education-black.png b/purchase_requisition_project_task/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/education-black.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/hotel-black.png b/purchase_requisition_project_task/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/hotel-black.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/license.png b/purchase_requisition_project_task/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/license.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/lifebuoy.png b/purchase_requisition_project_task/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/lifebuoy.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/logo.png b/purchase_requisition_project_task/static/description/assets/icons/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/logo.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/manufacturing-black.png b/purchase_requisition_project_task/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/manufacturing-black.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/pos-black.png b/purchase_requisition_project_task/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/pos-black.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/puzzle.png b/purchase_requisition_project_task/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/puzzle.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/restaurant-black.png b/purchase_requisition_project_task/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/restaurant-black.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/service-black.png b/purchase_requisition_project_task/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/service-black.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/trading-black.png b/purchase_requisition_project_task/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/trading-black.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/training.png b/purchase_requisition_project_task/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/training.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/update.png b/purchase_requisition_project_task/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/update.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/user.png b/purchase_requisition_project_task/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/user.png differ diff --git a/purchase_requisition_project_task/static/description/assets/icons/wrench.png b/purchase_requisition_project_task/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/icons/wrench.png differ diff --git a/purchase_requisition_project_task/static/description/assets/modules/approval_image.png b/purchase_requisition_project_task/static/description/assets/modules/approval_image.png new file mode 100644 index 000000000..84fe94e80 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/modules/approval_image.png differ diff --git a/purchase_requisition_project_task/static/description/assets/modules/beauty_image.png b/purchase_requisition_project_task/static/description/assets/modules/beauty_image.png new file mode 100644 index 000000000..a428db2e1 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/modules/beauty_image.png differ diff --git a/purchase_requisition_project_task/static/description/assets/modules/budget_image.png b/purchase_requisition_project_task/static/description/assets/modules/budget_image.png new file mode 100644 index 000000000..fe6aa6fe4 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/modules/budget_image.png differ diff --git a/purchase_requisition_project_task/static/description/assets/modules/export_image.png b/purchase_requisition_project_task/static/description/assets/modules/export_image.png new file mode 100644 index 000000000..4e4ea0e51 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/modules/export_image.png differ diff --git a/purchase_requisition_project_task/static/description/assets/modules/magento_image.png b/purchase_requisition_project_task/static/description/assets/modules/magento_image.png new file mode 100644 index 000000000..39de0820f Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/modules/magento_image.png differ diff --git a/purchase_requisition_project_task/static/description/assets/modules/pos_order_image.png b/purchase_requisition_project_task/static/description/assets/modules/pos_order_image.png new file mode 100644 index 000000000..1217263a6 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/modules/pos_order_image.png differ diff --git a/purchase_requisition_project_task/static/description/assets/screenshots/hero.gif b/purchase_requisition_project_task/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..964641603 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/screenshots/hero.gif differ diff --git a/purchase_requisition_project_task/static/description/assets/screenshots/pur1.png b/purchase_requisition_project_task/static/description/assets/screenshots/pur1.png new file mode 100644 index 000000000..8b917e11c Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/screenshots/pur1.png differ diff --git a/purchase_requisition_project_task/static/description/assets/screenshots/pur2.png b/purchase_requisition_project_task/static/description/assets/screenshots/pur2.png new file mode 100644 index 000000000..640e7e719 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/screenshots/pur2.png differ diff --git a/purchase_requisition_project_task/static/description/assets/screenshots/pur3.png b/purchase_requisition_project_task/static/description/assets/screenshots/pur3.png new file mode 100644 index 000000000..319a9c114 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/screenshots/pur3.png differ diff --git a/purchase_requisition_project_task/static/description/assets/screenshots/pur4.png b/purchase_requisition_project_task/static/description/assets/screenshots/pur4.png new file mode 100644 index 000000000..de0732740 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/screenshots/pur4.png differ diff --git a/purchase_requisition_project_task/static/description/assets/screenshots/pur5.png b/purchase_requisition_project_task/static/description/assets/screenshots/pur5.png new file mode 100644 index 000000000..7ace44ff0 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/screenshots/pur5.png differ diff --git a/purchase_requisition_project_task/static/description/assets/screenshots/pur6.png b/purchase_requisition_project_task/static/description/assets/screenshots/pur6.png new file mode 100644 index 000000000..be5c8cee7 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/screenshots/pur6.png differ diff --git a/purchase_requisition_project_task/static/description/assets/screenshots/pur7.png b/purchase_requisition_project_task/static/description/assets/screenshots/pur7.png new file mode 100644 index 000000000..b77bd0154 Binary files /dev/null and b/purchase_requisition_project_task/static/description/assets/screenshots/pur7.png differ diff --git a/purchase_requisition_project_task/static/description/banner.png b/purchase_requisition_project_task/static/description/banner.png new file mode 100644 index 000000000..22408857c Binary files /dev/null and b/purchase_requisition_project_task/static/description/banner.png differ diff --git a/purchase_requisition_project_task/static/description/icon.png b/purchase_requisition_project_task/static/description/icon.png new file mode 100644 index 000000000..eb1056a8c Binary files /dev/null and b/purchase_requisition_project_task/static/description/icon.png differ diff --git a/purchase_requisition_project_task/static/description/index.html b/purchase_requisition_project_task/static/description/index.html new file mode 100644 index 000000000..832c132d8 --- /dev/null +++ b/purchase_requisition_project_task/static/description/index.html @@ -0,0 +1,786 @@ +
+
+
+
+ +
+
+
+ Community +
+
+ Enterprise +
+ +
+
+
+
+ +
+
+
+

+ Purchase Requisition and Project Task Integration

+

+ Integration Of Purchase and Project Modules +

+ +
+
+ + + +
+
+

+ Overview +

+
+ +
+

+ In the Purchase Project Integration App, We can select project + and its multiple tasks from purchase agreement. + Within the selected project and task, We can see the + corresponding Purchase Agreement in the Purchases tab. + Also from the project form view, By clicking the purchase tab, + We can create a new purchase agreement for that project. +

+
+

+ +
+ + +
+
+

+ Features +

+
+ +
+
+ +
+
+

+ Selection of project and tasks from purchase agreement

+
+
+ +
+
+ +
+
+

+ Selection of multiple tasks from purchase agreement

+
+
+ +
+
+ +
+
+

+ Purchase tab shows the purchase agreement in project

+
+
+ +
+
+ +
+
+

+ Purchase tab shows the purchase agreement in tasks

+
+
+ +
+
+ +
+
+

+ Creation of purchase agreement by clicking purchase tab in + project

+
+
+ + +
+ +
+
+

+ Screenshots +

+
+
+

+ Project and tasks selection from purchase agreement

+

+ From Purchase agreement, user can select project and taks. +

+ +
+ +
+

+ Purchase tab in project form

+

+ Purchase tab in project form shows the count of purchase + agreement of corresponding project. +

+ +
+ +
+

+ Tree view of purchase agreements from project

+

+ When clicking purchase tab, it shows the tree view of all + purchase agreement for the project. +

+ +
+ + +
+

+ Create purchase agreement from project

+

+ From the project form, by clicking the purchase tab, user can + directly create new purchase agreement. +

+ +
+ + +
+

+ Purchase agreement from project

+

+ Purchase agreement will shows the project name. +

+ +
+ + +
+

+ Purchase tab in tasks form

+

+ Task form view will show all the purchase agreement that created + for the task. +

+ +
+ +
+

+ Purchase agreement tree view from task

+

+ When clicking the purchase tab, it will shows the tree view of + all purchase agreement of the task. +

+ +
+ +
+ +
+
+

Suggested Products

+
+ + +
+
+ + + +
+
+
+

Our Services

+
+
+ +
+
+ +
+
+ Odoo + Customization
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Support
+
+ + +
+
+ +
+
+ Hire + Odoo + Developer
+
+ +
+
+ +
+
+ Odoo + Integration
+
+ +
+
+ +
+
+ Odoo + Migration
+
+ + +
+
+ +
+
+ Odoo + Consultancy
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Licensing Consultancy
+
+
+
+ + + +
+
+
+

Our Industries

+
+
+ +
+
+ +
+ Trading +
+

+ Easily procure + and + sell your products

+
+
+ +
+
+ +
+ POS +
+

+ Easy + configuration + and convivial experience

+
+
+ +
+
+ +
+ Education +
+

+ A platform for + educational management

+
+
+ +
+
+ +
+ Manufacturing +
+

+ Plan, track and + schedule your operations

+
+
+ +
+
+ +
+ E-commerce & Website +
+

+ Mobile + friendly, + awe-inspiring product pages

+
+
+ +
+
+ +
+ Service Management +
+

+ Keep track of + services and invoice

+
+
+ +
+
+ +
+ Restaurant +
+

+ Run your bar or + restaurant methodically

+
+
+ +
+
+ +
+ Hotel Management +
+

+ An + all-inclusive + hotel management application

+
+
+ +
+
+ + + + + +
+
+
+

Need Help?

+
+
+
+ + +
+ +
+ + +
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+
+ + +
diff --git a/purchase_requisition_project_task/views/project_project_views.xml b/purchase_requisition_project_task/views/project_project_views.xml new file mode 100644 index 000000000..17c635b0e --- /dev/null +++ b/purchase_requisition_project_task/views/project_project_views.xml @@ -0,0 +1,20 @@ + + + + + + project.project.view.form.inherit.purchase.requisition.project.task + + project.project + + + + + + + + diff --git a/purchase_requisition_project_task/views/project_task_views.xml b/purchase_requisition_project_task/views/project_task_views.xml new file mode 100644 index 000000000..770831f38 --- /dev/null +++ b/purchase_requisition_project_task/views/project_task_views.xml @@ -0,0 +1,20 @@ + + + + + + project.task.view.form.inherit.purchase.requisition.project.task + + project.task + + + + + + + + diff --git a/purchase_requisition_project_task/views/purchase_requisition_views.xml b/purchase_requisition_project_task/views/purchase_requisition_views.xml new file mode 100644 index 000000000..612949180 --- /dev/null +++ b/purchase_requisition_project_task/views/purchase_requisition_views.xml @@ -0,0 +1,38 @@ + + + + + + purchase.requisition.view.form.inherit.purchase.requisition.project.task + + purchase.requisition + + + + + + + + + + + + purchase.requisition.view.search + + purchase.requisition + + + + + + + + + + + +