@ -0,0 +1,48 @@ | 
				
			|||||
 | 
					.. image:: https://img.shields.io/badge/license-LGPL--3-blue.svg | 
				
			||||
 | 
					    :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html | 
				
			||||
 | 
					    :alt: License: LGPL-3 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Inventory Move Mini Dashboard | 
				
			||||
 | 
					============================= | 
				
			||||
 | 
					A mini dashboard is added to the stock move and stock picking models that gives Inventory Mini Dashboard for Stock Moves and Transfers. | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Configuration | 
				
			||||
 | 
					============= | 
				
			||||
 | 
					* No additional configurations needed | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Company | 
				
			||||
 | 
					------- | 
				
			||||
 | 
					* `Cybrosys Techno Solutions <https://cybrosys.com/>`__ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					License | 
				
			||||
 | 
					------- | 
				
			||||
 | 
					General Public License, Version 3 (LGPL v3). | 
				
			||||
 | 
					(https://www.gnu.org/licenses/agpl-3.0-standalone.html) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Credits | 
				
			||||
 | 
					------- | 
				
			||||
 | 
					* Developer: | 
				
			||||
 | 
					            (V17) Vishnu KP, Contact: odoo@cybrosys.com, | 
				
			||||
 | 
					            (V18) Athira K, 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 <https://cybrosys.com/>`__ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Further information | 
				
			||||
 | 
					=================== | 
				
			||||
 | 
					HTML Description: `<static/description/index.html>`__ | 
				
			||||
@ -0,0 +1,22 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Athira K (<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    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 <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################ | 
				
			||||
 | 
					from . import model | 
				
			||||
@ -0,0 +1,49 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Vishnu KP (<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    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 <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################ | 
				
			||||
 | 
					{ | 
				
			||||
 | 
					    'name': 'Inventory Move Mini Dashboard', | 
				
			||||
 | 
					    'version': '18.0.1.0.0', | 
				
			||||
 | 
					    'category': 'Extra Tools', | 
				
			||||
 | 
					    'summary': 'Mini Dashboard View for Stock Moves and Transfers', | 
				
			||||
 | 
					    'description': 'Module offers a user-friendly mini dashboard for ' | 
				
			||||
 | 
					                   'stock moves and transfers, providing real-time data ' | 
				
			||||
 | 
					                   'visualization to efficiently track inventory movement', | 
				
			||||
 | 
					    'author': 'Cybrosys Techno Solution', | 
				
			||||
 | 
					    'company': 'Cybrosys Techno Solutions', | 
				
			||||
 | 
					    'maintainer': 'Cybrosys Techno Solution', | 
				
			||||
 | 
					    'website': 'https://www.cybrosys.com', | 
				
			||||
 | 
					    'depends': ['base', 'stock'], | 
				
			||||
 | 
					    'data': [ | 
				
			||||
 | 
					        'views/stock_move_views.xml', | 
				
			||||
 | 
					        'views/stock_picking_views.xml' | 
				
			||||
 | 
					    ], | 
				
			||||
 | 
					    'assets': { | 
				
			||||
 | 
					        'web.assets_backend': [ | 
				
			||||
 | 
					            'inventory_move_mini_dashboard/static/src/views/*.js', | 
				
			||||
 | 
					            'inventory_move_mini_dashboard/static/src/**/*.xml', | 
				
			||||
 | 
					        ]}, | 
				
			||||
 | 
					    'images': ['static/description/banner.png'], | 
				
			||||
 | 
					    'license': 'LGPL-3', | 
				
			||||
 | 
					    'installable': True, | 
				
			||||
 | 
					    'auto-install': False, | 
				
			||||
 | 
					    'application': False, | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,6 @@ | 
				
			|||||
 | 
					## Module <inventory_move_mini_dashboard> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					#### 9.10.2024 | 
				
			||||
 | 
					#### Version 18.0.1.0.0 | 
				
			||||
 | 
					#### ADD | 
				
			||||
 | 
					- Initial Commit for Inventory Move Mini Dashboard | 
				
			||||
@ -0,0 +1,22 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Athira K (<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    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 <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################ | 
				
			||||
 | 
					from . import stock_move, stock_picking | 
				
			||||
@ -0,0 +1,68 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Athira K (<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    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 <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################ | 
				
			||||
 | 
					from datetime import timedelta | 
				
			||||
 | 
					from odoo import api, fields, models | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class MiniDashboard(models.Model): | 
				
			||||
 | 
					    """Class for mini passing values to mini dashboard | 
				
			||||
 | 
					        retrieve_inventory_dashboard function for calculating values """ | 
				
			||||
 | 
					    _inherit = 'stock.move' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model | 
				
			||||
 | 
					    def retrieve_inventory_dashboard(self): | 
				
			||||
 | 
					        """ This function returns the values to populate the custom dashboard in | 
				
			||||
 | 
					            the stock move return result which includes the values of | 
				
			||||
 | 
					            numbers in all stages""" | 
				
			||||
 | 
					        result = { | 
				
			||||
 | 
					            'draft': 0, | 
				
			||||
 | 
					            'cancelled': 0, | 
				
			||||
 | 
					            'waiting': 0, | 
				
			||||
 | 
					            'partially_available': 0, | 
				
			||||
 | 
					            'assigned': 0, | 
				
			||||
 | 
					            'done': 0, | 
				
			||||
 | 
					            'count': 0, | 
				
			||||
 | 
					            'average_products': 0, | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					        stock_move = self.env['stock.move'] | 
				
			||||
 | 
					        last_week = fields.datetime.now() - timedelta(days=7) | 
				
			||||
 | 
					        stock_moves = stock_move.search( | 
				
			||||
 | 
					            [('date', '>=', last_week.strftime('%Y-%m-%d %H:%M:%S'))]) | 
				
			||||
 | 
					        total_qty = sum(move.product_qty for move in stock_move.search([])) | 
				
			||||
 | 
					        no_moves = len(stock_move.search([])) | 
				
			||||
 | 
					        if no_moves > 0: | 
				
			||||
 | 
					            avg_qty = int(total_qty / no_moves) | 
				
			||||
 | 
					        else: | 
				
			||||
 | 
					            avg_qty = 0 | 
				
			||||
 | 
					        result['average_products'] = avg_qty | 
				
			||||
 | 
					        result['count'] = len(stock_moves) | 
				
			||||
 | 
					        result['draft'] = stock_move.search_count([('state', '=', 'draft')]) | 
				
			||||
 | 
					        result['cancelled'] = stock_move.search_count( | 
				
			||||
 | 
					            [('state', '=', 'cancelled')]) | 
				
			||||
 | 
					        result['waiting'] = stock_move.search_count( | 
				
			||||
 | 
					            [('state', 'in', ('waiting', 'confirmed'))]) | 
				
			||||
 | 
					        result['partially_available'] = stock_move.search_count( | 
				
			||||
 | 
					            [('state', '=', 'partially_available')]) | 
				
			||||
 | 
					        result['assigned'] = stock_move.search_count( | 
				
			||||
 | 
					            [('state', '=', 'assigned')]) | 
				
			||||
 | 
					        result['done'] = stock_move.search_count([('state', '=', 'done')]) | 
				
			||||
 | 
					        return result | 
				
			||||
@ -0,0 +1,72 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Athira K (<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    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 <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################ | 
				
			||||
 | 
					from odoo import api, fields, models | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class PickingMiniDashboard(models.Model): | 
				
			||||
 | 
					    """Class for mini passing values to mini dashboard | 
				
			||||
 | 
					        stock_picking_dashboard function for calculating values | 
				
			||||
 | 
					    """ | 
				
			||||
 | 
					    _inherit = 'stock.picking' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model | 
				
			||||
 | 
					    def stock_picking_dashboard(self): | 
				
			||||
 | 
					        """ This function returns the values to populate the custom dashboard in | 
				
			||||
 | 
					            the stock picking return result which includes the values of | 
				
			||||
 | 
					            numbers in all stages """ | 
				
			||||
 | 
					        result = { | 
				
			||||
 | 
					            'draft': 0, | 
				
			||||
 | 
					            'waiting': 0, | 
				
			||||
 | 
					            'assigned': 0, | 
				
			||||
 | 
					            'done': 0, | 
				
			||||
 | 
					            'receipts': 0, | 
				
			||||
 | 
					            'outgoing': 0, | 
				
			||||
 | 
					            'internal': 0, | 
				
			||||
 | 
					            'cancel': 0 | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					        current_date = fields.datetime.now().date() | 
				
			||||
 | 
					        start_date = current_date.replace(day=1) | 
				
			||||
 | 
					        domain = [('state', '=', 'done'), | 
				
			||||
 | 
					                  ('picking_type_id.code', '=', 'incoming'), | 
				
			||||
 | 
					                  ('date_done', '>=', start_date) | 
				
			||||
 | 
					                  ] | 
				
			||||
 | 
					        stock_picking = self.env['stock.picking'] | 
				
			||||
 | 
					        receipts = stock_picking.search_count(domain) | 
				
			||||
 | 
					        outgoing = stock_picking.search_count( | 
				
			||||
 | 
					            [('state', '=', 'done'), ('picking_type_id.code', '=', 'outgoing'), | 
				
			||||
 | 
					             ('date_done', '>=', start_date)]) | 
				
			||||
 | 
					        internal = stock_picking.search_count( | 
				
			||||
 | 
					            [('state', '=', 'done'), ('picking_type_id.code', '=', 'internal'), | 
				
			||||
 | 
					             ('date_done', '>=', start_date)]) | 
				
			||||
 | 
					        cancel = stock_picking.search_count( | 
				
			||||
 | 
					            [('state', '=', 'cancel'), ('date', '>=', start_date)]) | 
				
			||||
 | 
					        result['cancel'] = cancel | 
				
			||||
 | 
					        result['internal'] = internal | 
				
			||||
 | 
					        result['outgoing'] = outgoing | 
				
			||||
 | 
					        result['receipts'] = receipts | 
				
			||||
 | 
					        result['draft'] = stock_picking.search_count([('state', '=', 'draft')]) | 
				
			||||
 | 
					        result['waiting'] = stock_picking.search_count( | 
				
			||||
 | 
					            [('state', 'in', ('waiting', 'confirmed'))]) | 
				
			||||
 | 
					        result['done'] = stock_picking.search_count([('state', '=', 'done')]) | 
				
			||||
 | 
					        result['assigned'] = stock_picking.search_count( | 
				
			||||
 | 
					            [('state', '=', 'assigned')]) | 
				
			||||
 | 
					        return result | 
				
			||||
| 
		 After Width: | Height: | Size: 2.2 KiB  | 
| 
		 After Width: | Height: | Size: 28 KiB  | 
| 
		 After Width: | Height: | Size: 628 KiB  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 210 KiB  | 
| 
		 After Width: | Height: | Size: 209 KiB  | 
| 
		 After Width: | Height: | Size: 109 KiB  | 
| 
		 After Width: | Height: | Size: 495 B  | 
| 
		 After Width: | Height: | Size: 1.0 KiB  | 
| 
		 After Width: | Height: | Size: 624 B  | 
| 
		 After Width: | Height: | Size: 136 KiB  | 
| 
		 After Width: | Height: | Size: 214 KiB  | 
| 
		 After Width: | Height: | Size: 36 KiB  | 
| 
		 After Width: | Height: | Size: 3.6 KiB  | 
| 
		 After Width: | Height: | Size: 310 B  | 
| 
		 After Width: | Height: | Size: 929 B  | 
| 
		 After Width: | Height: | Size: 1.3 KiB  | 
| 
		 After Width: | Height: | Size: 3.3 KiB  | 
| 
		 After Width: | Height: | Size: 1.4 KiB  | 
| 
		 After Width: | Height: | Size: 17 KiB  | 
| 
		 After Width: | Height: | Size: 542 B  | 
| 
		 After Width: | Height: | Size: 576 B  | 
| 
		 After Width: | Height: | Size: 733 B  | 
| 
		 After Width: | Height: | Size: 4.3 KiB  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 4.0 KiB  | 
| 
		 After Width: | Height: | Size: 1.7 KiB  | 
| 
		 After Width: | Height: | Size: 87 KiB  | 
| 
		 After Width: | Height: | Size: 2.2 KiB  | 
| 
		 After Width: | Height: | Size: 911 B  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 600 B  | 
| 
		 After Width: | Height: | Size: 673 B  | 
| 
		 After Width: | Height: | Size: 2.0 KiB  | 
| 
		 After Width: | Height: | Size: 462 B  | 
| 
		 After Width: | Height: | Size: 2.1 KiB  | 
| 
		 After Width: | Height: | Size: 926 B  | 
| 
		 After Width: | Height: | Size: 9.0 KiB  | 
| 
		 After Width: | Height: | Size: 23 KiB  | 
| 
		 After Width: | Height: | Size: 7.0 KiB  | 
| 
		 After Width: | Height: | Size: 878 B  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 653 B  | 
| 
		 After Width: | Height: | Size: 800 B  | 
| 
		 After Width: | Height: | Size: 905 B  | 
| 
		 After Width: | Height: | Size: 189 KiB  | 
| 
		 After Width: | Height: | Size: 4.3 KiB  | 
| 
		 After Width: | Height: | Size: 839 B  | 
| 
		 After Width: | Height: | Size: 1.7 KiB  | 
| 
		 After Width: | Height: | Size: 5.9 KiB  | 
| 
		 After Width: | Height: | Size: 1.6 KiB  | 
| 
		 After Width: | Height: | Size: 34 KiB  | 
| 
		 After Width: | Height: | Size: 26 KiB  | 
| 
		 After Width: | Height: | Size: 3.8 KiB  | 
| 
		 After Width: | Height: | Size: 23 KiB  | 
| 
		 After Width: | Height: | Size: 1.9 KiB  | 
| 
		 After Width: | Height: | Size: 2.3 KiB  | 
| 
		 After Width: | Height: | Size: 427 B  | 
| 
		 After Width: | Height: | Size: 627 B  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 988 B  | 
| 
		 After Width: | Height: | Size: 3.7 KiB  | 
| 
		 After Width: | Height: | Size: 5.0 KiB  | 
| 
		 After Width: | Height: | Size: 875 B  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 912 KiB  | 
| 
		 After Width: | Height: | Size: 1.3 MiB  | 
| 
		 After Width: | Height: | Size: 46 KiB  | 
| 
		 After Width: | Height: | Size: 44 KiB  | 
| 
		 After Width: | Height: | Size: 46 KiB  | 
| 
		 After Width: | Height: | Size: 85 KiB  | 
| 
		 After Width: | Height: | Size: 164 KiB  | 
| 
		 After Width: | Height: | Size: 90 KiB  | 
| 
		 After Width: | Height: | Size: 880 KiB  | 
| 
		 After Width: | Height: | Size: 91 KiB  | 
| 
		 After Width: | Height: | Size: 11 KiB  | 
@ -0,0 +1,808 @@ | 
				
			|||||
 | 
					<!DOCTYPE html> | 
				
			||||
 | 
					<html lang="en"> | 
				
			||||
 | 
					<head> | 
				
			||||
 | 
					    <meta charset="UTF-8"/> | 
				
			||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0"/> | 
				
			||||
 | 
					    <title>Inventory Move Mini Dashboard</title> | 
				
			||||
 | 
					    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" | 
				
			||||
 | 
					          rel="stylesheet"/> | 
				
			||||
 | 
					    <link rel="preconnect" href="https://fonts.googleapis.com"> | 
				
			||||
 | 
					    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> | 
				
			||||
 | 
					    <link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap" | 
				
			||||
 | 
					          rel="stylesheet"> | 
				
			||||
 | 
					    <link rel="stylesheet" | 
				
			||||
 | 
					          href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css"/> | 
				
			||||
 | 
					    <link rel="stylesheet" | 
				
			||||
 | 
					          href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.carousel.min.css"/> | 
				
			||||
 | 
					    <style> | 
				
			||||
 | 
					        :root { | 
				
			||||
 | 
					          --primary-color: #7f54b3; | 
				
			||||
 | 
					          --bg-white: #fff; | 
				
			||||
 | 
					          --text-color: #121212; | 
				
			||||
 | 
					          --text-color-light: #64728f; | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					        body{ | 
				
			||||
 | 
					          font-family: "Montserrat", sans-serif; | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					        .nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active { | 
				
			||||
 | 
					            color: var(--text-color); | 
				
			||||
 | 
					            font-family: Montserrat; | 
				
			||||
 | 
					            font-size: 16px !important; | 
				
			||||
 | 
					            font-weight: 500 !important; | 
				
			||||
 | 
					            border-radius: 30px; | 
				
			||||
 | 
					            line-height: normal; | 
				
			||||
 | 
					            text-transform: capitalize; | 
				
			||||
 | 
					            background-color: #F5F5F5; | 
				
			||||
 | 
					            border: none; | 
				
			||||
 | 
					            margin-bottom: 0; | 
				
			||||
 | 
					            padding: 12px 24px; | 
				
			||||
 | 
					      } | 
				
			||||
 | 
					      .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover { | 
				
			||||
 | 
					      border-color: transparent; | 
				
			||||
 | 
					      isolation: isolate; | 
				
			||||
 | 
					      } | 
				
			||||
 | 
					      .nav-tabs .nav-link:focus-visible { | 
				
			||||
 | 
					      border-color: transparent; | 
				
			||||
 | 
					      box-shadow: none; | 
				
			||||
 | 
					      } | 
				
			||||
 | 
					      /* owl-carosel */ | 
				
			||||
 | 
					    .owl-carousel .owl-nav { | 
				
			||||
 | 
					      position: absolute; | 
				
			||||
 | 
					      top: 42%; | 
				
			||||
 | 
					      width: 100%; | 
				
			||||
 | 
					      display: flex; | 
				
			||||
 | 
					      justify-content: space-between; | 
				
			||||
 | 
					      transform: translateY(-42%); | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    .owl-carousel .owl-nav button.owl-prev { | 
				
			||||
 | 
					      position: absolute; | 
				
			||||
 | 
					      right: -36px; | 
				
			||||
 | 
					      font-size: 28px; | 
				
			||||
 | 
					      background-color: #e4e4e4; | 
				
			||||
 | 
					      border-radius: 20px; | 
				
			||||
 | 
					      width: 40px; | 
				
			||||
 | 
					      height: 40px; | 
				
			||||
 | 
					      display: flex; | 
				
			||||
 | 
					      justify-content: center; | 
				
			||||
 | 
					      align-items: center; | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    .owl-carousel .owl-nav button.owl-next { | 
				
			||||
 | 
					      position: absolute; | 
				
			||||
 | 
					      left: -36px; | 
				
			||||
 | 
					      font-size: 28px; | 
				
			||||
 | 
					      background-color: #e4e4e4; | 
				
			||||
 | 
					      border-radius: 20px; | 
				
			||||
 | 
					      width: 40px; | 
				
			||||
 | 
					      height: 40px; | 
				
			||||
 | 
					      display: flex; | 
				
			||||
 | 
					      justify-content: center; | 
				
			||||
 | 
					      align-items: center; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    </style> | 
				
			||||
 | 
					</head> | 
				
			||||
 | 
					<body> | 
				
			||||
 | 
					<!-- overview --> | 
				
			||||
 | 
					<div class="container"> | 
				
			||||
 | 
					    <div class="my-5"> | 
				
			||||
 | 
					        <!-- button tab --> | 
				
			||||
 | 
					        <!--  --> | 
				
			||||
 | 
					        <!-- version support --> | 
				
			||||
 | 
					        <div class="my-3 d-flex align-items-center justify-content-end"> | 
				
			||||
 | 
					            <div class="text-center" | 
				
			||||
 | 
					                 style="background-color:#017E84 !important; font-size:0.8rem !important; color:#fff !important; font-weight:500 !important; padding:4px !important; margin:0 3px !important; border-radius:50px !important; min-width:120px !important"> | 
				
			||||
 | 
					                Community | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <div class="text-center" | 
				
			||||
 | 
					                 style="background-color:#875A7B !important; color:#fff !important; font-size:0.8rem !important; font-weight:500 !important; padding:4px !important; margin:0 3px !important; border-radius:50px !important; min-width:120px !important"> | 
				
			||||
 | 
					                Enterprise | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <!--            <div class="text-center"--> | 
				
			||||
 | 
					            <!--                 style="background-color:#7C7BAD !important; color:#fff !important; font-size:0.8rem !important; font-weight:500 !important; padding:4px !important; margin:0 3px !important; border-radius:50px !important; min-width:120px !important">--> | 
				
			||||
 | 
					            <!--                Odoo.sh--> | 
				
			||||
 | 
					            <!--            </div>--> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="tab-content" id="myTabContent"> | 
				
			||||
 | 
					            <!-- description --> | 
				
			||||
 | 
					            <div class="tab-pane fade show active" id="home" role="tabpanel" | 
				
			||||
 | 
					                 aria-labelledby="home-tab"> | 
				
			||||
 | 
					                <div class="position-relative" | 
				
			||||
 | 
					                     style="border-radius: 16px; background: #f8f8f8; padding: 20px 0;"> | 
				
			||||
 | 
					                    <div class="row " style=" | 
				
			||||
 | 
					          padding: 2rem 0rem 0 !important; | 
				
			||||
 | 
					        "> | 
				
			||||
 | 
					                        <div class="col-lg-8 mx-auto gap-4 d-flex flex-column align-items-center"> | 
				
			||||
 | 
					                            <p class="my-1 text-center text-uppercase" | 
				
			||||
 | 
					                               style=" | 
				
			||||
 | 
					              letter-spacing: 4px !important; | 
				
			||||
 | 
					              color: var(--primary-color); | 
				
			||||
 | 
					              font-weight: bold; | 
				
			||||
 | 
					              text-align: center; | 
				
			||||
 | 
					              font-size: 14px; | 
				
			||||
 | 
					              font-weight: 600; | 
				
			||||
 | 
					              line-height: 15.96px; | 
				
			||||
 | 
					              text-transform: uppercase; | 
				
			||||
 | 
					            "> | 
				
			||||
 | 
					                                This Module Helps in tracking and counting stock moves within Odoo's inventory system. | 
				
			||||
 | 
					                            </p> | 
				
			||||
 | 
					                            <h1 class="text-center text-uppercase my-0" | 
				
			||||
 | 
					                                style=" | 
				
			||||
 | 
					              color: var(--text-color); | 
				
			||||
 | 
					              font-size: 46px; | 
				
			||||
 | 
					              font-weight: 700; | 
				
			||||
 | 
					              line-height: normal; | 
				
			||||
 | 
					            ">Inventory Move Mini Dashboard</span> | 
				
			||||
 | 
					                            </h1> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="col-lg-12 d-flex justify-content-center align-items-center" | 
				
			||||
 | 
					                             style="margin: 3rem 0;"> | 
				
			||||
 | 
					                            <img src="./assets/icons/brand-pair.svg" | 
				
			||||
 | 
					                                 width="100%" | 
				
			||||
 | 
					                                 height="auto" | 
				
			||||
 | 
					                                 style="width: 50%" | 
				
			||||
 | 
					                                 class="img-responsive"/> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="col-md-12 text-center"> | 
				
			||||
 | 
					                            <a href="mailto:odoo@cybrosys.com" | 
				
			||||
 | 
					                               target="_blank" | 
				
			||||
 | 
					                               style="background-color: transparent;border-radius: 35px; | 
				
			||||
 | 
					              font-family: Montserrat; | 
				
			||||
 | 
					              display: inline-block; | 
				
			||||
 | 
					              padding: 7px 33px; | 
				
			||||
 | 
					              border: 1px solid var(--primary-color); | 
				
			||||
 | 
					              color: var(--primary-color); | 
				
			||||
 | 
					              text-decoration: none; | 
				
			||||
 | 
					            " | 
				
			||||
 | 
					                               class="mx-1 mb-2 deep-1 deep_hover"> | 
				
			||||
 | 
					                                <img class="img" | 
				
			||||
 | 
					                                     style="width: 24px" | 
				
			||||
 | 
					                                     src="./assets/icons/mail.svg"/> | 
				
			||||
 | 
					                                <span class="pl-2" | 
				
			||||
 | 
					                                      style=" font-size: 16px; vertical-align: middle" | 
				
			||||
 | 
					                                >Email Us</span | 
				
			||||
 | 
					                                > | 
				
			||||
 | 
					                            </a> | 
				
			||||
 | 
					                            <a href="skype:cybroopenerp?chat" | 
				
			||||
 | 
					                               target="_blank" | 
				
			||||
 | 
					                               style=" | 
				
			||||
 | 
					              background-color: #7f289b; | 
				
			||||
 | 
					              font-family: Montserrat; | 
				
			||||
 | 
					              display: inline-block; | 
				
			||||
 | 
					              padding: 7px 33px; | 
				
			||||
 | 
					              border: 1px solid #7f289b; | 
				
			||||
 | 
					              border-radius: 35px; | 
				
			||||
 | 
					              text-decoration: none; | 
				
			||||
 | 
					            " | 
				
			||||
 | 
					                               class="mx-1 mb-2 deep-1 deep_hover"> | 
				
			||||
 | 
					                                <img | 
				
			||||
 | 
					                                        class="img" | 
				
			||||
 | 
					                                        style="width: 24px" | 
				
			||||
 | 
					                                        src="./assets/icons/skype-fill.svg" | 
				
			||||
 | 
					                                /> | 
				
			||||
 | 
					                                <span | 
				
			||||
 | 
					                                        class="pl-2" | 
				
			||||
 | 
					                                        style="color: #fff; font-size: 16px; vertical-align: middle" | 
				
			||||
 | 
					                                >Skype Us</span | 
				
			||||
 | 
					                                > | 
				
			||||
 | 
					                            </a> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="d-flex justify-content-center mt-2"> | 
				
			||||
 | 
					                            <img src="./assets/icons/hero.gif" | 
				
			||||
 | 
					                                 class="w-100" | 
				
			||||
 | 
					                                 style="z-index: 3; height: auto;"> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="position-absolute" | 
				
			||||
 | 
					                         style="bottom: 0; z-index: 1; width: 100%;"> | 
				
			||||
 | 
					                        <img src="./assets/icons/banner-bg.svg" | 
				
			||||
 | 
					                             class="img-fluid w-100"> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="position-absolute" | 
				
			||||
 | 
					                         style="bottom: 0; right: 0; z-index: 2;"> | 
				
			||||
 | 
					                        <img src="./assets/icons/patter.svg"> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <!-- key-highlight --> | 
				
			||||
 | 
					                <div class="" style="border-radius: 16px; | 
				
			||||
 | 
					     padding: 60px 40px; | 
				
			||||
 | 
					     border: 1px solid #EBEEF2; | 
				
			||||
 | 
					     background: #F5F5F7; | 
				
			||||
 | 
					     box-shadow: 0px 5px 20px -11px rgba(0, 0, 0, 0.25); "> | 
				
			||||
 | 
					                    <div class="row"> | 
				
			||||
 | 
					                        <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center"> | 
				
			||||
 | 
					                            <h2 style=" color: var(--text-color); | 
				
			||||
 | 
					            text-align: center; | 
				
			||||
 | 
					            font-size: 40px; | 
				
			||||
 | 
					            font-weight: 700; | 
				
			||||
 | 
					            text-transform: uppercase; padding-bottom: 50px;">Key | 
				
			||||
 | 
					                                Heighlights</h2> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="col-lg-4"> | 
				
			||||
 | 
					                            <div class="mb-4 d-flex flex-column justify-content-center gap-3" | 
				
			||||
 | 
					                                 style="border-radius: 12px; border: 1px solid  #B6BCCD; | 
				
			||||
 | 
					            background:  #FFF;padding:32px "> | 
				
			||||
 | 
					                                <div class="d-flex justify-content-center align-items-center" | 
				
			||||
 | 
					                                     style="background-color:#7847D9 !important; border-radius:8px !important; height:42px; width:42px"> | 
				
			||||
 | 
					                                    <img src="./assets/icons/feature-icon.svg" | 
				
			||||
 | 
					                                         class="img-responsive" height="26px" | 
				
			||||
 | 
					                                         width="26px"> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                                <h5 class="m-0" | 
				
			||||
 | 
					                                    style="color:#000 !important; font-weight:bold"> | 
				
			||||
 | 
					                                    Stock delivery | 
				
			||||
 | 
					                                </h5> | 
				
			||||
 | 
					                                <p class="m-0" | 
				
			||||
 | 
					                                   style="font-size:0.9rem; color:var(--text-color-light); font-size: 16px; font-weight: 400;"> | 
				
			||||
 | 
					                                    Able to track the stock deliveries from the warehouse.</p> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="col-lg-4"> | 
				
			||||
 | 
					                            <div class="mb-4 d-flex flex-column justify-content-center gap-3" | 
				
			||||
 | 
					                                 style="border-radius: 12px; | 
				
			||||
 | 
					          border: 1px solid  #B6BCCD; | 
				
			||||
 | 
					          background:  #FFF;padding:32px "> | 
				
			||||
 | 
					                                <div class="d-flex justify-content-center align-items-center" | 
				
			||||
 | 
					                                     style="background-color:#7847D9 !important; border-radius:8px !important; height:42px; width:42px"> | 
				
			||||
 | 
					                                    <img src="./assets/icons/feature-icon.svg" | 
				
			||||
 | 
					                                         class="img-responsive" height="26px" | 
				
			||||
 | 
					                                         width="26px"> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                                <h5 class="m-0" | 
				
			||||
 | 
					                                    style="color:#000 !important; font-weight:bold"> | 
				
			||||
 | 
					                                    Stock reciepts | 
				
			||||
 | 
					                                </h5> | 
				
			||||
 | 
					                                <p class="m-0" | 
				
			||||
 | 
					                                   style="font-size:0.9rem; color:var(--text-color-light); font-size: 16px; font-weight: 400;"> | 
				
			||||
 | 
					                                    Able to track the stock reciepts to the warehouse. | 
				
			||||
 | 
					                                </p> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <!--code  --> | 
				
			||||
 | 
					                <div class="my-5"> | 
				
			||||
 | 
					                    <div style=" padding: 5rem 4rem 5rem 4rem; background-color: #0A1425; border-radius: 12px; position: relative;"> | 
				
			||||
 | 
					                        <div class="wrapper-info" | 
				
			||||
 | 
					                             style="display: flex; flex-direction: column; gap: 20px;"> | 
				
			||||
 | 
					                            <span class="wrapper-subtitle" | 
				
			||||
 | 
					                                  style="font-size: 40px; font-weight: 700; color: #fff;line-height: 60px; text-transform: capitalize; width: 450px;">Inventory Move Mini Dashboard</span> | 
				
			||||
 | 
					                            <h3 class="wrapper-details" | 
				
			||||
 | 
					                                style="font-size: 20px; font-weight: 400; color: #fff; line-height: 32px; "> | 
				
			||||
 | 
					                                Are you ready to make your business more | 
				
			||||
 | 
					                                organized? | 
				
			||||
 | 
					                                <br> Improve now! | 
				
			||||
 | 
					                            </h3> | 
				
			||||
 | 
					                            <div class="d-flex gap-3"> | 
				
			||||
 | 
					                                <a href="mailto:odoo@cybrosys.com" | 
				
			||||
 | 
					                                   class="shop-btn" style="cursor: pointer; border-radius: 16px; display: flex; justify-content: center; align-items: center; gap: 7px; | 
				
			||||
 | 
					            border: 1px solid var(--DarkOverlayElement-DO20, rgba(255, 255, 255, 0.20)); | 
				
			||||
 | 
					            background: linear-gradient(93deg, rgba(255, 255, 255, 0.08) 6.01%, rgba(255, 255, 255, 0.17) 90.83%); | 
				
			||||
 | 
					            backdrop-filter: blur(10px); color: #fff; padding: 12px 16px 12px 16px; text-decoration: none;"> | 
				
			||||
 | 
					             <span style="border-radius: 12px; | 
				
			||||
 | 
					             background: var(--DarkOverlayElement-DO10, rgba(255, 255, 255, 0.10)); | 
				
			||||
 | 
					             backdrop-filter: blur(6px);padding: 12px;"> | 
				
			||||
 | 
					              <img src="./assets/icons/banner-mail.svg"> | 
				
			||||
 | 
					           </span> | 
				
			||||
 | 
					                                    <span style="font-weight: 500;">odoo@cybrosys.com</span> | 
				
			||||
 | 
					                                </a> | 
				
			||||
 | 
					                                <a href="https://wa.me/919074270811" target="_blank" class="shop-btn" | 
				
			||||
 | 
					                                   style="cursor: pointer; border-radius: 16px; display: flex; justify-content: center; align-items: center; gap: 7px; | 
				
			||||
 | 
					            border: 1px solid var(--DarkOverlayElement-DO20, rgba(255, 255, 255, 0.20)); | 
				
			||||
 | 
					            background: linear-gradient(93deg, rgba(255, 255, 255, 0.08) 6.01%, rgba(255, 255, 255, 0.17) 90.83%); | 
				
			||||
 | 
					            backdrop-filter: blur(10px); color: #fff; padding: 12px 22px 12px 18px; text-decoration: none;"> | 
				
			||||
 | 
					             <span style="border-radius: 12px; | 
				
			||||
 | 
					             background: var(--DarkOverlayElement-DO10, rgba(255, 255, 255, 0.10)); | 
				
			||||
 | 
					             backdrop-filter: blur(6px);padding: 12px;"> | 
				
			||||
 | 
					              <img src="./assets/icons/banner-call.svg"> | 
				
			||||
 | 
					           </span> | 
				
			||||
 | 
					                                    <span style="font-weight: 500;">+91 9074270811</span> | 
				
			||||
 | 
					                                </a> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="" | 
				
			||||
 | 
					                             style="position: absolute; bottom: 0; right: 0;"> | 
				
			||||
 | 
					                            <img src="./assets/icons/banner-pattern.svg" | 
				
			||||
 | 
					                                 style="width: 540px;"> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <!-- end-code --> | 
				
			||||
 | 
					                <!--  --> | 
				
			||||
 | 
					                <!-- screenshot and other --> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                <div class="mb-4 bg-white" | 
				
			||||
 | 
					                     style=" border: 1px solid #EBEEF2; border-radius: 6px; box-shadow: 0px 8px 20px -4px rgba(0, 0, 0, 0.10); border: 1px solid #EBEEF2;"> | 
				
			||||
 | 
					                    <div> | 
				
			||||
 | 
					                        <ul class="nav nav-tabs justify-content-center bg-white py-2" | 
				
			||||
 | 
					                            id="myTab" role="tablist" | 
				
			||||
 | 
					                            style="border-radius: 6px 6px 0 0;"> | 
				
			||||
 | 
					                            <li class="nav-item"> | 
				
			||||
 | 
					                                <a aria-controls="overview" | 
				
			||||
 | 
					                                   aria-bs-selected="true" | 
				
			||||
 | 
					                                   class="nav-link active" data-bs-toggle="tab" | 
				
			||||
 | 
					                                   href="#overview" id="overview-tab" role="tab" | 
				
			||||
 | 
					                                   style="color:#121212; font-weight:500; font-size:16px"> | 
				
			||||
 | 
					                                    Screenshots</a> | 
				
			||||
 | 
					                            </li> | 
				
			||||
 | 
					                            <li class="nav-item"> | 
				
			||||
 | 
					                                <a aria-controls="feature" | 
				
			||||
 | 
					                                   aria-bs-selected="false" | 
				
			||||
 | 
					                                   class="nav-link py-2" data-bs-toggle="tab" | 
				
			||||
 | 
					                                   href="#feature" id="feature-tab" role="tab" | 
				
			||||
 | 
					                                   style="color:#121212; font-weight:500; font-size:16px">Features</a> | 
				
			||||
 | 
					                            </li> | 
				
			||||
 | 
					                            <li class="nav-item"> | 
				
			||||
 | 
					                                <a aria-controls="releases" | 
				
			||||
 | 
					                                   aria-bs-selected="false" class="nav-link" | 
				
			||||
 | 
					                                   data-bs-toggle="tab" href="#releases" | 
				
			||||
 | 
					                                   id="releases-tab" role="tab" | 
				
			||||
 | 
					                                   style="color:#121212; font-weight:500; font-size:16px">Releases</a> | 
				
			||||
 | 
					                            </li> | 
				
			||||
 | 
					                        </ul> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="tab-content p-md-5 p-2 py-3" id="myTabContent"> | 
				
			||||
 | 
					                        <div aria-labelledby="overview-tab" | 
				
			||||
 | 
					                             class="tab-pane fade show active" id="overview" | 
				
			||||
 | 
					                             role="tabpanel"> | 
				
			||||
 | 
					                            <div class="position-relative mb-4" | 
				
			||||
 | 
					                                 style="border-radius:10px"> | 
				
			||||
 | 
					                                <img alt="acc_bg" | 
				
			||||
 | 
					                                     class="w-100 h-100 position-absolute img-fluid left_0" | 
				
			||||
 | 
					                                     loading="lazy" | 
				
			||||
 | 
					                                     src="//apps.odoocdn.com/apps/assets/17.0/ks_dashboard_ninja/ai-img/o3.png?007008f" | 
				
			||||
 | 
					                                     style=""> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <!-- screenshots section--> | 
				
			||||
 | 
					                            <div class="position-relative mb-4" | 
				
			||||
 | 
					                                 style="border-radius:10px; background-color:#f4f4f4"> | 
				
			||||
 | 
					                                <div class="p-md-5 p-3 position-relative"> | 
				
			||||
 | 
					                                    <div class="row"> | 
				
			||||
 | 
					                                        <div class="col-md-12"> | 
				
			||||
 | 
					                                            <h1 style="font-weight:bold; font-size:calc(1.1rem + 1vw); line-height:120%; text-align:center; text-transform:capitalize; font-size: 40px; | 
				
			||||
 | 
					                              font-weight: 700;"> | 
				
			||||
 | 
					                                      <span style="color:#121212; font-size:calc(1.1rem + 1vw)">mini dashboard for | 
				
			||||
 | 
					                                      </span> | 
				
			||||
 | 
					                                                <span style="color: var(--primary-color); font-size:calc(1.1rem + 1vw)"> stock delivery</span> | 
				
			||||
 | 
					                                            </h1> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                        <div class="col-md-12 mb-4"> | 
				
			||||
 | 
					                                            <p style="font-weight:400; font-size:16px; line-height:150%; text-align:center;  color:var(--text-color-light)"> | 
				
			||||
 | 
					                                                Go to Inventory --> Oprations --> Deliveries | 
				
			||||
 | 
					                                            </p> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                        <div class="col-md-12 text-center"> | 
				
			||||
 | 
					                                            <div class="d-inline-block p-3 shadow-sm" | 
				
			||||
 | 
					                                                 style="background-color:#fff; border-radius:10px"> | 
				
			||||
 | 
					                                                <img alt="" class="img-fluid" | 
				
			||||
 | 
					                                                     loading="lazy" | 
				
			||||
 | 
					                                                     src="./assets/screenshots/1.png" | 
				
			||||
 | 
					                                                     style="min-height: 1px;"> | 
				
			||||
 | 
					                                            </div> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="position-relative mb-4" | 
				
			||||
 | 
					                                 style="border-radius:10px; background-color:#f4f4f4"> | 
				
			||||
 | 
					                                <div class="p-md-5 p-3 position-relative"> | 
				
			||||
 | 
					                                    <div class="row"> | 
				
			||||
 | 
					                                        <div class="col-md-12"> | 
				
			||||
 | 
					                                            <h1 style="font-weight:bold; font-size:calc(1.1rem + 1vw); line-height:120%; text-align:center; text-transform:capitalize; font-size: 40px; | 
				
			||||
 | 
					                              font-weight: 700;"> | 
				
			||||
 | 
					                                      <span style="color:#121212; font-size:calc(1.1rem + 1vw)">mini dashboard for | 
				
			||||
 | 
					                                      </span> | 
				
			||||
 | 
					                                                <span style="color: var(--primary-color); font-size:calc(1.1rem + 1vw)">stock reciept.</span> | 
				
			||||
 | 
					                                            </h1> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                        <div class="col-md-12 mb-4"> | 
				
			||||
 | 
					                                            <p style="font-weight:400; font-size:16px; line-height:150%; text-align:center;  color:var(--text-color-light)"> | 
				
			||||
 | 
					                                                Go to Inventory --> Oprations --> Reciepts | 
				
			||||
 | 
					                                            </p> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                        <div class="col-md-12 text-center"> | 
				
			||||
 | 
					                                            <div class="d-inline-block p-3 shadow-sm" | 
				
			||||
 | 
					                                                 style="background-color:#fff; border-radius:10px"> | 
				
			||||
 | 
					                                                <img alt="" class="img-fluid" | 
				
			||||
 | 
					                                                     loading="lazy" | 
				
			||||
 | 
					                                                     src="./assets/screenshots/2.png" | 
				
			||||
 | 
					                                                     style="min-height: 1px;"> | 
				
			||||
 | 
					                                            </div> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div aria-labelledby="feature-tab" | 
				
			||||
 | 
					                             class="tab-pane fade show py-1" id="feature" | 
				
			||||
 | 
					                             role="tabpanel"> | 
				
			||||
 | 
					                            <div class="row py-4"> | 
				
			||||
 | 
					                                <!-- Features Section --> | 
				
			||||
 | 
					                                <div class="col-md-6 col-sm-12 p-3"> | 
				
			||||
 | 
					                                    <div class="d-flex flex-column align-items-start h-100" | 
				
			||||
 | 
					                                         style="padding:30px; border-radius:12px; background-color:#faf8ff"> | 
				
			||||
 | 
					                                        <div class="d-flex align-items-center justify-content-center"> | 
				
			||||
 | 
					                                            <div class="d-flex align-items-center justify-content-center " | 
				
			||||
 | 
					                                                 style="width:36px; height:36px; border-radius:50%; background-color:#7847D9 ; margin-right:10px"> | 
				
			||||
 | 
					                                                <i class="fa fa-star  " | 
				
			||||
 | 
					                                                   style="color:#fff; font-size:14px"></i> | 
				
			||||
 | 
					                                            </div> | 
				
			||||
 | 
					                                            <p style="color:#1A202C; font-weight:600; font-size:1.2rem; margin-bottom:2px"> | 
				
			||||
 | 
					                                                Able to track count of stock deliveries in inventory.</p> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                                <div class="col-md-6 col-sm-12 p-3"> | 
				
			||||
 | 
					                                    <div class="d-flex flex-column align-items-start h-100" | 
				
			||||
 | 
					                                         style="padding:30px; border-radius:12px; background-color:#faf8ff"> | 
				
			||||
 | 
					                                        <div class="d-flex align-items-center justify-content-center"> | 
				
			||||
 | 
					                                            <div class="d-flex align-items-center justify-content-center " | 
				
			||||
 | 
					                                                 style="width:36px; height:36px; border-radius:50%; background-color:#7847D9 ; margin-right:10px"> | 
				
			||||
 | 
					                                                <i class="fa fa-star  " | 
				
			||||
 | 
					                                                   style="color:#fff; font-size:14px"></i> | 
				
			||||
 | 
					                                            </div> | 
				
			||||
 | 
					                                            <p style="color:#1A202C; font-weight:600; font-size:1.2rem; margin-bottom:2px"> | 
				
			||||
 | 
					                                                Able to track count of stock reciepts in inventory.</p> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div aria-labelledby="releases-tab" | 
				
			||||
 | 
					                             class="tab-pane fade show" id="releases" | 
				
			||||
 | 
					                             role="tabpanel"> | 
				
			||||
 | 
					                            <!-- Release Notes --> | 
				
			||||
 | 
					                            <div class="row pt-5 m-0"> | 
				
			||||
 | 
					                                <div class="col-md-3"> | 
				
			||||
 | 
					                                    <h4 style="font-size:16px; font-weight:600; color:#514F4F; margin:0; line-height:26px;"> | 
				
			||||
 | 
					                                        Latest Release 18.0.1.0.0 | 
				
			||||
 | 
					                                    </h4> | 
				
			||||
 | 
					                                    <span style="font-size:14px; color:#7A7979; display:block; margin-bottom:20px;"> | 
				
			||||
 | 
					                                          9th October, 2024 | 
				
			||||
 | 
					                                    </span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                                <div class="col-md-8"> | 
				
			||||
 | 
					                                    <div style="padding:0 0 40px"> | 
				
			||||
 | 
					                                        <div style="margin:0 0 10px"> | 
				
			||||
 | 
					                                            <div style="display:inline-block; padding:0px 8px; color:#514F4F; background-color:#FFD8D8; border-radius:20px"> | 
				
			||||
 | 
					                                                Add | 
				
			||||
 | 
					                                            </div> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                        <div class="d-flex m-0" | 
				
			||||
 | 
					                                             style="color:#7A7979;"> | 
				
			||||
 | 
					                                            <ul class="pl-3 mb-0"> | 
				
			||||
 | 
					                                                <li> | 
				
			||||
 | 
					                                                    Initial Commit | 
				
			||||
 | 
					                                                </li> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                                            </ul> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                    <div style="padding:0 0 0; border-bottom:1px solid #E3E3E3"> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <!--  --> | 
				
			||||
 | 
					                <!-- related post --> | 
				
			||||
 | 
					                <div class="" style="margin-top: 100px;"> | 
				
			||||
 | 
					                    <div class="text-center mt-4"> | 
				
			||||
 | 
					                        <h3 class="mb-0" style="color: #000; | 
				
			||||
 | 
					      text-align: center; | 
				
			||||
 | 
					      font-family: Montserrat; | 
				
			||||
 | 
					      font-size: 40px; | 
				
			||||
 | 
					      font-style: normal; | 
				
			||||
 | 
					      font-weight: 700; | 
				
			||||
 | 
					      line-height: normal; | 
				
			||||
 | 
					      text-transform: uppercase; | 
				
			||||
 | 
					      padding-bottom: 50px;" | 
				
			||||
 | 
					                        >Related Modules</h3> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <div class="owl-carousel owl-theme"> | 
				
			||||
 | 
					                        <div class="item" | 
				
			||||
 | 
					                             style="border:1px solid #CBCBCB !important; border-radius: 6px;"> | 
				
			||||
 | 
					                            <div class="p-3"> | 
				
			||||
 | 
					                                <a href="https://apps.odoo.com/apps/modules/17.0/base_accounting_kit" | 
				
			||||
 | 
					                                   style="color:#000; text-decoration:none"> | 
				
			||||
 | 
					                                    <div style=" border-radius:4px"> | 
				
			||||
 | 
					                                        <div> | 
				
			||||
 | 
					                                            <img src="./assets/modules/1.gif" | 
				
			||||
 | 
					                                                 alt="" width="100%" | 
				
			||||
 | 
					                                                 height="auto"> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                        <p class="text-center mb-2 pb-0 text-black" | 
				
			||||
 | 
					                                           style="font-weight: 600; padding-top: 16px;"> | 
				
			||||
 | 
					                                            Odoo 17 Full Accounting Kit</p> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                </a> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="item" | 
				
			||||
 | 
					                             style="border:1px solid #CBCBCB !important; border-radius: 6px;"> | 
				
			||||
 | 
					                            <div class="p-3"> | 
				
			||||
 | 
					                                <a href="https://apps.odoo.com/apps/modules/17.0/ohrms_core" | 
				
			||||
 | 
					                                   style="color:#000; text-decoration:none"> | 
				
			||||
 | 
					                                    <div style=" border-radius:4px"> | 
				
			||||
 | 
					                                        <div> | 
				
			||||
 | 
					                                            <img src="./assets/modules/2.gif" | 
				
			||||
 | 
					                                                 alt="" width="100%" | 
				
			||||
 | 
					                                                 height="auto"> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                        <p class="text-center pb-0 mb-2 text-black" | 
				
			||||
 | 
					                                           style="font-weight: 600; padding-top: 16px;"> | 
				
			||||
 | 
					                                            Open HRMS Core</p> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                </a> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="item" | 
				
			||||
 | 
					                             style="border:1px solid #CBCBCB !important; border-radius: 6px;"> | 
				
			||||
 | 
					                            <div class="p-3"> | 
				
			||||
 | 
					                                <a href="https://apps.odoo.com/apps/modules/17.0/invoice_format_editor" | 
				
			||||
 | 
					                                   style="color:#000; text-decoration:none"> | 
				
			||||
 | 
					                                    <div style=" border-radius:4px"> | 
				
			||||
 | 
					                                        <div> | 
				
			||||
 | 
					                                            <img src="./assets/modules/3.png" | 
				
			||||
 | 
					                                                 alt="" width="100%" | 
				
			||||
 | 
					                                                 height="auto"> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                        <p class="text-center pb-0 mb-2 text-black" | 
				
			||||
 | 
					                                           style="font-weight: 600; padding-top: 16px;"> | 
				
			||||
 | 
					                                            Odoo17 Invoice Format Editor</p> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                </a> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="item" | 
				
			||||
 | 
					                             style="border:1px solid #CBCBCB !important; border-radius: 6px;"> | 
				
			||||
 | 
					                            <div class="p-3"> | 
				
			||||
 | 
					                                <a href="https://apps.odoo.com/apps/modules/17.0/login_user_detail" | 
				
			||||
 | 
					                                   style="color:#000; text-decoration:none"> | 
				
			||||
 | 
					                                    <div style=" border-radius:4px"> | 
				
			||||
 | 
					                                        <div> | 
				
			||||
 | 
					                                            <img src="./assets/modules/4.png" | 
				
			||||
 | 
					                                                 alt="" width="100%" | 
				
			||||
 | 
					                                                 height="auto"> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                        <p class="text-center pb-0 mb-2 text-black" | 
				
			||||
 | 
					                                           style="font-weight: 600; padding-top: 16px;"> | 
				
			||||
 | 
					                                            User Log Details</p> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                </a> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="item" | 
				
			||||
 | 
					                             style="border:1px solid #CBCBCB !important; border-radius: 6px;"> | 
				
			||||
 | 
					                            <div class="p-3"> | 
				
			||||
 | 
					                                <a href="https://apps.odoo.com/apps/modules/17.0/product_barcode" | 
				
			||||
 | 
					                                   style="color:#000; text-decoration:none"> | 
				
			||||
 | 
					                                    <div style=" border-radius:4px"> | 
				
			||||
 | 
					                                        <div> | 
				
			||||
 | 
					                                            <img src="./assets/modules/5.png" | 
				
			||||
 | 
					                                                 alt="" width="100%" | 
				
			||||
 | 
					                                                 height="auto"> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                        <p class="text-center pb-0 mb-2 text-black" | 
				
			||||
 | 
					                                           style="font-weight: 600; padding-top: 16px;"> | 
				
			||||
 | 
					                                            Odoo17 Product Barcode Generator</p> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                </a> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="item" | 
				
			||||
 | 
					                             style="border:1px solid #CBCBCB !important; border-radius: 6px;"> | 
				
			||||
 | 
					                            <div class="p-3"> | 
				
			||||
 | 
					                                <a href="https://apps.odoo.com/apps/modules/17.0/whatsapp_redirect" | 
				
			||||
 | 
					                                   style="color:#000; text-decoration:none"> | 
				
			||||
 | 
					                                    <div style=" border-radius:4px"> | 
				
			||||
 | 
					                                        <div> | 
				
			||||
 | 
					                                            <img src="./assets/modules/6.jpg" | 
				
			||||
 | 
					                                                 alt="" width="100%" | 
				
			||||
 | 
					                                                 height="auto"> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                        <p class="text-center pb-0 mb-2 text-black" | 
				
			||||
 | 
					                                           style="font-weight: 600; padding-top: 16px;"> | 
				
			||||
 | 
					                                            Send Whatsapp Message Odoo17</p> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                </a> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <!--  --> | 
				
			||||
 | 
					                <!-- service-section --> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                <section id="services" class="mt-5" style="border-radius: 16px; | 
				
			||||
 | 
					                                                            border: 1px solid #EBEEF2; | 
				
			||||
 | 
					                                                            background: var(--Neutral-N0, #FFF); | 
				
			||||
 | 
					                                                            padding: 60px 40px; | 
				
			||||
 | 
					                                                            box-shadow: 0px 5px 20px -11px rgba(0, 0, 0, 0.25);"> | 
				
			||||
 | 
					                    <div class="text-center mt-4"><h3 class="mb-0" style="color: #000; | 
				
			||||
 | 
					                                                                  text-align: center; | 
				
			||||
 | 
					                                                                  font-family: Montserrat; | 
				
			||||
 | 
					                                                                  font-size: 40px; | 
				
			||||
 | 
					                                                                  font-style: normal; | 
				
			||||
 | 
					                                                                  font-weight: 700; | 
				
			||||
 | 
					                                                                  line-height: normal; | 
				
			||||
 | 
					                                                                  text-transform: uppercase; | 
				
			||||
 | 
					                                                                  padding-bottom: 50px;"> | 
				
			||||
 | 
					                        Our Services</h3></div> | 
				
			||||
 | 
					                    <div class="row mt-3"> | 
				
			||||
 | 
					                        <div class="col-lg-3 col-sm-12 mb-3"> | 
				
			||||
 | 
					                            <a href="#" style="text-decoration:none"> | 
				
			||||
 | 
					                                <div class="btn-lg btn-block p-4 mb-2 d-flex flex-column justify-content-center align-items-center" | 
				
			||||
 | 
					                                     style="font-size:25px; font-weight:bold;background-color:#FFE2E5; margin:auto; gap: 16px; border-radius: 8px;"> | 
				
			||||
 | 
					                                    <div class="d-flex justify-content-center align-items-center" | 
				
			||||
 | 
					                                         style="background-color:#FA5A7D; border-radius:50%; height:56px; width:56px"> | 
				
			||||
 | 
					                                        <img src="./assets/icons/gear.svg" | 
				
			||||
 | 
					                                             class="img-responsive" | 
				
			||||
 | 
					                                             height="28px" width="28px"> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                    <span style="font-size: 18px; | 
				
			||||
 | 
					                                  color: var(--text-color); | 
				
			||||
 | 
					                                  font-weight: 600;"> Odoo Customization</span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </a> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="col-lg-3 col-sm-12 mb-3"> | 
				
			||||
 | 
					                            <a href="#" style="text-decoration:none"> | 
				
			||||
 | 
					                                <div class="btn-lg btn-block p-4 mb-2 d-flex flex-column justify-content-center align-items-center" | 
				
			||||
 | 
					                                     style="font-size:25px; font-weight:bold;background-color:#FFF4DE; margin:auto; gap: 16px; border-radius: 8px;"> | 
				
			||||
 | 
					                                    <div class="d-flex justify-content-center align-items-center" | 
				
			||||
 | 
					                                         style="background-color:#FF947A; border-radius:50%; height:56px; width:56px"> | 
				
			||||
 | 
					                                        <img src="./assets/icons/wrench-icon.svg" | 
				
			||||
 | 
					                                             class="img-responsive" | 
				
			||||
 | 
					                                             height="28px" width="28px"> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                    <span style="font-size: 18px; | 
				
			||||
 | 
					                    color: var(--text-color); | 
				
			||||
 | 
					                    font-weight: 600;"> Odoo Implementation</span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </a> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="col-lg-3 col-sm-12 mb-3"> | 
				
			||||
 | 
					                            <a href="#" style="text-decoration:none"> | 
				
			||||
 | 
					                                <div class="btn-lg btn-block p-4 mb-2 d-flex flex-column justify-content-center align-items-center" | 
				
			||||
 | 
					                                     style="font-size:25px; font-weight:bold;background-color:#DCFCE7; margin:auto; gap: 16px; border-radius: 8px;"> | 
				
			||||
 | 
					                                    <div class="d-flex justify-content-center align-items-center" | 
				
			||||
 | 
					                                         style="background-color:#3CD856; border-radius:50%; height:56px; width:56px"> | 
				
			||||
 | 
					                                        <img src="./assets/icons/life-ring-icon.svg" | 
				
			||||
 | 
					                                             class="img-responsive" | 
				
			||||
 | 
					                                             height="28px" width="28px"> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                    <span style="font-size: 18px; | 
				
			||||
 | 
					                  color: var(--text-color); | 
				
			||||
 | 
					                  font-weight: 600;">Odoo Support</span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </a> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="col-lg-3 col-sm-12 mb-3"> | 
				
			||||
 | 
					                            <a href="#" style="text-decoration:none"> | 
				
			||||
 | 
					                                <div class="btn-lg btn-block p-4 mb-2 d-flex flex-column justify-content-center align-items-center" | 
				
			||||
 | 
					                                     style="font-size:25px; font-weight:bold;background-color:#F3E8FF; margin:auto; gap: 16px; border-radius: 8px;"> | 
				
			||||
 | 
					                                    <div class="d-flex justify-content-center align-items-center" | 
				
			||||
 | 
					                                         style="background-color:#BF83FF; border-radius:50%; height:56px; width:56px"> | 
				
			||||
 | 
					                                        <img src="./assets/icons/arrows-repeat.svg" | 
				
			||||
 | 
					                                             class="img-responsive" | 
				
			||||
 | 
					                                             height="28px" width="28px"> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                    <span style="font-size: 18px; | 
				
			||||
 | 
					                color: var(--text-color); | 
				
			||||
 | 
					                font-weight: 600;">Odoo Migration</span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </a> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="col-lg-3 col-sm-12 mb-3"> | 
				
			||||
 | 
					                            <a href="#" style="text-decoration:none"> | 
				
			||||
 | 
					                                <div class="btn-lg btn-block p-4 mb-2 d-flex flex-column justify-content-center align-items-center" | 
				
			||||
 | 
					                                     style="font-size:25px; font-weight:bold;background-color:#F1F9FF; margin:auto; gap: 16px; border-radius: 8px;"> | 
				
			||||
 | 
					                                    <div class="d-flex justify-content-center align-items-center" | 
				
			||||
 | 
					                                         style="background-color:#01649C; border-radius:50%; height:56px; width:56px"> | 
				
			||||
 | 
					                                        <img src="./assets/icons/puzzle-piece-icon.svg" | 
				
			||||
 | 
					                                             class="img-responsive" | 
				
			||||
 | 
					                                             height="28px" width="28px"> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                    <span style="font-size: 18px; | 
				
			||||
 | 
					              color: var(--text-color); | 
				
			||||
 | 
					              font-weight: 600;">Odoo integration</span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </a> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="col-lg-3 col-sm-12 mb-3"> | 
				
			||||
 | 
					                            <a href="#" style="text-decoration:none"> | 
				
			||||
 | 
					                                <div class="btn-lg btn-block p-4 mb-2 d-flex flex-column justify-content-center align-items-center" | 
				
			||||
 | 
					                                     style="font-size:25px; font-weight:bold;background-color:#EDF8ED; margin:auto; gap: 16px; border-radius: 8px;"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                                    <div class="d-flex justify-content-center align-items-center" | 
				
			||||
 | 
					                                         style="background-color:#69CC70; border-radius:50%; height:56px; width:56px"> | 
				
			||||
 | 
					                                        <img src="./assets/icons/odoo-consultancy.svg" | 
				
			||||
 | 
					                                             class="img-responsive" | 
				
			||||
 | 
					                                             height="28px" width="28px"> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                    <span style="font-size: 18px; | 
				
			||||
 | 
					            color: var(--text-color); | 
				
			||||
 | 
					            font-weight: 600;">Odoo Consultancy</span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </a> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="col-lg-3 col-sm-12 mb-3"> | 
				
			||||
 | 
					                            <a href="#" style="text-decoration:none"> | 
				
			||||
 | 
					                                <div class="btn-lg btn-block p-4 mb-2 d-flex flex-column justify-content-center align-items-center" | 
				
			||||
 | 
					                                     style="font-size:25px; font-weight:bold;background-color:#F1F6FF; margin:auto; gap: 16px; border-radius: 8px;"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                                    <div class="d-flex justify-content-center align-items-center" | 
				
			||||
 | 
					                                         style="background-color:#2E4556; border-radius:50%; height:56px; width:56px"> | 
				
			||||
 | 
					                                        <img src="./assets/icons/odoo-licencing.svg" | 
				
			||||
 | 
					                                             class="img-responsive" | 
				
			||||
 | 
					                                             height="28px" width="28px"> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                    <span style="font-size: 18px; | 
				
			||||
 | 
					          color: var(--text-color); | 
				
			||||
 | 
					          font-weight: 600;">Odoo Licensing</span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </a> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="col-lg-3 col-sm-12 mb-3"> | 
				
			||||
 | 
					                            <a href="#" style="text-decoration:none"> | 
				
			||||
 | 
					                                <div class="btn-lg btn-block p-4 mb-2 d-flex flex-column justify-content-center align-items-center" | 
				
			||||
 | 
					                                     style="font-size:25px; font-weight:bold;background-color:#FAF6EA; margin:auto; gap: 16px; border-radius: 8px;"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                                    <div class="d-flex justify-content-center align-items-center" | 
				
			||||
 | 
					                                         style="background-color:#FCD12C; border-radius:50%; height:56px; width:56px"> | 
				
			||||
 | 
					                                        <img src="./assets/icons/hire-odoo.svg" | 
				
			||||
 | 
					                                             class="img-responsive" | 
				
			||||
 | 
					                                             height="28px" width="28px"> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                    <span style="font-size: 18px; | 
				
			||||
 | 
					          color: var(--text-color); | 
				
			||||
 | 
					          font-weight: 600;">Hire Odoo Developer</span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </a> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <!-- licence --> | 
				
			||||
 | 
					            <div class="tab-pane fade" id="profile" role="tabpanel" | 
				
			||||
 | 
					                 aria-labelledby="profile-tab"> | 
				
			||||
 | 
					                <div class="px-5"> | 
				
			||||
 | 
					                    .... | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <!--  --> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        </section> | 
				
			||||
 | 
					        <!--  --> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					</body> | 
				
			||||
 | 
					<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"></script> | 
				
			||||
 | 
					<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" | 
				
			||||
 | 
					        integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" | 
				
			||||
 | 
					        crossorigin="anonymous" referrerpolicy="no-referrer"></script> | 
				
			||||
 | 
					<script src="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js"></script> | 
				
			||||
 | 
					<script> | 
				
			||||
 | 
					    $('.owl-carousel').owlCarousel({ | 
				
			||||
 | 
					     rtl:true, | 
				
			||||
 | 
					     loop:true, | 
				
			||||
 | 
					     margin:10, | 
				
			||||
 | 
					     nav:true, | 
				
			||||
 | 
					     responsive:{ | 
				
			||||
 | 
					         0:{ | 
				
			||||
 | 
					             items:1 | 
				
			||||
 | 
					         }, | 
				
			||||
 | 
					         600:{ | 
				
			||||
 | 
					             items:3 | 
				
			||||
 | 
					         }, | 
				
			||||
 | 
					         1000:{ | 
				
			||||
 | 
					             items:3 | 
				
			||||
 | 
					         } | 
				
			||||
 | 
					     } | 
				
			||||
 | 
					 }) | 
				
			||||
 | 
					</script> | 
				
			||||
 | 
					</html> | 
				
			||||
@ -0,0 +1,33 @@ | 
				
			|||||
 | 
					/** @odoo-module */ | 
				
			||||
 | 
					import { useService } from "@web/core/utils/hooks"; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					const { Component, onWillStart } = owl; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					export class StockMoveDashboard extends Component { | 
				
			||||
 | 
					    setup() { | 
				
			||||
 | 
					        this.orm = useService("orm"); | 
				
			||||
 | 
					        this.action = useService("action"); | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        onWillStart(async () => { | 
				
			||||
 | 
					            this.stockmoveData = await this.orm.call( | 
				
			||||
 | 
					                "stock.move", | 
				
			||||
 | 
					                "retrieve_inventory_dashboard", | 
				
			||||
 | 
					            ); | 
				
			||||
 | 
					        }); | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * This method clears the current search query and activates | 
				
			||||
 | 
					     * the filters found in `filter_name` attribute from button pressed | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
					    setSearchContext(ev) { | 
				
			||||
 | 
					        let filter_name = ev.currentTarget.getAttribute("filter_name"); | 
				
			||||
 | 
					        let filters = filter_name.split(','); | 
				
			||||
 | 
					        let searchItems = this.env.searchModel.getSearchItems((item) => filters.includes(item.name)); | 
				
			||||
 | 
					        this.env.searchModel.query = []; | 
				
			||||
 | 
					        for (const item of searchItems){ | 
				
			||||
 | 
					            this.env.searchModel.toggleSearchItem(item.id); | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					StockMoveDashboard.template = 'stock.StockMoveDashboard' | 
				
			||||
@ -0,0 +1,88 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8"?> | 
				
			||||
 | 
					<!-- Template for rendering the stock move dashboard. --> | 
				
			||||
 | 
					<templates> | 
				
			||||
 | 
					    <t t-name="stock.StockMoveDashboard" owl="1"> | 
				
			||||
 | 
					        <div class="o_stock_move_dashboard container-fluid py-4 border-bottom bg-white"> | 
				
			||||
 | 
					            <div class="row justify-content-between gap-3 gap-lg-0"> | 
				
			||||
 | 
					                <div class="col-12 col-lg-5 col-xl-5 col-xxl-4 flex-grow-1 flex-lg-grow-0 flex-shrink-0"> | 
				
			||||
 | 
					                    <div class="grid gap-4"> | 
				
			||||
 | 
					                        <div class="g-col-3 g-col-sm-2 d-flex align-items-center py-2 justify-content-end text-end justify-content-lg-start text-lg-start"> | 
				
			||||
 | 
					                            Stock Moves | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <!-- Filters. --> | 
				
			||||
 | 
					                        <div class="g-col-9 g-col-sm-10 grid gap-1"> | 
				
			||||
 | 
					                            <div class="g-col-4 p-0" | 
				
			||||
 | 
					                                 t-on-click="setSearchContext" | 
				
			||||
 | 
					                                 title="All Draft moves" | 
				
			||||
 | 
					                                 filter_name="draft"> | 
				
			||||
 | 
					                                <a href="#" | 
				
			||||
 | 
					                                   class="btn btn-primary w-100 h-100 border-0 rounded-0 text-capitalize fw-normal"> | 
				
			||||
 | 
					                                    <div class="fs-2" | 
				
			||||
 | 
					                                         t-out="stockmoveData['draft']"/>Draft | 
				
			||||
 | 
					                                </a> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="g-col-4 p-0" | 
				
			||||
 | 
					                                 t-on-click="setSearchContext" | 
				
			||||
 | 
					                                 title="All Waiting" | 
				
			||||
 | 
					                                 filter_name="waiting"> | 
				
			||||
 | 
					                                <a href="#" | 
				
			||||
 | 
					                                   class="btn btn-primary w-100 h-100 border-0 rounded-0 text-capitalize fw-normal"> | 
				
			||||
 | 
					                                    <div class="fs-2" | 
				
			||||
 | 
					                                         t-out="stockmoveData['waiting']"/> | 
				
			||||
 | 
					                                    Waiting | 
				
			||||
 | 
					                                </a> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="g-col-4 p-0" | 
				
			||||
 | 
					                                 t-on-click="setSearchContext" | 
				
			||||
 | 
					                                 title="All Assigned" | 
				
			||||
 | 
					                                 filter_name="ready"> | 
				
			||||
 | 
					                                <a href="#" | 
				
			||||
 | 
					                                   class="btn btn-primary w-100 h-100 border-0 rounded-0 text-capitalize fw-normal"> | 
				
			||||
 | 
					                                    <div class="fs-2" | 
				
			||||
 | 
					                                         t-out="stockmoveData['assigned']"/> | 
				
			||||
 | 
					                                    Assigned | 
				
			||||
 | 
					                                </a> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="g-col-4 p-0" | 
				
			||||
 | 
					                                 t-on-click="setSearchContext" title="All Done" | 
				
			||||
 | 
					                                 filter_name="done"> | 
				
			||||
 | 
					                                <a href="#" | 
				
			||||
 | 
					                                   class="btn btn-primary w-100 h-100 border-0 rounded-0 text-capitalize fw-normal"> | 
				
			||||
 | 
					                                    <div class="fs-2" | 
				
			||||
 | 
					                                         t-out="stockmoveData['done']"/>Done | 
				
			||||
 | 
					                                </a> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <!-- Right column with summary. --> | 
				
			||||
 | 
					                <div class="col-12 col-lg-7 col-xl-6 col-xxl-5 flex-shrink-0"> | 
				
			||||
 | 
					                    <div class="d-flex flex-column justify-content-between gap-2 h-100"> | 
				
			||||
 | 
					                        <div class="grid gap-2 h-100"> | 
				
			||||
 | 
					                            <div class="g-col-6 g-col-md-6 grid gap-1 gap-md-4"> | 
				
			||||
 | 
					                                <div class="g-col-12 g-col-sm-4 g-col-lg-6 d-flex align-items-center justify-content-center text-center justify-content-md-end text-md-end mt-4 mt-md-0"> | 
				
			||||
 | 
					                                    Moves In Last 7 Days | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                                <div class="g-col-12 g-col-sm-8 g-col-lg-5 d-flex align-items-center justify-content-center py-2 bg-light"> | 
				
			||||
 | 
					                                    <span> | 
				
			||||
 | 
					                                        <t t-out="stockmoveData['count']"/> | 
				
			||||
 | 
					                                    </span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="g-col-6 g-col-md-6 grid gap-1 gap-md-4"> | 
				
			||||
 | 
					                                <div class="g-col-12 g-col-sm-4 g-col-lg-6 d-flex align-items-center py-2 justify-content-center text-center justify-content-md-end text-md-end mt-4 mt-md-0"> | 
				
			||||
 | 
					                                    Avg Products Moved Last 7 Days | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                                <div class="g-col-12 g-col-sm-8 g-col-lg-6 d-flex align-items-center justify-content-center py-2 bg-light"> | 
				
			||||
 | 
					                                    <span> | 
				
			||||
 | 
					                                        <t t-out="stockmoveData['average_products']"/> | 
				
			||||
 | 
					                                    </span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </t> | 
				
			||||
 | 
					</templates> | 
				
			||||
@ -0,0 +1,17 @@ | 
				
			|||||
 | 
					/** @odoo-module **/ | 
				
			||||
 | 
					import { registry } from "@web/core/registry"; | 
				
			||||
 | 
					import { listView } from "@web/views/list/list_view"; | 
				
			||||
 | 
					import { ListRenderer } from "@web/views/list/list_renderer"; | 
				
			||||
 | 
					import { StockMoveDashboard } from './stock_move_dashboard.js'; | 
				
			||||
 | 
					/** | 
				
			||||
 | 
					 * A renderer for the stock move dashboard list view. | 
				
			||||
 | 
					 */ | 
				
			||||
 | 
					export class StockMoveDashboardRenderer extends ListRenderer {}; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					StockMoveDashboardRenderer.template = 'stock.StockMoveListView'; | 
				
			||||
 | 
					StockMoveDashboardRenderer.components= Object.assign({}, ListRenderer.components, {StockMoveDashboard}) | 
				
			||||
 | 
					export const StockMoveListView = { | 
				
			||||
 | 
					    ...listView, | 
				
			||||
 | 
					    Renderer: StockMoveDashboardRenderer, | 
				
			||||
 | 
					}; | 
				
			||||
 | 
					registry.category("views").add("stock_move_dashboard_list", StockMoveListView); | 
				
			||||
@ -0,0 +1,9 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<!-- Template for adding a dashboard component --> | 
				
			||||
 | 
					<templates> | 
				
			||||
 | 
					    <t t-name="stock.StockMoveListView" t-inherit="web.ListRenderer" t-inherit-mode="primary"  owl="1"> | 
				
			||||
 | 
					        <xpath expr="//div[hasclass('o_list_renderer')]" position="before"> | 
				
			||||
 | 
					            <StockMoveDashboard /> | 
				
			||||
 | 
					        </xpath> | 
				
			||||
 | 
					    </t> | 
				
			||||
 | 
					</templates> | 
				
			||||
@ -0,0 +1,32 @@ | 
				
			|||||
 | 
					/** @odoo-module */ | 
				
			||||
 | 
					import { useService } from "@web/core/utils/hooks"; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					const { Component, onWillStart } = owl; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					export class StockPickingDashboard extends Component { | 
				
			||||
 | 
					    setup() { | 
				
			||||
 | 
					        this.orm = useService("orm"); | 
				
			||||
 | 
					        this.action = useService("action"); | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        onWillStart(async () => { | 
				
			||||
 | 
					            this.stockpickingData = await this.orm.call( | 
				
			||||
 | 
					                "stock.picking", | 
				
			||||
 | 
					                "stock_picking_dashboard", | 
				
			||||
 | 
					            ); | 
				
			||||
 | 
					        }); | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * This method clears the current search query and activates | 
				
			||||
 | 
					     * the filters found in `filter_name` attribute from button pressed | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
					    setSearchContext(ev) { | 
				
			||||
 | 
					        let filter_name = ev.currentTarget.getAttribute("filter_name"); | 
				
			||||
 | 
					        let filters = filter_name.split(','); | 
				
			||||
 | 
					        let searchItems = this.env.searchModel.getSearchItems((item) => filters.includes(item.name)); | 
				
			||||
 | 
					        this.env.searchModel.query = []; | 
				
			||||
 | 
					        for (const item of searchItems){ | 
				
			||||
 | 
					            this.env.searchModel.toggleSearchItem(item.id); | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					} | 
				
			||||
 | 
					StockPickingDashboard.template = 'stock.StockPickingDashboard' | 
				
			||||
@ -0,0 +1,116 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8"?> | 
				
			||||
 | 
					<templates> | 
				
			||||
 | 
					    <!-- Template for the stock picking dashboard --> | 
				
			||||
 | 
					    <t t-name="stock.StockPickingDashboard" owl="1"> | 
				
			||||
 | 
					        <div class="o_stock_picking_dashboard container-fluid py-4 border-bottom bg-white"> | 
				
			||||
 | 
					            <div class="row justify-content-between gap-3 gap-lg-0"> | 
				
			||||
 | 
					                <div class="col-12 col-lg-5 col-xl-5 col-xxl-4 flex-grow-1 flex-lg-grow-0 flex-shrink-0"> | 
				
			||||
 | 
					                    <!-- This div contains the Stock Transfers section --> | 
				
			||||
 | 
					                    <div class="grid gap-4"> | 
				
			||||
 | 
					                        <div class="g-col-3 g-col-sm-2 d-flex align-items-center py-2 justify-content-end text-end justify-content-lg-start text-lg-start"> | 
				
			||||
 | 
					                            Stock Transfers | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div class="g-col-9 g-col-sm-10 grid gap-1"> | 
				
			||||
 | 
					                            <!-- Filter buttons for different stock transfer statuses --> | 
				
			||||
 | 
					                            <div class="g-col-4 p-0" | 
				
			||||
 | 
					                                 t-on-click="setSearchContext" | 
				
			||||
 | 
					                                 title="All Draft " | 
				
			||||
 | 
					                                 filter_name="draft"> | 
				
			||||
 | 
					                                <a href="#" | 
				
			||||
 | 
					                                   class="btn btn-primary w-100 h-100 border-0 rounded-0 text-capitalize fw-normal"> | 
				
			||||
 | 
					                                    <div class="fs-2" | 
				
			||||
 | 
					                                         t-out="stockpickingData['draft']"/> | 
				
			||||
 | 
					                                    Draft | 
				
			||||
 | 
					                                </a> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="g-col-4 p-0" | 
				
			||||
 | 
					                                 t-on-click="setSearchContext" | 
				
			||||
 | 
					                                 title="All Waiting" | 
				
			||||
 | 
					                                 filter_name="waiting"> | 
				
			||||
 | 
					                                <a href="#" | 
				
			||||
 | 
					                                   class="btn btn-primary w-100 h-100 border-0 rounded-0 text-capitalize fw-normal"> | 
				
			||||
 | 
					                                    <div class="fs-2" | 
				
			||||
 | 
					                                         t-out="stockpickingData['waiting']"/> | 
				
			||||
 | 
					                                    Waiting | 
				
			||||
 | 
					                                </a> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="g-col-4 p-0" | 
				
			||||
 | 
					                                 t-on-click="setSearchContext" | 
				
			||||
 | 
					                                 title="All Assigned" | 
				
			||||
 | 
					                                 filter_name="available"> | 
				
			||||
 | 
					                                <a href="#" | 
				
			||||
 | 
					                                   class="btn btn-primary w-100 h-100 border-0 rounded-0 text-capitalize fw-normal"> | 
				
			||||
 | 
					                                    <div class="fs-2" | 
				
			||||
 | 
					                                         t-out="stockpickingData['assigned']"/> | 
				
			||||
 | 
					                                    Ready | 
				
			||||
 | 
					                                </a> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="g-col-4 p-0" | 
				
			||||
 | 
					                                 t-on-click="setSearchContext" title="All Done" | 
				
			||||
 | 
					                                 filter_name="done"> | 
				
			||||
 | 
					                                <a href="#" | 
				
			||||
 | 
					                                   class="btn btn-primary w-100 h-100 border-0 rounded-0 text-capitalize fw-normal"> | 
				
			||||
 | 
					                                    <div class="fs-2" | 
				
			||||
 | 
					                                         t-out="stockpickingData['done']"/>Done | 
				
			||||
 | 
					                                </a> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-12 col-lg-7 col-xl-6 col-xxl-5 flex-shrink-0"> | 
				
			||||
 | 
					                    <div class="d-flex flex-column justify-content-between gap-2 h-100"> | 
				
			||||
 | 
					                        <div class="grid gap-2 h-100"> | 
				
			||||
 | 
					                            <!-- Internal Transfer (This month) --> | 
				
			||||
 | 
					                            <div class="g-col-6 g-col-md-6 grid gap-1 gap-md-4"> | 
				
			||||
 | 
					                                <div class="g-col-12 g-col-sm-4 g-col-lg-6 d-flex align-items-center justify-content-center text-center justify-content-md-end text-md-end mt-4 mt-md-0"> | 
				
			||||
 | 
					                                    Internal Transfer | 
				
			||||
 | 
					                                    (This month) | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                                <div class="g-col-12 g-col-sm-8 g-col-lg-5 d-flex align-items-center justify-content-center py-2 bg-light"> | 
				
			||||
 | 
					                                    <span> | 
				
			||||
 | 
					                                        <t t-out="stockpickingData['internal']"/> | 
				
			||||
 | 
					                                    </span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <!-- Delivery (This month) --> | 
				
			||||
 | 
					                            <div class="g-col-6 g-col-md-6 grid gap-1 gap-md-4"> | 
				
			||||
 | 
					                                <div class="g-col-12 g-col-sm-4 g-col-lg-6 d-flex align-items-center py-2 justify-content-center text-center justify-content-md-end text-md-end mt-4 mt-md-0"> | 
				
			||||
 | 
					                                    Delivery (This month) | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                                <div class="g-col-12 g-col-sm-8 g-col-lg-6 d-flex align-items-center justify-content-center py-2 bg-light"> | 
				
			||||
 | 
					                                    <span> | 
				
			||||
 | 
					                                        <t t-out="stockpickingData['outgoing']"/> | 
				
			||||
 | 
					                                    </span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <!-- Received (This month) --> | 
				
			||||
 | 
					                        <div class="grid gap-2 h-100"> | 
				
			||||
 | 
					                            <div class="g-col-6 g-col-md-6 grid gap-1 gap-md-4"> | 
				
			||||
 | 
					                                <div class="g-col-12 g-col-sm-4 g-col-lg-6 d-flex align-items-center justify-content-center text-center justify-content-md-end text-md-end mt-4 mt-md-0"> | 
				
			||||
 | 
					                                    Received (This month) | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                                <div class="g-col-12 g-col-sm-8 g-col-lg-5 d-flex align-items-center justify-content-center py-2 bg-light"> | 
				
			||||
 | 
					                                    <span> | 
				
			||||
 | 
					                                        <t t-out="stockpickingData['receipts']"/> | 
				
			||||
 | 
					                                    </span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <!-- Cancelled (This month) --> | 
				
			||||
 | 
					                            <div class="g-col-6 g-col-md-6 grid gap-1 gap-md-4"> | 
				
			||||
 | 
					                                <div class="g-col-12 g-col-sm-4 g-col-lg-6 d-flex align-items-center py-2 justify-content-center text-center justify-content-md-end text-md-end mt-4 mt-md-0"> | 
				
			||||
 | 
					                                    Cancelled (This month) | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                                <div class="g-col-12 g-col-sm-8 g-col-lg-6 d-flex align-items-center justify-content-center py-2 bg-light"> | 
				
			||||
 | 
					                                    <span> | 
				
			||||
 | 
					                                        <t t-out="stockpickingData['cancel']"/> | 
				
			||||
 | 
					                                    </span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </t> | 
				
			||||
 | 
					</templates> | 
				
			||||
@ -0,0 +1,17 @@ | 
				
			|||||
 | 
					/** @odoo-module **/ | 
				
			||||
 | 
					import { registry } from "@web/core/registry"; | 
				
			||||
 | 
					import { listView } from "@web/views/list/list_view"; | 
				
			||||
 | 
					import { ListRenderer } from "@web/views/list/list_renderer"; | 
				
			||||
 | 
					import { StockPickingDashboard } from './stock_picking_dashboard.js'; | 
				
			||||
 | 
					/** | 
				
			||||
 | 
					 * Custom renderer that includes the StockPickingDashboard component. | 
				
			||||
 | 
					 */ | 
				
			||||
 | 
					export class StockPickingDashboardRenderer extends ListRenderer {}; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					StockPickingDashboardRenderer.template = 'stock.StockPickingListView'; | 
				
			||||
 | 
					StockPickingDashboardRenderer.components= Object.assign({}, ListRenderer.components, {StockPickingDashboard}) | 
				
			||||
 | 
					export const StockPickingListView = { | 
				
			||||
 | 
					    ...listView, | 
				
			||||
 | 
					    Renderer: StockPickingDashboardRenderer, | 
				
			||||
 | 
					}; | 
				
			||||
 | 
					registry.category("views").add("stock_picking_dashboard_list", StockPickingListView); | 
				
			||||
@ -0,0 +1,9 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<!-- Template for adding a dashboard component --> | 
				
			||||
 | 
					<templates> | 
				
			||||
 | 
					    <t t-name="stock.StockPickingListView" t-inherit="web.ListRenderer" t-inherit-mode="primary"  owl="1"> | 
				
			||||
 | 
					        <xpath expr="//div[hasclass('o_list_renderer')]" position="before"> | 
				
			||||
 | 
					            <StockPickingDashboard /> | 
				
			||||
 | 
					        </xpath> | 
				
			||||
 | 
					    </t> | 
				
			||||
 | 
					</templates> | 
				
			||||
@ -0,0 +1,32 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!-- Modify the attributes of the existing tree view --> | 
				
			||||
 | 
					    <record id="view_move_tree" model="ir.ui.view"> | 
				
			||||
 | 
					        <field name="name"> | 
				
			||||
 | 
					            stock.move.view.tree.inherit.inventory.move.mini.dashboard | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					        <field name="model">stock.move</field> | 
				
			||||
 | 
					        <field name="inherit_id" ref="stock.view_move_tree"/> | 
				
			||||
 | 
					        <field name="arch" type="xml"> | 
				
			||||
 | 
					            <xpath expr="//list" position="attributes"> | 
				
			||||
 | 
					                <attribute name="js_class">stock_move_dashboard_list</attribute> | 
				
			||||
 | 
					            </xpath> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					     <!-- Insert custom filters inside the existing search view --> | 
				
			||||
 | 
					    <record id="view_move_search" model="ir.ui.view"> | 
				
			||||
 | 
					        <field name="name"> | 
				
			||||
 | 
					            stock.move.search.inherit.inventory.move.mini.dashboard | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					        <field name="model">stock.move</field> | 
				
			||||
 | 
					        <field name="inherit_id" ref="stock.view_move_search"/> | 
				
			||||
 | 
					        <field name="arch" type="xml"> | 
				
			||||
 | 
					            <xpath expr="//search" position="inside"> | 
				
			||||
 | 
					                <filter string="Draft" name="draft" | 
				
			||||
 | 
					                        domain="[('state','=','draft')]"/> | 
				
			||||
 | 
					                <filter string="Waiting" name="waiting" | 
				
			||||
 | 
					                        domain="[('state','in',('waiting','confirmed'))]"/> | 
				
			||||
 | 
					            </xpath> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,31 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!-- Inherit Form View to Modify stock picking --> | 
				
			||||
 | 
					    <record id="vpicktree" model="ir.ui.view"> | 
				
			||||
 | 
					        <field name="name"> | 
				
			||||
 | 
					            stock.picking.view.tree.inherit.inventory.move.mini.dashboard | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					        <field name="model">stock.picking</field> | 
				
			||||
 | 
					        <field name="inherit_id" ref="stock.vpicktree"/> | 
				
			||||
 | 
					        <field name="arch" type="xml"> | 
				
			||||
 | 
					            <xpath expr="//list" position="attributes"> | 
				
			||||
 | 
					                <attribute name="js_class">stock_picking_dashboard_list</attribute> | 
				
			||||
 | 
					            </xpath> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<!--    Inherit Search View to Add New Filter with Done State--> | 
				
			||||
 | 
					    <record id="view_picking_internal_search" model="ir.ui.view"> | 
				
			||||
 | 
					        <field name="name"> | 
				
			||||
 | 
					            stock.picking.view.search.inherit.inventory.move.mini.dashboard | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					        <field name="model">stock.picking</field> | 
				
			||||
 | 
					        <field name="inherit_id" ref="stock.view_picking_internal_search"/> | 
				
			||||
 | 
					        <field name="arch" type="xml"> | 
				
			||||
 | 
					            <xpath expr="//filter[@name='available']" position="after"> | 
				
			||||
 | 
					                <filter name="done" string="Done" | 
				
			||||
 | 
					                        domain="[('state', '=', 'done')]" help="Done Moves"/> | 
				
			||||
 | 
					            </xpath> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					</odoo> | 
				
			||||