@ -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> |