@ -0,0 +1,40 @@ |
|||||
|
Artify Backend Theme |
||||
|
==================== |
||||
|
* Artify Backend Theme module for Odoo 16 community editions |
||||
|
|
||||
|
Installation |
||||
|
============ |
||||
|
- www.odoo.com/documentation/16.0/setup/install.html |
||||
|
- Install our custom addon |
||||
|
|
||||
|
License |
||||
|
------- |
||||
|
General Public License, Version 3 (LGPL v3). |
||||
|
(https://www.odoo.com/documentation/user/14.0/legal/licenses/licenses.html) |
||||
|
|
||||
|
Company |
||||
|
------- |
||||
|
* 'Cybrosys Techno Solutions <https://cybrosys.com/>'__ |
||||
|
|
||||
|
Credits |
||||
|
------- |
||||
|
* 'Cybrosys Techno Solutions <https://cybrosys.com/>'__ |
||||
|
|
||||
|
Contacts |
||||
|
-------- |
||||
|
* Mail Contact : odoo@cybrosys.com |
||||
|
|
||||
|
Bug Tracker |
||||
|
----------- |
||||
|
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. |
||||
|
|
||||
|
Maintainer |
||||
|
========== |
||||
|
This module is maintained by Cybrosys Technologies. |
||||
|
|
||||
|
For support and more information, please visit https://www.cybrosys.com |
||||
|
|
||||
|
Further information |
||||
|
=================== |
||||
|
HTML Description: `<static/description/index.html>`__ |
||||
|
|
@ -0,0 +1,23 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2022-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
|
||||
|
from .hooks import test_pre_init_hook, test_post_init_hook |
@ -0,0 +1,62 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
|
||||
|
{ |
||||
|
"name": "Artify Backend Theme V16", |
||||
|
"description": """Minimalist and elegant backend theme for Odoo 16, Backend Theme""", |
||||
|
"summary": "Artify Backend Theme V16 is an attractive theme for backend", |
||||
|
"category": "Themes/Backend", |
||||
|
"version": "16.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": [ |
||||
|
'views/icons.xml', |
||||
|
'views/layout.xml', |
||||
|
], |
||||
|
'assets': { |
||||
|
'web.assets_frontend': [ |
||||
|
'artify_backend_theme/static/src/scss/login.scss', |
||||
|
], |
||||
|
'web.assets_backend': [ |
||||
|
'artify_backend_theme/static/src/xml/styles.xml', |
||||
|
'artify_backend_theme/static/src/xml/top_bar.xml', |
||||
|
'artify_backend_theme/static/src/scss/variables.scss', |
||||
|
'artify_backend_theme/static/src/scss/navigation_bar.scss', |
||||
|
'artify_backend_theme/static/src/scss/style.scss', |
||||
|
'artify_backend_theme/static/src/scss/sidebar.scss', |
||||
|
'artify_backend_theme/static/src/js/chrome/sidebar_menu.js', |
||||
|
], |
||||
|
}, |
||||
|
'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, |
||||
|
} |
@ -0,0 +1,7 @@ |
|||||
|
## Module <artify_backend_theme> |
||||
|
|
||||
|
#### 10.02.2023 |
||||
|
#### Version 16.0.1.0.0 |
||||
|
#### ADD |
||||
|
Initial Commit |
||||
|
|
@ -0,0 +1,289 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2022-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_backend_theme', 'static', 'src', 'img', 'icons', 'Invoicing.png') |
||||
|
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) |
||||
|
if menu.name == 'Inventory': |
||||
|
img_path = get_module_resource( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_backend_theme', 'static', 'src', 'img', 'icons', 'Point of Sale.png') |
||||
|
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) |
||||
|
if menu.name == 'Manufacturing': |
||||
|
img_path = get_module_resource( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_backend_theme', 'static', 'src', 'img', 'icons', 'Employees.png') |
||||
|
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) |
||||
|
if menu.name == 'Recruitment': |
||||
|
img_path = get_module_resource( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_backend_theme', 'static', 'src', 'img', 'icons', 'Invoicing.png') |
||||
|
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) |
||||
|
if menu.name == 'Inventory': |
||||
|
img_path = get_module_resource( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_backend_theme', 'static', 'src', 'img', 'icons', 'CRM.png') |
||||
|
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) |
||||
|
if menu.name == 'Notes': |
||||
|
img_path = get_module_resource( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_backend_theme', 'static', 'src', 'img', 'icons', 'Point of Sale.png') |
||||
|
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) |
||||
|
if menu.name == 'Manufacturing': |
||||
|
img_path = get_module_resource( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_backend_theme', 'static', 'src', 'img', 'icons', 'Employees.png') |
||||
|
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) |
||||
|
if menu.name == 'Recruitment': |
||||
|
img_path = get_module_resource( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_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( |
||||
|
'artify_backend_theme', 'static', 'src', 'img', 'icons', 'Members.png') |
||||
|
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())}) |
After Width: | Height: | Size: 188 KiB |
After Width: | Height: | Size: 310 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 576 B |
After Width: | Height: | Size: 733 B |
After Width: | Height: | Size: 911 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 673 B |
After Width: | Height: | Size: 878 B |
After Width: | Height: | Size: 653 B |
After Width: | Height: | Size: 905 B |
After Width: | Height: | Size: 839 B |
After Width: | Height: | Size: 427 B |
After Width: | Height: | Size: 627 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 988 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.9 MiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 92 KiB |
After Width: | Height: | Size: 275 KiB |
After Width: | Height: | Size: 578 KiB |
After Width: | Height: | Size: 237 KiB |
After Width: | Height: | Size: 131 KiB |
After Width: | Height: | Size: 259 KiB |
After Width: | Height: | Size: 275 KiB |
After Width: | Height: | Size: 233 KiB |
After Width: | Height: | Size: 320 KiB |
After Width: | Height: | Size: 180 KiB |
After Width: | Height: | Size: 185 KiB |
After Width: | Height: | Size: 172 KiB |
After Width: | Height: | Size: 142 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 283 KiB |
After Width: | Height: | Size: 210 KiB |
After Width: | Height: | Size: 185 KiB |
After Width: | Height: | Size: 281 KiB |
@ -0,0 +1,439 @@ |
|||||
|
<!-- HERO SECTION --> |
||||
|
<div class="contianer"> |
||||
|
<div class="row position-relative" |
||||
|
style="background-color: #193E46 !important; height: 550px; margin-bottom: 6rem; border-radius: 1.5rem;"> |
||||
|
<div class="col-lg-12 d-flex flex-column justify-content-start align-items-center"> |
||||
|
<h1 class="display-1 text-white" style="padding-top: 5rem;"> |
||||
|
Artify |
||||
|
</h1> |
||||
|
|
||||
|
<p class="text-light small font-weight-bold" |
||||
|
style="text-align: center!important; letter-spacing: 5px; text-transform: uppercase; margin-top: 1.5rem !important;"> |
||||
|
Customizable Backend Theme for Odoo 16</p> |
||||
|
</div> |
||||
|
<img src="./images/hero.gif" class="img img-fluid" |
||||
|
style="height: auto; width: 700px; top: 45%; left: 0; right: 0; margin-left: auto; margin-right: auto; margin-top: 1rem !important;" |
||||
|
height="auto" width="700px"> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- END OF HERO SECTION --> |
||||
|
<!-- SHORT DESCRIPTION --> |
||||
|
<div class="container"> |
||||
|
<div class="row" style="margin-top: 5rem !important;"> |
||||
|
<div class="col-lg-12 d-flex justify-content-center align-items-center"> |
||||
|
<h6 class="text-muted text-center w-50" style="line-height: 22px;">This theme provides a user friendly backend |
||||
|
experience for Odoo 16.0 community edition.</h6> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- END OF SHORT DESCRIPTION --> |
||||
|
<!-- FEATURE ICONS --> |
||||
|
<div class="container w-50" style="margin: 3rem auto;"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-4 my-2 d-flex flex-column justify-content-center align-items-center"> |
||||
|
<div |
||||
|
style="height: 100px; width: 100px; border: 8px solid #ecf7f7 ; border-radius: 50%; background-color: #e3f3f2; box-shadow: 0px 0px 0px 8px #f6fbfb;" |
||||
|
class="d-flex justify-content-center align-items-center"> |
||||
|
<img height="60px" src="./images/icons/design.png"> |
||||
|
</div> |
||||
|
<h6 class="my-4 text-center">Well-Crafted</h6> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-4 my-2 d-flex flex-column justify-content-center align-items-center"> |
||||
|
<div |
||||
|
style="height: 100px; width: 100px; border: 8px solid #ecf7f7; border-radius: 50%; background-color: #e3f3f2; box-shadow: 0px 0px 0px 8px #f6fbfb;" |
||||
|
class="d-flex justify-content-center align-items-center"> |
||||
|
<img height="60px" src="./images/icons/responsive.png"> |
||||
|
</div> |
||||
|
<h6 class="my-4 text-center">Efficent Design</h6> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-4 my-2 d-flex flex-column justify-content-center align-items-center"> |
||||
|
<div |
||||
|
style="height: 100px; width: 100px; border: 8px solid #ecf7f7; border-radius: 50%; background-color: #e3f3f2; box-shadow: 0px 0px 0px 8px #f6fbfb;" |
||||
|
class="d-flex justify-content-center align-items-center"> |
||||
|
<img height="60px" src="./images/icons/quality.png"> |
||||
|
</div> |
||||
|
<h6 class="my-4 text-center">Clearer insight</h6> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- END OF FEATURE ICONS --> |
||||
|
|
||||
|
<!-- TWO COLUMN SECTION--> |
||||
|
<div class="container" style="margin: 6rem auto;"> |
||||
|
<div class="row my-4"> |
||||
|
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> |
||||
|
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #41B0AA ">Theme |
||||
|
Settings</span> |
||||
|
<h2 class="mt-3">Artify Backend Theme Settings</h2> |
||||
|
<p class="text-muted mb-4" style="font-weight: 600; font-size: 1.2rem; height: 100px !important;">To improve |
||||
|
your |
||||
|
experience with Odoo the Artify backend theme provides a fully |
||||
|
configurable theme settings menu.</p> |
||||
|
<img src="./images/AR1.png" class="img img-fluid deep-2 rounded"> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> |
||||
|
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #41B0AA"> |
||||
|
Apps</span> |
||||
|
<h2 class="mt-3">Apps</h2> |
||||
|
<p class="text-muted mb-4" style="font-weight: 600; font-size: 1.2rem; height: 100px !important;">Easly |
||||
|
accessible |
||||
|
apps where it reveals the apps menu on just a click. |
||||
|
Moreover, its also |
||||
|
fully customisable with Artify backend theme.</p> |
||||
|
<img src="./images/AR2.png" class="img img-fluid deep-2 rounded"> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- END OF TWO COLUMN SECTION--> |
||||
|
|
||||
|
<!-- RESPONSIVE SECTION--> |
||||
|
<div class="container" style="margin: 6rem auto;"> |
||||
|
<div class="row my-4"> |
||||
|
<div class="col-lg-5 d-flex flex-column justify-content-center align-items-start"> |
||||
|
<img src="./images/responsive-backend-theme.png" class="img img-fluid rounded"> |
||||
|
</div> |
||||
|
<div class="col-lg-7 d-flex flex-column justify-content-center"> |
||||
|
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #41B0AA">Responsive |
||||
|
Layout</span> |
||||
|
<h2 class="mt-3">Truly Responsive</h2> |
||||
|
<p class="text-muted mb-4" style="font-weight: 600; font-size: 1.2rem;">One of the critical highlights of the |
||||
|
Artify |
||||
|
backend theme is that it was |
||||
|
genuinely responsive; moreover, it provides an efficient interface to manage a mobile device.</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<!-- END OF RESPONSIVE SECTION--> |
||||
|
|
||||
|
<!-- TWO COLUMN SECTION--> |
||||
|
<div class="container" style="margin: 6rem auto;"> |
||||
|
<div class="row my-4"> |
||||
|
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> |
||||
|
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #41B0AA">Custom |
||||
|
Kanban View</span> |
||||
|
<h2 class="mt-3">Kanban view</h2> |
||||
|
<p class="text-muted mb-4" style="font-weight: 600; font-size: 1.2rem; height: 100px !important;">Artify Backend |
||||
|
Theme gives a colorful & elegant kanban view, and it's fully |
||||
|
customizable with this theme.</p> |
||||
|
<img src="./images/AR3.png" class="img img-fluid deep-2 rounded"> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> |
||||
|
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #41B0AA;"> Tree View</span> |
||||
|
<h2 class="mt-3">Custom Tree view</h2> |
||||
|
<p class="text-muted mb-4" style="font-weight: 600; font-size: 1.2rem; height: 100px !important;">Artify Backend |
||||
|
Theme gives a modified and colorful tree view with the |
||||
|
full view |
||||
|
experience.</p> |
||||
|
<img src="./images/AR4.png" class="img img-fluid deep-2 rounded"> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<!-- TWO COLUMN SECTION--> |
||||
|
<div class="container" style="margin: 6rem auto;"> |
||||
|
<span> |
||||
|
</span> |
||||
|
<div class="row my-4"> |
||||
|
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> |
||||
|
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #41B0AA"> |
||||
|
Form View</span> |
||||
|
<h2 class="mt-3">Custom Form view</h2> |
||||
|
<p class="text-muted mb-4" style="font-weight: 600; font-size: 1.2rem; height: 120px !important;">Artify Backend |
||||
|
theme provides a fully modified and colorful form view with the |
||||
|
full view |
||||
|
experience.</p> |
||||
|
<img src="./images/AR5.png" class="img img-fluid deep-2 rounded"> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> |
||||
|
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #41B0AA">Vibrent |
||||
|
ui</span> |
||||
|
<h2 class="mt-3">Attractive User Interface</h2> |
||||
|
<p class="text-muted mb-4" style="font-weight: 600; font-size: 1.2rem; height: 80px !important;">It provides |
||||
|
fully |
||||
|
attractive, and a elgant User Interface with completely |
||||
|
customizability.</p> |
||||
|
|
||||
|
<img src="./images/AR7.png" class="img img-fluid deep-2 rounded"> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- END OF TWO COLUMN SECTION--> |
||||
|
|
||||
|
<!-- OUR SERVICES --> |
||||
|
<section class="container" style="margin-top: 6rem !important;"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center"> |
||||
|
<h2 class="text-center" |
||||
|
style="font-family: Montserrat, 'sans-serif'; color: #000 !important; font-weight: 800 !important; font-size: 2rem !important; width: 80%;"> |
||||
|
Our Services</h2> |
||||
|
<p class="text-center" |
||||
|
style="color: #1a1a1a !important; font-weight: 300 !important; font-size: 1.3rem !important;"> |
||||
|
We provide following services</p> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> |
||||
|
<div class="d-flex justify-content-center align-items-center mx-3 my-3" |
||||
|
style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;"> |
||||
|
<img src="assets/icons/cogs.png" class="img-responsive" height="48px" width="48px"> |
||||
|
</div> |
||||
|
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo |
||||
|
Customization</h6> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> |
||||
|
<div class="d-flex justify-content-center align-items-center mx-3 my-3" |
||||
|
style="background-color: #ff6b6b !important; border-radius: 15px !important; height: 80px; width: 80px;"> |
||||
|
<img src="assets/icons/wrench.png" class="img-responsive" height="48px" width="48px"> |
||||
|
</div> |
||||
|
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo |
||||
|
Implementation</h6> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> |
||||
|
<div class="d-flex justify-content-center align-items-center mx-3 my-3" |
||||
|
style="background-color: #6462CD !important; border-radius: 15px !important; height: 80px; width: 80px;"> |
||||
|
<img src="assets/icons/lifebuoy.png" class="img-responsive" height="48px" width="48px"> |
||||
|
</div> |
||||
|
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo |
||||
|
Support</h6> |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> |
||||
|
<div class="d-flex justify-content-center align-items-center mx-3 my-3" |
||||
|
style="background-color: #ffa801 !important; border-radius: 15px !important; height: 80px; width: 80px;"> |
||||
|
<img src="assets/icons/user.png" class="img-responsive" height="48px" width="48px"> |
||||
|
</div> |
||||
|
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Hire |
||||
|
Odoo |
||||
|
Developer</h6> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> |
||||
|
<div class="d-flex justify-content-center align-items-center mx-3 my-3" |
||||
|
style="background-color: #54a0ff !important; border-radius: 15px !important; height: 80px; width: 80px;"> |
||||
|
<img src="assets/icons/puzzle.png" class="img-responsive" height="48px" width="48px"> |
||||
|
</div> |
||||
|
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo |
||||
|
Integration</h6> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> |
||||
|
<div class="d-flex justify-content-center align-items-center mx-3 my-3" |
||||
|
style="background-color: #6d7680 !important; border-radius: 15px !important; height: 80px; width: 80px;"> |
||||
|
<img src="assets/icons/update.png" class="img-responsive" height="48px" width="48px"> |
||||
|
</div> |
||||
|
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo |
||||
|
Migration</h6> |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> |
||||
|
<div class="d-flex justify-content-center align-items-center mx-3 my-3" |
||||
|
style="background-color: #786fa6 !important; border-radius: 15px !important; height: 80px; width: 80px;"> |
||||
|
<img src="assets/icons/consultation.png" class="img-responsive" height="48px" width="48px"> |
||||
|
</div> |
||||
|
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo |
||||
|
Consultancy</h6> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> |
||||
|
<div class="d-flex justify-content-center align-items-center mx-3 my-3" |
||||
|
style="background-color: #f8a5c2 !important; border-radius: 15px !important; height: 80px; width: 80px;"> |
||||
|
<img src="assets/icons/training.png" class="img-responsive" height="48px" width="48px"> |
||||
|
</div> |
||||
|
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo |
||||
|
Implementation</h6> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> |
||||
|
<div class="d-flex justify-content-center align-items-center mx-3 my-3" |
||||
|
style="background-color: #e6be26 !important; border-radius: 15px !important; height: 80px; width: 80px;"> |
||||
|
<img src="assets/icons/license.png" class="img-responsive" height="48px" width="48px"> |
||||
|
</div> |
||||
|
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo |
||||
|
Licensing Consultancy</h6> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<!-- END OF END OF OUR SERVICES --> |
||||
|
|
||||
|
<!-- OUR INDUSTRIES --> |
||||
|
<section class="container" style="margin-top: 6rem !important;"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center"> |
||||
|
<h2 class="text-center" |
||||
|
style="font-family: Montserrat, 'sans-serif'; color: #000 !important; font-weight: 800 !important; font-size: 2rem !important; width: 80%;"> |
||||
|
Our Industries</h2> |
||||
|
<p class="text-center" |
||||
|
style="color: #1a1a1a !important; font-weight: 300 !important; font-size: 1.3rem !important;"> |
||||
|
Our industry specifics and process segments to solve your complex business barriers.</p> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-3"> |
||||
|
<div class="my-4 d-flex flex-column justify-content-center" |
||||
|
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> |
||||
|
<img src="./assets/icons/trading-black.png" class="img-responsive mb-3" height="48px" width="48px"> |
||||
|
<h5 style="color: #000 !important; font-weight: bold;"> |
||||
|
Trading |
||||
|
</h5> |
||||
|
<p style="font-size: 0.9rem !important;">Easily procure |
||||
|
and |
||||
|
sell your products</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-3"> |
||||
|
<div class="my-4 d-flex flex-column justify-content-center" |
||||
|
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> |
||||
|
<img src="./assets/icons/pos-black.png" class="img-responsive mb-3" height="48px" width="48px"> |
||||
|
<h5 style="color: #000 !important; font-weight: bold;"> |
||||
|
POS |
||||
|
</h5> |
||||
|
<p style="font-size: 0.9rem !important;">Easy |
||||
|
configuration |
||||
|
and convivial experience</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-3"> |
||||
|
<div class="my-4 d-flex flex-column justify-content-center" |
||||
|
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> |
||||
|
<img src="./assets/icons/education-black.png" class="img-responsive mb-3" height="48px" width="48px"> |
||||
|
<h5 style="color: #000 !important; font-weight: bold;"> |
||||
|
Education |
||||
|
</h5> |
||||
|
<p style="font-size: 0.9rem !important;">A platform for |
||||
|
educational management</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-3"> |
||||
|
<div class="my-4 d-flex flex-column justify-content-center" |
||||
|
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> |
||||
|
<img src="./assets/icons/manufacturing-black.png" class="img-responsive mb-3" height="48px" width="48px"> |
||||
|
<h5 style="color: #000 !important; font-weight: bold;"> |
||||
|
Manufacturing |
||||
|
</h5> |
||||
|
<p style="font-size: 0.9rem !important;">Plan, track and |
||||
|
schedule your operations</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-3"> |
||||
|
<div class="my-4 d-flex flex-column justify-content-center" |
||||
|
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> |
||||
|
<img src="./assets/icons/ecom-black.png" class="img-responsive mb-3" height="48px" width="48px"> |
||||
|
<h5 style="color: #000 !important; font-weight: bold;"> |
||||
|
E-commerce & Website |
||||
|
</h5> |
||||
|
<p style="font-size: 0.9rem !important;">Mobile |
||||
|
friendly, |
||||
|
awe-inspiring product pages</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-3"> |
||||
|
<div class="my-4 d-flex flex-column justify-content-center" |
||||
|
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> |
||||
|
<img src="./assets/icons/service-black.png" class="img-responsive mb-3" height="48px" width="48px"> |
||||
|
<h5 style="color: #000 !important; font-weight: bold;"> |
||||
|
Service Management |
||||
|
</h5> |
||||
|
<p style="font-size: 0.9rem !important;">Keep track of |
||||
|
services and invoice</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-3"> |
||||
|
<div class="my-4 d-flex flex-column justify-content-center" |
||||
|
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> |
||||
|
<img src="./assets/icons/restaurant-black.png" class="img-responsive mb-3" height="48px" width="48px"> |
||||
|
<h5 style="color: #000 !important; font-weight: bold;"> |
||||
|
Restaurant |
||||
|
</h5> |
||||
|
<p style="font-size: 0.9rem !important;">Run your bar or |
||||
|
restaurant methodically</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-lg-3"> |
||||
|
<div class="my-4 d-flex flex-column justify-content-center" |
||||
|
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> |
||||
|
<img src="./assets/icons/hotel-black.png" class="img-responsive mb-3" height="48px" width="48px"> |
||||
|
<h5 style="color: #000 !important; font-weight: bold;"> |
||||
|
Hotel Management |
||||
|
</h5> |
||||
|
<p style="font-size: 0.9rem !important;">An |
||||
|
all-inclusive |
||||
|
hotel management application</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<!-- END OF END OF OUR INDUSTRIES --> |
||||
|
|
||||
|
<!-- FOOTER --> |
||||
|
<!-- Footer Section --> |
||||
|
<section class="container" style="margin: 5rem auto 2rem;"> |
||||
|
<div class="row" style="max-width:1540px;"> |
||||
|
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center"> |
||||
|
<h2 class="text-center" |
||||
|
style="color: #000 !important; font-weight: 800 !important; font-size: 2rem !important; width: 80%;"> |
||||
|
Need Help?</h2> |
||||
|
<p class="text-center" |
||||
|
style="color: #1a1a1a !important; font-weight: 300 !important; font-size: 1.3rem !important;"> |
||||
|
Do you have any queries regarding our products & services? Let us know.</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<!-- Contact Cards --> |
||||
|
<div class="row d-flex justify-content-center align-items-center" style="max-width:1540px; margin: 0 auto 2rem auto;"> |
||||
|
|
||||
|
<div class="col-lg-12" style="padding: 0rem 3rem 2rem; border-radius: 10px; margin-right: 3rem; "> |
||||
|
|
||||
|
<div class="row mt-4"> |
||||
|
<div class="col-lg-6"> |
||||
|
<a href="mailto:odoo@cybrosys.com" target="_blank" class="btn btn-block mb-2 deep_hover" |
||||
|
style="text-decoration: none; background-color: #4d4d4d; color: #FFF; border-radius: 4px;"><i |
||||
|
class="fa fa-envelope mr-2"></i>odoo@cybrosys.com</a> |
||||
|
</div> |
||||
|
<div class="col-lg-6"> |
||||
|
<a href="https://api.whatsapp.com/send?phone=918606827707" target="_blank" |
||||
|
class="btn btn-block mb-2 deep_hover" |
||||
|
style="text-decoration: none; background-color: #25D366; color: #FFF; border-radius: 4px;"><i |
||||
|
class="fa fa-whatsapp mr-2"></i>+91 86068 27707</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<!-- End of Contact Cards --> |
||||
|
</section> |
||||
|
<!-- Footer --> |
||||
|
<section class="oe_container" style="padding: 2rem 3rem 1rem;"> |
||||
|
<div class="row" style="max-width:1540px; margin: 0 auto; margin-right: 3rem; "> |
||||
|
<!-- Logo --> |
||||
|
<div class="col-lg-12 d-flex justify-content-center align-items-center" style="margin-top: 3rem;"> |
||||
|
<img src="https://www.cybrosys.com/images/logo.png" width="200px" height="auto" /> |
||||
|
</div> |
||||
|
<!-- End of Logo --> |
||||
|
<div class="col-lg-12"> |
||||
|
<hr |
||||
|
style="margin-top: 3rem;background: linear-gradient(90deg, rgba(2,0,36,0) 0%, rgba(229,229,229,1) 33%, rgba(229,229,229,1) 58%, rgba(0,212,255,0) 100%); height: 2px; border-style: none;"> |
||||
|
<!-- End of Footer Section --> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<!-- END OF FOOTER --> |
After Width: | Height: | Size: 639 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 1.3 MiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 8.6 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 9.5 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 8.9 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 8.2 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 8.2 KiB |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 9.1 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 692 KiB |
After Width: | Height: | Size: 4.8 MiB |
After Width: | Height: | Size: 1.4 MiB |
@ -0,0 +1,93 @@ |
|||||
|
odoo.define('artify_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': '200px','transition':'all .1s linear'}); |
||||
|
$(".top_heading").css({'margin-left': '200px','transition':'all .1s linear', 'width':'auto'}); |
||||
|
|
||||
|
//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','transition':'all .1s linear'}); |
||||
|
$(".top_heading").css({'margin-left': '0px','transition':'all .1s linear', 'width':'auto'}); |
||||
|
|
||||
|
//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','transition':'all .1s linear', 'width':'auto'}); |
||||
|
$("#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"); |
||||
|
}); |
||||
|
}); |
@ -0,0 +1,94 @@ |
|||||
|
|
||||
|
.oe_website_login_container { |
||||
|
background-image: url(/artify_backend_theme/static/src/img/login-bg.jpg) !important; |
||||
|
width: 100%; |
||||
|
height: 100vh; |
||||
|
background-position: center; |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: cover; |
||||
|
} |
||||
|
|
||||
|
#wrapwrap > main { |
||||
|
background: transparent !important; |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
align-items: none; |
||||
|
|
||||
|
.card{ |
||||
|
|
||||
|
max-width:400px !important; |
||||
|
|
||||
|
.card-body{ |
||||
|
border-radius:5px !important; |
||||
|
box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05); |
||||
|
|
||||
|
.oe_login_buttons > div{ |
||||
|
|
||||
|
text-align:start !important; |
||||
|
display:block !important; |
||||
|
|
||||
|
:first-child{ |
||||
|
color: #777 !important; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
.btn, .btn-secondary{ |
||||
|
color: #FFFFFF; |
||||
|
text-transform:uppercase; |
||||
|
background-color: #35979c !important; |
||||
|
border-color: #35979c !important; |
||||
|
} |
||||
|
|
||||
|
col-form-label { |
||||
|
padding-top: calc(0.375rem + 1px); |
||||
|
padding-bottom: calc(0.375rem + 1px); |
||||
|
margin-bottom: 0; |
||||
|
font-size: inherit; |
||||
|
text-transform: uppercase !important ; |
||||
|
letter-spacing: 1px !important; |
||||
|
line-height: 1.5 !important; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
//input starts |
||||
|
.oe_login_form input { |
||||
|
display: block; |
||||
|
width: 100%; |
||||
|
height: 40px !important; |
||||
|
padding: 10px 20px; |
||||
|
font-size: 13px; |
||||
|
font-weight: 400; |
||||
|
line-height: 1.5; |
||||
|
color: #495057; |
||||
|
background-color: #fff; |
||||
|
background-clip: padding-box; |
||||
|
border: 1px solid #ced4da !important; |
||||
|
-webkit-appearance: none; |
||||
|
-moz-appearance: none; |
||||
|
appearance: none; |
||||
|
border-radius: .25rem; |
||||
|
-webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; |
||||
|
transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; |
||||
|
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; |
||||
|
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; |
||||
|
box-shadow: none !important; |
||||
|
margin-bottom:10px !important; |
||||
|
} |
||||
|
form label { |
||||
|
font-weight: 400 !important; |
||||
|
} |
||||
|
.oe_login_form a.btn.btn-secondary { |
||||
|
height: 40px; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: space-between; |
||||
|
padding: 0.35rem 0.75rem; |
||||
|
} |
||||
|
.oe_login_form a.btn.btn-secondary i.fa.fa-database { |
||||
|
margin-left: 5px; |
||||
|
} |
@ -0,0 +1,2 @@ |
|||||
|
.o_main_navbar{ |
||||
|
background-color:$primary_color !important;} |
@ -0,0 +1,154 @@ |
|||||
|
#sidebar_panel { |
||||
|
|
||||
|
height: calc(100% - 0%); |
||||
|
position: fixed; |
||||
|
top: 0px; |
||||
|
background-color:#dedde1; |
||||
|
display: none; |
||||
|
width: 200px; |
||||
|
overflow-y: scroll; |
||||
|
-ms-overflow-style: none; /* Hide scrollbar for IE and Edge */ |
||||
|
scrollbar-width: none; /* Hide scrollbar for Firefox */ |
||||
|
z-index: 999; |
||||
|
border:1px solid; |
||||
|
border-color:transparent; |
||||
|
border-right-color: $secondary_color; |
||||
|
} |
||||
|
#sidebar_panel::-webkit-scrollbar { |
||||
|
display: none; /* Hide scrollbar for Chrome, Safari and Opera */ |
||||
|
} |
||||
|
.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: 15px; |
||||
|
color: #6a7187; |
||||
|
font-size: 14px; |
||||
|
} |
||||
|
|
||||
|
.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: $secondary_color; |
||||
|
font-size: 14px; |
||||
|
transition:.3s all; |
||||
|
} |
||||
|
.sidebar_panel .sidebar .sidebar_menu li:hover a { |
||||
|
background: #1e2230; |
||||
|
color: #fff; |
||||
|
} |
||||
|
.sidebar_panel .nav-link { |
||||
|
opacity: .5; |
||||
|
transition:.3s all; |
||||
|
} |
||||
|
.sidebar_panel .sidebar a.nav-link.active { |
||||
|
color: #626262 !important; |
||||
|
opacity: 1; |
||||
|
} |
||||
|
|
||||
|
.sidebar_panel .sidebar .sidebar_menu li a .sidebar_img { |
||||
|
width: 20px; |
||||
|
margin-right: 8px; |
||||
|
} |
||||
|
|
||||
|
.navbar-toggler span { |
||||
|
display: block; |
||||
|
background-color: $secondary_color; |
||||
|
height: 3px; |
||||
|
width: 22px; |
||||
|
margin-top: 4px; |
||||
|
border-radius: 2px; |
||||
|
margin-bottom: 5px; |
||||
|
position: relative; |
||||
|
left: 0; |
||||
|
opacity: 1; |
||||
|
transition: all 0.35s ease-out; |
||||
|
transform-origin: center left; |
||||
|
} |
||||
|
/* top line needs a little padding */ |
||||
|
.navbar-toggler span:nth-child(1) { |
||||
|
margin-top: 0.3em; |
||||
|
} |
||||
|
/** |
||||
|
* Animate collapse into X. |
||||
|
*/ |
||||
|
/* top line rotates 45 degrees clockwise and moves up and in a bit to close the center of the X in the center of the button */ |
||||
|
.navbar-toggler:not(.collapsed) span:nth-child(1) { |
||||
|
transform: translate(15%, -33%) rotate(45deg); |
||||
|
} |
||||
|
/* center line goes transparent */ |
||||
|
.navbar-toggler:not(.collapsed) span:nth-child(2) { |
||||
|
opacity: 0; |
||||
|
} |
||||
|
/* bottom line rotates 45 degrees counter clockwise, in, and down a bit to close the center of the X in the center of the button */ |
||||
|
.navbar-toggler:not(.collapsed) span:nth-child(3) { |
||||
|
transform: translate(15%, 33%) rotate(-45deg); |
||||
|
} |
||||
|
/** |
||||
|
* Animate collapse open into hamburger menu |
||||
|
*/ |
||||
|
/* top line moves back to initial position and rotates back to 0 degrees */ |
||||
|
.navbar-toggler span:nth-child(1) { |
||||
|
transform: translate(0%, 0%) rotate(0deg); |
||||
|
} |
||||
|
/* middle line goes back to regular color and opacity */ |
||||
|
.navbar-toggler span:nth-child(2) { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
/* bottom line goes back to initial position and rotates back to 0 degrees */ |
||||
|
.navbar-toggler span:nth-child(3) { |
||||
|
transform: translate(0%, 0%) rotate(0deg); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
@ -0,0 +1,5 @@ |
|||||
|
$primary_color: #E63946; |
||||
|
$secondary_color: #173e43; |
||||
|
$secondary_color2: #173e43; |
||||
|
$sub_color1: #a381f8; |
||||
|
$sub_color2: #f88181; |
@ -0,0 +1,9 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<templates id="template" xml:space="preserve"> |
||||
|
<!--Align Invite Button in Settings--> |
||||
|
<t t-inherit="web.res_config_invite_users" t-inherit-mode="extension" owl="1"> |
||||
|
<xpath expr="//div[hasclass('d-flex')]" position="attributes"> |
||||
|
<attribute name="class">d-flex align-items-center</attribute> |
||||
|
</xpath> |
||||
|
</t> |
||||
|
</templates> |
@ -0,0 +1,106 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<templates id="template" xml:space="preserve"> |
||||
|
<t t-inherit="web.NavBar" t-inherit-mode="extension" owl="1"> |
||||
|
<xpath expr="//nav[hasclass('o_main_navbar')]" position="replace"> |
||||
|
<nav class="o_main_navbar" |
||||
|
t-on-dropdown-item-selected="onNavBarDropdownItemSelection" |
||||
|
data-command-category="navbar"> |
||||
|
<div class="top_heading"> |
||||
|
<!-- Apps Menu --> |
||||
|
<t t-call="web.NavBar.AppsMenu"> |
||||
|
<t t-set="apps" t-value="menuService.getApps()"/> |
||||
|
</t> |
||||
|
<!-- App Brand --> |
||||
|
<DropdownItem t-if="currentApp" |
||||
|
href="getMenuItemHref(currentApp)" |
||||
|
t-esc="currentApp.name" |
||||
|
class="o_menu_brand"/> |
||||
|
<!-- t-ref="menuBrand"--> |
||||
|
|
||||
|
<!-- Current App Sections --> |
||||
|
<t t-if="currentAppSections.length" t-call="web.NavBar.SectionsMenu"> |
||||
|
<t t-set="sections" t-value="currentAppSections" /> |
||||
|
</t> |
||||
|
</div> |
||||
|
|
||||
|
<!-- Systray --> |
||||
|
<div class="o_menu_systray" role="menu"> |
||||
|
<t t-foreach="systrayItems" t-as="item" t-key="item_index"> |
||||
|
<!-- <NotUpdatable>--> |
||||
|
<ErrorHandler onError="error => handleItemError(error, item)"> |
||||
|
<t t-component="item.Component" t-props="item.props" /> |
||||
|
</ErrorHandler> |
||||
|
<!-- </NotUpdatable>--> |
||||
|
</t> |
||||
|
</div> |
||||
|
</nav> |
||||
|
<div class="sidebar_panel" id="sidebar_panel"> |
||||
|
<div class="sidebar"> |
||||
|
<div class="sidebar_close"> |
||||
|
<a id="closeSidebar" style="cursor: pointer;"> |
||||
|
<!-- <img src="/code_backend_theme/static/src/img/icons/close.png"/>--> |
||||
|
</a> |
||||
|
</div> |
||||
|
<div class="sidebar_logo"> |
||||
|
<img src="/web/binary/company_logo" class="logo_img"/> |
||||
|
</div> |
||||
|
<h6 class="sidebar_head">MENU</h6> |
||||
|
<ul class="sidebar_menu"> |
||||
|
<t t-foreach="menuService.getApps()" t-as="app" t-key="app_index"> |
||||
|
<li> |
||||
|
<a role="menuitem" |
||||
|
t-attf-href="#menu_id={{app.id}}" |
||||
|
class="nav-link"> |
||||
|
<img class="sidebar_img" |
||||
|
t-attf-src="data:image/png;base64,{{app.webIconData}}"/> |
||||
|
<span class="sidebar_app_name"> |
||||
|
<t t-esc="app.name"/> |
||||
|
</span> |
||||
|
</a> |
||||
|
</li> |
||||
|
</t> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</xpath> |
||||
|
</t> |
||||
|
|
||||
|
<t t-inherit="web.NavBar.AppsMenu" t-inherit-mode="extension" owl="1"> |
||||
|
<!-- <xpath expr="//Dropdown[hasclass('o_navbar_apps_menu')]" position="replace">--> |
||||
|
<xpath expr="//Dropdown" position="replace"> |
||||
|
<li class="dropdown"> |
||||
|
<i class="fa fa-bars"/> |
||||
|
<!-- <a id="openSidebar" style="display: block; cursor: pointer;">--> |
||||
|
<!-- <i class="fa fa-bars fa-lg"/>--> |
||||
|
<!-- </a>--> |
||||
|
<!-- <a id="closeSidebar" style="display: none; cursor: pointer;">--> |
||||
|
<!-- <i class="fa fa-bars fa-lg"/>--> |
||||
|
<!-- </a>--> |
||||
|
|
||||
|
|
||||
|
<button id="openSidebar" style="display: block;" class="navbar-toggler collapsed border-0" type="button" data-bs-toggle="collapse" |
||||
|
data-bs-target="#navbarTogglerDemo02" aria-controls="navbarTogglerDemo02" aria-expanded="false" |
||||
|
aria-label="Toggle navigation"> |
||||
|
<span> </span> |
||||
|
<span> </span> |
||||
|
<span> </span> |
||||
|
</button> |
||||
|
|
||||
|
|
||||
|
<button id="closeSidebar" style="display: none;" class="navbar-toggler collapsed border-0" type="button" data-bs-toggle="collapse" |
||||
|
data-bs-target="#navbarTogglerDemo02" aria-controls="navbarTogglerDemo02" aria-expanded="false" |
||||
|
aria-label="Toggle navigation"> |
||||
|
<span> </span> |
||||
|
<span> </span> |
||||
|
<span> </span> |
||||
|
</button> |
||||
|
</li> |
||||
|
</xpath> |
||||
|
</t> |
||||
|
|
||||
|
<t t-inherit="web.UserMenu" t-inherit-mode="extension" owl="1"> |
||||
|
<xpath expr="//span[hasclass('oe_topbar_name')]" position="replace"> |
||||
|
<div class="oe_topbar_name"/> |
||||
|
</xpath> |
||||
|
</t> |
||||
|
</templates> |
@ -0,0 +1,10 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<odoo> |
||||
|
<data> |
||||
|
<menuitem id="base.menu_administration" name="Settings" |
||||
|
web_icon="artify_backend_theme,static/src/img/icons/settings.png"/> |
||||
|
<menuitem id="base.menu_management" name="Apps" web_icon="artify_backend_theme,static/src/img/icons/apps.png"/> |
||||
|
<menuitem id="mail.menu_root_discuss" name="Discuss" |
||||
|
web_icon="artify_backend_theme,static/src/img/icons/discuss.png"/> |
||||
|
</data> |
||||
|
</odoo> |
@ -0,0 +1,9 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8" ?> |
||||
|
<odoo> |
||||
|
<template id="artify_custom_layout" inherit_id="web.layout" name="Custom Layout"> |
||||
|
<xpath expr="//meta[@content='IE=edge,chrome=1']" position="after"> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/> |
||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css"/> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
</odoo> |