diff --git a/systray_menu_favourites/README.rst b/systray_menu_favourites/README.rst new file mode 100644 index 000000000..a7d6d11bb --- /dev/null +++ b/systray_menu_favourites/README.rst @@ -0,0 +1,47 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Systray Menu Favourites +======================= +This module helps you to add menu in to favourites. + +Configuration +============= +* No additional configurations needed + +License +------- +Affero General Public License, Version 3 (AGPL v3) +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Company +------- +* `Cybrosys Techno Solutions `__ + +Credits +------- +* Developer: (V16) Busthana Shirin, Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if +your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/systray_menu_favourites/__init__.py b/systray_menu_favourites/__init__.py new file mode 100644 index 000000000..970871d56 --- /dev/null +++ b/systray_menu_favourites/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: BUSTHANA SHIRIN (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from . import models diff --git a/systray_menu_favourites/__manifest__.py b/systray_menu_favourites/__manifest__.py new file mode 100644 index 000000000..5afe9088d --- /dev/null +++ b/systray_menu_favourites/__manifest__.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: BUSTHANA SHIRIN (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +{ + 'name': 'Systray Menu Favourites', + 'version': '16.0.1.0.0', + 'category': 'Extra Tools', + 'summary': 'A Module For Add Menu to Favourites', + 'description': """Module help to add most using menu to favourites""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['base'], + 'data': [ + 'security/ir.model.access.csv' + ], + 'assets': { + 'web.assets_backend': [ + 'systray_menu_favourites/static/src/js/systray.js', + 'systray_menu_favourites/static/src/xml/systray_templates.xml', + 'systray_menu_favourites/static/src/css/systray.css' + ], + }, + 'images': ['static/description/banner.png'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/systray_menu_favourites/doc/RELEASE_NOTES.md b/systray_menu_favourites/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..336f4a69b --- /dev/null +++ b/systray_menu_favourites/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 19.10.2023 +#### Version 16.0.1.0.0 +#### ADD +- Initial Commit for Systray Menu Favourites diff --git a/systray_menu_favourites/models/__init__.py b/systray_menu_favourites/models/__init__.py new file mode 100644 index 000000000..9852773d4 --- /dev/null +++ b/systray_menu_favourites/models/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: BUSTHANA SHIRIN (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from . import button_store +from . import ir_ui_menu diff --git a/systray_menu_favourites/models/button_store.py b/systray_menu_favourites/models/button_store.py new file mode 100644 index 000000000..5943d53ee --- /dev/null +++ b/systray_menu_favourites/models/button_store.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: BUSTHANA SHIRIN (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from odoo import api, fields, models + + +class ButtonStore(models.Model): + """To store the details of each button which are created in the UI, + and it will remove from the model when the button removed from UI""" + _name = 'button.store' + _description = 'Button Store' + + name = fields.Char(string='Name', + help='Name of the button which stored') + button = fields.Integer(string='Button ID', + help='To store the button ID to ' + 'identify the menu data' + ) + + @api.model + def action_create(self, vals, button): + """Add the details of button when button created, + and it can be used after restart the page to restore the button""" + val = {'name': vals, 'button': button} + self.env['button.store'].sudo().create(val) + + @api.model + def action_search(self): + """Return the details of button, when restart the page, + data will be restored from the database""" + datas = [{'name': val.name, 'button': val.button} for val in + self.env['button.store'].sudo().search([])] + return datas + + @api.model + def action_remove_view(self, value): + """Remove the record when the button is deleted, + data will be removed, to avoid the conflicts""" + vals = self.env['button.store'].sudo().search([('button', '=', + value)]) + vals.unlink() diff --git a/systray_menu_favourites/models/ir_ui_menu.py b/systray_menu_favourites/models/ir_ui_menu.py new file mode 100644 index 000000000..a4c9bed93 --- /dev/null +++ b/systray_menu_favourites/models/ir_ui_menu.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: BUSTHANA SHIRIN (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from odoo import api, models + + +class IrUiMenu(models.Model): + """Inherit model to collect and send back the menu based on the search""" + _inherit = 'ir.ui.menu' + + @api.model + def search_views(self, value): + """Return the details of view, when search the menu in systray, + send the all related menus""" + menu_record = self.env['ir.ui.menu'].browse(int(value)) + query = \ + """ + SELECT action FROM ir_ui_menu + WHERE id = %d + """ \ + % menu_record.id + self._cr.execute(query) + data = self._cr.dictfetchall() + if not data: + return None + action_id = int(data[0]['action'].split(',')[1].strip()) + act = self.env['ir.actions.act_window'].sudo().browse(action_id) + val = { + 'name': act.name, + 'model': act.res_model, + 'view_mode': act.view_mode, + 'target': act.target, + } + return val diff --git a/systray_menu_favourites/security/ir.model.access.csv b/systray_menu_favourites/security/ir.model.access.csv new file mode 100755 index 000000000..dd3c731fb --- /dev/null +++ b/systray_menu_favourites/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_button_store_user,access.button.store.user,model_button_store,base.group_user,1,1,1,1 diff --git a/systray_menu_favourites/static/description/assets/icons/check.png b/systray_menu_favourites/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/check.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/chevron.png b/systray_menu_favourites/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/chevron.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/cogs.png b/systray_menu_favourites/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/cogs.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/consultation.png b/systray_menu_favourites/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/consultation.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/ecom-black.png b/systray_menu_favourites/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/ecom-black.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/education-black.png b/systray_menu_favourites/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/education-black.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/hotel-black.png b/systray_menu_favourites/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/hotel-black.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/license.png b/systray_menu_favourites/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/license.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/lifebuoy.png b/systray_menu_favourites/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/lifebuoy.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/logo.png b/systray_menu_favourites/static/description/assets/icons/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/logo.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/manufacturing-black.png b/systray_menu_favourites/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/manufacturing-black.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/pos-black.png b/systray_menu_favourites/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/pos-black.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/puzzle.png b/systray_menu_favourites/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/puzzle.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/restaurant-black.png b/systray_menu_favourites/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/restaurant-black.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/service-black.png b/systray_menu_favourites/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/service-black.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/trading-black.png b/systray_menu_favourites/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/trading-black.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/training.png b/systray_menu_favourites/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/training.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/update.png b/systray_menu_favourites/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/update.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/user.png b/systray_menu_favourites/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/user.png differ diff --git a/systray_menu_favourites/static/description/assets/icons/wrench.png b/systray_menu_favourites/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/systray_menu_favourites/static/description/assets/icons/wrench.png differ diff --git a/systray_menu_favourites/static/description/assets/misc/categories.png b/systray_menu_favourites/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/misc/categories.png differ diff --git a/systray_menu_favourites/static/description/assets/misc/check-box.png b/systray_menu_favourites/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/misc/check-box.png differ diff --git a/systray_menu_favourites/static/description/assets/misc/compass.png b/systray_menu_favourites/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/systray_menu_favourites/static/description/assets/misc/compass.png differ diff --git a/systray_menu_favourites/static/description/assets/misc/corporate.png b/systray_menu_favourites/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/systray_menu_favourites/static/description/assets/misc/corporate.png differ diff --git a/systray_menu_favourites/static/description/assets/misc/customer-support.png b/systray_menu_favourites/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/systray_menu_favourites/static/description/assets/misc/customer-support.png differ diff --git a/systray_menu_favourites/static/description/assets/misc/cybrosys-logo.png b/systray_menu_favourites/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/systray_menu_favourites/static/description/assets/misc/cybrosys-logo.png differ diff --git a/systray_menu_favourites/static/description/assets/misc/features.png b/systray_menu_favourites/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/misc/features.png differ diff --git a/systray_menu_favourites/static/description/assets/misc/logo.png b/systray_menu_favourites/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/systray_menu_favourites/static/description/assets/misc/logo.png differ diff --git a/systray_menu_favourites/static/description/assets/misc/pictures.png b/systray_menu_favourites/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/misc/pictures.png differ diff --git a/systray_menu_favourites/static/description/assets/misc/pie-chart.png b/systray_menu_favourites/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/misc/pie-chart.png differ diff --git a/systray_menu_favourites/static/description/assets/misc/right-arrow.png b/systray_menu_favourites/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/misc/right-arrow.png differ diff --git a/systray_menu_favourites/static/description/assets/misc/star.png b/systray_menu_favourites/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/systray_menu_favourites/static/description/assets/misc/star.png differ diff --git a/systray_menu_favourites/static/description/assets/misc/support.png b/systray_menu_favourites/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/misc/support.png differ diff --git a/systray_menu_favourites/static/description/assets/misc/whatsapp.png b/systray_menu_favourites/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/misc/whatsapp.png differ diff --git a/systray_menu_favourites/static/description/assets/modules/banner1.png b/systray_menu_favourites/static/description/assets/modules/banner1.png new file mode 100644 index 000000000..2c8fbb83f Binary files /dev/null and b/systray_menu_favourites/static/description/assets/modules/banner1.png differ diff --git a/systray_menu_favourites/static/description/assets/modules/banner2.png b/systray_menu_favourites/static/description/assets/modules/banner2.png new file mode 100644 index 000000000..f3c986fc1 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/modules/banner2.png differ diff --git a/systray_menu_favourites/static/description/assets/modules/banner3.png b/systray_menu_favourites/static/description/assets/modules/banner3.png new file mode 100644 index 000000000..faa759b4a Binary files /dev/null and b/systray_menu_favourites/static/description/assets/modules/banner3.png differ diff --git a/systray_menu_favourites/static/description/assets/modules/banner4.png b/systray_menu_favourites/static/description/assets/modules/banner4.png new file mode 100644 index 000000000..018fe5702 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/modules/banner4.png differ diff --git a/systray_menu_favourites/static/description/assets/modules/banner5.png b/systray_menu_favourites/static/description/assets/modules/banner5.png new file mode 100644 index 000000000..4c5046cb2 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/modules/banner5.png differ diff --git a/systray_menu_favourites/static/description/assets/modules/banner6.png b/systray_menu_favourites/static/description/assets/modules/banner6.png new file mode 100644 index 000000000..f088c60a2 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/modules/banner6.png differ diff --git a/systray_menu_favourites/static/description/assets/screenshots/hero.gif b/systray_menu_favourites/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..2562316fe Binary files /dev/null and b/systray_menu_favourites/static/description/assets/screenshots/hero.gif differ diff --git a/systray_menu_favourites/static/description/assets/screenshots/image1.png b/systray_menu_favourites/static/description/assets/screenshots/image1.png new file mode 100644 index 000000000..c2c90cb3f Binary files /dev/null and b/systray_menu_favourites/static/description/assets/screenshots/image1.png differ diff --git a/systray_menu_favourites/static/description/assets/screenshots/image2.png b/systray_menu_favourites/static/description/assets/screenshots/image2.png new file mode 100644 index 000000000..00def20aa Binary files /dev/null and b/systray_menu_favourites/static/description/assets/screenshots/image2.png differ diff --git a/systray_menu_favourites/static/description/assets/screenshots/image3.png b/systray_menu_favourites/static/description/assets/screenshots/image3.png new file mode 100644 index 000000000..6103175e9 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/screenshots/image3.png differ diff --git a/systray_menu_favourites/static/description/assets/screenshots/image4.png b/systray_menu_favourites/static/description/assets/screenshots/image4.png new file mode 100644 index 000000000..b4fd11c16 Binary files /dev/null and b/systray_menu_favourites/static/description/assets/screenshots/image4.png differ diff --git a/systray_menu_favourites/static/description/assets/screenshots/image5.png b/systray_menu_favourites/static/description/assets/screenshots/image5.png new file mode 100644 index 000000000..3a79a368b Binary files /dev/null and b/systray_menu_favourites/static/description/assets/screenshots/image5.png differ diff --git a/systray_menu_favourites/static/description/banner.png b/systray_menu_favourites/static/description/banner.png new file mode 100644 index 000000000..3a19aa58a Binary files /dev/null and b/systray_menu_favourites/static/description/banner.png differ diff --git a/systray_menu_favourites/static/description/icon.png b/systray_menu_favourites/static/description/icon.png new file mode 100644 index 000000000..3269bd2e7 Binary files /dev/null and b/systray_menu_favourites/static/description/icon.png differ diff --git a/systray_menu_favourites/static/description/index.html b/systray_menu_favourites/static/description/index.html new file mode 100644 index 000000000..29eeec1d8 --- /dev/null +++ b/systray_menu_favourites/static/description/index.html @@ -0,0 +1,591 @@ +
+ +
+ +
+
+ Community +
+
+ Enterprise +
+
+
+ +
+
+
+ +

+ Systray Menu Favourites

+

+ A Module For Add Menu To Favourites.

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

+ Explore This Module

+
+ + + + + +
+
+ +
+

+ Overview

+
+ +
+
+ This module help to add most using menu to + favourites. +
+
+ + + +
+
+ +
+

+ Features

+
+ +
+
+
+ + Add a menu button in the system and access the menu easily. +
+
+ + All the views are available in the search list. +
+
+ + There is an option to remove the button. +
+
+
+ + + +
+
+ +
+

+ Screenshots

+
+ +
+
+
+

+ Click On The Favourite Button +

+

+ There is a favourite button in Systray; we can click the + button.

+ +
+
+

+ Type The Menu Name +

+

+ Type the menu name in the displayed search box and click the + adjacent search button. +

+ +
+
+

+ Select The Menu From The List +

+

+ Related menus can be seen in the drop-down list. Select the + required menu from the list. +

+ +
+
+

+ Button Added In Systray +

+

+ The menu button is added to the systray. We can remove the + button from the systray by clicking 'X' on the button. +

+ +
+
+

+ View Added +

+

+ When we click the Search Bar, we can see the view. +

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

+ Related Products

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

+ Our Services

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

+ Our Industries

+
+ +
+
+
+
+ +
+ Trading
+

+ Easily Procure and Sell Your Products

+
+
+
+
+ +
+ POS
+

+ Easy Configuration and Convivial Experience

+
+
+
+
+ +
+ Education
+

+ A Platform for Educational Management

+
+
+
+
+ +
+ Manufacturing
+

+ Plan, Track and Schedule Your Operations

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

+ Mobile Friendly, awe-inspiring Product Pages

+
+
+
+
+ +
+ Service Management
+

+ Keep Track of Services and Invoice

+
+
+
+
+ +
+ Restaurant
+

+ Run Your Bar or Restaurant Methodically

+
+
+
+
+ +
+ Hotel Management
+

+ An all-inclusive Hotel Management Application

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

+ Support

+
+ +
+
+
+
+
+ +
+
+

Need Help?

+

Got questions or need help? + Get in touch.

+ +

+ odoo@cybrosys.com

+
+
+
+
+
+
+
+ +
+
+

WhatsApp

+

Say hi to us on WhatsApp!

+ +

+ +91 86068 27707

+
+
+
+
+
+
+
+ +
+
+
+ diff --git a/systray_menu_favourites/static/src/css/systray.css b/systray_menu_favourites/static/src/css/systray.css new file mode 100644 index 000000000..7bd6f4f5c --- /dev/null +++ b/systray_menu_favourites/static/src/css/systray.css @@ -0,0 +1,68 @@ +.new_icon{ + display: flex; + align-items: center; +} + +.search_pack{ + padding-bottom: 10px; +} + +.input{ + border : none; + border-color: #D3D3D3; + border-radius: 5px; + top: 50%; + left: 50%; + margin: 10px 0 0 10px; +} + +.search_view{ + background-color: white; + border-color: #D3D3D3; + border-radius: 5px; + border : none; + color : grey; + top: 50%; + left: 50%; +} + +.display_list{ + color: black; + margin-left : 15px; + position : absolute; + z-index: 1; + background-color: white; + width: 170px; + border-color: #D3D3D3; + border-style: solid; +} + + +.main_button{ + border-radius : 10px; + margin- top: auto; + align-items : center; +} + +.search_view_click{ + border-radius : 5px; + margin-top : auto; + margin-bottom : auto; + text-align : center; + background-color : white; + height : 22px; +} + +#close_button{ + border-radius : 5px; + height : 22px; + text-align : center; + background-color : white; +} + +.search_view_click:hover { + box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19); +} +#close_button:hover { + box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19); +} diff --git a/systray_menu_favourites/static/src/js/systray.js b/systray_menu_favourites/static/src/js/systray.js new file mode 100644 index 000000000..b0daa774d --- /dev/null +++ b/systray_menu_favourites/static/src/js/systray.js @@ -0,0 +1,154 @@ +/** @odoo-module **/ +import SystrayMenu from 'web.SystrayMenu'; +import Widget from 'web.Widget'; +import rpc from 'web.rpc'; + +var SystrayWidget = Widget.extend({ + template: 'SystrayShortcut', + events: { + 'click .systray_favourites':'click_fav', + 'click .search_view': '_onClick', + 'input .input': '_onInput', + 'click .search_tag':'_Click', + 'click .search_view_click':'click_view', + 'mouseover .search_tag':'_MouseOver', + 'mouseout .search_tag' : '_MouseOut', + 'click #close_button' : '_Close', + }, + /** + * @override + */ + async willStart() { + // Update the details of button after refresh the page and + //it will be collected using the id and restore it from the database + var self = this; + rpc.query({ + model: 'button.store', + method: 'action_search', + args: [], + }).then(function (Result) { + for(var i = 0; i < Result.length ; i++){ + var main = document.createElement("span"); + main.classList.add("main_button"); + var button = document.createElement("button"); + button.type = "button"; + button.innerHTML = Result[i].name; + button.setAttribute("id",Result[i].button); + button.classList.add("search_view_click"); + main.style.margin='5px' + var close_button = document.createElement("button"); + close_button.setAttribute("id","close_button"); + close_button.innerHTML ='X'; + main.style.margin='5px' + main.append(button); + main.append(close_button); + self.$('.button_element').append(main); + } + }); + }, + click_fav: function(){ + // Show the input field + this.$("#popup").css("display","block"); + document.getElementById("search").value = ""; + this.$("#add_fav").css("display","none") + }, + _onInput: function(){ + // Update the input data + var vals = this.$(".input").val(); + }, + _onClick: function(){ + //Show the dropdown list of all related menus, + //which retrieve from the corresponding model + var self = this; + var input = this.$(".input").val(); + this.$("#drop_list").css("display","block"); + rpc.query({ + model: 'ir.ui.menu', + method: 'search_read', + args: [[['name', 'ilike', input],['action', '!=', null]]], + }).then(function (Result) { + var Div = document.createElement('div'); + for(var i = 0; i < Result.length ; i++){ + var tag = document.createElement('div'); + tag.classList.add("search_tag"); + var result = document.createTextNode(Result[i].complete_name); + tag.setAttribute("id",Result[i].id); + tag.append(result); + Div.append(tag); + } + self.$('.dropdown_view').empty(); + self.$('.dropdown_view').append(Div); + }) + }, + _MouseOver: function(ev){ + // Change the background color when mouse moves + var data_id = ev.target.id + this.$("#" + data_id).css("background","#D3D3D3"); + }, + _MouseOut: function(ev){ + // Change the background color when mouse moves + var data_id = ev.target.id + this.$("#" + data_id).css("background","white"); + }, + _Click: function(ev){ + // Add the button for menu when click the menu from the dropdown list + var self = this; + var vals = ev.currentTarget.textContent; + var num = vals.lastIndexOf('/'); + var result = vals.substring(num + 1); + var main = document.createElement("span"); + main.classList.add("main_button"); + var button = document.createElement("button"); + button.type = "button"; + button.innerHTML = result; + button.setAttribute("id",ev.target.id); + button.classList.add("search_view_click"); + var close_button = document.createElement("button"); + close_button.setAttribute("id","close_button"); + close_button.innerHTML ='X'; + main.style.margin='5px' + main.append(button); + main.append(close_button); + this.$('.button_element').append(main); + this.$("#drop_list").css("display","none"); + this.$("#popup").css("display","none"); + this.$("#add_fav").show(); + rpc.query({ + model: 'button.store', + method: 'action_create', + args: [result, ev.target.id], + }) + }, + click_view: function(ev){ + // Show the view when we click the button, the corresponding menu will show + var self = this + var data_id = ev.target.id + rpc.query({ + model: 'ir.ui.menu', + method: 'search_views', + args: [data_id], + }).then(function (Result) { + self.do_action({ + type: 'ir.actions.act_window', + name: Result.name, + res_model: Result.model, + view_mode: Result.view_mode, + views: [[false, 'list'], [false, 'form'], [false, 'kanban']], + target: 'main', + }); + + }); + }, + _Close : function(ev){ + // Remove the button when we click the close symbol + var element = ev.target.parentElement.firstChild.id; + rpc.query({ + model: 'button.store', + method: 'action_remove_view', + args: [element], + }) + ev.target.parentElement.remove(); + }, +}); +SystrayMenu.Items.push(SystrayWidget); +export default SystrayWidget; diff --git a/systray_menu_favourites/static/src/xml/systray_templates.xml b/systray_menu_favourites/static/src/xml/systray_templates.xml new file mode 100644 index 000000000..b89ef65d8 --- /dev/null +++ b/systray_menu_favourites/static/src/xml/systray_templates.xml @@ -0,0 +1,23 @@ + + + + +
+
+ + + + + +