diff --git a/approval_connector/README.rst b/approval_connector/README.rst new file mode 100644 index 000000000..e872af76b --- /dev/null +++ b/approval_connector/README.rst @@ -0,0 +1,43 @@ +.. image:: https://img.shields.io/badge/license-OPL--1-red.svg + :target: https://www.odoo.com/documentation/17.0/legal/licenses.html#odoo-apps + :alt: License: OPL-1" + +Sale Approval Connector +======================= +Helps to Setting up a Approval system for sale orders + +Configuration +============= +* No additional configurations needed. + +License +======= +Odoo Proprietary License v1.0 (OPL-1) +(https://www.odoo.com/documentation/17.0/legal/licenses.html#odoo-apps) + +Company +------- +* `Cybrosys Techno Solutions `__ + +Credits +------- +Developer: (V18) AFRA MP, +(V17) VISHNU KP, +Contact : odoo@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/approval_connector/__init__.py b/approval_connector/__init__.py new file mode 100644 index 000000000..34ff44748 --- /dev/null +++ b/approval_connector/__init__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: AFRA MP (odoo@cybrosys.com) +# +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the +# Software or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. +# +############################################################################### +from . import models diff --git a/approval_connector/__manifest__.py b/approval_connector/__manifest__.py new file mode 100644 index 000000000..158faae8a --- /dev/null +++ b/approval_connector/__manifest__.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: AFRA MP (odoo@cybrosys.com) +# +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the +# Software or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. +# +############################################################################### +{ + 'name': "Sale Approval Connector", + 'version': "1.0", + 'category': 'Sales', + 'summary': """Setting up a system where all sale orders must be approved at + a higher level before they can be processed or fulfilled.""", + 'description': """This process ensures that orders are reviewed and + approved by designated users before they are confirmed and processed.""", + 'author': "Cybrosys Techno Solutions", + 'company': "Cybrosys Techno Solutions", + 'maintainer': "Cybrosys Techno Solutions", + 'website': "https://www.cybrosys.com", + 'depends': ['sale_management', 'approvals'], + 'data': ['data/approval_connector_data.xml', + 'views/approval_category_views.xml', + 'views/sale_order_views.xml', + 'views/approval_request_views.xml', + ], + 'images': ['static/description/banner.jpg'], + 'license': 'OPL-1', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/approval_connector/data/approval_connector_data.xml b/approval_connector/data/approval_connector_data.xml new file mode 100644 index 000000000..8eb885585 --- /dev/null +++ b/approval_connector/data/approval_connector_data.xml @@ -0,0 +1,14 @@ + + + + + Create Sale Request + sale + 90 + required + required + + SAL + + + diff --git a/approval_connector/doc/RELEASE_NOTES.md b/approval_connector/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..1c70f1311 --- /dev/null +++ b/approval_connector/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module +#### 29.01.2025 +#### Version 18.0.1.0.0 +##### ADD + +- Initial Commit for Sale Approval Connector diff --git a/approval_connector/models/__init__.py b/approval_connector/models/__init__.py new file mode 100644 index 000000000..9ba06b2d3 --- /dev/null +++ b/approval_connector/models/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: AFRA MP (odoo@cybrosys.com) +# +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the +# Software or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. +# +############################################################################### +from . import approval_category +from . import approval_request +from . import sale_order diff --git a/approval_connector/models/approval_category.py b/approval_connector/models/approval_category.py new file mode 100644 index 000000000..a3e26856b --- /dev/null +++ b/approval_connector/models/approval_category.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: AFRA MP (odoo@cybrosys.com) +# +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the +# Software or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. +# +############################################################################### +from odoo import fields, models + + +class ApprovalCategory(models.Model): + _inherit = 'approval.category' + """Class inherited for the category associated with approval category + also add some additional fields""" + + approval_type = fields.Selection(selection_add=[ + ('purchase', "Create RFQ's"), ('sale', 'Sale'), ], + string="Approval Type", + ondelete={'sale': 'cascade',}, + help="Approval type to identify the model") diff --git a/approval_connector/models/approval_request.py b/approval_connector/models/approval_request.py new file mode 100644 index 000000000..aa0dfe156 --- /dev/null +++ b/approval_connector/models/approval_request.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: AFRA MP (odoo@cybrosys.com) +# +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the +# Software or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. +# +############################################################################### +from odoo import fields, models, _ + + +class ApprovalRequest(models.Model): + _inherit = 'approval.request' + + """Class inherit for the approval request button in the form""" + + order_id = fields.Many2one('sale.order', string='Document', + help="Connection id for the sale order") + + + def action_approve(self, approver=None): + """This method is used to confirm the order Approval""" + res = super(ApprovalRequest, self).action_approve(approver) + for order in [self.order_id]: + approve_status = self.approver_ids.mapped('status') + if all(status == 'approved' for status in approve_status) and order: + order.write({'state': 'approved', 'is_approved': True}) + order.message_post( + body=_('Requested approval is Confirmed'), + message_type='comment') + return res + + def action_refuse(self, approver=None): + """This method is used to reject the approval request""" + res = super().action_refuse(approver) + if self.order_id: + self.order_id._action_cancel() + return res diff --git a/approval_connector/models/sale_order.py b/approval_connector/models/sale_order.py new file mode 100644 index 000000000..b06793178 --- /dev/null +++ b/approval_connector/models/sale_order.py @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: AFRA MP (odoo@cybrosys.com) +# +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the +# Software or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. +# +############################################################################### +from odoo import fields, models, _ + + +class SaleOrder(models.Model): + _inherit = 'sale.order' + """Class inherited for adding extra fields and methods""" + state = fields.Selection( + selection_add=[('approve', 'To Approve'), ('approved', 'Approved'), + ('sale',), ]) + is_approved = fields.Boolean(string='Approved', default=False) + + def _can_be_confirmed(self): + """This function is used to check the state of the order""" + self.ensure_one() + return self.state in {'draft', 'sent', 'approved'} + + def action_confirm(self): + """Method is used to confirm the order""" + approval = self.env['approval.category'].search([('approval_type', '=', 'sale')]) + if approval and not self.is_approved: + self.env['approval.request'].create({ + 'name': self.name, + 'request_owner_id': self.user_id.id, + 'category_id': approval.id, + 'date_start': fields.Datetime.now(), + 'date_end': fields.Datetime.now(), + 'order_id': self.id, + }).action_confirm() + self.message_post(body=self.env.user.name + _( + ' Created a request for approval for ') + self.name, + message_type='comment') + self.write({'state': 'approve'}) + else: + self.write({'state': 'draft'}) + return super().action_confirm() diff --git a/approval_connector/static/description/assets/cybro-icon.png b/approval_connector/static/description/assets/cybro-icon.png new file mode 100755 index 000000000..06e73e11d Binary files /dev/null and b/approval_connector/static/description/assets/cybro-icon.png differ diff --git a/approval_connector/static/description/assets/cybro-odoo.png b/approval_connector/static/description/assets/cybro-odoo.png new file mode 100755 index 000000000..ed02e07a4 Binary files /dev/null and b/approval_connector/static/description/assets/cybro-odoo.png differ diff --git a/approval_connector/static/description/assets/h2.png b/approval_connector/static/description/assets/h2.png new file mode 100755 index 000000000..0bfc4707d Binary files /dev/null and b/approval_connector/static/description/assets/h2.png differ diff --git a/approval_connector/static/description/assets/icons/arrows-repeat.svg b/approval_connector/static/description/assets/icons/arrows-repeat.svg new file mode 100644 index 000000000..1d7efabc5 --- /dev/null +++ b/approval_connector/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/banner-1.png b/approval_connector/static/description/assets/icons/banner-1.png new file mode 100644 index 000000000..c180db172 Binary files /dev/null and b/approval_connector/static/description/assets/icons/banner-1.png differ diff --git a/approval_connector/static/description/assets/icons/banner-2.svg b/approval_connector/static/description/assets/icons/banner-2.svg new file mode 100644 index 000000000..e606d97d9 --- /dev/null +++ b/approval_connector/static/description/assets/icons/banner-2.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/banner-bg.png b/approval_connector/static/description/assets/icons/banner-bg.png new file mode 100644 index 000000000..a8238d3c0 Binary files /dev/null and b/approval_connector/static/description/assets/icons/banner-bg.png differ diff --git a/approval_connector/static/description/assets/icons/banner-bg.svg b/approval_connector/static/description/assets/icons/banner-bg.svg new file mode 100644 index 000000000..b1378103e --- /dev/null +++ b/approval_connector/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/banner-call.svg b/approval_connector/static/description/assets/icons/banner-call.svg new file mode 100644 index 000000000..96c687e81 --- /dev/null +++ b/approval_connector/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/approval_connector/static/description/assets/icons/banner-mail.svg b/approval_connector/static/description/assets/icons/banner-mail.svg new file mode 100644 index 000000000..cbf0d158d --- /dev/null +++ b/approval_connector/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/approval_connector/static/description/assets/icons/banner-pattern.svg b/approval_connector/static/description/assets/icons/banner-pattern.svg new file mode 100644 index 000000000..9c1c7e101 --- /dev/null +++ b/approval_connector/static/description/assets/icons/banner-pattern.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/banner-promo.svg b/approval_connector/static/description/assets/icons/banner-promo.svg new file mode 100644 index 000000000..d52791b11 --- /dev/null +++ b/approval_connector/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/brand-pair.svg b/approval_connector/static/description/assets/icons/brand-pair.svg new file mode 100644 index 000000000..d8db7fc1e --- /dev/null +++ b/approval_connector/static/description/assets/icons/brand-pair.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/check.png b/approval_connector/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/approval_connector/static/description/assets/icons/check.png differ diff --git a/approval_connector/static/description/assets/icons/chevron.png b/approval_connector/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/approval_connector/static/description/assets/icons/chevron.png differ diff --git a/approval_connector/static/description/assets/icons/close-icon.svg b/approval_connector/static/description/assets/icons/close-icon.svg new file mode 100644 index 000000000..df8cce37a --- /dev/null +++ b/approval_connector/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/approval_connector/static/description/assets/icons/cogs.png b/approval_connector/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/approval_connector/static/description/assets/icons/cogs.png differ diff --git a/approval_connector/static/description/assets/icons/collabarate-icon.svg b/approval_connector/static/description/assets/icons/collabarate-icon.svg new file mode 100644 index 000000000..dd4e10518 --- /dev/null +++ b/approval_connector/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/approval_connector/static/description/assets/icons/consultation.png b/approval_connector/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/approval_connector/static/description/assets/icons/consultation.png differ diff --git a/approval_connector/static/description/assets/icons/cybro-logo.png b/approval_connector/static/description/assets/icons/cybro-logo.png new file mode 100644 index 000000000..ff4b78220 Binary files /dev/null and b/approval_connector/static/description/assets/icons/cybro-logo.png differ diff --git a/approval_connector/static/description/assets/icons/down.svg b/approval_connector/static/description/assets/icons/down.svg new file mode 100644 index 000000000..f21c36271 --- /dev/null +++ b/approval_connector/static/description/assets/icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/approval_connector/static/description/assets/icons/ecom-black.png b/approval_connector/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/approval_connector/static/description/assets/icons/ecom-black.png differ diff --git a/approval_connector/static/description/assets/icons/education-black.png b/approval_connector/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/approval_connector/static/description/assets/icons/education-black.png differ diff --git a/approval_connector/static/description/assets/icons/faq.png b/approval_connector/static/description/assets/icons/faq.png new file mode 100644 index 000000000..4250b5b81 Binary files /dev/null and b/approval_connector/static/description/assets/icons/faq.png differ diff --git a/approval_connector/static/description/assets/icons/feature-icon.svg b/approval_connector/static/description/assets/icons/feature-icon.svg new file mode 100644 index 000000000..fa0ea6850 --- /dev/null +++ b/approval_connector/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/feature.png b/approval_connector/static/description/assets/icons/feature.png new file mode 100644 index 000000000..ac7a785c0 Binary files /dev/null and b/approval_connector/static/description/assets/icons/feature.png differ diff --git a/approval_connector/static/description/assets/icons/gear.svg b/approval_connector/static/description/assets/icons/gear.svg new file mode 100644 index 000000000..0cc66b6ea --- /dev/null +++ b/approval_connector/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/hire-odoo.svg b/approval_connector/static/description/assets/icons/hire-odoo.svg new file mode 100644 index 000000000..e1ac089b0 --- /dev/null +++ b/approval_connector/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/hotel-black.png b/approval_connector/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/approval_connector/static/description/assets/icons/hotel-black.png differ diff --git a/approval_connector/static/description/assets/icons/license.png b/approval_connector/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/approval_connector/static/description/assets/icons/license.png differ diff --git a/approval_connector/static/description/assets/icons/life-ring-icon.svg b/approval_connector/static/description/assets/icons/life-ring-icon.svg new file mode 100644 index 000000000..3ae6e1d89 --- /dev/null +++ b/approval_connector/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/lifebuoy.png b/approval_connector/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/approval_connector/static/description/assets/icons/lifebuoy.png differ diff --git a/approval_connector/static/description/assets/icons/mail.svg b/approval_connector/static/description/assets/icons/mail.svg new file mode 100644 index 000000000..1eedde695 --- /dev/null +++ b/approval_connector/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/approval_connector/static/description/assets/icons/manufacturing-black.png b/approval_connector/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/approval_connector/static/description/assets/icons/manufacturing-black.png differ diff --git a/approval_connector/static/description/assets/icons/notes.png b/approval_connector/static/description/assets/icons/notes.png new file mode 100644 index 000000000..ee5e95404 Binary files /dev/null and b/approval_connector/static/description/assets/icons/notes.png differ diff --git a/approval_connector/static/description/assets/icons/notification icon.svg b/approval_connector/static/description/assets/icons/notification icon.svg new file mode 100644 index 000000000..053189973 --- /dev/null +++ b/approval_connector/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/odoo-consultancy.svg b/approval_connector/static/description/assets/icons/odoo-consultancy.svg new file mode 100644 index 000000000..e05f65bde --- /dev/null +++ b/approval_connector/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/approval_connector/static/description/assets/icons/odoo-licencing.svg b/approval_connector/static/description/assets/icons/odoo-licencing.svg new file mode 100644 index 000000000..2606c88b0 --- /dev/null +++ b/approval_connector/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/approval_connector/static/description/assets/icons/odoo-logo.png b/approval_connector/static/description/assets/icons/odoo-logo.png new file mode 100644 index 000000000..0e4d0eb5a Binary files /dev/null and b/approval_connector/static/description/assets/icons/odoo-logo.png differ diff --git a/approval_connector/static/description/assets/icons/patter.svg b/approval_connector/static/description/assets/icons/patter.svg new file mode 100644 index 000000000..25c9c0a8f --- /dev/null +++ b/approval_connector/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/pattern1.png b/approval_connector/static/description/assets/icons/pattern1.png new file mode 100644 index 000000000..09ab0fb2d Binary files /dev/null and b/approval_connector/static/description/assets/icons/pattern1.png differ diff --git a/approval_connector/static/description/assets/icons/pos-black.png b/approval_connector/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/approval_connector/static/description/assets/icons/pos-black.png differ diff --git a/approval_connector/static/description/assets/icons/puzzle-piece-icon.svg b/approval_connector/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100644 index 000000000..3e9ad9373 --- /dev/null +++ b/approval_connector/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/puzzle.png b/approval_connector/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/approval_connector/static/description/assets/icons/puzzle.png differ diff --git a/approval_connector/static/description/assets/icons/replace-icon.svg b/approval_connector/static/description/assets/icons/replace-icon.svg new file mode 100644 index 000000000..d0e3a7af1 --- /dev/null +++ b/approval_connector/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/restaurant-black.png b/approval_connector/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/approval_connector/static/description/assets/icons/restaurant-black.png differ diff --git a/approval_connector/static/description/assets/icons/screenshot-main.png b/approval_connector/static/description/assets/icons/screenshot-main.png new file mode 100644 index 000000000..575f8e676 Binary files /dev/null and b/approval_connector/static/description/assets/icons/screenshot-main.png differ diff --git a/approval_connector/static/description/assets/icons/screenshot.png b/approval_connector/static/description/assets/icons/screenshot.png new file mode 100644 index 000000000..cef272529 Binary files /dev/null and b/approval_connector/static/description/assets/icons/screenshot.png differ diff --git a/approval_connector/static/description/assets/icons/service-black.png b/approval_connector/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/approval_connector/static/description/assets/icons/service-black.png differ diff --git a/approval_connector/static/description/assets/icons/skype-fill.svg b/approval_connector/static/description/assets/icons/skype-fill.svg new file mode 100644 index 000000000..c17423639 --- /dev/null +++ b/approval_connector/static/description/assets/icons/skype-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/skype.png b/approval_connector/static/description/assets/icons/skype.png new file mode 100644 index 000000000..51b409fb3 Binary files /dev/null and b/approval_connector/static/description/assets/icons/skype.png differ diff --git a/approval_connector/static/description/assets/icons/skype.svg b/approval_connector/static/description/assets/icons/skype.svg new file mode 100644 index 000000000..df3dad39b --- /dev/null +++ b/approval_connector/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/approval_connector/static/description/assets/icons/star-1.svg b/approval_connector/static/description/assets/icons/star-1.svg new file mode 100644 index 000000000..7e55ab162 --- /dev/null +++ b/approval_connector/static/description/assets/icons/star-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/star-2.svg b/approval_connector/static/description/assets/icons/star-2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/approval_connector/static/description/assets/icons/star-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/support.png b/approval_connector/static/description/assets/icons/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/approval_connector/static/description/assets/icons/support.png differ diff --git a/approval_connector/static/description/assets/icons/test-1 - Copy.png b/approval_connector/static/description/assets/icons/test-1 - Copy.png new file mode 100644 index 000000000..f6a902663 Binary files /dev/null and b/approval_connector/static/description/assets/icons/test-1 - Copy.png differ diff --git a/approval_connector/static/description/assets/icons/test-1.png b/approval_connector/static/description/assets/icons/test-1.png new file mode 100644 index 000000000..0908add2b Binary files /dev/null and b/approval_connector/static/description/assets/icons/test-1.png differ diff --git a/approval_connector/static/description/assets/icons/test-2.png b/approval_connector/static/description/assets/icons/test-2.png new file mode 100644 index 000000000..4671fe91e Binary files /dev/null and b/approval_connector/static/description/assets/icons/test-2.png differ diff --git a/approval_connector/static/description/assets/icons/trading-black.png b/approval_connector/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/approval_connector/static/description/assets/icons/trading-black.png differ diff --git a/approval_connector/static/description/assets/icons/training.png b/approval_connector/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/approval_connector/static/description/assets/icons/training.png differ diff --git a/approval_connector/static/description/assets/icons/translate.svg b/approval_connector/static/description/assets/icons/translate.svg new file mode 100644 index 000000000..af9c8a1aa --- /dev/null +++ b/approval_connector/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/update.png b/approval_connector/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/approval_connector/static/description/assets/icons/update.png differ diff --git a/approval_connector/static/description/assets/icons/user.png b/approval_connector/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/approval_connector/static/description/assets/icons/user.png differ diff --git a/approval_connector/static/description/assets/icons/video.png b/approval_connector/static/description/assets/icons/video.png new file mode 100644 index 000000000..576705b17 Binary files /dev/null and b/approval_connector/static/description/assets/icons/video.png differ diff --git a/approval_connector/static/description/assets/icons/whatsapp.png b/approval_connector/static/description/assets/icons/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/approval_connector/static/description/assets/icons/whatsapp.png differ diff --git a/approval_connector/static/description/assets/icons/wrench-icon.svg b/approval_connector/static/description/assets/icons/wrench-icon.svg new file mode 100644 index 000000000..174b5a465 --- /dev/null +++ b/approval_connector/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/approval_connector/static/description/assets/icons/wrench.png b/approval_connector/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/approval_connector/static/description/assets/icons/wrench.png differ diff --git a/approval_connector/static/description/assets/modules/m1.png b/approval_connector/static/description/assets/modules/m1.png new file mode 100644 index 000000000..d7ef56df4 Binary files /dev/null and b/approval_connector/static/description/assets/modules/m1.png differ diff --git a/approval_connector/static/description/assets/modules/m2.png b/approval_connector/static/description/assets/modules/m2.png new file mode 100644 index 000000000..67c7f7062 Binary files /dev/null and b/approval_connector/static/description/assets/modules/m2.png differ diff --git a/approval_connector/static/description/assets/modules/m3.png b/approval_connector/static/description/assets/modules/m3.png new file mode 100644 index 000000000..8c4479884 Binary files /dev/null and b/approval_connector/static/description/assets/modules/m3.png differ diff --git a/approval_connector/static/description/assets/modules/m4.png b/approval_connector/static/description/assets/modules/m4.png new file mode 100644 index 000000000..a80a0d9dc Binary files /dev/null and b/approval_connector/static/description/assets/modules/m4.png differ diff --git a/approval_connector/static/description/assets/modules/m5.png b/approval_connector/static/description/assets/modules/m5.png new file mode 100644 index 000000000..3bedf7981 Binary files /dev/null and b/approval_connector/static/description/assets/modules/m5.png differ diff --git a/approval_connector/static/description/assets/modules/m6.png b/approval_connector/static/description/assets/modules/m6.png new file mode 100644 index 000000000..060909362 Binary files /dev/null and b/approval_connector/static/description/assets/modules/m6.png differ diff --git a/approval_connector/static/description/assets/screenshots/1.png b/approval_connector/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..669ce58cc Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/1.png differ diff --git a/approval_connector/static/description/assets/screenshots/2.png b/approval_connector/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..681d629ff Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/2.png differ diff --git a/approval_connector/static/description/assets/screenshots/3.png b/approval_connector/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..e2bc9c42a Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/3.png differ diff --git a/approval_connector/static/description/assets/screenshots/4.png b/approval_connector/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..ed76b7c40 Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/4.png differ diff --git a/approval_connector/static/description/assets/screenshots/5.png b/approval_connector/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..4ebc52508 Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/5.png differ diff --git a/approval_connector/static/description/assets/screenshots/6.png b/approval_connector/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..fb3934791 Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/6.png differ diff --git a/approval_connector/static/description/assets/screenshots/7.png b/approval_connector/static/description/assets/screenshots/7.png new file mode 100644 index 000000000..1a21f4215 Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/7.png differ diff --git a/approval_connector/static/description/assets/screenshots/hero.gif b/approval_connector/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..c81d889b9 Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/hero.gif differ diff --git a/approval_connector/static/description/assets/y18.jpg b/approval_connector/static/description/assets/y18.jpg new file mode 100755 index 000000000..eea1714f2 Binary files /dev/null and b/approval_connector/static/description/assets/y18.jpg differ diff --git a/approval_connector/static/description/banner.jpg b/approval_connector/static/description/banner.jpg new file mode 100644 index 000000000..726575fd5 Binary files /dev/null and b/approval_connector/static/description/banner.jpg differ diff --git a/approval_connector/static/description/icon.png b/approval_connector/static/description/icon.png new file mode 100644 index 000000000..a9dd61f37 Binary files /dev/null and b/approval_connector/static/description/icon.png differ diff --git a/approval_connector/static/description/index.html b/approval_connector/static/description/index.html new file mode 100644 index 000000000..043d775b2 --- /dev/null +++ b/approval_connector/static/description/index.html @@ -0,0 +1,1034 @@ + + + + + + Sale Approval Connector + + + + + + + + + + +
+
+ + + +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ +
+
+
+
+

+ This Module Streamlines The Approval Process For Sales Orders. +

+

Sale Approval Connector +

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

Key + Heighlights

+
+
+
+
+ +
+
+ Additional Approval stage +
+

+ Additional approval state allows the user to + identify whether the order is in the + approved state or not.

+
+
+
+
+
+ +
+
+ Controlling Sale Order. +
+

+ With this module You can control the sale orders by approval. +

+
+
+
+
+
+ +
+
+ Grand permission for order Confirmation +
+

+ Orders cannot be confirmed without authorization. +

+
+
+
+
+ +
+
+
+ Sale Approval Connector +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + + +
+
+ +
+
+
+
+ acc_bg +
+ +
+
+
+
+

+ Approve + + Type. +

+
+
+

+ In the Approval Module Create Sale Approval type +

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

+ Approve + + State. +

+
+
+

+ Clicking the Confirm button will direct the sale order to the approval stage. +

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

+ Approve the + + Request. +

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

+ Request + + + Approved. +

+
+
+

+ After Approving the request the sale order stage will be changed to APPROVED. +

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

+ Create + + + another order. +

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

+ Refuse the + + + Request. +

+
+
+

+ Here we're refusing the request. + +

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

+ Sale order + + + Cancelled. +

+
+
+

+ After Refusing the request the Sale order stage will be changed to CANCELLED +

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

Controlled Purchasing and sales.

+
+ +
+
+
+
+
+
+ +
+

+ Only Permission granted orders can confirm

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

+ The Approval Connector module helps streamline the sales order + approval process by integrating approval workflows directly into the Odoo system. +

+
+
+ +
+ +
+

+ It facilitates seamless approval workflows, + ensuring that sales orders go through a predefined + approval process before confirmation. +

+
+
+ +
+ +
+

+ Yes, the module includes notification features to alert + approvers when their action is required. + + +

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

+ Latest Release 18.0.1.0.0 +

+ + + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • + +
+
+
+
+
+
+
+
+
+
+ + + +
+

+ Related Products +

+ +
+ + +
+

+ Our Services

+ +
+ +
+
+ .... +
+
+ +
+ + +
+
+ + + + + + diff --git a/approval_connector/views/approval_category_views.xml b/approval_connector/views/approval_category_views.xml new file mode 100644 index 000000000..9fd015dc6 --- /dev/null +++ b/approval_connector/views/approval_category_views.xml @@ -0,0 +1,14 @@ + + + + + approval.category.view.form.inherit.approval.connector + approval.category + + + + 0 + + + + diff --git a/approval_connector/views/approval_request_views.xml b/approval_connector/views/approval_request_views.xml new file mode 100644 index 000000000..8d26d8f23 --- /dev/null +++ b/approval_connector/views/approval_request_views.xml @@ -0,0 +1,13 @@ + + + + approval.request.view.form.inherit.approval.connector + approval.request + + + + + + + + diff --git a/approval_connector/views/sale_order_views.xml b/approval_connector/views/sale_order_views.xml new file mode 100644 index 000000000..eb355e55c --- /dev/null +++ b/approval_connector/views/sale_order_views.xml @@ -0,0 +1,23 @@ + + + + + sale.order.view.form.inherit.approval.connector + sale.order + + + + + + +