diff --git a/vista_backend_theme/__init__.py b/vista_backend_theme/__init__.py new file mode 100644 index 000000000..79cc0fb45 --- /dev/null +++ b/vista_backend_theme/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from .hooks import test_pre_init_hook, test_post_init_hook +from . import wizard diff --git a/vista_backend_theme/__manifest__.py b/vista_backend_theme/__manifest__.py new file mode 100644 index 000000000..9e63935cf --- /dev/null +++ b/vista_backend_theme/__manifest__.py @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +{ + "name": "Vista Backend Theme V15", + "description": """Minimalist and elegant backend theme for Odoo 14, Backend Theme, Theme""", + "summary": "Vista Backend Theme V15 is an attractive theme for backend", + "category": "Theme/Backend", + "version": "15.0.1.0.0", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + "depends": ['base', 'web', 'mail'], + "data": [ + 'security/ir.model.access.csv', + 'views/icons.xml', + 'views/layout.xml', + 'views/theme.xml', + 'views/assets.xml', + 'data/theme_data.xml', + ], + 'assets': { + 'web.assets_backend': { + '/vista_backend_theme/static/src/scss/theme.scss', + '/vista_backend_theme/static/src/js/systray.js', + '/vista_backend_theme/static/src/js/load.js', + '/vista_backend_theme/static/src/js/chrome/sidebar_menu.js', + }, + 'web.assets_frontend': { + '/vista_backend_theme/static/src/scss/login.scss', + '/vista_backend_theme/static/src/scss/login.scss', + }, + 'web.assets_qweb': { + '/vista_backend_theme/static/src/xml/systray.xml', + '/vista_backend_theme/static/src/xml/top_bar.xml', + }, + }, + 'images': [ + 'static/description/banner.png', + 'static/description/theme_screenshot.png', + ], + 'license': 'LGPL-3', + 'pre_init_hook': 'test_pre_init_hook', + 'post_init_hook': 'test_post_init_hook', + 'installable': True, + 'application': False, + 'auto_install': False, +} diff --git a/vista_backend_theme/data/theme_data.xml b/vista_backend_theme/data/theme_data.xml new file mode 100644 index 000000000..1b0f85d2d --- /dev/null +++ b/vista_backend_theme/data/theme_data.xml @@ -0,0 +1,8 @@ + + + + + default + + + diff --git a/vista_backend_theme/hooks.py b/vista_backend_theme/hooks.py new file mode 100644 index 000000000..d90efe014 --- /dev/null +++ b/vista_backend_theme/hooks.py @@ -0,0 +1,353 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +import base64 + +from odoo import api, SUPERUSER_ID +from odoo.modules import get_module_resource + + +def test_pre_init_hook(cr): + """pre init hook""" + + env = api.Environment(cr, SUPERUSER_ID, {}) + menu_item = env['ir.ui.menu'].search([('parent_id', '=', False)]) + + for menu in menu_item: + if menu.name == 'Contacts': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'contacts.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Link Tracker': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'link-tracker.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Dashboards': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'dashboards.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Sales': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'sales.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Invoicing': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'accounting.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Inventory': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'inventory.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Purchase': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'purchase.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Calendar': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'calendar.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'CRM': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'crm.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Note': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'note.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Website': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'website.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Point of Sale': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'pos.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Manufacturing': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'manufacturing.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Repairs': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'repairs.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Email Marketing': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'email-marketing.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'SMS Marketing': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'sms-marketing.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Project': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'project.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Surveys': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'surveys.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Employees': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'employee.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Recruitment': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'recruitment.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Attendances': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'attendances.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Time Off': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'timeoff.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Expenses': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'expenses.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Maintenance': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'maintenance.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Live Chat': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'live-chat.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Lunch': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'lunch.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Fleet': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'fleet.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Timesheets': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'timesheets.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Events': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'events.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'eLearning': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'elearning.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + if menu.name == 'Members': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', 'members.png') + menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) + + +def test_post_init_hook(cr, registry): + """post init hook""" + + env = api.Environment(cr, SUPERUSER_ID, {}) + menu_item = env['ir.ui.menu'].search([('parent_id', '=', False)]) + + for menu in menu_item: + if menu.name == 'Contacts': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'contacts.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Link Tracker': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'link-tracker.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Dashboards': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'dashboards.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Sales': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'sales.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Invoicing': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'accounting.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Inventory': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'inventory.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Purchase': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'purchase.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Calendar': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'calendar.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'CRM': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'crm.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Note': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'note.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Website': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'website.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Point of Sale': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'pos.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Manufacturing': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'manufacturing.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Repairs': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'repairs.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Email Marketing': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'email-marketing.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'SMS Marketing': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'sms-marketing.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Project': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'project.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Surveys': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'surveys.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Employees': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'employee.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Recruitment': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'recruitment.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Attendances': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'attendances.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Time Off': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'time-off.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Expenses': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'expenses.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Maintenance': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'maintenance.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Live Chat': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'live-chat.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Lunch': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'lunch.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Fleet': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'fleet.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Timesheets': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'timesheets.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Events': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'events.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'eLearning': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'elearning.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Members': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'members.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) \ No newline at end of file diff --git a/vista_backend_theme/security/ir.model.access.csv b/vista_backend_theme/security/ir.model.access.csv new file mode 100644 index 000000000..8e9ee1840 --- /dev/null +++ b/vista_backend_theme/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_theme_data,access.theme.data,model_theme_data,,1,1,1,1 diff --git a/vista_backend_theme/static/description/assets/._.DS_Store b/vista_backend_theme/static/description/assets/._.DS_Store new file mode 100644 index 000000000..9ad849cdb Binary files /dev/null and b/vista_backend_theme/static/description/assets/._.DS_Store differ diff --git a/vista_backend_theme/static/description/assets/._Daco_4075075.png b/vista_backend_theme/static/description/assets/._Daco_4075075.png new file mode 100644 index 000000000..66e1da358 Binary files /dev/null and b/vista_backend_theme/static/description/assets/._Daco_4075075.png differ diff --git a/vista_backend_theme/static/description/assets/._clipart4258116.png b/vista_backend_theme/static/description/assets/._clipart4258116.png new file mode 100644 index 000000000..febd13e17 Binary files /dev/null and b/vista_backend_theme/static/description/assets/._clipart4258116.png differ diff --git a/vista_backend_theme/static/description/assets/icons/chevron.png b/vista_backend_theme/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/chevron.png differ diff --git a/vista_backend_theme/static/description/assets/icons/cogs.png b/vista_backend_theme/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/cogs.png differ diff --git a/vista_backend_theme/static/description/assets/icons/consultation.png b/vista_backend_theme/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/consultation.png differ diff --git a/vista_backend_theme/static/description/assets/icons/ecom-black.png b/vista_backend_theme/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/ecom-black.png differ diff --git a/vista_backend_theme/static/description/assets/icons/education-black.png b/vista_backend_theme/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/education-black.png differ diff --git a/vista_backend_theme/static/description/assets/icons/hotel-black.png b/vista_backend_theme/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/hotel-black.png differ diff --git a/vista_backend_theme/static/description/assets/icons/license.png b/vista_backend_theme/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/license.png differ diff --git a/vista_backend_theme/static/description/assets/icons/lifebuoy.png b/vista_backend_theme/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/lifebuoy.png differ diff --git a/vista_backend_theme/static/description/assets/icons/manufacturing-black.png b/vista_backend_theme/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/manufacturing-black.png differ diff --git a/vista_backend_theme/static/description/assets/icons/pos-black.png b/vista_backend_theme/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/pos-black.png differ diff --git a/vista_backend_theme/static/description/assets/icons/puzzle.png b/vista_backend_theme/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/puzzle.png differ diff --git a/vista_backend_theme/static/description/assets/icons/restaurant-black.png b/vista_backend_theme/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/restaurant-black.png differ diff --git a/vista_backend_theme/static/description/assets/icons/service-black.png b/vista_backend_theme/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/service-black.png differ diff --git a/vista_backend_theme/static/description/assets/icons/trading-black.png b/vista_backend_theme/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/trading-black.png differ diff --git a/vista_backend_theme/static/description/assets/icons/training.png b/vista_backend_theme/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/training.png differ diff --git a/vista_backend_theme/static/description/assets/icons/update.png b/vista_backend_theme/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/update.png differ diff --git a/vista_backend_theme/static/description/assets/icons/user.png b/vista_backend_theme/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/user.png differ diff --git a/vista_backend_theme/static/description/assets/icons/wrench.png b/vista_backend_theme/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/vista_backend_theme/static/description/assets/icons/wrench.png differ diff --git a/vista_backend_theme/static/description/banner.png b/vista_backend_theme/static/description/banner.png new file mode 100644 index 000000000..4fd17469b Binary files /dev/null and b/vista_backend_theme/static/description/banner.png differ diff --git a/vista_backend_theme/static/description/icon.png b/vista_backend_theme/static/description/icon.png new file mode 100644 index 000000000..46eadfaab Binary files /dev/null and b/vista_backend_theme/static/description/icon.png differ diff --git a/vista_backend_theme/static/description/images/app_drawer.png b/vista_backend_theme/static/description/images/app_drawer.png new file mode 100644 index 000000000..273ecd73c Binary files /dev/null and b/vista_backend_theme/static/description/images/app_drawer.png differ diff --git a/vista_backend_theme/static/description/images/custom_date.png b/vista_backend_theme/static/description/images/custom_date.png new file mode 100644 index 000000000..1550395b1 Binary files /dev/null and b/vista_backend_theme/static/description/images/custom_date.png differ diff --git a/vista_backend_theme/static/description/images/discuss.png b/vista_backend_theme/static/description/images/discuss.png new file mode 100644 index 000000000..51af46280 Binary files /dev/null and b/vista_backend_theme/static/description/images/discuss.png differ diff --git a/vista_backend_theme/static/description/images/discuss_mobile.png b/vista_backend_theme/static/description/images/discuss_mobile.png new file mode 100644 index 000000000..77cc6da6a Binary files /dev/null and b/vista_backend_theme/static/description/images/discuss_mobile.png differ diff --git a/vista_backend_theme/static/description/images/form_view.png b/vista_backend_theme/static/description/images/form_view.png new file mode 100644 index 000000000..f4de53bc9 Binary files /dev/null and b/vista_backend_theme/static/description/images/form_view.png differ diff --git a/vista_backend_theme/static/description/images/hero.gif b/vista_backend_theme/static/description/images/hero.gif new file mode 100644 index 000000000..56939001c Binary files /dev/null and b/vista_backend_theme/static/description/images/hero.gif differ diff --git a/vista_backend_theme/static/description/images/icons/design.png b/vista_backend_theme/static/description/images/icons/design.png new file mode 100644 index 000000000..f09d096ec Binary files /dev/null and b/vista_backend_theme/static/description/images/icons/design.png differ diff --git a/vista_backend_theme/static/description/images/icons/quality.png b/vista_backend_theme/static/description/images/icons/quality.png new file mode 100644 index 000000000..81de174ad Binary files /dev/null and b/vista_backend_theme/static/description/images/icons/quality.png differ diff --git a/vista_backend_theme/static/description/images/icons/responsive.png b/vista_backend_theme/static/description/images/icons/responsive.png new file mode 100644 index 000000000..d3cd0869f Binary files /dev/null and b/vista_backend_theme/static/description/images/icons/responsive.png differ diff --git a/vista_backend_theme/static/description/images/kanban.png b/vista_backend_theme/static/description/images/kanban.png new file mode 100644 index 000000000..ecf0f82ea Binary files /dev/null and b/vista_backend_theme/static/description/images/kanban.png differ diff --git a/vista_backend_theme/static/description/images/kanban_mobile.png b/vista_backend_theme/static/description/images/kanban_mobile.png new file mode 100644 index 000000000..eef8b831b Binary files /dev/null and b/vista_backend_theme/static/description/images/kanban_mobile.png differ diff --git a/vista_backend_theme/static/description/images/login.png b/vista_backend_theme/static/description/images/login.png new file mode 100644 index 000000000..ab34a37fe Binary files /dev/null and b/vista_backend_theme/static/description/images/login.png differ diff --git a/vista_backend_theme/static/description/images/responsive.png b/vista_backend_theme/static/description/images/responsive.png new file mode 100644 index 000000000..e1a91a1c0 Binary files /dev/null and b/vista_backend_theme/static/description/images/responsive.png differ diff --git a/vista_backend_theme/static/description/images/sale_tree_view.png b/vista_backend_theme/static/description/images/sale_tree_view.png new file mode 100644 index 000000000..80ca1ab6d Binary files /dev/null and b/vista_backend_theme/static/description/images/sale_tree_view.png differ diff --git a/vista_backend_theme/static/description/images/search.png b/vista_backend_theme/static/description/images/search.png new file mode 100644 index 000000000..812a26c4c Binary files /dev/null and b/vista_backend_theme/static/description/images/search.png differ diff --git a/vista_backend_theme/static/description/images/tree_view.png b/vista_backend_theme/static/description/images/tree_view.png new file mode 100644 index 000000000..c0ccf3781 Binary files /dev/null and b/vista_backend_theme/static/description/images/tree_view.png differ diff --git a/vista_backend_theme/static/description/index.html b/vista_backend_theme/static/description/index.html new file mode 100644 index 000000000..f42041550 --- /dev/null +++ b/vista_backend_theme/static/description/index.html @@ -0,0 +1,444 @@ + +
+
+
+

Vista Backend Theme

+

Multi-Color + & Multi-Design Backend Theme for + Odoo 15

+
+ +
+
+ + +
+
+
+
The app enables a user friendly backend + theme for Odoo 15.0 community edition.
+
+
+
+ + +
+
+
+
+ +
+
Carefully Crafted
+
+ +
+
+ +
+
Responsive Design
+
+ +
+
+ +
+
Quality Checked
+
+
+
+ + + +
+
+
+

Kanban View

+

Kanban view with a clean layout and modified font.

+ +
+
+
+ + + +
+
+
+ Custom + Login +

Minimal, Colorful Login Screen

+

Customized minimal and colorful login screen.

+ +
+ +
+ Colored UI + Elements +

Discuss

+

Discuss page with a different style.

+ +
+ +
+
+ + + +
+
+
+ +
+
+ Responsive + Layout +

Truly Responsive

+

Fully responsive layout which enables to view and manage everything from the + comfort of your mobile device.

+
+
+ +
+ + + +
+
+
+ Responsive + Layout +

Modified App Drawer

+

Modified app drawer which helps to navigate through different applications.

+
+
+ +
+
+
+ + + + +
+
+
+ +
+
+ Colored UI + Elements +

Custom Date Picker

+

Customized date picker

+
+
+ +
+ + + + +
+
+
+ Colored UI + Elements +

Tree View

+

Tree view with a clean layout and modified font.

+ +
+ +
+ Colored UI + Elements +

Form View

+

Form view with a clean layout and modified font.

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

+ Our Services

+

+ We provide following services

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

+ Our Industries

+

+ Our industry specifics and process segments to solve your complex business barriers.

+
+ +
+
+ +
+ Trading +
+

Easily procure + and + sell your products

+
+
+ +
+
+ +
+ POS +
+

Easy + configuration + and convivial experience

+
+
+ +
+
+ +
+ Education +
+

A platform for + educational management

+
+
+ +
+
+ +
+ Manufacturing +
+

Plan, track and + schedule your operations

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

Mobile + friendly, + awe-inspiring product pages

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

Keep track of + services and invoice

+
+
+ +
+
+ +
+ Restaurant +
+

Run your bar or + restaurant methodically

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

An + all-inclusive + hotel management application

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

+ Need Help?

+

+ Do you have any queries regarding our products & services? Let us know.

+
+
+ + +
+ +
+ + +
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ + \ No newline at end of file diff --git a/vista_backend_theme/static/description/theme_screenshot.png b/vista_backend_theme/static/description/theme_screenshot.png new file mode 100644 index 000000000..a755b7d2a Binary files /dev/null and b/vista_backend_theme/static/description/theme_screenshot.png differ diff --git a/vista_backend_theme/static/src/img/icons/accounting.png b/vista_backend_theme/static/src/img/icons/accounting.png new file mode 100644 index 000000000..f496ce70f Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/accounting.png differ diff --git a/vista_backend_theme/static/src/img/icons/apps.png b/vista_backend_theme/static/src/img/icons/apps.png new file mode 100644 index 000000000..ee8031f23 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/apps.png differ diff --git a/vista_backend_theme/static/src/img/icons/attendance.png b/vista_backend_theme/static/src/img/icons/attendance.png new file mode 100644 index 000000000..86c84cd98 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/attendance.png differ diff --git a/vista_backend_theme/static/src/img/icons/bell.png b/vista_backend_theme/static/src/img/icons/bell.png new file mode 100644 index 000000000..77caa55c1 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/bell.png differ diff --git a/vista_backend_theme/static/src/img/icons/calendar.png b/vista_backend_theme/static/src/img/icons/calendar.png new file mode 100644 index 000000000..e07d78c63 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/calendar.png differ diff --git a/vista_backend_theme/static/src/img/icons/contacts.png b/vista_backend_theme/static/src/img/icons/contacts.png new file mode 100644 index 000000000..8582a80b5 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/contacts.png differ diff --git a/vista_backend_theme/static/src/img/icons/crm.png b/vista_backend_theme/static/src/img/icons/crm.png new file mode 100644 index 000000000..cb305553f Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/crm.png differ diff --git a/vista_backend_theme/static/src/img/icons/discuss.png b/vista_backend_theme/static/src/img/icons/discuss.png new file mode 100644 index 000000000..8dac1f03f Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/discuss.png differ diff --git a/vista_backend_theme/static/src/img/icons/documents.png b/vista_backend_theme/static/src/img/icons/documents.png new file mode 100644 index 000000000..e91468498 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/documents.png differ diff --git a/vista_backend_theme/static/src/img/icons/dots-menu-green.png b/vista_backend_theme/static/src/img/icons/dots-menu-green.png new file mode 100644 index 000000000..c64e64052 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/dots-menu-green.png differ diff --git a/vista_backend_theme/static/src/img/icons/dots-menu-navy.png b/vista_backend_theme/static/src/img/icons/dots-menu-navy.png new file mode 100644 index 000000000..8c97a4260 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/dots-menu-navy.png differ diff --git a/vista_backend_theme/static/src/img/icons/dots-menu-primary.png b/vista_backend_theme/static/src/img/icons/dots-menu-primary.png new file mode 100644 index 000000000..527574d68 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/dots-menu-primary.png differ diff --git a/vista_backend_theme/static/src/img/icons/dots-menu.png b/vista_backend_theme/static/src/img/icons/dots-menu.png new file mode 100644 index 000000000..6188bc222 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/dots-menu.png differ diff --git a/vista_backend_theme/static/src/img/icons/dots-menu2.png b/vista_backend_theme/static/src/img/icons/dots-menu2.png new file mode 100644 index 000000000..ebee2b806 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/dots-menu2.png differ diff --git a/vista_backend_theme/static/src/img/icons/elearning.png b/vista_backend_theme/static/src/img/icons/elearning.png new file mode 100644 index 000000000..986fb0476 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/elearning.png differ diff --git a/vista_backend_theme/static/src/img/icons/email-marketing.png b/vista_backend_theme/static/src/img/icons/email-marketing.png new file mode 100644 index 000000000..12addfd36 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/email-marketing.png differ diff --git a/vista_backend_theme/static/src/img/icons/employee.png b/vista_backend_theme/static/src/img/icons/employee.png new file mode 100644 index 000000000..6532a0234 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/employee.png differ diff --git a/vista_backend_theme/static/src/img/icons/events.png b/vista_backend_theme/static/src/img/icons/events.png new file mode 100644 index 000000000..df607fa4c Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/events.png differ diff --git a/vista_backend_theme/static/src/img/icons/expenses.png b/vista_backend_theme/static/src/img/icons/expenses.png new file mode 100644 index 000000000..8df588343 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/expenses.png differ diff --git a/vista_backend_theme/static/src/img/icons/fleet.png b/vista_backend_theme/static/src/img/icons/fleet.png new file mode 100644 index 000000000..a03b1fce7 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/fleet.png differ diff --git a/vista_backend_theme/static/src/img/icons/inventory.png b/vista_backend_theme/static/src/img/icons/inventory.png new file mode 100644 index 000000000..b4bb3f4b0 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/inventory.png differ diff --git a/vista_backend_theme/static/src/img/icons/link-tracker.png b/vista_backend_theme/static/src/img/icons/link-tracker.png new file mode 100644 index 000000000..052f14003 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/link-tracker.png differ diff --git a/vista_backend_theme/static/src/img/icons/live-chat.png b/vista_backend_theme/static/src/img/icons/live-chat.png new file mode 100644 index 000000000..348899bbf Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/live-chat.png differ diff --git a/vista_backend_theme/static/src/img/icons/lunch.png b/vista_backend_theme/static/src/img/icons/lunch.png new file mode 100644 index 000000000..60873c82d Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/lunch.png differ diff --git a/vista_backend_theme/static/src/img/icons/maintenance.png b/vista_backend_theme/static/src/img/icons/maintenance.png new file mode 100644 index 000000000..1710d8009 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/maintenance.png differ diff --git a/vista_backend_theme/static/src/img/icons/manufacturing.png b/vista_backend_theme/static/src/img/icons/manufacturing.png new file mode 100644 index 000000000..c5069247c Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/manufacturing.png differ diff --git a/vista_backend_theme/static/src/img/icons/members.png b/vista_backend_theme/static/src/img/icons/members.png new file mode 100644 index 000000000..ce004aaba Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/members.png differ diff --git a/vista_backend_theme/static/src/img/icons/notes.png b/vista_backend_theme/static/src/img/icons/notes.png new file mode 100644 index 000000000..5da39fd85 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/notes.png differ diff --git a/vista_backend_theme/static/src/img/icons/planning.png b/vista_backend_theme/static/src/img/icons/planning.png new file mode 100644 index 000000000..5423a12ba Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/planning.png differ diff --git a/vista_backend_theme/static/src/img/icons/pos.png b/vista_backend_theme/static/src/img/icons/pos.png new file mode 100644 index 000000000..54eb5b20b Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/pos.png differ diff --git a/vista_backend_theme/static/src/img/icons/project.png b/vista_backend_theme/static/src/img/icons/project.png new file mode 100644 index 000000000..fa5381513 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/project.png differ diff --git a/vista_backend_theme/static/src/img/icons/purchase.png b/vista_backend_theme/static/src/img/icons/purchase.png new file mode 100644 index 000000000..653ae082e Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/purchase.png differ diff --git a/vista_backend_theme/static/src/img/icons/recruitment.png b/vista_backend_theme/static/src/img/icons/recruitment.png new file mode 100644 index 000000000..ca680ed5e Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/recruitment.png differ diff --git a/vista_backend_theme/static/src/img/icons/repairs.png b/vista_backend_theme/static/src/img/icons/repairs.png new file mode 100644 index 000000000..09b4a5932 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/repairs.png differ diff --git a/vista_backend_theme/static/src/img/icons/sales.png b/vista_backend_theme/static/src/img/icons/sales.png new file mode 100644 index 000000000..33551fdbb Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/sales.png differ diff --git a/vista_backend_theme/static/src/img/icons/services.png b/vista_backend_theme/static/src/img/icons/services.png new file mode 100644 index 000000000..22e478fa4 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/services.png differ diff --git a/vista_backend_theme/static/src/img/icons/settinga.png b/vista_backend_theme/static/src/img/icons/settinga.png new file mode 100644 index 000000000..a458f8e54 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/settinga.png differ diff --git a/vista_backend_theme/static/src/img/icons/sms-marketing.png b/vista_backend_theme/static/src/img/icons/sms-marketing.png new file mode 100644 index 000000000..ef1307d09 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/sms-marketing.png differ diff --git a/vista_backend_theme/static/src/img/icons/speech-bubble.png b/vista_backend_theme/static/src/img/icons/speech-bubble.png new file mode 100644 index 000000000..c00880fb6 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/speech-bubble.png differ diff --git a/vista_backend_theme/static/src/img/icons/surveys.png b/vista_backend_theme/static/src/img/icons/surveys.png new file mode 100644 index 000000000..1d6ac9827 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/surveys.png differ diff --git a/vista_backend_theme/static/src/img/icons/timeoff.png b/vista_backend_theme/static/src/img/icons/timeoff.png new file mode 100644 index 000000000..3f00454b8 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/timeoff.png differ diff --git a/vista_backend_theme/static/src/img/icons/timesheet.png b/vista_backend_theme/static/src/img/icons/timesheet.png new file mode 100644 index 000000000..afca506a1 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/timesheet.png differ diff --git a/vista_backend_theme/static/src/img/icons/website.png b/vista_backend_theme/static/src/img/icons/website.png new file mode 100644 index 000000000..bbbf0aa8e Binary files /dev/null and b/vista_backend_theme/static/src/img/icons/website.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/accounting.png b/vista_backend_theme/static/src/img/icons_green/accounting.png new file mode 100644 index 000000000..81c046ed8 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/accounting.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/apps.png b/vista_backend_theme/static/src/img/icons_green/apps.png new file mode 100644 index 000000000..ab8864a21 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/apps.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/attendance.png b/vista_backend_theme/static/src/img/icons_green/attendance.png new file mode 100644 index 000000000..9ba39c8b8 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/attendance.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/bell.png b/vista_backend_theme/static/src/img/icons_green/bell.png new file mode 100644 index 000000000..08c167f32 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/bell.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/calendar.png b/vista_backend_theme/static/src/img/icons_green/calendar.png new file mode 100644 index 000000000..06643f6f1 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/calendar.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/contacts.png b/vista_backend_theme/static/src/img/icons_green/contacts.png new file mode 100644 index 000000000..56a350882 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/contacts.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/crm.png b/vista_backend_theme/static/src/img/icons_green/crm.png new file mode 100644 index 000000000..a67d78ea5 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/crm.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/discuss.png b/vista_backend_theme/static/src/img/icons_green/discuss.png new file mode 100644 index 000000000..77dc5147a Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/discuss.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/documents.png b/vista_backend_theme/static/src/img/icons_green/documents.png new file mode 100644 index 000000000..66332beb2 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/documents.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/elearning.png b/vista_backend_theme/static/src/img/icons_green/elearning.png new file mode 100644 index 000000000..3ecf3e472 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/elearning.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/email-marketing.png b/vista_backend_theme/static/src/img/icons_green/email-marketing.png new file mode 100644 index 000000000..e2d9f8f0a Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/email-marketing.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/employee.png b/vista_backend_theme/static/src/img/icons_green/employee.png new file mode 100644 index 000000000..f111b0b72 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/employee.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/events.png b/vista_backend_theme/static/src/img/icons_green/events.png new file mode 100644 index 000000000..f6adc69f4 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/events.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/expenses.png b/vista_backend_theme/static/src/img/icons_green/expenses.png new file mode 100644 index 000000000..55bea20ac Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/expenses.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/fleet.png b/vista_backend_theme/static/src/img/icons_green/fleet.png new file mode 100644 index 000000000..f29df0b12 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/fleet.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/inventory.png b/vista_backend_theme/static/src/img/icons_green/inventory.png new file mode 100644 index 000000000..009661827 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/inventory.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/link-tracker.png b/vista_backend_theme/static/src/img/icons_green/link-tracker.png new file mode 100644 index 000000000..02d1b1549 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/link-tracker.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/live-chat.png b/vista_backend_theme/static/src/img/icons_green/live-chat.png new file mode 100644 index 000000000..f87b80f78 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/live-chat.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/lunch.png b/vista_backend_theme/static/src/img/icons_green/lunch.png new file mode 100644 index 000000000..2bee60d5d Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/lunch.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/maintenance.png b/vista_backend_theme/static/src/img/icons_green/maintenance.png new file mode 100644 index 000000000..691e3308c Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/maintenance.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/manufacturing.png b/vista_backend_theme/static/src/img/icons_green/manufacturing.png new file mode 100644 index 000000000..c3ad49956 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/manufacturing.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/members.png b/vista_backend_theme/static/src/img/icons_green/members.png new file mode 100644 index 000000000..4178f04cb Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/members.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/notes.png b/vista_backend_theme/static/src/img/icons_green/notes.png new file mode 100644 index 000000000..7d766c072 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/notes.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/planning.png b/vista_backend_theme/static/src/img/icons_green/planning.png new file mode 100644 index 000000000..6c57ea8b3 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/planning.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/pos.png b/vista_backend_theme/static/src/img/icons_green/pos.png new file mode 100644 index 000000000..904187a40 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/pos.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/project.png b/vista_backend_theme/static/src/img/icons_green/project.png new file mode 100644 index 000000000..ecf627a3d Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/project.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/purchase.png b/vista_backend_theme/static/src/img/icons_green/purchase.png new file mode 100644 index 000000000..4635eec5f Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/purchase.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/recruitment.png b/vista_backend_theme/static/src/img/icons_green/recruitment.png new file mode 100644 index 000000000..8faaf1285 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/recruitment.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/repairs.png b/vista_backend_theme/static/src/img/icons_green/repairs.png new file mode 100644 index 000000000..89f0ff72b Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/repairs.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/sales.png b/vista_backend_theme/static/src/img/icons_green/sales.png new file mode 100644 index 000000000..81164740a Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/sales.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/services.png b/vista_backend_theme/static/src/img/icons_green/services.png new file mode 100644 index 000000000..57ad052b9 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/services.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/settinga.png b/vista_backend_theme/static/src/img/icons_green/settinga.png new file mode 100644 index 000000000..9dfcc0aaa Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/settinga.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/sms-marketing.png b/vista_backend_theme/static/src/img/icons_green/sms-marketing.png new file mode 100644 index 000000000..8ec175758 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/sms-marketing.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/surveys.png b/vista_backend_theme/static/src/img/icons_green/surveys.png new file mode 100644 index 000000000..7fb1cd738 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/surveys.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/timeoff.png b/vista_backend_theme/static/src/img/icons_green/timeoff.png new file mode 100644 index 000000000..1295f82ce Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/timeoff.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/timesheet.png b/vista_backend_theme/static/src/img/icons_green/timesheet.png new file mode 100644 index 000000000..3cfc45097 Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/timesheet.png differ diff --git a/vista_backend_theme/static/src/img/icons_green/website.png b/vista_backend_theme/static/src/img/icons_green/website.png new file mode 100644 index 000000000..d1bba818c Binary files /dev/null and b/vista_backend_theme/static/src/img/icons_green/website.png differ diff --git a/vista_backend_theme/static/src/js/chrome/sidebar.js b/vista_backend_theme/static/src/js/chrome/sidebar.js new file mode 100644 index 000000000..565f48c33 --- /dev/null +++ b/vista_backend_theme/static/src/js/chrome/sidebar.js @@ -0,0 +1,44 @@ +odoo.define('vista_backend_theme.SideBar', function (require) { + "use strict"; + var Widget = require('web.Widget'); + var SideBar = Widget.extend({ + events: _.extend({}, Widget.prototype.events, { + 'click .nav-link': '_onAppsMenuItemClicked', + }), + template: "vista_backend_theme.Sidebar", + + init: function (parent, menuData) { + this._super.apply(this, arguments); + this._apps = _.map(menuData.children, function (appMenuData) { + return { + actionID: parseInt(appMenuData.action.split(',')[1]), + menuID: appMenuData.id, + name: appMenuData.name, + xmlID: appMenuData.xmlid, + web_icon_data: appMenuData.web_icon_data, + }; + }); + }, + + getApps: function () { + return this._apps; + }, + + _openApp: function (app) { + this.trigger_up('app_clicked', { + action_id: app.actionID, + menu_id: app.menuID, + }); + }, + + _onAppsMenuItemClicked: function (ev) { + var $target = $(ev.currentTarget); + var actionID = $target.data('action-id'); + var menuID = $target.data('menu-id'); + var app = _.findWhere(this._apps, { actionID: actionID, menuID: menuID }); + this._openApp(app); + }, + }); + + return SideBar; +}); \ No newline at end of file diff --git a/vista_backend_theme/static/src/js/chrome/sidebar_menu.js b/vista_backend_theme/static/src/js/chrome/sidebar_menu.js new file mode 100644 index 000000000..fc0f947b4 --- /dev/null +++ b/vista_backend_theme/static/src/js/chrome/sidebar_menu.js @@ -0,0 +1,107 @@ +odoo.define('code_backend_theme.SidebarMenu', function (require) { + "use strict"; + + //sidebar toggle effect + $(document).on("click", "#closeSidebar", function(event){ + $("#closeSidebar").hide(); + $("#openSidebar").show(); + }); + $(document).on("click", "#openSidebar", function(event){ + $("#openSidebar").hide(); + $("#closeSidebar").show(); + }); + $(document).on("click", "#openSidebar", function(event){ + $("#sidebar_panel").css({'display':'block'}); + $(".o_action_manager").css({'margin-left': '90px','transition':'all .1s linear'}); + $(".top_heading").css({'margin-left': '70px','transition':'all .1s linear'}); + + //add class in navbar + var navbar = $(".o_main_navbar"); + var navbar_id = navbar.data("id"); + $("nav").addClass(navbar_id); + navbar.addClass("small_nav"); + + //add class in action-manager + var action_manager = $(".o_action_manager"); + var action_manager_id = action_manager.data("id"); + $("div").addClass(action_manager_id); + action_manager.addClass("sidebar_margin"); + + //add class in top_heading + var top_head = $(".top_heading"); + var top_head_id = top_head.data("id"); + $("div").addClass(top_head_id); + top_head.addClass("sidebar_margin"); + }); + $(document).on("click", "#closeSidebar", function(event){ + $("#sidebar_panel").css({'display':'none'}); + $(".o_action_manager").css({'margin-left': '0px'}); + $(".top_heading").css({'margin-left': '0px'}); + + //remove class in navbar + var navbar = $(".o_main_navbar"); + var navbar_id = navbar.data("id"); + $("nav").removeClass(navbar_id); + navbar.removeClass("small_nav"); + + //remove class in action-manager + var action_manager = $(".o_action_manager"); + var action_manager_id = action_manager.data("id"); + $("div").removeClass(action_manager_id); + action_manager.removeClass("sidebar_margin"); + + //remove class in top_heading + var top_head = $(".top_heading"); + var top_head_id = top_head.data("id"); + $("div").removeClass(top_head_id); + top_head.removeClass("sidebar_margin"); + }); + + $(document).on("click", ".sidebar a", function(event){ + var menu = $(".sidebar a"); + var $this = $(this); + var id = $this.data("id"); + $("header").removeClass().addClass(id); + menu.removeClass("active"); + $this.addClass("active"); + + //sidebar close on menu-item click + $("#sidebar_panel").css({'display':'none'}); + $(".o_action_manager").css({'margin-left': '0px'}); + $(".top_heading").css({'margin-left': '0px'}); + $("#closeSidebar").hide(); + $("#openSidebar").show(); + + //remove class in navbar + var navbar = $(".o_main_navbar"); + var navbar_id = navbar.data("id"); + $("nav").removeClass(navbar_id); + navbar.removeClass("small_nav"); + + //remove class in action-manager + var action_manager = $(".o_action_manager"); + var action_manager_id = action_manager.data("id"); + $("div").removeClass(action_manager_id); + action_manager.removeClass("sidebar_margin"); + + //remove class in top_heading + var top_head = $(".top_heading"); + var top_head_id = top_head.data("id"); + $("div").removeClass(top_head_id); + top_head.removeClass("sidebar_margin"); + }); +// //Custom +// var showBar = false; +// +// $(document).on("click", "#triggerSidebar", function(event){ +// +// if(showBar){ +// hideSidebar(); +// }else{ +// showSidebar(); +// } +// $("#triggerSidebar").toggleClass('c_sidebar_active c_sidebar_passive'); +// $('#dotsMenuContainer').toggleClass('c_dots_menu c_dots_menu_toggled'); +// showBar = !showBar; +// }); +}); \ No newline at end of file diff --git a/vista_backend_theme/static/src/js/load.js b/vista_backend_theme/static/src/js/load.js new file mode 100644 index 000000000..690337cb5 --- /dev/null +++ b/vista_backend_theme/static/src/js/load.js @@ -0,0 +1,14 @@ +odoo.define('vista_backend_theme.Load', function (require) { + "use strict"; + + var rpc = require('web.rpc'); + var session = require('web.session'); + + $(document).ready(function () { + rpc.query({ + model: 'theme.data', + method: 'action_apply', + args: [this] + }); + }); +}); \ No newline at end of file diff --git a/vista_backend_theme/static/src/js/systray.js b/vista_backend_theme/static/src/js/systray.js new file mode 100644 index 000000000..1ddbf5cd3 --- /dev/null +++ b/vista_backend_theme/static/src/js/systray.js @@ -0,0 +1,30 @@ +/** @odoo-module **/ + +import SystrayMenu from 'web.SystrayMenu'; +import Widget from 'web.Widget'; +import Session from 'web.session'; + + +var ThemeWidget = Widget.extend({ + template: 'theme_systray', + events: { + 'click #theme_vista': '_onClick', + }, + is_admin: false, + willStart: function () { + this.is_admin = Session.is_admin; + return this._super.apply(this, arguments); + }, + _onClick: function(){ + this.do_action({ + type: 'ir.actions.act_window', + name: 'theme data', + res_model: 'theme.data', + view_mode: 'form', + views: [[false, 'form']], + target: 'new' + }); + }, +}); +SystrayMenu.Items.push(ThemeWidget); +export default ThemeWidget; diff --git a/vista_backend_theme/static/src/scss/login.scss b/vista_backend_theme/static/src/scss/login.scss new file mode 100644 index 000000000..f2995dc62 --- /dev/null +++ b/vista_backend_theme/static/src/scss/login.scss @@ -0,0 +1,72 @@ +$one__light: #FFF !default; +$one__primary: #386aeb !default; +$one__primary-dark: #274aa5 !important; +$one__border-light: #d4d4d4 !important; + +$transition-normal: all 0.4s linear !default; + + +.c_login_container{ + background: $one__light !important; + width: 100% !important; + + .card-body{ + background-color: transparent !important; + } +} +.input-group-prepend{ + .input-group-text{ + border-radius: 0px !important; + border-right: 0px !important; + background: transparent !important; + } +} + +.form-control{ + border-radius: 0px !important; + border-color: $one__border-light; + background-color: none; + + &:focus{ + box-shadow: none !important; + } +} + +//Buttons +.btn{ + border-radius: 0px; + + &:hover{ + filter: brightness(90%) !important; + box-shadow: none; + transition: $transition-normal; + } + +} + +.btn-primary{ + background-color: $one__primary !important; + border-color: $one__primary !important; + color: $one__light !important; + + &:hover{ + background-color: $one__primary-dark !important; + } + + &:focus{ + box-shadow: 0 0 0 0.2rem rgba(235,240,253, 0.8); + } +} + +//Links +a, .btn-link { + color: $one__primary; + text-decoration: none; + background-color: transparent; + + &:hover{ + color: $one__primary-dark; + text-decoration: none !important; + transition: $transition-normal; + } +} \ No newline at end of file diff --git a/vista_backend_theme/static/src/scss/login_black.scss b/vista_backend_theme/static/src/scss/login_black.scss new file mode 100644 index 000000000..dcac31cfc --- /dev/null +++ b/vista_backend_theme/static/src/scss/login_black.scss @@ -0,0 +1,72 @@ +$one__light: #fff !default; +$one__primary: #1F2631 !default; +$one__primary-dark: #1c222c !important; +$one__border-light: #d4d4d4 !important; + +$transition-normal: all 0.4s linear !default; + + +.c_login_container{ + background: $one__light !important; + width: 100% !important; + + .card-body{ + background-color: transparent !important; + } +} +.input-group-prepend{ + .input-group-text{ + border-radius: 0px !important; + border-right: 0px !important; + background: transparent !important; + } +} + +.form-control{ + border-radius: 0px !important; + border-color: $one__border-light; + background-color: none; + + &:focus{ + box-shadow: none !important; + } +} + +//Buttons +.btn{ + border-radius: 0px; + + &:hover{ + filter: brightness(90%) !important; + box-shadow: none; + transition: $transition-normal; + } + +} + +.btn-primary{ + background-color: $one__primary !important; + border-color: $one__primary !important; + color: $one__light !important; + + &:hover{ + background-color: $one__primary-dark !important; + } + + &:focus{ + box-shadow: 0 0 0 0.2rem rgba(235,240,253, 0.8); + } +} + +//Links +a, .btn-link { + color: $one__primary; + text-decoration: none; + background-color: transparent; + + &:hover{ + color: $one__primary-dark; + text-decoration: none !important; + transition: $transition-normal; + } +} \ No newline at end of file diff --git a/vista_backend_theme/static/src/scss/login_green.scss b/vista_backend_theme/static/src/scss/login_green.scss new file mode 100644 index 000000000..781b85b58 --- /dev/null +++ b/vista_backend_theme/static/src/scss/login_green.scss @@ -0,0 +1,71 @@ +$one__light: #fff !default; +$one__primary: #00A97F !default; +$one__primary-dark: #009872 !important; +$one__border-light: #d4d4d4 !important; +$transition-normal: all 0.4s linear !default; + + +.c_login_container{ + background: $one__light !important; + width: 100% !important; + + .card-body{ + background-color: transparent !important; + } +} +.input-group-prepend{ + .input-group-text{ + border-radius: 0px !important; + border-right: 0px !important; + background: transparent !important; + } +} + +.form-control{ + border-radius: 0px !important; + border-color: $one__border-light; + background-color: none; + + &:focus{ + box-shadow: none !important; + } +} + +//Buttons +.btn{ + border-radius: 0px; + + &:hover{ + filter: brightness(90%) !important; + box-shadow: none; + transition: $transition-normal; + } + +} + +.btn-primary{ + background-color: $one__primary !important; + border-color: $one__primary !important; + color: $one__light !important; + + &:hover{ + background-color: $one__primary-dark !important; + } + + &:focus{ + box-shadow: 0 0 0 0.2rem rgba(235,240,253, 0.8); + } +} + +//Links +a, .btn-link { + color: $one__primary; + text-decoration: none; + background-color: transparent; + + &:hover{ + color: $one__primary-dark; + text-decoration: none !important; + transition: $transition-normal; + } +} \ No newline at end of file diff --git a/vista_backend_theme/static/src/scss/theme.scss b/vista_backend_theme/static/src/scss/theme.scss new file mode 100644 index 000000000..0e7e0a54d --- /dev/null +++ b/vista_backend_theme/static/src/scss/theme.scss @@ -0,0 +1,1016 @@ +//Variables + +$one__font: "Odoo Unicode Support Noto", "Lucida Grande", Helvetica, Verdana, Arial, sans-serif; + +//Colors +$one__light: #FFF !default; +$one__primary: #386aeb !default; +$one__sidebar-color-hover: #274aa5 !important; +$one__sidebar-border: #386aeb !important; +$one__sidebar-color: #386aeb !important; +$one__sidebar_text: #fff !default; +$one__primary-light: #ebf0fd !default; +$one__primary-dark: #274aa5 !important; +$one__light-font-primary: #1f2631 !important; +$one__light-font-secondary: #575757 !important; +$one__hover-bkg-light: #f5f5f5 !important; +$one__border-light: #d4d4d4 !important; +$one__info: #454555 !important; + +//Border Style +$one__border: 0px; +$one__button-padding: auto; +//Misc +$transition-normal: all 0.4s linear !default; +$transition-fast: all 0.2s linear !default; +//Paths +$dots_menu_toggled: url('/vista_backend_theme/static/src/img/icons/dots-menu-primary.png'); + + +//Misc +$transition-normal: all 0.4s linear !default; + +//Animations +@mixin c_fadeBackgroundOut($name, $s_opacity, $e_opacity, $r, $g, $b){ + @keyframes #{$name}{ + 0%{ + background-color: rgba($r, $g, $b, $s_opacity); + } + + 100%{ + background-color: rgba($r, $g, $b, $e_opacity); + } + } +} + + + +body{ + background-color: $one__light !important; + font-family: $one__font; +} +//NAVBAR +.o_main_navbar { + -webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important; + box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important; + background-color: $one__light; + border-bottom: none; + -moz-box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.5) 0px 6px 6px; + -webkit-box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.5) 0px 6px 6px; + box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.5) 0px 6px 6px; + color: $one__light-font-primary; + //height: 60px !important; +} +@media (min-width: 768px) { + .o_menu_systray .o-dropdown.dropdown > .o-dropdown--menu { + top: 46px !important; + left: 85% !important; + right: 20px !important; + } +} + +.top_heading a.o_menu_brand{ + font-weight: bolder !important; +} + +.o_menu_systray > li{ + font-size: 1.5rem !important; + } + +.o_menu_systray > *{ + margin-right: 15px; + &:last-child{ + margin-right: 0px; + } + @media (max-width: 767.98px) { + margin-right: 0px !important; + &:last-child{ + margin-right: 0px; + } + } +} + +@media (max-width: 767.98px) { + .o_user_menu .o_user_avatar { + margin-right: 0px !important; + } +} + +li.o_MessagingMenu.o-is-open { + background-color: $one__hover-bkg-light; + border-bottom: none !important; +} +.o_mail_systray_item .o_notification_counter{ + background-color: $one__primary !important; + color: $one__light !important; +} +.o_MessagingMenu_counter { + margin-left: -12px !important; +} +.o_notification_counter{ + margin-left: -18px !important; +} +.o_NotificationGroup_date{ + color: $one__primary !important +} +.o_menu_sections > li > a, .o_main_navbar > li > label{ + color: $one__light-font-primary; + display: block !important; + &:hover{ + background-color: $one__hover-bkg-light; + //border-bottom: 1px solid $one__border-light; + } +} +.o_switch_company_menu > a{ + color: $one__light-font-primary; + font-size: 1.8rem !important +} +.oe_topbar_name{ + color: $one__light-font-primary; + + @media (max-width: 576px) { + display: none; + } +} +.o_main_navbar > a:hover, .o_main_navbar > a:focus, .o_main_navbar > button:hover, .o_main_navbar > button:focus { + background-color: $one__hover-bkg-light; + //border-bottom: 1px solid $one__border-light; +} + +.o_MessagingMenu, .o_mail_systray_item{ + a{ + color: $one__light-font-primary; + } +} +.o_MessagingMenu_counter, .o_notification_counter { + background-color: $one__primary; + color: $one__light; +} +.o_main_navbar .show .dropdowdropdown-toggle, .o_main_navbar .show .dropdown-toggle { + background-color: $one__hover-bkg-light; + //border-bottom: 1px solid $one__border-light; +} +.o_main_navbar .o_user_menu .oe_topbar_avatar { + height: 32px !important; + width: 32px !important; +} +.oe_topbar_name{ + color: $one__light-font-primary !important; +} +.o_dashboards .o_website_dashboard div.o_box h2, .o_dashboards .o_website_dashboard div.o_box h4 { + color: $one__primary !important; +} +.o_control_panel { + padding: 2.5rem 1rem !important; + margin-bottom: 1.5rem !important; + border-bottom: 1px solid $one__border-light; + width: 98%; + margin-left: auto; + margin-right: auto; +} +.o_form_view .oe_button_box .oe_stat_button .o_button_icon { + color: $one__primary; +} +.o_control_panel .breadcrumb{ + background-color: none !important; + padding: auto !important +} +.o_control_panel .breadcrumb > li, .breadcrumb-item > a{ + font-size: 2rem !important; + color: $one__light-font-secondary; + max-width: 100% !important; +} +.o_control_panel > div{ + display: flex; + justify-content: space-between; +} + +.breadcrumb-item.active{ + $color: $one__light-font-primary; +} +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled::after, +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled::before { + border-left-color: $one__primary !important; +} +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled::after, +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child)::before { + border-left-color: none !important; +} +.o_statusbar_status > .o_arrow_button.btn-secondary{ + background-color: $one__light !important; +} +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled { + border-left: none !important; +} +// .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child)::before, +// .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child)::after { +// background-color: $one__light !important; +// } + + + +.o_content{ + width: 98%; + margin-left: auto; + margin-right: auto; +} +.top_heading{ + display: flex; + align-items: center; + ul.o_menu_apps{ + list-style: none; + margin: 0 0.8rem 0 0; + padding: 0px; + } + li.dropdown{ + list-style: none; + } + a.o_menu_brand{ + color: $one__light-font-primary; + font-size: 1.5rem !important; + } +} +.o_menu_sections, .o_menu_systray{ + display: flex; + align-items: center; + list-style: none !important; + //height: 60px !important; + + li{ + margin-right: 1rem; + + &:last-child{ + margin-right: 0 !important; + } + } + .o-dropdown.dropdown > .o-dropdown--menu{ + border-color: transparent; + } +} +.o_main_navbar .dropdown .dropdown-toggle, +.o_main_navbar .o_menu_sections .dropdown .dropdown-toggle, +.o_nav_entry +{ + color: $one__light-font-primary; +} +.o_menu_systray, .o_menu_sections{ + li{ + position: relative !important; + a.o_MessagingMenu_toggler, a.dropdown-toggle{ + display: flex !important; + align-items: center !important; + height: 60px !important; + padding: 0px 7.5px; + + img{ + margin-right: 0.8rem; + transform: none !important; + } + } + } +} +.o_main_navbar .dropdown-menu.show { + min-width: auto !important; +} +.o_form_view .o_form_uri > span:first-child { + color: $one__primary; +} +.o_onboarding_container{ + margin-top: -1.575rem !important; +} +.o_loading_indicator.o_loading > span { + background: $one__primary !important; +} +.o_menu_systray > li > a > span.fa{ + color: $one__light-font-primary; + font-size: 1.9rem !important; + margin: auto 11px !important; +} + +//`Custom` +.c_navbar_container{ + display: flex; + justify-content: center; + width: 100%; + margin-left: auto; + margin-right: auto; + padding: 0 1rem 0 0 !important; +} + +.c_sidebar_active{ + height: 46px; + width: 60px; + display: flex !important; + justify-content: center; + align-items: center; + background-color: $one__primary; + color: $one__light !important; + margin-right: 1.5rem !important; + clip-path: polygon(0 0, 100% 0%, 86% 100%, 0% 100%); + + &:hover{ + background-color: $one__primary-dark; + transition: $transition-normal; + } +} + +.c_sidebar_passive{ + height: 46px; + width: 60px; + display: flex !important; + justify-content: center; + align-items: center; + background-color: $one__light; + color: $one__primary !important; + clip-path: polygon(0 0, 100% 0%, 86% 100%, 0% 100%); +} + +//END OF NAVBAR +.dropdown-menu{ + border-radius: 0px; + a, .dropdown-item{ + color: $one__light-font-primary; + &:hover{ + color: $one__primary !important; + background-color: $one__primary-light; + transition: $transition-normal; + } + } +} +//Buttons + +.btn{ + border-radius: 0px; + + &:hover{ + filter: brightness(90%) !important; + box-shadow: none; + transition: $transition-normal; + } + +} + +.btn-primary{ + background-color: $one__primary !important; + border-color: $one__primary !important; + color: $one__light !important; + + &:hover{ + background-color: $one__primary-dark !important; + } + + &:focus{ + box-shadow: 0 0 0 0.2rem rgba(235,240,253, 0.8); + } +} +.btn-secondary{ + background-color: $one__hover-bkg-light; + border-color: $one__hover-bkg-light; + color: $one__light-font-primary; + &:focus{ + box-shadow: 0 0 0 0.2rem rgba(245,245,245, 1); + } + + +} +.btn-fill-info, .btn-info { + background-color: $one__info; + border-color: $one__info; + color: $one__light; +} +.btn-group, .o_filter_menu{ + button, div.btn-group{ + margin-right: 3px; + &:last-child{ + margin-right: 0px !important; + } + } +} +.btn-link{ + color: $one__primary !important; + + &:hover{ + background-color: $one__hover-bkg-light !important; + } +} + +.o_control_panel .o_cp_bottom_left > .o_cp_action_menus .o_dropdown_toggler_btn, +.o_control_panel .o_cp_bottom_left > .o_cp_action_menus .dropdown-toggle + { + margin-right: 0px !important; +} +.o_activity_view .o_record_selector, .o_stat_value { + color: $one__primary !important; +} + +.o_web_settings_invite{ + height: 26px !important; + margin-top: 6px !important; +} + +.o_NotificationList{ + div:hover { + background-color: $one__primary-light; + } +} +.o_MessagingMenu_tabButton, .o_MessagingMenu_newMessageButton{ + color: $one__primary; + opacity: 0.8; + .o-active{ + opacity: 1; + font-weight: bold; + } +} +.o_ThreadPreview_date, .o_activity_filter_button, .o_mail_activity_action{ + color: $one__primary !important; + + &:before{ + color: $one__light-font-primary; + } + &:hover{ + color: $one__primary-dark !important; + } +} +//Controls +.custom-control.custom-checkbox .custom-control-input:not(:checked):not(:indeterminate) ~ .custom-control-label::before { + background: none; + outline: 1px solid $one__hover-bkg-light; +} +.custom-checkbox .custom-control-label::before { + border-radius: 0px; +} +.custom-control-input:checked ~ .custom-control-label::before { + color: $one__light; + border-color: $one__primary; + background-color: $one__primary; +} +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23FFFFFF' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"); +} + +.o_input{ + border-radius: 0px !important; + border-color: $one__border-light; +} +.o_required_modifier.o_input, .o_required_modifier .o_input, .o_searchview .o_searchview_autocomplete li.o_selection_focus { + background-color: $one__primary-light !important; +} +.ui-menu-item > a{ + background-color: $one__light !important; + color: $one__primary !important; + &:hover, &:active, &:focus, &:focus-within, &:focus-visible, &:visited{ + color: $one__primary !important; + background-color: $one__primary-light !important; + } +} +.nav-tabs .nav-link { + border-radius: 0px !important; + border-top: 3px solid transparent !important; +} +.nav-tabs .nav-link.active { + border-top: 3px solid $one__primary !important; +} +.nav-tabs .nav-link:hover{ + border-top: 3px solid $one__primary !important; + color: $one__primary-dark; + transition: transition-normal !important; +} +.o_form_view .o_horizontal_separator { + color: $one__primary; +} +.panel-heading.note-toolbar { + background-color: $one__light !important; +} +div.o_boolean_toggle.custom-control.custom-checkbox > input.custom-control-input:checked + label.custom-control-label::before { + background-color: $one__primary !important; +} +//Misc. +.badge-primary{ + background-color: $one__primary; + border-radius: 0px; + padding: 5px; +} +//Links +a { + color: $one__primary; + text-decoration: none; + background-color: transparent; + + &hover{ + color: $one__primary-dark; + text-decoration: none; + transition: $transition-normal; + } +} +a.o_menu_brand{ + color: $one__light-font-primary; + font-weight: bold; +} +.o_form_uri{ + color: $one__primary !important; +} +.o_Message_prettyBody > div > p > a { + background-color: $one__primary !important; +} + +.o_onboarding_step_title > a { + color: $one__light; +} +.oe_kanban_action_a{ + color: $one__light-font-primary; +} +.o_kanban_view .oe_kanban_card.oe_kanban_global_click:focus, +.o_kanban_view .oe_kanban_card.oe_kanban_global_click:focus-within, +.o_kanban_view .oe_kanban_card.oe_kanban_global_click_edit:focus, +.o_kanban_view .oe_kanban_card.oe_kanban_global_click_edit:focus-within, +.o_kanban_view .o_kanban_record.oe_kanban_global_click:focus, +.o_kanban_view .o_kanban_record.oe_kanban_global_click:focus-within, +.o_kanban_view .o_kanban_record.oe_kanban_global_click_edit:focus, +.o_kanban_view .o_kanban_record.oe_kanban_global_click_edit:focus-within{ + outline: thin solid $one__primary-light !important; +} +//Tables +.o_list_view thead { + background-color: $one__hover-bkg-light; +} + +.o_list_view .o_list_table thead { + color: $one__light-font-secondary; + border-bottom: 1px solid $one__border-light; +} +.o_list_view .o_list_table thead > tr > th:not(.o_list_record_selector) { + border-left: none; +} +table thead th { + vertical-align: bottom; + border-top: none !important; + border-bottom: none !important; + padding: 1rem !important; +} +table-sm th, .table-sm td { + padding: 1rem !important; + border-top: none !important; +} +tr:nth-child(even){ + background-color: $one__hover-bkg-light; +} +.o_list_view .o_list_table tfoot { + background-color: $one__light; + filter: brightness(95.5%) !important; +} + +//Search +.o_searchview .o_searchview_facet, .o_setting_search { + background: $one__light; + border-radius: 0px !important; + border: 1px solid $one__border-light; + color: $one__light-font-secondary; +} +.o_searchview .o_searchview_facet .o_searchview_facet_label { + background-color: $one__light; +} +.o_searchview .o_searchview_input_container .o_searchview_facet .o_searchview_facet_label { + color: $one__light-font-secondary; + margin: 0px -3px 3px 3px; +} +.o_searchview .o_searchview_input_container .o_searchview_facet .o_facet_remove{ + bottom: 3px !important; +} +.o_searchview .o_searchview_input_container .o_searchview_facet .o_facet_values { + padding: 2px 18px 0 5px !important; +} +.o_searchview{ + padding: 0.5rem !important; + border-radius: 0px; +} +.searchInput{ + border: none !important; +} +.searchIcon{ + margin: 5px 10px 0 0; +} +.o_setting_search { + padding: 5px; +} + +//Kanban +.oe_kanban_card{ + border-color: $one__border-light; + padding: 1rem !important; +} + +//Calendar +@include c_fadeBackgroundOut('fadeCalendarRow', 1, 0.6, 212, 212, 212 ); + +.o_calendar_sidebar_container .ui-datepicker td.ui-datepicker-current-day.ui-datepicker-today a, +.o_calendar_sidebar_container .ui-datepicker td.ui-datepicker-current-day a, +.o_calendar_view .o_calendar_widget .fc-dayGridMonth-view .fc-content-skeleton .fc-today .fc-day-number +{ + color: $one__light !important; + background-color: $one__primary !important; +} + +.o_calendar_sidebar_container .ui-datepicker td a{ + color: $one__light-font-secondary; +} +.o_calendar_sidebar_container .ui-datepicker td.ui-datepicker-today a{ + background-color: $one__border-light; +} + +.o_calendar_sidebar_container .ui-datepicker .o_selected_range.o_color:not(.ui-datepicker-unselectable) { + animation: fadeCalendarRow 2s forwards; +} + +.fc-now-indicator { + border-color: $one__primary !important; +} +.fc-ltr .fc-time-grid .fc-now-indicator-arrow { + left: 0; + border-width: 5px 0 5px 6px; + border-top-color: transparent !important; + border-bottom-color: transparent !important; +} + +.o_calendar_view .fc-view .fc-event.o_calendar_color_1.o_cw_custom_highlight { + box-shadow: 0 12px 12px -5px rgba(156, 181, 245, 0.8); + color: $one__primary; + font-weight: bold; +} +.o_calendar_view .fc-view .fc-event.o_calendar_color_1 .fc-bg { + background-color: $one__primary-light; +} +.o_calendar_view .fc-view .fc-event.o_calendar_color_1 { + border-color: $one__primary; + color: #274aa5; + opacity: 0.8; + + &:hover{ + background: $one__primary-light; + box-shadow: 0 12px 12px -5px rgba(156, 181, 245, 0.8); + } +} + +.bootstrap-datetimepicker-widget table td.active, .bootstrap-datetimepicker-widget table td.active:hover { + background-color: $one__primary !important; +} + +//Dashboard Sidebar +.o_Discuss, .o_setting_container{ + width: 98%; + margin-right: auto; + margin-left: auto; + border-top: none; +} +.o_widget_Discuss .o_Discuss_content { + border-top: none !important; +} +.o_DiscussSidebar, .settings_tab{ + color: $one__light-font-primary; + background-color: transparent !important; + border-right: 2px solid $one__border-light; + height: 95%; + margin-top: auto; + margin-bottom: auto; +} +.o_DiscussSidebarItem{ + padding: 0.4rem 0 !important; +} +.o_DiscussSidebarItem_activeIndicator.o-item-active{ + width: 0; + height: 0; + background: transparent; + margin-top: 0.375rem; + margin-right: 8px !important; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid $one__primary; +} +.o_DiscussSidebarItem:hover{ + background-color: transparent !important; + color: $one__primary; +} +.o_DiscussSidebar_separator{ + width: 95% !important; + margin-left: auto; + margin-right: auto; + background-color: transparent !important; +} +.o_MessageList{ + padding: 10px !important; +} + +.o_Message.o-not-discussion{ + background-color: $one__hover-bkg-light; + border-color: $one__border-light; +} + +//Settings + +.o_setting_container .settings_tab { + .app_name{ + color: $one__light-font-primary !important; + } +} + +.o_base_settings .o_control_panel .o_panel .o_setting_search .searchInput { + max-width: none !important; + margin: 4px 0 0 10px !important; +} + +.o_setting_container .settings_tab .tab{ + height: 30px !important; +} + +.o_setting_container .settings{ + padding: 10px !important; +} +.o_setting_container .settings_tab .app_name { + color: $one__light-font-primary; + + &:hover{ + color :$one__primary !important; + } +} +.o_setting_container .settings_tab .selected{ + background: transparent !important; + box-shadow: none !important; + position: relative; + + &:before{ + content: ""; + position: absolute; + width: 0; + height: 0; + top: 24%; + left: 0; + background: transparent; + margin-top: 0.375rem; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid $one__primary; + } + + .app_name{ + color: $one__light-font-primary; + + &:hover{ + color :$one__primary !important; + } + } +} + +.o_form_image_controls > .o_select_file_button{ + background: $one__primary !important; + color: $one__light; +} + +.o_search_panel .o_search_panel_category .o_search_panel_section_icon { + color: $one__primary; +} +.o_search_panel .list-group-item header.active { + background-color: $one__primary-light; + color: $one__primary; +} + +//Chat +.o_ChatWindowHeader{ + background-color: $one__primary !important; + color: $one__light !important; + border-radius: 0px !important; +} +//Tables +.o_purchase_dashboard .table > thead > tr > td.o_main, .o_purchase_dashboard .table tbody > tr > td.o_main { + background-color: $one__primary; + + &:hover{ + background-color: $one__primary-dark; + } + + a{ + color: $one__light; + } +} + +//Tags +.o_field_widget.o_field_many2manytags .o_tag_color_5, +.o_kanban_view .o_kanban_record .o_field_many2manytags .o_tag.o_tag_color_5 span, +.o_kanban_view .o_kanban_record .o_kanban_tags .o_tag.o_tag_color_5 span { + background-color: $one__primary; +} + +.badge-pill{ + a{ + color: $one__light; + } +} + + +.oe_kanban_card .o_kanban_tags .o_tag, .o_kanban_view .o_kanban_record .o_field_many2manytags .o_tag, .o_kanban_view .o_kanban_record .o_kanban_tags .o_tag { + background-color: transparent !important; +} + +.o-menu-toggle{ + display: none !important; +} +.c_dots_menu{ + background-image: url('/vista_backend_theme/static/src/img/icons/dots-menu.png'); + width: 18px; + height: 18px; + background-repeat: no-repeat; + background-size: contain; +} +.c_dots_menu_toggled{ + background-image: $dots_menu_toggled; + width: 18px; + height: 18px; + background-repeat: no-repeat; + background-size: contain; +} + +//Responsive Layout +@media (max-width: 767.98px) { + //Settings + .o_base_settings .o_setting_container { + flex-flow: column nowrap; + + .settings_tab{ + flex-direction: row; + height: 40px; + margin-top: -5px; + justify-content: center; + } + } + //App Bar + .o_control_panel > div { + flex-direction: column; + margin-bottom: 0.5rem; + } + .o_control_panel .breadcrumb > li, .breadcrumb-item > a { + font-size: 1.8rem !important; + margin-bottom: 0.5rem; + } + .o_control_panel .o_cp_top_right { + width: 100%; + margin-bottom: 0.5rem; + } + .o_search_panel .o_search_panel_section_header { + display: none; + } + .o_search_panel { + flex: 0 0 120px !important; + padding: 8px 8px 32px 0px !important; + } + //Discuss + .o_Discuss.o-mobile{ + width: 100% !important; + border-top: 1px solid $one__border-light; + } + .o_MobileMessagingNavbar_tab.o-active > span{ + color: $one__primary !important; + } +} + +#sidebar_panel { + height: 100%; + position: fixed; + top: 0px; + background-color: $one__sidebar-color; + border-right: 1px solid $one__sidebar_border; + display: none; + width: 80px; + overflow-y: scroll; + -ms-overflow-style: none; /* Hide scrollbar for IE and Edge */ + scrollbar-width: none; /* Hide scrollbar for Firefox */ + z-index: 999; +} +.sidebar_app_name{ + display: none; +} +#sidebar_panel::-webkit-scrollbar { + display: none; /* Hide scrollbar for Chrome, Safari and Opera */ +} +.sidebar_menu{ + margin-top: 20px !important; +} +.sidebar > h6{ + color: $one__light; + font-weight: bold; + text-transform: uppercase; + letter-spacing: 2px; + font-size: 0.9rem; + margin-left: auto; + margin-right: auto; + width: 38px; + display: block; + margin-top: 18px !important; +} +.sidebar_panel .sidebar { + padding: 0; + white-space: nowrap; + padding-bottom: 20px; + padding-top: 5px; +} +.sidebar_panel .sidebar_close { + text-align: end; + display: none; + position: sticky; + height: 35px; + padding-top: 5px; + top: 0; + background: #2a3042; + z-index: 1; +} +.sidebar_panel .sidebar_close a#closeSidebar { + font-size: 18px; + margin-right: 10px; + color: #ffffff; + opacity: .3; +} +.sidebar_panel .sidebar_close a#closeSidebar img { + width: 15px; +} +.sidebar_panel .sidebar .sidebar_logo { + padding-top: 20px; + text-align: center; + padding-bottom: 20px; +} +.sidebar_panel .sidebar .sidebar_logo img { + max-width: 150px; +} + +.sidebar_panel .sidebar .sidebar_head { + padding-top: 20px; + padding-left: none; + color: $one__light; +} + +.sidebar_panel .sidebar .sidebar_menu { + list-style: none; + margin: 0; + padding: 0; +} + +.sidebar_panel .sidebar .sidebar_menu li { + margin: 0; + padding: 0; + border: 0px; + display: block; +} + +.sidebar_panel .sidebar .sidebar_menu li a { + margin: 0; + border: 0px; + display: block; + cursor: pointer; + overflow: hidden; + padding: 8px 10px 8px 25px; + color: #ffffff; + font-size: 13px; + transition:.3s all; +} +.sidebar_panel .sidebar .sidebar_menu li:hover a { + background: $one__sidebar-color-hover; + color: $one__light; +} + +.sidebar_panel .nav-link { + opacity: 1 !important; + transition:.3s all; +} +.sidebar_panel .sidebar a.nav-link.active { + color: $one__light !important; + border-left: 4px solid $one__light; + + img{ + margin-left: -0.5rem !important; + } +} + +.sidebar_panel .sidebar .sidebar_menu li a .sidebar_img { + width: 32px; + height: 32px; + margin: 8px 8px 8px 0; +} +.sidebar_menu > li a.nav-link{ + &:hover{ + transform: scale(1.05) !important; + transition: all 0.3s linear !important; + } +} + +.datepicker{ + z-index: 9999 !important; +} +div.dropdown-menu.bootstrap-datetimepicker-widget { + width: 28rem !important; +} +// .datepicker .table-sm > thead, +// .datepicker > div > table > tbody > tr > td.active{ +// background-color: $one__primary; +// } +// .datepicker .table-sm > thead > tr:first-child th:hover { +// background-color: $one__primary-dark; +// } +// .datepicker .table-sm > tbody > tr > td.today::before{ +// border-bottom-color: $one__primary; +// } diff --git a/vista_backend_theme/static/src/scss/theme_black.scss b/vista_backend_theme/static/src/scss/theme_black.scss new file mode 100644 index 000000000..870202dce --- /dev/null +++ b/vista_backend_theme/static/src/scss/theme_black.scss @@ -0,0 +1,1188 @@ +//Font CSS +/* cyrillic-ext */ +@font-face { + font-family: 'Nunito'; + font-style: normal; + font-weight: 300; + src: url(https://fonts.gstatic.com/s/nunito/v16/XRXW3I6Li01BKofAnsSUbOvISTs.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Nunito'; + font-style: normal; + font-weight: 300; + src: url(https://fonts.gstatic.com/s/nunito/v16/XRXW3I6Li01BKofAnsSUZevISTs.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* vietnamese */ +@font-face { + font-family: 'Nunito'; + font-style: normal; + font-weight: 300; + src: url(https://fonts.gstatic.com/s/nunito/v16/XRXW3I6Li01BKofAnsSUbuvISTs.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito'; + font-style: normal; + font-weight: 300; + src: url(https://fonts.gstatic.com/s/nunito/v16/XRXW3I6Li01BKofAnsSUb-vISTs.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito'; + font-style: normal; + font-weight: 300; + src: url(https://fonts.gstatic.com/s/nunito/v16/XRXW3I6Li01BKofAnsSUYevI.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Nunito'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/nunito/v16/XRXV3I6Li01BKofIOOaBXso.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Nunito'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/nunito/v16/XRXV3I6Li01BKofIMeaBXso.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* vietnamese */ +@font-face { + font-family: 'Nunito'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/nunito/v16/XRXV3I6Li01BKofIOuaBXso.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/nunito/v16/XRXV3I6Li01BKofIO-aBXso.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/nunito/v16/XRXV3I6Li01BKofINeaB.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Nunito'; + font-style: normal; + font-weight: 600; + src: url(https://fonts.gstatic.com/s/nunito/v16/XRXW3I6Li01BKofA6sKUbOvISTs.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Nunito'; + font-style: normal; + font-weight: 600; + src: url(https://fonts.gstatic.com/s/nunito/v16/XRXW3I6Li01BKofA6sKUZevISTs.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* vietnamese */ +@font-face { + font-family: 'Nunito'; + font-style: normal; + font-weight: 600; + src: url(https://fonts.gstatic.com/s/nunito/v16/XRXW3I6Li01BKofA6sKUbuvISTs.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito'; + font-style: normal; + font-weight: 600; + src: url(https://fonts.gstatic.com/s/nunito/v16/XRXW3I6Li01BKofA6sKUb-vISTs.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito'; + font-style: normal; + font-weight: 600; + src: url(https://fonts.gstatic.com/s/nunito/v16/XRXW3I6Li01BKofA6sKUYevI.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + + +//Variables + +//Fonts +$one__font: 'Nunito', Helvetica, Verdana, Arial, sans-serif !important; + +//Colors +$one__light: #fff !default; +$one__primary: #1F2631 !default; +$one__sidebar-color: #1F2631 !important; +$one__sidebar-color-hover: #1c222c !default; +$one__sidebar-border: #1F2631 !important; +$one__sidebar_text: #fff !default; +$one__primary-light: #e9e9ea !default; +$one__primary-dark: #1c222c !important; +$one__light-font-primary: #030405 !important; +$one__light-font-secondary: #575757 !important; +$one__hover-bkg-light: #f5f5f5 !important; +$one__border-light: #d4d4d4 !important; +$one__info: #454555 !important; + +//Border Style +$one__border: 100px; +$one__button-padding: 25px; +//Misc +$transition-normal: all 0.4s linear !default; +$transition-fast: all 0.2s linear !default; + +//Paths +$dots_menu_toggled: url('/vista_backend_theme/static/src/img/icons/dots-menu-navy.png'); + + +//Misc +$transition-normal: all 0.4s linear !default; + +//Animations +@mixin c_fadeBackgroundOut($name, $s_opacity, $e_opacity, $r, $g, $b){ + @keyframes #{$name}{ + 0%{ + background-color: rgba($r, $g, $b, $s_opacity); + } + + 100%{ + background-color: rgba($r, $g, $b, $e_opacity); + } + } +} + + + +body{ + background-color: $one__light !important; + font-family: $one__font; +} +//NAVBAR +.o_main_navbar { + -webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important; + box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important; + background-color: $one__light; + border-bottom: none; + -moz-box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.5) 0px 6px 6px; + -webkit-box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.5) 0px 6px 6px; + box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.5) 0px 6px 6px; + color: $one__light-font-primary; + //height: 60px !important; +} +@media (min-width: 768px) { + .o_menu_systray .o-dropdown.dropdown > .o-dropdown--menu { + top: 46px !important; + left: 85% !important; + right: 20px !important; + } +} +.top_heading a.o_menu_brand{ + font-weight: bolder !important; +} + +.o_menu_systray > li{ + font-size: 1.5rem !important; + } + +.o_menu_systray > *{ + margin-right: 15px; + &:last-child{ + margin-right: 0px; + } + @media (max-width: 767.98px) { + margin-right: 0px !important; + &:last-child{ + margin-right: 0px; + } + } +} + +@media (max-width: 767.98px) { + .o_user_menu .o_user_avatar { + margin-right: 0px !important; + } +} + +li.o_MessagingMenu.o-is-open { + background-color: $one__hover-bkg-light; + border-bottom: none !important; +} +.o_mail_systray_item .o_notification_counter{ + background-color: $one__primary !important; + color: $one__light !important; +} +.o_MessagingMenu_counter { + margin-left: -12px !important; +} +.o_notification_counter{ + margin-left: -18px !important; +} +.o_NotificationGroup_date{ + color: $one__primary !important +} +.o_menu_sections > li > a, .o_main_navbar > li > label{ + color: $one__light-font-primary; + display: block !important; + &:hover{ + background-color: $one__hover-bkg-light; + //border-bottom: 1px solid $one__border-light; + } +} +.o_switch_company_menu > a{ + color: $one__light-font-primary; + font-size: 1.8rem !important +} +.oe_topbar_name{ + color: $one__light-font-primary; + + @media (max-width: 576px) { + display: none; + } +} +.o_main_navbar > a:hover, .o_main_navbar > a:focus, .o_main_navbar > button:hover, .o_main_navbar > button:focus { + background-color: $one__hover-bkg-light; + //border-bottom: 1px solid $one__border-light; +} + +.o_MessagingMenu, .o_mail_systray_item{ + a{ + color: $one__light-font-primary; + } +} +.o_MessagingMenu_counter, .o_notification_counter { + background-color: $one__primary; + color: $one__light; +} +.o_main_navbar .show .dropdowdropdown-toggle, .o_main_navbar .show .dropdown-toggle { + background-color: $one__hover-bkg-light; + //border-bottom: 1px solid $one__border-light; +} +.o_main_navbar .o_user_menu .oe_topbar_avatar { + height: 32px !important; + width: 32px !important; +} +.oe_topbar_name{ + color: $one__light-font-primary !important; +} +.o_dashboards .o_website_dashboard div.o_box h2, .o_dashboards .o_website_dashboard div.o_box h4 { + color: $one__primary !important; +} +.o_control_panel { + padding: 2.5rem 1rem !important; + margin-bottom: 1.5rem !important; + border-bottom: 1px solid $one__border-light; + width: 98%; + margin-left: auto; + margin-right: auto; +} +.o_form_view .oe_button_box .oe_stat_button .o_button_icon { + color: $one__primary; +} +.o_control_panel .breadcrumb{ + background-color: none !important; + padding: auto !important +} +.o_control_panel .breadcrumb > li, .breadcrumb-item > a{ + font-size: 2rem !important; + color: $one__light-font-secondary; + max-width: 100% !important; +} +.o_control_panel > div{ + display: flex; + justify-content: space-between; +} + +.breadcrumb-item.active{ + $color: $one__light-font-primary; +} +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled::after, +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled::before { + border-left-color: $one__primary !important; +} +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled::after, +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child)::before { + border-left-color: none !important; +} +.o_statusbar_status > .o_arrow_button.btn-secondary{ + background-color: $one__light !important; +} +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled { + border-left: none !important; +} +// .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child)::before, +// .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child)::after { +// background-color: $one__light !important; +// } + + + +.o_content{ + width: 98%; + margin-left: auto; + margin-right: auto; +} +.top_heading{ + display: flex; + align-items: center; + ul.o_menu_apps{ + list-style: none; + margin: 0 0.8rem 0 0; + padding: 0px; + } + li.dropdown{ + list-style: none; + } + a.o_menu_brand{ + color: $one__light-font-primary; + font-size: 1.5rem !important; + } +} +.o_menu_sections, .o_menu_systray{ + display: flex; + align-items: center; + list-style: none !important; + //height: 60px !important; + + li{ + margin-right: 1rem; + + &:last-child{ + margin-right: 0 !important; + } + } + .o-dropdown.dropdown > .o-dropdown--menu{ + border-color: transparent; + } +} +.o_main_navbar .dropdown .dropdown-toggle, +.o_main_navbar .o_menu_sections .dropdown .dropdown-toggle, +.o_nav_entry +{ + color: $one__light-font-primary; +} +.o_menu_systray, .o_menu_sections{ + li{ + position: relative !important; + a.o_MessagingMenu_toggler, a.dropdown-toggle{ + display: flex !important; + align-items: center !important; + height: 60px !important; + padding: 0px 7.5px; + + img{ + margin-right: 0.8rem; + transform: none !important; + } + } + } +} +.o_main_navbar .dropdown-menu.show { + min-width: auto !important; +} +.o_form_view .o_form_uri > span:first-child { + color: $one__primary; +} +.o_onboarding_container{ + margin-top: -1.575rem !important; +} +.o_loading_indicator.o_loading > span { + background: $one__primary !important; +} +.o_menu_systray > li > a > span.fa{ + color: $one__light-font-primary; + font-size: 1.9rem !important; + margin: auto 11px !important; +} + +//`Custom` +.c_navbar_container{ + display: flex; + justify-content: center; + width: 100%; + margin-left: auto; + margin-right: auto; + padding: 0 1rem 0 0 !important; +} + +.c_sidebar_active{ + height: 46px; + width: 60px; + display: flex !important; + justify-content: center; + align-items: center; + background-color: $one__primary; + color: $one__light !important; + margin-right: 1.5rem !important; + clip-path: polygon(0 0, 100% 0%, 86% 100%, 0% 100%); + + &:hover{ + background-color: $one__primary-dark; + transition: $transition-normal; + } +} + +.c_sidebar_passive{ + height: 46px; + width: 60px; + display: flex !important; + justify-content: center; + align-items: center; + background-color: $one__light; + color: $one__primary !important; + clip-path: polygon(0 0, 100% 0%, 86% 100%, 0% 100%); +} + +//END OF NAVBAR +.dropdown-menu{ + border-radius: 0px; + a, .dropdown-item{ + color: $one__light-font-primary; + &:hover{ + color: $one__primary !important; + background-color: $one__primary-light; + transition: $transition-normal; + } + } +} +//Buttons + +.btn{ + border-radius: 0px; + + &:hover{ + filter: brightness(90%) !important; + box-shadow: none; + transition: $transition-normal; + } + +} + +.btn-primary{ + background-color: $one__primary !important; + border-color: $one__primary !important; + color: $one__light !important; + + &:hover{ + background-color: $one__primary-dark !important; + } + + &:focus{ + box-shadow: 0 0 0 0.2rem rgba(235,240,253, 0.8); + } +} +.btn-secondary{ + background-color: $one__hover-bkg-light; + border-color: $one__hover-bkg-light; + color: $one__light-font-primary; + &:focus{ + box-shadow: 0 0 0 0.2rem rgba(245,245,245, 1); + } + + +} +.btn-fill-info, .btn-info { + background-color: $one__info; + border-color: $one__info; + color: $one__light; +} +.btn-group, .o_filter_menu{ + button, div.btn-group{ + margin-right: 3px; + &:last-child{ + margin-right: 0px !important; + } + } +} +.btn-link{ + color: $one__primary !important; + + &:hover{ + background-color: $one__hover-bkg-light !important; + } +} + +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.o_control_panel .o_cp_bottom_left > .o_cp_action_menus .o_dropdown_toggler_btn, +.o_control_panel .o_cp_bottom_left > .o_cp_action_menus .dropdown-toggle + { + margin-right: 0px !important; +} +.o_activity_view .o_record_selector, .o_stat_value { + color: $one__primary !important; +} + +.o_web_settings_invite{ + height: 26px !important; + margin-top: 6px !important; +} + +.o_NotificationList{ + div:hover { + background-color: $one__primary-light; + } +} +.o_MessagingMenu_tabButton, .o_MessagingMenu_newMessageButton{ + color: $one__primary; + opacity: 0.8; + .o-active{ + opacity: 1; + font-weight: bold; + } +} +.o_ThreadPreview_date, .o_activity_filter_button, .o_mail_activity_action{ + color: $one__primary !important; + + &:before{ + color: $one__light-font-primary; + } + &:hover{ + color: $one__primary-dark !important; + } +} +//Controls +.custom-control.custom-checkbox .custom-control-input:not(:checked):not(:indeterminate) ~ .custom-control-label::before { + background: none; + outline: 1px solid $one__hover-bkg-light; +} +.custom-checkbox .custom-control-label::before { + border-radius: 0px; +} +.custom-control-input:checked ~ .custom-control-label::before { + color: $one__light; + border-color: $one__primary; + background-color: $one__primary; +} +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23FFFFFF' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"); +} + +.o_input{ + border-radius: 0px !important; + border-color: $one__border-light; +} +.o_required_modifier.o_input, .o_required_modifier .o_input, .o_searchview .o_searchview_autocomplete li.o_selection_focus { + background-color: $one__primary-light !important; +} +.ui-menu-item > a{ + background-color: $one__light !important; + color: $one__primary !important; + &:hover, &:active, &:focus, &:focus-within, &:focus-visible, &:visited{ + color: $one__primary !important; + background-color: $one__primary-light !important; + } +} +.nav-tabs .nav-link { + border-radius: 0px !important; + border-top: 3px solid transparent !important; +} +.nav-tabs .nav-link.active { + border-top: 3px solid $one__primary !important; +} +.nav-tabs .nav-link:hover{ + border-top: 3px solid $one__primary !important; + color: $one__primary-dark; + transition: transition-normal !important; +} +.o_form_view .o_horizontal_separator { + color: $one__primary; +} +.panel-heading.note-toolbar { + background-color: $one__light !important; +} +div.o_boolean_toggle.custom-control.custom-checkbox > input.custom-control-input:checked + label.custom-control-label::before { + background-color: $one__primary !important; +} +//Misc. +.badge-primary{ + background-color: $one__primary; + border-radius: 0px; + padding: 5px; +} +//Links +a { + color: $one__primary; + text-decoration: none; + background-color: transparent; + + &hover{ + color: $one__primary-dark; + text-decoration: none; + transition: $transition-normal; + } +} +a.o_menu_brand{ + color: $one__light-font-primary; + font-weight: bold; +} +.o_form_uri{ + color: $one__primary !important; +} +.o_Message_prettyBody > div > p > a { + background-color: $one__primary !important; +} + +.o_onboarding_step_title > a { + color: $one__light; +} +.oe_kanban_action_a{ + color: $one__light-font-primary; +} +.o_kanban_view .oe_kanban_card.oe_kanban_global_click:focus, +.o_kanban_view .oe_kanban_card.oe_kanban_global_click:focus-within, +.o_kanban_view .oe_kanban_card.oe_kanban_global_click_edit:focus, +.o_kanban_view .oe_kanban_card.oe_kanban_global_click_edit:focus-within, +.o_kanban_view .o_kanban_record.oe_kanban_global_click:focus, +.o_kanban_view .o_kanban_record.oe_kanban_global_click:focus-within, +.o_kanban_view .o_kanban_record.oe_kanban_global_click_edit:focus, +.o_kanban_view .o_kanban_record.oe_kanban_global_click_edit:focus-within{ + outline: thin solid $one__primary-light !important; +} +//Tables +.o_list_view thead { + background-color: $one__hover-bkg-light; +} + +.o_list_view .o_list_table thead { + color: $one__light-font-secondary; + border-bottom: 1px solid $one__border-light; +} +.o_list_view .o_list_table thead > tr > th:not(.o_list_record_selector) { + border-left: none; +} +table thead th { + vertical-align: bottom; + border-top: none !important; + border-bottom: none !important; + padding: 1rem !important; +} +table-sm th, .table-sm td { + padding: 1rem !important; + border-top: none !important; +} +tr:nth-child(even){ + background-color: $one__hover-bkg-light; +} +.o_list_view .o_list_table tfoot { + background-color: $one__light; + filter: brightness(95.5%) !important; +} + +//Search +.o_searchview .o_searchview_facet, .o_setting_search { + background: $one__light; + border-radius: 0px !important; + border: 1px solid $one__border-light; + color: $one__light-font-secondary; +} +.o_searchview .o_searchview_facet .o_searchview_facet_label { + background-color: $one__light; +} +.o_searchview .o_searchview_input_container .o_searchview_facet .o_searchview_facet_label { + color: $one__light-font-secondary; + margin: 0px -3px 3px 3px; +} +.o_searchview .o_searchview_input_container .o_searchview_facet .o_facet_remove{ + bottom: 3px !important; +} +.o_searchview .o_searchview_input_container .o_searchview_facet .o_facet_values { + padding: 2px 18px 0 5px !important; +} +.o_searchview{ + padding: 0.5rem !important; + border-radius: 0px; +} +.searchInput{ + border: none !important; +} +.searchIcon{ + margin: 5px 10px 0 0; +} +.o_setting_search { + padding: 5px; + border-radius: $one__border !important; +} + +//Kanban +.oe_kanban_card{ + border-color: $one__border-light; + padding: 1rem !important; +} + +//Calendar +@include c_fadeBackgroundOut('fadeCalendarRow', 1, 0.6, 212, 212, 212 ); + +.o_calendar_sidebar_container .ui-datepicker td.ui-datepicker-current-day.ui-datepicker-today a, +.o_calendar_sidebar_container .ui-datepicker td.ui-datepicker-current-day a, +.o_calendar_view .o_calendar_widget .fc-dayGridMonth-view .fc-content-skeleton .fc-today .fc-day-number +{ + color: $one__light !important; + background-color: $one__primary !important; +} + +.o_calendar_sidebar_container .ui-datepicker td a{ + color: $one__light-font-secondary; +} +.o_calendar_sidebar_container .ui-datepicker td.ui-datepicker-today a{ + background-color: $one__border-light; +} + +.o_calendar_sidebar_container .ui-datepicker .o_selected_range.o_color:not(.ui-datepicker-unselectable) { + animation: fadeCalendarRow 2s forwards; +} + +.fc-now-indicator { + border-color: $one__primary !important; +} +.fc-ltr .fc-time-grid .fc-now-indicator-arrow { + left: 0; + border-width: 5px 0 5px 6px; + border-top-color: transparent !important; + border-bottom-color: transparent !important; +} + +.o_calendar_view .fc-view .fc-event.o_calendar_color_1.o_cw_custom_highlight { + box-shadow: 0 12px 12px -5px rgba(156, 181, 245, 0.8); + color: $one__primary; + font-weight: bold; +} +.o_calendar_view .fc-view .fc-event.o_calendar_color_1 .fc-bg { + background-color: $one__primary-light; +} +.o_calendar_view .fc-view .fc-event.o_calendar_color_1 { + border-color: $one__primary; + color: #274aa5; + opacity: 0.8; + + &:hover{ + background: $one__primary-light; + box-shadow: 0 12px 12px -5px rgba(156, 181, 245, 0.8); + } +} + +.bootstrap-datetimepicker-widget table td.active, .bootstrap-datetimepicker-widget table td.active:hover { + background-color: $one__primary !important; +} + +//Dashboard Sidebar +.o_Discuss, .o_setting_container{ + width: 98%; + margin-right: auto; + margin-left: auto; + border-top: none; +} +.o_widget_Discuss .o_Discuss_content { + border-top: none !important; +} +.o_DiscussSidebar, .settings_tab{ + color: $one__light-font-primary; + background-color: transparent !important; + border-right: 2px solid $one__border-light; + height: 95%; + margin-top: auto; + margin-bottom: auto; +} +.o_DiscussSidebarItem{ + padding: 0.4rem 0 !important; +} +.o_DiscussSidebarItem_activeIndicator.o-item-active{ + width: 0; + height: 0; + background: transparent; + margin-top: 0.375rem; + margin-right: 8px !important; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid $one__primary; +} +.o_DiscussSidebarItem:hover{ + background-color: transparent !important; + color: $one__primary; +} +.o_DiscussSidebar_separator{ + width: 95% !important; + margin-left: auto; + margin-right: auto; + background-color: transparent !important; +} +.o_MessageList{ + padding: 10px !important; +} + +.o_Message.o-not-discussion{ + background-color: $one__hover-bkg-light; + border-color: $one__border-light; +} + +//Settings + +.o_setting_container .settings_tab { + .app_name{ + color: $one__light-font-primary !important; + } +} + +.o_base_settings .o_control_panel .o_panel .o_setting_search .searchInput { + max-width: none !important; + margin: 4px 0 0 10px !important; +} + +.o_setting_container .settings_tab .tab{ + height: 30px !important; +} + +.o_setting_container .settings{ + padding: 10px !important; +} +.o_setting_container .settings_tab .app_name { + color: $one__light-font-primary; + + &:hover{ + color :$one__primary !important; + } +} +.o_setting_container .settings_tab .selected{ + background: transparent !important; + box-shadow: none !important; + position: relative; + + &:before{ + content: ""; + position: absolute; + width: 0; + height: 0; + top: 24%; + left: 0; + background: transparent; + margin-top: 0.375rem; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid $one__primary; + } + + .app_name{ + color: $one__light-font-primary; + + &:hover{ + color :$one__primary !important; + } + } +} + +.o_form_image_controls > .o_select_file_button{ + background: $one__primary !important; + color: $one__light; +} + +.o_search_panel .o_search_panel_category .o_search_panel_section_icon { + color: $one__primary; +} +.o_search_panel .list-group-item header.active { + background-color: $one__primary-light; + color: $one__primary; +} + +//Chat +.o_ChatWindowHeader{ + background-color: $one__primary !important; + color: $one__light !important; + border-radius: 0px !important; +} +//Tables +.o_purchase_dashboard .table > thead > tr > td.o_main, .o_purchase_dashboard .table tbody > tr > td.o_main { + background-color: $one__primary; + + &:hover{ + background-color: $one__primary-dark; + } + + a{ + color: $one__light; + } +} + +//Tags +.o_field_widget.o_field_many2manytags .o_tag_color_5, +.o_kanban_view .o_kanban_record .o_field_many2manytags .o_tag.o_tag_color_5 span, +.o_kanban_view .o_kanban_record .o_kanban_tags .o_tag.o_tag_color_5 span { + background-color: $one__primary; +} + +.badge-pill{ + a{ + color: $one__light; + } +} + + +.o_enterprise_label +{ + border-radius: $one__border; + padding: 5px 10px 4px !important; +} + +.oe_kanban_card .o_kanban_tags .o_tag, .o_kanban_view .o_kanban_record .o_field_many2manytags .o_tag, .o_kanban_view .o_kanban_record .o_kanban_tags .o_tag { + background-color: transparent !important; +} + +.o-menu-toggle{ + display: none !important; +} +.c_dots_menu{ + background-image: url('/vista_backend_theme/static/src/img/icons/dots-menu.png'); + width: 18px; + height: 18px; + background-repeat: no-repeat; + background-size: contain; +} +.c_dots_menu_toggled{ + background-image: $dots_menu_toggled; + width: 18px; + height: 18px; + background-repeat: no-repeat; + background-size: contain; +} + +//Responsive Layout +@media (max-width: 767.98px) { + //Settings + .o_base_settings .o_setting_container { + flex-flow: column nowrap; + + .settings_tab{ + flex-direction: row; + height: 40px; + margin-top: -5px; + justify-content: center; + } + } + //App Bar + .o_control_panel > div { + flex-direction: column; + margin-bottom: 0.5rem; + } + .o_control_panel .breadcrumb > li, .breadcrumb-item > a { + font-size: 1.8rem !important; + margin-bottom: 0.5rem; + } + .o_control_panel .o_cp_top_right { + width: 100%; + margin-bottom: 0.5rem; + } + .o_search_panel .o_search_panel_section_header { + display: none; + } + .o_search_panel { + flex: 0 0 120px !important; + padding: 8px 8px 32px 0px !important; + } + //Discuss + .o_Discuss.o-mobile{ + width: 100% !important; + border-top: 1px solid $one__border-light; + } + .o_MobileMessagingNavbar_tab.o-active > span{ + color: $one__primary !important; + } +} + +//Border Radius +.o_form_button, +.custom-checkbox .custom-control-label::before, +.o_searchview, +.o_searchview .o_searchview_facet, +.o-dropdown--menu > div > button, +.oe_title > div > a +{ + border-radius: $one__border !important; +} +.o_arrow_button{ + border-radius: 0px !important; +} +.dropdown-menu{ + border-radius: 5px !important; +} +input[type='text'], select{ + border-radius: $one__border !important; +} +//Rounded Buttons +.o_form_button_edit, +.o_form_button_create, +.o-kanban-button-new, +.o_button_upload_bill, +.o_DiscussSidebar_startAMeetingButton, +.oe_kanban_action_button, +.o_web_settings_invite, +.oe_module_action > a, +.o_list_buttons > button, +footer > button, +.o_statusbar_buttons > button +{ + border-radius: $one__border !important; + padding: 5px $one__button-padding 3px !important; + margin-right: 5px !important; +} + +#sidebar_panel { + height: 100%; + position: fixed; + top: 0px; + background-color: $one__sidebar-color; + display: none; + width: 80px; + overflow-y: scroll; + -ms-overflow-style: none; /* Hide scrollbar for IE and Edge */ + scrollbar-width: none; /* Hide scrollbar for Firefox */ + z-index: 999; +} +.sidebar_app_name{ + display: none; +} +#sidebar_panel::-webkit-scrollbar { + display: none; /* Hide scrollbar for Chrome, Safari and Opera */ +} +.sidebar_menu{ + margin-top: 20px !important; +} +.sidebar > h6{ + color: $one__light; + font-weight: bold; + text-transform: uppercase; + letter-spacing: 2px; + font-size: 0.9rem; + margin-left: auto; + margin-right: auto; + width: 38px; + display: block; + margin-top: 18px !important; +} +.sidebar_panel .sidebar { + padding: 0; + white-space: nowrap; + padding-bottom: 20px; + padding-top: 5px; +} +.sidebar_panel .sidebar_close { + text-align: end; + display: none; + position: sticky; + height: 35px; + padding-top: 5px; + top: 0; + background: #2a3042; + z-index: 1; +} +.sidebar_panel .sidebar_close a#closeSidebar { + font-size: 18px; + margin-right: 10px; + color: #ffffff; + opacity: .3; +} +.sidebar_panel .sidebar_close a#closeSidebar img { + width: 15px; +} +.sidebar_panel .sidebar .sidebar_logo { + padding-top: 20px; + text-align: center; + padding-bottom: 20px; +} +.sidebar_panel .sidebar .sidebar_logo img { + max-width: 150px; +} + +.sidebar_panel .sidebar .sidebar_head { + padding-top: 20px; + padding-left: none; + color: $one__light; +} + +.sidebar_panel .sidebar .sidebar_menu { + list-style: none; + margin: 0; + padding: 0; +} + +.sidebar_panel .sidebar .sidebar_menu li { + margin: 0; + padding: 0; + border: 0px; + display: block; +} + +.sidebar_panel .sidebar .sidebar_menu li a { + margin: 0; + border: 0px; + display: block; + cursor: pointer; + overflow: hidden; + padding: 8px 10px 8px 25px; + color: #ffffff; + font-size: 13px; + transition:.3s all; +} +.sidebar_panel .sidebar .sidebar_menu li:hover a { + background: $one__sidebar-color-hover; + color: $one__light; +} + +.sidebar_panel .nav-link { + opacity: 1 !important; + transition:.3s all; +} +.sidebar_panel .sidebar a.nav-link.active { + color: $one__light !important; + border-left: 4px solid $one__light; + + img{ + margin-left: -0.5rem !important; + } +} + +.sidebar_panel .sidebar .sidebar_menu li a .sidebar_img { + width: 32px; + height: 32px; + margin: 8px 8px 8px 0; +} +.sidebar_menu > li a.nav-link{ + &:hover{ + transform: scale(1.05) !important; + transition: all 0.3s linear !important; + } +} + +.datepicker{ + z-index: 9999 !important; +} +div.dropdown-menu.bootstrap-datetimepicker-widget { + width: 28rem !important; +} +// .datepicker .table-sm > thead, +// .datepicker > div > table > tbody > tr > td.active{ +// background-color: $one__primary; +// } +// .datepicker .table-sm > thead > tr:first-child th:hover { +// background-color: $one__primary-dark; +// } +// .datepicker .table-sm > tbody > tr > td.today::before{ +// border-bottom-color: $one__primary; +// } diff --git a/vista_backend_theme/static/src/scss/theme_green.scss b/vista_backend_theme/static/src/scss/theme_green.scss new file mode 100644 index 000000000..fec603882 --- /dev/null +++ b/vista_backend_theme/static/src/scss/theme_green.scss @@ -0,0 +1,1070 @@ +//Font CSS +/* devanagari */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/poppins/v15/pxiEyp8kv8JHgFVrJJbecmNE.woff2) format('woff2'); + unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB; +} +/* latin-ext */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/poppins/v15/pxiEyp8kv8JHgFVrJJnecmNE.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/poppins/v15/pxiEyp8kv8JHgFVrJJfecg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* devanagari */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 600; + src: url(https://fonts.gstatic.com/s/poppins/v15/pxiByp8kv8JHgFVrLEj6Z11lFc-K.woff2) format('woff2'); + unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB; +} +/* latin-ext */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 600; + src: url(https://fonts.gstatic.com/s/poppins/v15/pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 600; + src: url(https://fonts.gstatic.com/s/poppins/v15/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +//Variables +$one__font: 'Poppins', Helvetica, Verdana, Arial, sans-serif !important; + +//Colors +$one__light: #fff !default; +$one__primary: #00A97F !default; +$one__sidebar-color: #fff !important; +$one__sidebar-color-hover: #e6f6f2 !default; +$one__sidebar-border: #E9E9E9 !important; +$one__sidebar_text: #00A97F !default; +$one__primary-light: #e6f6f2 !default; +$one__primary-dark: #009872 !important; +$one__light-font-primary: #575757 !important; +$one__light-font-secondary: #575757 !important; +$one__hover-bkg-light: #f5f5f5 !important; +$one__border-light: #d4d4d4 !important; +$one__info: #454555 !important; +//Border Style +$one__border: 3px; +$one__button-padding: auto; +//Misc +$transition-normal: all 0.4s linear !default; +$transition-fast: all 0.2s linear !default; + + +//Paths +$dots_menu_toggled: url('/vista_backend_theme/static/src/img/icons/dots-menu-green.png'); + + + +//Misc +$transition-normal: all 0.4s linear !default; + +//Animations +@mixin c_fadeBackgroundOut($name, $s_opacity, $e_opacity, $r, $g, $b){ + @keyframes #{$name}{ + 0%{ + background-color: rgba($r, $g, $b, $s_opacity); + } + + 100%{ + background-color: rgba($r, $g, $b, $e_opacity); + } + } +} + + + +body{ + background-color: $one__light !important; + font-family: $one__font; +} +//NAVBAR +.o_main_navbar { + -webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important; + box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important; + background-color: $one__light; + border-bottom: none; + -moz-box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.5) 0px 6px 6px; + -webkit-box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.5) 0px 6px 6px; + box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.5) 0px 6px 6px; + color: $one__light-font-primary; + //height: 60px !important; +} + +.top_heading a.o_menu_brand{ + font-weight: bolder !important; +} + +.o_menu_systray > li{ + font-size: 1.5rem !important; + } + +.o_menu_systray > *{ + margin-right: 15px; + &:last-child{ + margin-right: 0px; + } + + @media (max-width: 767.98px) { + margin-right: 0px !important; + &:last-child{ + margin-right: 0px; + } + } +} +@media (max-width: 767.98px) { + .o_user_menu .o_user_avatar { + margin-right: 0px !important; + } +} + +li.o_MessagingMenu.o-is-open { + background-color: $one__hover-bkg-light; + border-bottom: none !important; +} +.o_mail_systray_item .o_notification_counter{ + background-color: $one__primary !important; + color: $one__light !important; +} +.o_MessagingMenu_counter { + margin-left: -12px !important; +} +.o_notification_counter{ + margin-left: -18px !important; +} +.o_NotificationGroup_date{ + color: $one__primary !important +} +.o_menu_sections > li > a, .o_main_navbar > li > label{ + color: $one__light-font-primary; + display: block !important; + &:hover{ + background-color: $one__hover-bkg-light; + //border-bottom: 1px solid $one__border-light; + } +} +.o_switch_company_menu > a{ + color: $one__light-font-primary; + font-size: 1.8rem !important +} +.oe_topbar_name{ + color: $one__light-font-primary; + + @media (max-width: 576px) { + display: none; + } +} +.o_main_navbar > a:hover, .o_main_navbar > a:focus, .o_main_navbar > button:hover, .o_main_navbar > button:focus { + background-color: $one__hover-bkg-light; + //border-bottom: 1px solid $one__border-light; +} + +.o_MessagingMenu, .o_mail_systray_item{ + a{ + color: $one__light-font-primary; + } +} +.o_MessagingMenu_counter, .o_notification_counter { + background-color: $one__primary; + color: $one__light; +} +.o_main_navbar .show .dropdowdropdown-toggle, .o_main_navbar .show .dropdown-toggle { + background-color: $one__hover-bkg-light; + //border-bottom: 1px solid $one__border-light; +} +.o_main_navbar .o_user_menu .oe_topbar_avatar { + height: 32px !important; + width: 32px !important; +} +.oe_topbar_name{ + color: $one__light-font-primary !important; +} +.o_dashboards .o_website_dashboard div.o_box h2, .o_dashboards .o_website_dashboard div.o_box h4 { + color: $one__primary !important; +} +.o_control_panel { + padding: 2.5rem 1rem !important; + margin-bottom: 1.5rem !important; + border-bottom: 1px solid $one__border-light; + width: 98%; + margin-left: auto; + margin-right: auto; +} +.o_form_view .oe_button_box .oe_stat_button .o_button_icon { + color: $one__primary; +} +.o_control_panel .breadcrumb{ + background-color: none !important; + padding: auto !important +} +.o_control_panel .breadcrumb > li, .breadcrumb-item > a{ + font-size: 2rem !important; + color: $one__light-font-secondary; + max-width: 100% !important; +} +.o_control_panel > div{ + display: flex; + justify-content: space-between; +} + +.breadcrumb-item.active{ + $color: $one__light-font-primary; +} +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled::after, +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled::before { + border-left-color: $one__primary !important; +} +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled::after, +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child)::before { + border-left-color: none !important; +} +.o_statusbar_status > .o_arrow_button.btn-secondary{ + background-color: $one__light !important; +} +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled { + border-left: none !important; +} +// .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child)::before, +// .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child)::after { +// background-color: $one__light !important; +// } + + + +.o_content{ + width: 98%; + margin-left: auto; + margin-right: auto; +} +.top_heading{ + display: flex; + align-items: center; + ul.o_menu_apps{ + list-style: none; + margin: 0 0.8rem 0 0; + padding: 0px; + } + li.dropdown{ + list-style: none; + } + a.o_menu_brand{ + color: $one__light-font-primary; + font-size: 1.5rem !important; + } +} +.o_menu_sections, .o_menu_systray{ + display: flex; + align-items: center; + list-style: none !important; + //height: 60px !important; + + li{ + margin-right: 1rem; + + &:last-child{ + margin-right: 0 !important; + } + } + .o-dropdown.dropdown > .o-dropdown--menu{ + border-color: transparent; + } +} +.o_main_navbar .dropdown .dropdown-toggle, +.o_main_navbar .o_menu_sections .dropdown .dropdown-toggle, +.o_nav_entry +{ + color: $one__light-font-primary; +} +.o_menu_systray, .o_menu_sections{ + li{ + position: relative !important; + a.o_MessagingMenu_toggler, a.dropdown-toggle{ + display: flex !important; + align-items: center !important; + height: 60px !important; + padding: 0px 7.5px; + + img{ + margin-right: 0.8rem; + transform: none !important; + } + } + } +} +.o_main_navbar .dropdown-menu.show { + min-width: auto !important; +} +.o_form_view .o_form_uri > span:first-child { + color: $one__primary; +} +.o_onboarding_container{ + margin-top: -1.575rem !important; +} +.o_loading_indicator.o_loading > span { + background: $one__primary !important; +} +.o_menu_systray > li > a > span.fa{ + color: $one__light-font-primary; + font-size: 1.9rem !important; + margin: auto 11px !important; +} + +//`Custom` +.c_navbar_container{ + display: flex; + justify-content: center; + width: 100%; + margin-left: auto; + margin-right: auto; + padding: 0 1rem 0 0 !important; +} + +.c_sidebar_active{ + height: 46px; + width: 60px; + display: flex !important; + justify-content: center; + align-items: center; + background-color: $one__primary; + color: $one__light !important; + margin-right: 1.5rem !important; + clip-path: polygon(0 0, 100% 0%, 86% 100%, 0% 100%); + + &:hover{ + background-color: $one__primary-dark; + transition: $transition-normal; + } +} + +.c_sidebar_passive{ + height: 46px; + width: 60px; + display: flex !important; + justify-content: center; + align-items: center; + background-color: $one__light; + color: $one__primary !important; + clip-path: polygon(0 0, 100% 0%, 86% 100%, 0% 100%); +} + +//END OF NAVBAR +.dropdown-menu{ + border-radius: 0px; + a, .dropdown-item{ + color: $one__light-font-primary; + &:hover{ + color: $one__primary !important; + background-color: $one__primary-light; + transition: $transition-normal; + } + } +} +//Buttons + +.btn{ + border-radius: 0px; + + &:hover{ + filter: brightness(90%) !important; + box-shadow: none; + transition: $transition-normal; + } + +} + +.btn-primary{ + background-color: $one__primary !important; + border-color: $one__primary !important; + color: $one__light !important; + + &:hover{ + background-color: $one__primary-dark !important; + } + + &:focus{ + box-shadow: 0 0 0 0.2rem rgba(235,240,253, 0.8); + } +} +.btn-secondary{ + background-color: $one__hover-bkg-light; + border-color: $one__hover-bkg-light; + color: $one__light-font-primary; + &:focus{ + box-shadow: 0 0 0 0.2rem rgba(245,245,245, 1); + } + + +} +.btn-fill-info, .btn-info { + background-color: $one__info; + border-color: $one__info; + color: $one__light; +} +.btn-group, .o_filter_menu{ + button, div.btn-group{ + margin-right: 3px; + &:last-child{ + margin-right: 0px !important; + } + } +} +.btn-link{ + color: $one__primary !important; + + &:hover{ + background-color: $one__hover-bkg-light !important; + } +} + +.o_control_panel .o_cp_bottom_left > .o_cp_action_menus .o_dropdown_toggler_btn, +.o_control_panel .o_cp_bottom_left > .o_cp_action_menus .dropdown-toggle + { + margin-right: 0px !important; +} +.o_activity_view .o_record_selector, .o_stat_value { + color: $one__primary !important; +} + +.o_web_settings_invite{ + height: 26px !important; + margin-top: 6px !important; +} + +.o_NotificationList{ + div:hover { + background-color: $one__primary-light; + } +} +.o_MessagingMenu_tabButton, .o_MessagingMenu_newMessageButton{ + color: $one__primary; + opacity: 0.8; + .o-active{ + opacity: 1; + font-weight: bold; + } +} +.o_ThreadPreview_date, .o_activity_filter_button, .o_mail_activity_action{ + color: $one__primary !important; + + &:before{ + color: $one__light-font-primary; + } + &:hover{ + color: $one__primary-dark !important; + } +} +//Controls +.custom-control.custom-checkbox .custom-control-input:not(:checked):not(:indeterminate) ~ .custom-control-label::before { + background: none; + outline: 1px solid $one__hover-bkg-light; +} +.custom-checkbox .custom-control-label::before { + border-radius: 0px; +} +.custom-control-input:checked ~ .custom-control-label::before { + color: $one__light; + border-color: $one__primary; + background-color: $one__primary; +} +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23FFFFFF' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"); +} + +.o_input{ + border-radius: 0px !important; + border-color: $one__border-light; +} +.o_required_modifier.o_input, .o_required_modifier .o_input, .o_searchview .o_searchview_autocomplete li.o_selection_focus { + background-color: $one__primary-light !important; +} +.ui-menu-item > a{ + background-color: $one__light !important; + color: $one__primary !important; + &:hover, &:active, &:focus, &:focus-within, &:focus-visible, &:visited{ + color: $one__primary !important; + background-color: $one__primary-light !important; + } +} +.nav-tabs .nav-link { + border-radius: 0px !important; + border-top: 3px solid transparent !important; +} +.nav-tabs .nav-link.active { + border-top: 3px solid $one__primary !important; +} +.nav-tabs .nav-link:hover{ + border-top: 3px solid $one__primary !important; + color: $one__primary-dark; + transition: transition-normal !important; +} +.o_form_view .o_horizontal_separator { + color: $one__primary; +} +.panel-heading.note-toolbar { + background-color: $one__light !important; +} +div.o_boolean_toggle.custom-control.custom-checkbox > input.custom-control-input:checked + label.custom-control-label::before { + background-color: $one__primary !important; +} +//Misc. +.badge-primary{ + background-color: $one__primary; + border-radius: 0px; + padding: 5px; +} +//Links +a { + color: $one__primary; + text-decoration: none; + background-color: transparent; + + &hover{ + color: $one__primary-dark; + text-decoration: none; + transition: $transition-normal; + } +} +a.o_menu_brand{ + color: $one__light-font-primary; + font-weight: bold; +} +.o_form_uri{ + color: $one__primary !important; +} +.o_Message_prettyBody > div > p > a { + background-color: $one__primary !important; +} + +.o_onboarding_step_title > a { + color: $one__light; +} +.oe_kanban_action_a{ + color: $one__light-font-primary; +} + +.o_kanban_view .oe_kanban_card.oe_kanban_global_click:focus, +.o_kanban_view .oe_kanban_card.oe_kanban_global_click:focus-within, +.o_kanban_view .oe_kanban_card.oe_kanban_global_click_edit:focus, +.o_kanban_view .oe_kanban_card.oe_kanban_global_click_edit:focus-within, +.o_kanban_view .o_kanban_record.oe_kanban_global_click:focus, +.o_kanban_view .o_kanban_record.oe_kanban_global_click:focus-within, +.o_kanban_view .o_kanban_record.oe_kanban_global_click_edit:focus, +.o_kanban_view .o_kanban_record.oe_kanban_global_click_edit:focus-within{ + outline: thin solid $one__primary-light !important; +} + +//Tables +.o_list_view thead { + background-color: $one__hover-bkg-light; +} + +.o_list_view .o_list_table thead { + color: $one__light-font-secondary; + border-bottom: 1px solid $one__border-light; +} +.o_list_view .o_list_table thead > tr > th:not(.o_list_record_selector) { + border-left: none; +} +table thead th { + vertical-align: bottom; + border-top: none !important; + border-bottom: none !important; + padding: 1rem !important; +} +table-sm th, .table-sm td { + padding: 1rem !important; + border-top: none !important; +} +tr:nth-child(even){ + background-color: $one__hover-bkg-light; +} +.o_list_view .o_list_table tfoot { + background-color: $one__light; + filter: brightness(95.5%) !important; +} + +//Search +.o_searchview .o_searchview_facet, .o_setting_search { + background: $one__light; + border-radius: 0px !important; + border: 1px solid $one__border-light; + color: $one__light-font-secondary; +} +.o_searchview .o_searchview_facet .o_searchview_facet_label { + background-color: $one__light; +} +.o_searchview .o_searchview_input_container .o_searchview_facet .o_searchview_facet_label { + color: $one__light-font-secondary; + margin: 0px -3px 3px 3px; +} +.o_searchview .o_searchview_input_container .o_searchview_facet .o_facet_remove{ + bottom: 3px !important; +} +.o_searchview .o_searchview_input_container .o_searchview_facet .o_facet_values { + padding: 2px 18px 0 5px !important; +} +.o_searchview{ + padding: 0.5rem !important; + border-radius: 0px; +} +.searchInput{ + border: none !important; +} +.searchIcon{ + margin: 5px 10px 0 0; +} +.o_setting_search { + padding: 5px; +} + +//Kanban +.oe_kanban_card{ + border-color: $one__border-light; + padding: 1rem !important; +} + +//Calendar +@include c_fadeBackgroundOut('fadeCalendarRow', 1, 0.6, 212, 212, 212 ); + +.o_calendar_sidebar_container .ui-datepicker td.ui-datepicker-current-day.ui-datepicker-today a, +.o_calendar_sidebar_container .ui-datepicker td.ui-datepicker-current-day a, +.o_calendar_view .o_calendar_widget .fc-dayGridMonth-view .fc-content-skeleton .fc-today .fc-day-number +{ + color: $one__light !important; + background-color: $one__primary !important; +} + +.o_calendar_sidebar_container .ui-datepicker td a{ + color: $one__light-font-secondary; +} +.o_calendar_sidebar_container .ui-datepicker td.ui-datepicker-today a{ + background-color: $one__border-light; +} + +.o_calendar_sidebar_container .ui-datepicker .o_selected_range.o_color:not(.ui-datepicker-unselectable) { + animation: fadeCalendarRow 2s forwards; +} + +.fc-now-indicator { + border-color: $one__primary !important; +} +.fc-ltr .fc-time-grid .fc-now-indicator-arrow { + left: 0; + border-width: 5px 0 5px 6px; + border-top-color: transparent !important; + border-bottom-color: transparent !important; +} + +.o_calendar_view .fc-view .fc-event.o_calendar_color_1.o_cw_custom_highlight { + box-shadow: 0 12px 12px -5px rgba(156, 181, 245, 0.8); + color: $one__primary; + font-weight: bold; +} +.o_calendar_view .fc-view .fc-event.o_calendar_color_1 .fc-bg { + background-color: $one__primary-light; +} +.o_calendar_view .fc-view .fc-event.o_calendar_color_1 { + border-color: $one__primary; + color: #274aa5; + opacity: 0.8; + + &:hover{ + background: $one__primary-light; + box-shadow: 0 12px 12px -5px rgba(156, 181, 245, 0.8); + } +} + +.bootstrap-datetimepicker-widget table td.active, .bootstrap-datetimepicker-widget table td.active:hover { + background-color: $one__primary !important; +} + +//Dashboard Sidebar +.o_Discuss, .o_setting_container{ + width: 98%; + margin-right: auto; + margin-left: auto; + border-top: none; +} +.o_widget_Discuss .o_Discuss_content { + border-top: none !important; +} +.o_DiscussSidebar, .settings_tab{ + color: $one__light-font-primary; + background-color: transparent !important; + border-right: 2px solid $one__border-light; + height: 95%; + margin-top: auto; + margin-bottom: auto; +} +.o_DiscussSidebarItem{ + padding: 0.4rem 0 !important; +} +.o_DiscussSidebarItem_activeIndicator.o-item-active{ + width: 0; + height: 0; + background: transparent; + margin-top: 0.375rem; + margin-right: 8px !important; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid $one__primary; +} +.o_DiscussSidebarItem:hover{ + background-color: transparent !important; + color: $one__primary; +} +.o_DiscussSidebar_separator{ + width: 95% !important; + margin-left: auto; + margin-right: auto; + background-color: transparent !important; +} +.o_MessageList{ + padding: 10px !important; +} + +.o_Message.o-not-discussion{ + background-color: $one__hover-bkg-light; + border-color: $one__border-light; +} + +//Settings + +.o_setting_container .settings_tab { + .app_name{ + color: $one__light-font-primary !important; + } +} + +.o_base_settings .o_control_panel .o_panel .o_setting_search .searchInput { + max-width: none !important; + margin: 4px 0 0 10px !important; +} + +.o_setting_container .settings_tab .tab{ + height: 30px !important; +} + +.o_setting_container .settings{ + padding: 10px !important; +} +.o_setting_container .settings_tab .app_name { + color: $one__light-font-primary; + + &:hover{ + color :$one__primary !important; + } +} +.o_setting_container .settings_tab .selected{ + background: transparent !important; + box-shadow: none !important; + position: relative; + + &:before{ + content: ""; + position: absolute; + width: 0; + height: 0; + top: 24%; + left: 0; + background: transparent; + margin-top: 0.375rem; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid $one__primary; + } + + .app_name{ + color: $one__light-font-primary; + + &:hover{ + color :$one__primary !important; + } + } +} + +.o_form_image_controls > .o_select_file_button{ + background: $one__primary !important; + color: $one__light; +} + +.o_search_panel .o_search_panel_category .o_search_panel_section_icon { + color: $one__primary; +} +.o_search_panel .list-group-item header.active { + background-color: $one__primary-light; + color: $one__primary; +} + +//Chat +.o_ChatWindowHeader{ + background-color: $one__primary !important; + color: $one__light !important; + border-radius: 0px !important; +} +//Tables +.o_purchase_dashboard .table > thead > tr > td.o_main, .o_purchase_dashboard .table tbody > tr > td.o_main { + background-color: $one__primary; + + &:hover{ + background-color: $one__primary-dark; + } + + a{ + color: $one__light; + } +} + +//Tags +.o_field_widget.o_field_many2manytags .o_tag_color_5, +.o_kanban_view .o_kanban_record .o_field_many2manytags .o_tag.o_tag_color_5 span, +.o_kanban_view .o_kanban_record .o_kanban_tags .o_tag.o_tag_color_5 span { + background-color: $one__primary; +} + +.badge-pill{ + a{ + color: $one__light; + } +} +.oe_kanban_card .o_kanban_tags .o_tag, .o_kanban_view .o_kanban_record .o_field_many2manytags .o_tag, .o_kanban_view .o_kanban_record .o_kanban_tags .o_tag { + background-color: transparent !important; +} + +.o-menu-toggle{ + display: none !important; +} +.c_dots_menu{ + background-image: url('/vista_backend_theme/static/src/img/icons/dots-menu.png'); + width: 18px; + height: 18px; + background-repeat: no-repeat; + background-size: contain; +} +.c_dots_menu_toggled{ + background-image: $dots_menu_toggled; + width: 18px; + height: 18px; + background-repeat: no-repeat; + background-size: contain; +} + +//Responsive Layout +@media (max-width: 767.98px) { + //Settings + .o_base_settings .o_setting_container { + flex-flow: column nowrap; + + .settings_tab{ + flex-direction: row; + height: 40px; + margin-top: -5px; + justify-content: center; + } + } + //App Bar + .o_control_panel > div { + flex-direction: column; + margin-bottom: 0.5rem; + } + .o_control_panel .breadcrumb > li, .breadcrumb-item > a { + font-size: 1.8rem !important; + margin-bottom: 0.5rem; + } + .o_control_panel .o_cp_top_right { + width: 100%; + margin-bottom: 0.5rem; + } + .o_search_panel .o_search_panel_section_header { + display: none; + } + .o_search_panel { + flex: 0 0 120px !important; + padding: 8px 8px 32px 0px !important; + } + //Discuss + .o_Discuss.o-mobile{ + width: 100% !important; + border-top: 1px solid $one__border-light; + } + .o_MobileMessagingNavbar_tab.o-active > span{ + color: $one__primary !important; + } +} + +//Border Radius +.btn, +.custom-checkbox .custom-control-label::before, +.o_searchview, +.dropdown-menu, +.o_searchview .o_searchview_facet +{ + border-radius: $one__border !important; +} + +#sidebar_panel { + height: 100%; + position: fixed; + top: 0px; + background-color: $one__sidebar-color; + border-right: 1px solid $one__sidebar-border; + display: none; + width: 80px; + overflow-y: scroll; + -ms-overflow-style: none; /* Hide scrollbar for IE and Edge */ + scrollbar-width: none; /* Hide scrollbar for Firefox */ + z-index: 999; +} +.sidebar_app_name{ + display: none; +} +#sidebar_panel::-webkit-scrollbar { + display: none; /* Hide scrollbar for Chrome, Safari and Opera */ +} +.sidebar_menu{ + margin-top: 20px !important; +} +.sidebar > h6{ + color: $one__light; + font-weight: bold; + text-transform: uppercase; + letter-spacing: 2px; + font-size: 0.9rem; + margin-left: auto; + margin-right: auto; + width: 38px; + display: block; + margin-top: 18px !important; +} +.sidebar_panel .sidebar { + padding: 0; + white-space: nowrap; + padding-bottom: 20px; + padding-top: 5px; +} +.sidebar_panel .sidebar_close { + text-align: end; + display: none; + position: sticky; + height: 35px; + padding-top: 5px; + top: 0; + background: #2a3042; + z-index: 1; +} +.sidebar_panel .sidebar_close a#closeSidebar { + font-size: 18px; + margin-right: 10px; + color: #ffffff; + opacity: .3; +} +.sidebar_panel .sidebar_close a#closeSidebar img { + width: 15px; +} +.sidebar_panel .sidebar .sidebar_logo { + padding-top: 20px; + text-align: center; + padding-bottom: 20px; +} +.sidebar_panel .sidebar .sidebar_logo img { + max-width: 150px; +} + +.sidebar_panel .sidebar .sidebar_head { + padding-top: 20px; + padding-left: none; + color: $one__sidebar_text; +} + +.sidebar_panel .sidebar .sidebar_menu { + list-style: none; + margin: 0; + padding: 0; +} + +.sidebar_panel .sidebar .sidebar_menu li { + margin: 0; + padding: 0; + border: 0px; + display: block; +} + +.sidebar_panel .sidebar .sidebar_menu li a { + margin: 0; + border: 0px; + display: block; + cursor: pointer; + overflow: hidden; + padding: 8px 10px 8px 25px; + color: #ffffff; + font-size: 13px; + transition:.3s all; +} +.sidebar_panel .sidebar .sidebar_menu li:hover a { + background: $one__sidebar-color-hover; + color: $one__light; +} + +.sidebar_panel .nav-link { + opacity: 1 !important; + transition:.3s all; +} +.sidebar_panel .sidebar a.nav-link.active { + color: $one__light !important; + border-left: 4px solid $one__light; + + img{ + margin-left: -0.5rem !important; + } +} + +.sidebar_panel .sidebar .sidebar_menu li a .sidebar_img { + width: 32px; + height: 32px; + margin: 8px 8px 8px 0; +} +.sidebar_menu > li a.nav-link{ + &:hover{ + transform: scale(1.05) !important; + transition: all 0.3s linear !important; + } +} + +.datepicker{ + z-index: 9999 !important; +} +div.dropdown-menu.bootstrap-datetimepicker-widget { + width: 28rem !important; +} +// .datepicker .table-sm > thead, +// .datepicker > div > table > tbody > tr > td.active{ +// background-color: $one__primary; +// } +// .datepicker .table-sm > thead > tr:first-child th:hover { +// background-color: $one__primary-dark; +// } +// .datepicker .table-sm > tbody > tr > td.today::before{ +// border-bottom-color: $one__primary; +// } diff --git a/vista_backend_theme/static/src/xml/systray.xml b/vista_backend_theme/static/src/xml/systray.xml new file mode 100644 index 000000000..7f3865b2e --- /dev/null +++ b/vista_backend_theme/static/src/xml/systray.xml @@ -0,0 +1,16 @@ + + + +
  • + +
  • +
    +
    \ No newline at end of file diff --git a/vista_backend_theme/static/src/xml/top_bar.xml b/vista_backend_theme/static/src/xml/top_bar.xml new file mode 100644 index 000000000..718e6788e --- /dev/null +++ b/vista_backend_theme/static/src/xml/top_bar.xml @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vista_backend_theme/views/assets.xml b/vista_backend_theme/views/assets.xml new file mode 100644 index 000000000..6c6ce0da9 --- /dev/null +++ b/vista_backend_theme/views/assets.xml @@ -0,0 +1,34 @@ + + + Theme Vista Backend Green + web.assets_backend + replace + /vista_backend_theme/static/src/scss/theme.scss + /vista_backend_theme/static/src/scss/theme_green.scss + False + + + Theme Vista Backend Black + web.assets_backend + replace + /vista_backend_theme/static/src/scss/theme.scss + /vista_backend_theme/static/src/scss/theme_black.scss + False + + + Theme Vista frond + web.assets_frontend + replace + /vista_backend_theme/static/src/scss/login.scss + /vista_backend_theme/static/src/scss/login_black.scss + False + + + Theme Vista + web.assets_frontend + replace + /vista_backend_theme/static/src/scss/login.scss + /vista_backend_theme/static/src/scss/login_green.scss + False + + diff --git a/vista_backend_theme/views/icons.xml b/vista_backend_theme/views/icons.xml new file mode 100644 index 000000000..fd49b7c2a --- /dev/null +++ b/vista_backend_theme/views/icons.xml @@ -0,0 +1,10 @@ + + + + + + + + \ No newline at end of file diff --git a/vista_backend_theme/views/layout.xml b/vista_backend_theme/views/layout.xml new file mode 100644 index 000000000..7e9c1db7f --- /dev/null +++ b/vista_backend_theme/views/layout.xml @@ -0,0 +1,131 @@ + + + + + + + + + \ No newline at end of file diff --git a/vista_backend_theme/views/theme.xml b/vista_backend_theme/views/theme.xml new file mode 100644 index 000000000..3dbba5976 --- /dev/null +++ b/vista_backend_theme/views/theme.xml @@ -0,0 +1,42 @@ + + + + + them.data.form + theme.data + +
    +
    +
    + + + + + + + +
    +
    +
    + + + theme data + theme.data + form + + new + + + + + + + + + +
    \ No newline at end of file diff --git a/vista_backend_theme/wizard/__init__.py b/vista_backend_theme/wizard/__init__.py new file mode 100644 index 000000000..0848c922d --- /dev/null +++ b/vista_backend_theme/wizard/__init__.py @@ -0,0 +1 @@ +from . import theme diff --git a/vista_backend_theme/wizard/theme.py b/vista_backend_theme/wizard/theme.py new file mode 100644 index 000000000..d90401836 --- /dev/null +++ b/vista_backend_theme/wizard/theme.py @@ -0,0 +1,527 @@ + +import base64 + +from odoo import models, fields, api +from odoo.modules import get_module_resource + + +class Theme(models.TransientModel): + _name = "theme.data" + + def _get_current_theme(self): + return self.env['theme.data.stored'].sudo().search([], limit=1).name + + name = fields.Selection([ + ('default', 'Default'), + ('two', 'Green'), + ('three', 'Black'), + ], 'Theme', required=True, default=_get_current_theme) + + @api.onchange('name') + def onchange_name(self): + theme = self.sudo().env.ref('vista_backend_theme.theme_data_stored') + if theme: + theme.name = self.name + else: + theme.create({ + 'name': self.name + }) + + def action_apply(self): + name = self.env['theme.data.stored'].sudo().search([], limit=1).name + if name == 'two': + self.env.ref('vista_backend_theme.vista_theme_css_black').active = False + self.env.ref('vista_backend_theme.vista_theme_css_login_black').active = False + self.env.ref('vista_backend_theme.vista_theme_css_green').active = True + self.env.ref('vista_backend_theme.vista_theme_css_login_green').active = True + self.icon_change_theme_green() + elif name == 'three': + self.env.ref('vista_backend_theme.vista_theme_css_green').active = False + self.env.ref('vista_backend_theme.vista_theme_css_login_green').active = False + self.env.ref('vista_backend_theme.vista_theme_css_black').active = True + self.env.ref('vista_backend_theme.vista_theme_css_login_black').active = True + self.icon_change_theme_default() + else: + self.env.ref('vista_backend_theme.vista_theme_css_green').active = False + self.env.ref('vista_backend_theme.vista_theme_css_black').active = False + self.env.ref('vista_backend_theme.vista_theme_css_login_green').active = False + self.env.ref('vista_backend_theme.vista_theme_css_login_black').active = False + self.icon_change_theme_default() + + return { + 'type': 'ir.actions.client', + 'tag': 'reload', + } + + def icon_change_theme_default(self): + menu_item = self.env['ir.ui.menu'].sudo().search([('parent_id', '=', False)]) + for menu in menu_item: + if menu.name == 'Contacts': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'contacts.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Link Tracker': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'link-tracker.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Dashboards': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'dashboards.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Sales': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'sales.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Invoicing': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'accounting.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Accounting': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'accounting.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Inventory': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'inventory.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Purchase': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'purchase.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Calendar': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'calendar.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'CRM': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'crm.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Note': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'note.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Website': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'website.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Point of Sale': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'pos.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Manufacturing': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'manufacturing.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Repairs': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'repairs.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Email Marketing': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'email-marketing.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'SMS Marketing': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'sms-marketing.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Project': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'project.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Surveys': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'surveys.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Employees': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'employee.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Recruitment': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'recruitment.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Attendances': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'attendances.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Time Off': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'timeoff.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Expenses': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'expenses.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Maintenance': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'maintenance.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Live Chat': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'live-chat.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Lunch': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'lunch.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Fleet': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'fleet.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Timesheets': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'timesheets.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Events': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'events.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'eLearning': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'elearning.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Members': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'members.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Apps': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'apps.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Discuss': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'discuss.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Settings': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', 'icons', + 'settinga.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + + def icon_change_theme_green(self): + menu_item = self.env['ir.ui.menu'].sudo().search([('parent_id', '=', False)]) + for menu in menu_item: + if menu.name == 'Contacts': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'contacts.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Link Tracker': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'link-tracker.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Dashboards': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'dashboards.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Sales': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'sales.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Invoicing': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'accounting.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Inventory': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'inventory.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Purchase': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'purchase.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Calendar': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'calendar.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'CRM': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'crm.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Note': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'note.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Website': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'website.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Point of Sale': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'pos.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Manufacturing': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'manufacturing.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Repairs': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'repairs.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Email Marketing': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'email-marketing.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'SMS Marketing': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'sms-marketing.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Project': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'project.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Surveys': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'surveys.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Employees': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'employee.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Recruitment': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'recruitment.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Attendances': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'attendances.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Time Off': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'timeoff.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Expenses': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'expenses.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Maintenance': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'maintenance.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Live Chat': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'live-chat.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Lunch': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'lunch.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Fleet': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'fleet.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Timesheets': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'timesheets.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Events': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'events.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'eLearning': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'elearning.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Members': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'members.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Apps': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'apps.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Discuss': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'discuss.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Settings': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'settinga.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + if menu.name == 'Accounting': + img_path = get_module_resource( + 'vista_backend_theme', 'static', 'src', 'img', + 'icons_green', + 'accounting.png') + menu.write({'web_icon_data': base64.b64encode( + open(img_path, "rb").read())}) + + +class ThemeStored(models.Model): + _name = "theme.data.stored" + + name = fields.Selection([ + ('default', 'Default'), + ('two', 'Green'), + ('three', 'Black'), + ], 'Theme', default='default')