diff --git a/approval_connector/README.rst b/approval_connector/README.rst new file mode 100755 index 000000000..7685c2391 --- /dev/null +++ b/approval_connector/README.rst @@ -0,0 +1,46 @@ +.. image:: https://img.shields.io/badge/license-OPL--1-blue.svg + :target: https://www.gnu.org/licenses/opl-1.0-standalone.html + :alt: License v1.0 (OPL-1) + +Sale Approval Connector +==================================== +This module allow to merge Purchase order in RFQ state. + +Configuration +============= +No additional configurations needed. + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +======= +Odoo Proprietary License v1.0 (OPL-1) +(http://www.gnu.org/licenses/opl.html) + +Credits +------- +* Developer: (V16) Vishnu kp, 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/approval_connector/__init__.py b/approval_connector/__init__.py new file mode 100644 index 000000000..29d8c2967 --- /dev/null +++ b/approval_connector/__init__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: VISHNU KP (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..17c204472 --- /dev/null +++ b/approval_connector/__manifest__.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: VISHNU KP (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': "16.0.1.0.0", + 'category': 'Sales', + 'summary': """Global approval for Sale Order """, + 'description': """Global approval for Sale Orders + refers to a system where all sale orders in an + organization must be approved by a designated authority before they + are processed further.""", + 'author': "Cybrosys Techno Solutions", + 'company': "Cybrosys Techno Solutions", + 'maintainer': "Cybrosys Techno Solutions", + 'website': "https://www.cybrosys.com", + 'depends': ['base', 'sale_management', + 'approvals'], + 'data': ['data/approval_connector_data.xml', + 'views/approval_category_views.xml', + 'views/sale_order_views.xml' + ], + 'images': ['static/description/banner.png'], + '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..b6d42c8e8 --- /dev/null +++ b/approval_connector/data/approval_connector_data.xml @@ -0,0 +1,15 @@ + + + + + + Create Sale Request + sale + 95 + required + required + + SALE + + + diff --git a/approval_connector/doc/RELEASE_NOTES.md b/approval_connector/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..047989226 --- /dev/null +++ b/approval_connector/doc/RELEASE_NOTES.md @@ -0,0 +1,7 @@ +## Module + +#### 14.03.2024 +#### Version 16.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..581d53311 --- /dev/null +++ b/approval_connector/models/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: VISHNU KP (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..095dcaa11 --- /dev/null +++ b/approval_connector/models/approval_category.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: VISHNU KP (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 api, fields, models, _ +from odoo.exceptions import ValidationError + + +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") + + @api.constrains('approval_type') + def _check_approval_type(self): + for record in self: + if record.approval_type == 'sale': + sale_approval_count = self.env[ + 'approval.category'].search_count( + [('approval_type', '=', 'sale')] + ) + if sale_approval_count > 1: + raise ValidationError( + _("You are not allowed to create more than one sale " + "approval type.") + ) diff --git a/approval_connector/models/approval_request.py b/approval_connector/models/approval_request.py new file mode 100644 index 000000000..f0bb1f92b --- /dev/null +++ b/approval_connector/models/approval_request.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: VISHNU KP (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.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): + """This method is used to confirm the order Approval""" + res = super().action_approve() + 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): + """This method is used to reject the approval request""" + res = super().action_refuse() + 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..701a35b91 --- /dev/null +++ b/approval_connector/models/sale_order.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: VISHNU KP (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',), ], string='State') + is_approved = fields.Boolean(string='Approved', default=False, + help='To check whether the order is approved') + + 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: + return super().action_confirm() 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/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/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/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/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/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/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/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.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/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/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/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/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/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/misc/categories.png b/approval_connector/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/approval_connector/static/description/assets/misc/categories.png differ diff --git a/approval_connector/static/description/assets/misc/check-box.png b/approval_connector/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/approval_connector/static/description/assets/misc/check-box.png differ diff --git a/approval_connector/static/description/assets/misc/compass.png b/approval_connector/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/approval_connector/static/description/assets/misc/compass.png differ diff --git a/approval_connector/static/description/assets/misc/corporate.png b/approval_connector/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/approval_connector/static/description/assets/misc/corporate.png differ diff --git a/approval_connector/static/description/assets/misc/customer-support.png b/approval_connector/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/approval_connector/static/description/assets/misc/customer-support.png differ diff --git a/approval_connector/static/description/assets/misc/cybrosys-logo.png b/approval_connector/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/approval_connector/static/description/assets/misc/cybrosys-logo.png differ diff --git a/approval_connector/static/description/assets/misc/features.png b/approval_connector/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/approval_connector/static/description/assets/misc/features.png differ diff --git a/approval_connector/static/description/assets/misc/logo.png b/approval_connector/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/approval_connector/static/description/assets/misc/logo.png differ diff --git a/approval_connector/static/description/assets/misc/pictures.png b/approval_connector/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/approval_connector/static/description/assets/misc/pictures.png differ diff --git a/approval_connector/static/description/assets/misc/pie-chart.png b/approval_connector/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/approval_connector/static/description/assets/misc/pie-chart.png differ diff --git a/approval_connector/static/description/assets/misc/right-arrow.png b/approval_connector/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/approval_connector/static/description/assets/misc/right-arrow.png differ diff --git a/approval_connector/static/description/assets/misc/star.png b/approval_connector/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/approval_connector/static/description/assets/misc/star.png differ diff --git a/approval_connector/static/description/assets/misc/support.png b/approval_connector/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/approval_connector/static/description/assets/misc/support.png differ diff --git a/approval_connector/static/description/assets/misc/whatsapp.png b/approval_connector/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/approval_connector/static/description/assets/misc/whatsapp.png differ diff --git a/approval_connector/static/description/assets/modules/1.png b/approval_connector/static/description/assets/modules/1.png new file mode 100644 index 000000000..6cc0986f2 Binary files /dev/null and b/approval_connector/static/description/assets/modules/1.png differ diff --git a/approval_connector/static/description/assets/modules/2.png b/approval_connector/static/description/assets/modules/2.png new file mode 100644 index 000000000..7b0ac4b33 Binary files /dev/null and b/approval_connector/static/description/assets/modules/2.png differ diff --git a/approval_connector/static/description/assets/modules/3.png b/approval_connector/static/description/assets/modules/3.png new file mode 100644 index 000000000..ae32f480b Binary files /dev/null and b/approval_connector/static/description/assets/modules/3.png differ diff --git a/approval_connector/static/description/assets/modules/4.png b/approval_connector/static/description/assets/modules/4.png new file mode 100644 index 000000000..d9374733c Binary files /dev/null and b/approval_connector/static/description/assets/modules/4.png differ diff --git a/approval_connector/static/description/assets/modules/5.png b/approval_connector/static/description/assets/modules/5.png new file mode 100644 index 000000000..c3a620a56 Binary files /dev/null and b/approval_connector/static/description/assets/modules/5.png differ diff --git a/approval_connector/static/description/assets/modules/6.png b/approval_connector/static/description/assets/modules/6.png new file mode 100644 index 000000000..a29119785 Binary files /dev/null and b/approval_connector/static/description/assets/modules/6.png differ diff --git a/approval_connector/static/description/assets/screenshots/ap_req.png b/approval_connector/static/description/assets/screenshots/ap_req.png new file mode 100644 index 000000000..128877aa8 Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/ap_req.png differ diff --git a/approval_connector/static/description/assets/screenshots/at.png b/approval_connector/static/description/assets/screenshots/at.png new file mode 100644 index 000000000..a7b22b908 Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/at.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..ef20971de Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/hero.gif differ diff --git a/approval_connector/static/description/assets/screenshots/req_accept_by_admin.png b/approval_connector/static/description/assets/screenshots/req_accept_by_admin.png new file mode 100644 index 000000000..fae41da9a Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/req_accept_by_admin.png differ diff --git a/approval_connector/static/description/assets/screenshots/sale_ap_typ.png b/approval_connector/static/description/assets/screenshots/sale_ap_typ.png new file mode 100644 index 000000000..d141545eb Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/sale_ap_typ.png differ diff --git a/approval_connector/static/description/assets/screenshots/so_by_demo.png b/approval_connector/static/description/assets/screenshots/so_by_demo.png new file mode 100644 index 000000000..fcae50868 Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/so_by_demo.png differ diff --git a/approval_connector/static/description/assets/screenshots/user_can_confirm.png b/approval_connector/static/description/assets/screenshots/user_can_confirm.png new file mode 100644 index 000000000..6ee1f3946 Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/user_can_confirm.png differ diff --git a/approval_connector/static/description/banner.png b/approval_connector/static/description/banner.png new file mode 100644 index 000000000..3d407fdf7 Binary files /dev/null and b/approval_connector/static/description/banner.png differ diff --git a/approval_connector/static/description/icon.png b/approval_connector/static/description/icon.png new file mode 100644 index 000000000..0c1de9f21 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..5e954b79f --- /dev/null +++ b/approval_connector/static/description/index.html @@ -0,0 +1,651 @@ +
+ +
+ +
+
+ Enterprise +
+
+ Odoo.sh +
+ +
+
+ +
+
+
+ +

+ Sale Approval Connector +

+

+ Facilitate the Approval Process for Sale + Orders.

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

+ Explore This + Module

+
+ + + + +
+
+ +
+

+ Overview +

+
+
+
+ This module Facilitating the approval process for sale + orders involves ensuring smooth and timely authorization of + transactions. Orders are submitted with relevant details, undergo review + for accuracy and compliance, and are routed to appropriate approves. +
+
+ + + +
+
+ +
+

+ Features +

+
+
+
+
+ + Controlling sale order +
+
+ + The additional approval state allows the user + to identify whether the order is approved or not. +
+
+ + + Grand permission for order Confirmation. +
+
+
+ + + +
+
+ +
+

+ Screenshots +

+
+
+
+
+

+ Create Approval Types for Sale order +

+ +
+
+

+ Sale Approval Type +

+ +
+ +
+

+ Sale Order in TO APPROVE State Created By User +

+ +
+
+

+ Manager Can view the request +

+ +
+ +
+

+ Manager Giving Grand Permission. +

+ +
+ +
+

+ After permission state changed to APPROVED in Sale Order and also User can Confirm the Order +

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

+ Related + 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

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

+ Support +

+
+
+
+
+
+
+ +
+
+

Need Help?

+

Got questions or need help? + Get in touch.

+ +

+ odoo@cybrosys.com

+
+
+
+
+
+
+
+ +
+
+

WhatsApp

+

Say hi to us on WhatsApp!

+ +

+ +91 86068 + 27707

+
+
+
+
+
+
+
+ +
+
+
+ \ No newline at end of file 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/sale_order_views.xml b/approval_connector/views/sale_order_views.xml new file mode 100644 index 000000000..e600cb98c --- /dev/null +++ b/approval_connector/views/sale_order_views.xml @@ -0,0 +1,27 @@ + + + + + sale.order.view.form.inherit.approval.connector + sale.order + + + + + + +