diff --git a/sales_order_delivery_status/__init__.py b/sales_order_delivery_status/__init__.py new file mode 100644 index 000000000..f5ba686bc --- /dev/null +++ b/sales_order_delivery_status/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import models \ No newline at end of file diff --git a/sales_order_delivery_status/__manifest__.py b/sales_order_delivery_status/__manifest__.py new file mode 100644 index 000000000..e2ccb7b95 --- /dev/null +++ b/sales_order_delivery_status/__manifest__.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +{ + 'name': "Delivery Status on Sale Order", + 'summary': """Delivery Status on Sale Order""", + 'description': "This module adds Delivery Status on Purchase Order", + 'author': "Cybrosys Techno Solutions", + 'company': "Cybrosys Techno Solutions", + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'category': 'Sales', + 'version': '15.0.1.0.0', + 'depends': ['sale_stock', 'sale_management'], + 'data': ['views/sales_order.xml'], + 'images': ['static/description/banner.png'], + 'license': 'LGPL-3', + 'installable': True, + 'application': False, + 'auto_install': False, +} diff --git a/sales_order_delivery_status/models/__init__.py b/sales_order_delivery_status/models/__init__.py new file mode 100644 index 000000000..74a41e86f --- /dev/null +++ b/sales_order_delivery_status/models/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import sales_order \ No newline at end of file diff --git a/sales_order_delivery_status/models/sales_order.py b/sales_order_delivery_status/models/sales_order.py new file mode 100644 index 000000000..cb64eec95 --- /dev/null +++ b/sales_order_delivery_status/models/sales_order.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields, api, _ + + +class SalesOrder(models.Model): + _inherit = 'sale.order' + + delivery_status = fields.Selection(selection=[ + ('nothing', 'Nothing to Deliver'), ('to_deliver', 'To Deliver'), + ('partial', 'Partially Delivered'), ('delivered', 'Delivered'), + ('processing', 'Processing') + ], string='Delivery Status', compute='_compute_delivery_status', store=True, + readonly=True, copy=False, default='nothing') + + @api.depends('state', 'order_line.qty_delivered') + def _compute_delivery_status(self): + for rec in self: + pickings = self.env['stock.picking'].search([('sale_id', '=', rec.id)]) + orderlines = rec.mapped('order_line').filtered(lambda x:x.product_id.type != 'service') + service_orderlines = rec.mapped('order_line').filtered(lambda x:x.product_id.type == 'service') + if not pickings and not service_orderlines: + rec.delivery_status = 'nothing' + elif all(o.qty_delivered == 0 for o in orderlines): + rec.delivery_status = 'to_deliver' + elif orderlines.filtered(lambda x: x.qty_delivered < x.product_uom_qty): + rec.delivery_status = 'partial' + elif all(o.qty_delivered == o.product_uom_qty for o in orderlines): + rec.delivery_status = 'delivered' + if any(p.state in ('waiting', 'confirmed') for p in pickings): + rec.delivery_status = 'processing' + if not orderlines and service_orderlines and rec.state == 'sale': + rec.delivery_status = 'delivered' diff --git a/sales_order_delivery_status/static/description/assets/icons/check.png b/sales_order_delivery_status/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/check.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/chevron.png b/sales_order_delivery_status/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/chevron.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/cogs.png b/sales_order_delivery_status/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/cogs.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/consultation.png b/sales_order_delivery_status/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/consultation.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/ecom-black.png b/sales_order_delivery_status/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/ecom-black.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/education-black.png b/sales_order_delivery_status/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/education-black.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/hotel-black.png b/sales_order_delivery_status/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/hotel-black.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/license.png b/sales_order_delivery_status/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/license.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/lifebuoy.png b/sales_order_delivery_status/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/lifebuoy.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/logo.png b/sales_order_delivery_status/static/description/assets/icons/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/logo.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/manufacturing-black.png b/sales_order_delivery_status/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/manufacturing-black.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/pos-black.png b/sales_order_delivery_status/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/pos-black.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/puzzle.png b/sales_order_delivery_status/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/puzzle.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/restaurant-black.png b/sales_order_delivery_status/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/restaurant-black.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/service-black.png b/sales_order_delivery_status/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/service-black.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/trading-black.png b/sales_order_delivery_status/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/trading-black.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/training.png b/sales_order_delivery_status/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/training.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/update.png b/sales_order_delivery_status/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/update.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/user.png b/sales_order_delivery_status/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/user.png differ diff --git a/sales_order_delivery_status/static/description/assets/icons/wrench.png b/sales_order_delivery_status/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/icons/wrench.png differ diff --git a/sales_order_delivery_status/static/description/assets/modules/budget_image.png b/sales_order_delivery_status/static/description/assets/modules/budget_image.png new file mode 100644 index 000000000..b50130c7d Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/modules/budget_image.png differ diff --git a/sales_order_delivery_status/static/description/assets/modules/credit_image.png b/sales_order_delivery_status/static/description/assets/modules/credit_image.png new file mode 100644 index 000000000..3ad04ecfd Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/modules/credit_image.png differ diff --git a/sales_order_delivery_status/static/description/assets/modules/employee_image.png b/sales_order_delivery_status/static/description/assets/modules/employee_image.png new file mode 100644 index 000000000..30ad58232 Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/modules/employee_image.png differ diff --git a/sales_order_delivery_status/static/description/assets/modules/export_image.png b/sales_order_delivery_status/static/description/assets/modules/export_image.png new file mode 100644 index 000000000..492980ad0 Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/modules/export_image.png differ diff --git a/sales_order_delivery_status/static/description/assets/modules/gantt_image.png b/sales_order_delivery_status/static/description/assets/modules/gantt_image.png new file mode 100644 index 000000000..1ae7cfe3b Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/modules/gantt_image.png differ diff --git a/sales_order_delivery_status/static/description/assets/modules/quotation_image.png b/sales_order_delivery_status/static/description/assets/modules/quotation_image.png new file mode 100644 index 000000000..499b1a72f Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/modules/quotation_image.png differ diff --git a/sales_order_delivery_status/static/description/assets/screenshots/form.png b/sales_order_delivery_status/static/description/assets/screenshots/form.png new file mode 100644 index 000000000..5c4808e61 Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/screenshots/form.png differ diff --git a/sales_order_delivery_status/static/description/assets/screenshots/hero_1.png b/sales_order_delivery_status/static/description/assets/screenshots/hero_1.png new file mode 100644 index 000000000..50da7baa9 Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/screenshots/hero_1.png differ diff --git a/sales_order_delivery_status/static/description/assets/screenshots/tree.png b/sales_order_delivery_status/static/description/assets/screenshots/tree.png new file mode 100644 index 000000000..79efd9f2d Binary files /dev/null and b/sales_order_delivery_status/static/description/assets/screenshots/tree.png differ diff --git a/sales_order_delivery_status/static/description/banner.png b/sales_order_delivery_status/static/description/banner.png new file mode 100644 index 000000000..94c023fe1 Binary files /dev/null and b/sales_order_delivery_status/static/description/banner.png differ diff --git a/sales_order_delivery_status/static/description/icon.png b/sales_order_delivery_status/static/description/icon.png new file mode 100644 index 000000000..698ea9226 Binary files /dev/null and b/sales_order_delivery_status/static/description/icon.png differ diff --git a/sales_order_delivery_status/static/description/index.html b/sales_order_delivery_status/static/description/index.html new file mode 100644 index 000000000..2a3033f1f --- /dev/null +++ b/sales_order_delivery_status/static/description/index.html @@ -0,0 +1,584 @@ + +
+
+
+
+ +
+
+
+ Community +
+
+ Enterprise +
+ +
+
+
+
+ +
+
+
+

+ Delivery Status on Sales Order

+

+ A Module for adding delivery status on sales order +

+ +
+
+ + + + +
+
+

+ Overview +

+
+ +
+

+ The delivery status on sales order module helps to find out the delivery status of each sales order. Delivery status is added in tree view and in the form view of sales order. + The different delivery status are: + (i) Nothing to Deliver - If no delivery is created for a sales order + (ii) To Deliver - Delivery is still to receive + (iii) Partially Deliver - If More than one delivery is created for a sales order and some of them received and some still to receive + (iv) Delivered - If all delivery are done + (v) Processing - If any delivery is in waiting state +

+ +
+
+ + +
+
+

+ Features +

+
+ +
+
+ +
+
+

+ Community & Enterprise Support

+

+ Available in Odoo 14.0 Community and Enterprise.

+
+
+
+
+ +
+
+

+ Delivery Status

+

+ Delivery Status: Nothing to Deliver, To Deliver, Partially Deliver, Delivered and Processing

+
+
+ +
+
+ +
+
+

+ Additional Configuration

+

+ No Additional Configuration is needed

+
+
+ +
+ +
+
+

+ Screenshots +

+
+
+

+ Tree view

+

+ Delivery Status on sales order tree view

+ +
+ +
+

+ Form View

+

+ Delivery Status on sales order form view +

+ +
+ +
+ + +
+
+

Suggested Products

+
+ + +
+
+ + +
+
+
+

Our Services

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

Our Industries

+
+
+ +
+
+ +
+ Trading +
+

+ Easily procure + and + sell your products

+
+
+ +
+
+ +
+ POS +
+

+ Easy + configuration + and convivial experience

+
+
+ +
+
+ +
+ Education +
+

+ A platform for + educational management

+
+
+ +
+
+ +
+ Manufacturing +
+

+ Plan, track and + schedule your operations

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

+ Mobile + friendly, + awe-inspiring product pages

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

+ Keep track of + services and invoice

+
+
+ +
+
+ +
+ Restaurant +
+

+ Run your bar or + restaurant methodically

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

+ An + all-inclusive + hotel management application

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

Need Help?

+
+
+
+ + +
+ +
+ +
+ +
+ WhatsApp +
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+
+ + +
\ No newline at end of file diff --git a/sales_order_delivery_status/views/sales_order.xml b/sales_order_delivery_status/views/sales_order.xml new file mode 100644 index 000000000..b973065dc --- /dev/null +++ b/sales_order_delivery_status/views/sales_order.xml @@ -0,0 +1,43 @@ + + + + sale.order.form.inherit + sale.order + + + + + + + + + sale.order.tree.inherit + sale.order + + + + + + + + + + sale.quotation.tree.inherit + sale.order + + + + + + + +