diff --git a/approval_connector/README.rst b/approval_connector/README.rst new file mode 100644 index 000000000..8036e3cf1 --- /dev/null +++ b/approval_connector/README.rst @@ -0,0 +1,41 @@ +.. image:: https://img.shields.io/badge/license-OPL--1-red.svg + :target: https://www.odoo.com/documentation/16.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) +(http://www.gnu.org/licenses/opl.html) + +Company +------- +* `Cybrosys Techno Solutions `__ + +Credits +------- +Developer: (V15) Swaraj R, 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..3491a6423 --- /dev/null +++ b/approval_connector/__init__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Swaraj R (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..5b23b072c --- /dev/null +++ b/approval_connector/__manifest__.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Swaraj R (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': "15.0.1.0.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': ['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..7fbddac59 --- /dev/null +++ b/approval_connector/data/approval_connector_data.xml @@ -0,0 +1,15 @@ + + + + + + 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..70932e6ec --- /dev/null +++ b/approval_connector/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module +#### 19.08.2024 +#### Version 15.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..1e9373a56 --- /dev/null +++ b/approval_connector/models/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Swaraj R (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..490082002 --- /dev/null +++ b/approval_connector/models/approval_category.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Swaraj R (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): + """Class inherited for the category associated with approval category + also add some additional fields""" + _inherit = 'approval.category' + + approval_type = fields.Selection(selection_add=[ + ('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..66c410e2f --- /dev/null +++ b/approval_connector/models/approval_request.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Swaraj R (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): + """Class inherit for the approval request button in the form""" + _inherit = 'approval.request' + + 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().action_approve(approver=None) + 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 + + def action_withdraw(self): + """This method set the sale order back to to approve state""" + res = super().action_withdraw() + for order in self.order_id: + order.write({'state': 'approve', 'is_approved': False}) + order.message_post( + body=_('Approval Request is withdrawn'), + message_type='comment') + return res \ No newline at end of file diff --git a/approval_connector/models/sale_order.py b/approval_connector/models/sale_order.py new file mode 100644 index 000000000..502611313 --- /dev/null +++ b/approval_connector/models/sale_order.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Swaraj R (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): + """Class inherited for adding extra fields and over writing methods""" + _inherit = 'sale.order' + state = fields.Selection( + selection_add=[('approve', 'To Approve'), ('approved', 'Approved'), + ('sale',)], string='State', help='Represent the ' + 'current state of the' + ' record') + is_approved = fields.Boolean(string='Approved', help='Is record approved', copy=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')], limit=1) + 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/capture (1).png b/approval_connector/static/description/assets/icons/capture (1).png new file mode 100644 index 000000000..8824deafc Binary files /dev/null and b/approval_connector/static/description/assets/icons/capture (1).png differ 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/img.png b/approval_connector/static/description/assets/icons/img.png new file mode 100644 index 000000000..70197f477 Binary files /dev/null and b/approval_connector/static/description/assets/icons/img.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/logo.png b/approval_connector/static/description/assets/icons/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/approval_connector/static/description/assets/icons/logo.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/photo-capture.png b/approval_connector/static/description/assets/icons/photo-capture.png new file mode 100644 index 000000000..06c111758 Binary files /dev/null and b/approval_connector/static/description/assets/icons/photo-capture.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/Cybrosys R.png b/approval_connector/static/description/assets/misc/Cybrosys R.png new file mode 100644 index 000000000..da4058087 Binary files /dev/null and b/approval_connector/static/description/assets/misc/Cybrosys R.png differ diff --git a/approval_connector/static/description/assets/misc/email.svg b/approval_connector/static/description/assets/misc/email.svg new file mode 100644 index 000000000..15291cdc3 --- /dev/null +++ b/approval_connector/static/description/assets/misc/email.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/approval_connector/static/description/assets/misc/phone.svg b/approval_connector/static/description/assets/misc/phone.svg new file mode 100644 index 000000000..b7bd7f251 --- /dev/null +++ b/approval_connector/static/description/assets/misc/phone.svg @@ -0,0 +1,3 @@ + + + diff --git a/approval_connector/static/description/assets/misc/star (1) 2.svg b/approval_connector/static/description/assets/misc/star (1) 2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/approval_connector/static/description/assets/misc/star (1) 2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/approval_connector/static/description/assets/misc/support (1) 1.svg b/approval_connector/static/description/assets/misc/support (1) 1.svg new file mode 100644 index 000000000..7d37a8f30 --- /dev/null +++ b/approval_connector/static/description/assets/misc/support (1) 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/approval_connector/static/description/assets/misc/support-email.svg b/approval_connector/static/description/assets/misc/support-email.svg new file mode 100644 index 000000000..eb70370d6 --- /dev/null +++ b/approval_connector/static/description/assets/misc/support-email.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/approval_connector/static/description/assets/misc/tick-mark.svg b/approval_connector/static/description/assets/misc/tick-mark.svg new file mode 100644 index 000000000..2dbb40187 --- /dev/null +++ b/approval_connector/static/description/assets/misc/tick-mark.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/approval_connector/static/description/assets/misc/whatsapp 1.svg b/approval_connector/static/description/assets/misc/whatsapp 1.svg new file mode 100644 index 000000000..0bfaf8fc6 --- /dev/null +++ b/approval_connector/static/description/assets/misc/whatsapp 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/approval_connector/static/description/assets/misc/whatsapp.svg b/approval_connector/static/description/assets/misc/whatsapp.svg new file mode 100644 index 000000000..b618aea1d --- /dev/null +++ b/approval_connector/static/description/assets/misc/whatsapp.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/approval_connector/static/description/assets/modules/budget_image.png b/approval_connector/static/description/assets/modules/budget_image.png new file mode 100644 index 000000000..b50130c7d Binary files /dev/null and b/approval_connector/static/description/assets/modules/budget_image.png differ diff --git a/approval_connector/static/description/assets/modules/credit_image.png b/approval_connector/static/description/assets/modules/credit_image.png new file mode 100644 index 000000000..3ad04ecfd Binary files /dev/null and b/approval_connector/static/description/assets/modules/credit_image.png differ diff --git a/approval_connector/static/description/assets/modules/employee_image.png b/approval_connector/static/description/assets/modules/employee_image.png new file mode 100644 index 000000000..30ad58232 Binary files /dev/null and b/approval_connector/static/description/assets/modules/employee_image.png differ diff --git a/approval_connector/static/description/assets/modules/export_image.png b/approval_connector/static/description/assets/modules/export_image.png new file mode 100644 index 000000000..492980ad0 Binary files /dev/null and b/approval_connector/static/description/assets/modules/export_image.png differ diff --git a/approval_connector/static/description/assets/modules/gantt_image.png b/approval_connector/static/description/assets/modules/gantt_image.png new file mode 100644 index 000000000..1ae7cfe3b Binary files /dev/null and b/approval_connector/static/description/assets/modules/gantt_image.png differ diff --git a/approval_connector/static/description/assets/modules/quotation_image.png b/approval_connector/static/description/assets/modules/quotation_image.png new file mode 100644 index 000000000..499b1a72f Binary files /dev/null and b/approval_connector/static/description/assets/modules/quotation_image.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..ef99d7cb0 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..95241b7c8 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..363f48085 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..eb06c331f 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..2e437be98 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..022b00437 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..b4eedf977 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..bddd44616 Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/hero.gif differ diff --git a/approval_connector/static/description/banner.png b/approval_connector/static/description/banner.png new file mode 100644 index 000000000..b8f2c1584 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..35f5463ca 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..0d02341b4 --- /dev/null +++ b/approval_connector/static/description/index.html @@ -0,0 +1,733 @@ +
+
+
+
+ +
+
+
+ Enterprise +
+
+ Odoo SH +
+
+
+
+
+ +
+
+
+

+ Sale Approval Connector

+

+

+ +
+
+
+
+

+ Facilitate The Approval + Process For Sales Orders. +

+
+ + + +
+
+

+ Overview +

+
+
+
+ The Sale Approval Connector module facilitates the approval process for sales orders. The additional approval state allows the user to identify whether the order is approved or not, ensuring a streamlined workflow and clear visibility into the approval status of each order. +
+
+
+
+
+

+ Features +

+
+ +
+
+ +
+
+

+ Controlled sale orders.

+

+

+
+
+
+
+ +
+
+

+ Only permission ranted orders can confirm.

+
+
+ +
+
+ +
+
+

+ Odoo 15 Enterprise edition support.

+
+
+
+
+ +
+
+

+ Grand permission for order confirmation.

+
+
+
+
+ +
+
+

+ Additional Approval stage.

+
+
+
+
+
+

+ Screenshots +

+
+
+

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

+ +
+ +
+
+

Suggested + Products

+
+ + +
+
diff --git a/approval_connector/views/approval_category_views.xml b/approval_connector/views/approval_category_views.xml new file mode 100644 index 000000000..23140c25c --- /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..f80d9efeb --- /dev/null +++ b/approval_connector/views/sale_order_views.xml @@ -0,0 +1,23 @@ + + + + + sale.order.view.form.inherit.approval.connector + sale.order + + + + + + +