Accept Merge Request #1037: (release/release1.0 -> master)
Merge Request: master_sf_2.0 Created By: @马广威 Accepted By: @马广威 URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/1037?initial=true
2
.gitignore
vendored
@@ -14,7 +14,7 @@ dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
#lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
|
||||
8
.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
# 默认忽略的文件
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# 基于编辑器的 HTTP 客户端请求
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
1
.idea/.name
generated
Normal file
@@ -0,0 +1 @@
|
||||
__manifest__.py
|
||||
6
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
||||
19
.idea/jikimo_sf.iml
generated
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="jdk" jdkName="Python 3.9" jdkType="Python SDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
<component name="PyDocumentationSettings">
|
||||
<option name="format" value="PLAIN" />
|
||||
<option name="myDocStringFormat" value="Plain" />
|
||||
</component>
|
||||
<component name="TemplatesService">
|
||||
<option name="TEMPLATE_FOLDERS">
|
||||
<list>
|
||||
<option value="$MODULE_DIR$/yizuo_login_background_and_styles/templates" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
</module>
|
||||
4
.idea/misc.xml
generated
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (venv)" project-jdk-type="Python SDK" />
|
||||
</project>
|
||||
8
.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/jikimo_sf.iml" filepath="$PROJECT_DIR$/.idea/jikimo_sf.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
32
Dockerfile
Normal file
@@ -0,0 +1,32 @@
|
||||
FROM jikimo-hn-docker.pkg.coding.net/jikimo_sfs/odoo-sf/odoo-sf:1.0
|
||||
USER root:root
|
||||
|
||||
ADD . /app
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY ./requirements.txt /app
|
||||
|
||||
RUN sed -i 's#http://deb.debian.org#http://mirrors.aliyun.com#g' /etc/apt/sources.list
|
||||
# Install some deps, lessc and less-plugin-clean-css, and wkhtmltopdf
|
||||
|
||||
# 系统更新
|
||||
RUN apt-get update
|
||||
# RUN apt-get do-release-upgrade
|
||||
|
||||
# 更新python的依赖
|
||||
#RUN pip3 install --upgrade pip
|
||||
RUN pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
|
||||
|
||||
# 设置时区
|
||||
RUN rm -rf /etc/localtime
|
||||
RUN ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||
|
||||
# 拷贝代码到工作目录
|
||||
COPY . /mnt/extra-addons
|
||||
|
||||
# 拷贝配置文件到配置目录
|
||||
COPY ./odoo.conf /etc/odoo
|
||||
|
||||
# 启动odoo
|
||||
#COPY ./entrypoint.sh /
|
||||
1
__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
# -*-coding:utf-8-*-
|
||||
8
code_backend_theme/.idea/code_backend_theme.iml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
6
code_backend_theme/.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
||||
8
code_backend_theme/.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/code_backend_theme.iml" filepath="$PROJECT_DIR$/.idea/code_backend_theme.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
40
code_backend_theme/README.rst
Normal file
@@ -0,0 +1,40 @@
|
||||
Code Backend Theme
|
||||
==================
|
||||
* Code 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>`__
|
||||
|
||||
22
code_backend_theme/__init__.py
Normal file
@@ -0,0 +1,22 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#############################################################################
|
||||
#
|
||||
# Cybrosys Technologies Pvt. Ltd.
|
||||
#
|
||||
# Copyright (C) 2021-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
|
||||
72
code_backend_theme/__manifest__.py
Normal file
@@ -0,0 +1,72 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#############################################################################
|
||||
#
|
||||
# Cybrosys Technologies Pvt. Ltd.
|
||||
#
|
||||
# Copyright (C) 2021-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": "Code Backend Theme V16",
|
||||
"description": """Minimalist and elegant backend theme for Odoo 16, Backend Theme, Theme""",
|
||||
"summary": "Code Backend Theme V16 is an attractive theme for backend",
|
||||
"category": "Themes/Backend",
|
||||
"version": "16.0.1.0.2",
|
||||
'author': 'Cybrosys Techno Solutions',
|
||||
'company': 'Cybrosys Techno Solutions',
|
||||
'maintainer': 'Cybrosys Techno Solutions',
|
||||
'website': "https://www.cybrosys.com",
|
||||
"depends": ['base', 'web', 'mail'],
|
||||
"data": [
|
||||
'views/layout.xml',
|
||||
'views/icons.xml',
|
||||
# 'views/navbar.xml'
|
||||
],
|
||||
'assets': {
|
||||
'web.assets_backend': [
|
||||
'code_backend_theme/static/src/js/chrome/myDropdown.js',
|
||||
'code_backend_theme/static/src/xml/styles.xml',
|
||||
'code_backend_theme/static/src/xml/top_bar.xml',
|
||||
# 'code_backend_theme/static/src/xml/dropdown.xml',
|
||||
'code_backend_theme/static/src/xml/navbar.xml',
|
||||
'code_backend_theme/static/src/scss/theme_accent.scss',
|
||||
'code_backend_theme/static/src/scss/navigation_bar.scss',
|
||||
'code_backend_theme/static/src/scss/datetimepicker.scss',
|
||||
'code_backend_theme/static/src/scss/theme.scss',
|
||||
'code_backend_theme/static/src/scss/change.scss',
|
||||
'code_backend_theme/static/src/scss/sidebar.scss',
|
||||
'code_backend_theme/static/src/js/chrome/sidebar_menu.js',
|
||||
'code_backend_theme/static/src/js/chrome/test.js',
|
||||
'code_backend_theme/static/src/js/fields/colors.js',
|
||||
|
||||
],
|
||||
'web.assets_frontend': [
|
||||
'code_backend_theme/static/src/scss/login.scss',
|
||||
],
|
||||
|
||||
},
|
||||
'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,
|
||||
}
|
||||
6
code_backend_theme/doc/RELEASE_NOTES.md
Normal file
@@ -0,0 +1,6 @@
|
||||
## Module <code_backend_theme>
|
||||
|
||||
#### 17.10.2022
|
||||
#### Version 16.0.1.0.0
|
||||
#### ADD
|
||||
Initial Commit
|
||||
292
code_backend_theme/hooks.py
Normal file
@@ -0,0 +1,292 @@
|
||||
"""Hooks for Changing Menu Web_icon"""
|
||||
# -*- coding: utf-8 -*-
|
||||
#############################################################################
|
||||
#
|
||||
# Cybrosys Technologies Pvt. Ltd.
|
||||
#
|
||||
# Copyright (C) 2021-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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_backend_theme', 'static', 'src', 'img', 'icons', 'CRM.png')
|
||||
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
|
||||
if menu.name == 'Note' or menu.name == 'Notes':
|
||||
img_path = get_module_resource(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Sales.png')
|
||||
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
|
||||
if menu.name == 'Invoicing' or menu.name == 'Accounting':
|
||||
img_path = get_module_resource(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_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(
|
||||
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Members.png')
|
||||
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
|
||||
BIN
code_backend_theme/static/description/assets/all_screens.png
Normal file
|
After Width: | Height: | Size: 120 KiB |
|
After Width: | Height: | Size: 168 KiB |
BIN
code_backend_theme/static/description/assets/hero.png
Normal file
|
After Width: | Height: | Size: 306 KiB |
BIN
code_backend_theme/static/description/assets/icons/check.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
code_backend_theme/static/description/assets/icons/chevron.png
Normal file
|
After Width: | Height: | Size: 310 B |
BIN
code_backend_theme/static/description/assets/icons/cogs.png
Normal file
|
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 |
BIN
code_backend_theme/static/description/assets/icons/license.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
code_backend_theme/static/description/assets/icons/lifebuoy.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 673 B |
BIN
code_backend_theme/static/description/assets/icons/pos-black.png
Normal file
|
After Width: | Height: | Size: 878 B |
BIN
code_backend_theme/static/description/assets/icons/puzzle.png
Normal file
|
After Width: | Height: | Size: 653 B |
|
After Width: | Height: | Size: 905 B |
|
After Width: | Height: | Size: 839 B |
|
After Width: | Height: | Size: 427 B |
BIN
code_backend_theme/static/description/assets/icons/training.png
Normal file
|
After Width: | Height: | Size: 627 B |
BIN
code_backend_theme/static/description/assets/icons/update.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
code_backend_theme/static/description/assets/icons/user.png
Normal file
|
After Width: | Height: | Size: 988 B |
BIN
code_backend_theme/static/description/assets/icons/wrench.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
code_backend_theme/static/description/assets/menu_focus.png
Normal file
|
After Width: | Height: | Size: 169 KiB |
BIN
code_backend_theme/static/description/assets/misc/categories.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
code_backend_theme/static/description/assets/misc/check-box.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
code_backend_theme/static/description/assets/misc/compass.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
code_backend_theme/static/description/assets/misc/corporate.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
BIN
code_backend_theme/static/description/assets/misc/features.png
Normal file
|
After Width: | Height: | Size: 589 B |
BIN
code_backend_theme/static/description/assets/misc/logo.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
code_backend_theme/static/description/assets/misc/pictures.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
code_backend_theme/static/description/assets/misc/pie-chart.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 967 B |
BIN
code_backend_theme/static/description/assets/misc/star.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
code_backend_theme/static/description/assets/misc/support.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
code_backend_theme/static/description/assets/misc/whatsapp.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
code_backend_theme/static/description/assets/modules/1.png
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
code_backend_theme/static/description/assets/modules/2.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
code_backend_theme/static/description/assets/modules/3.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
code_backend_theme/static/description/assets/modules/4.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
code_backend_theme/static/description/assets/modules/5.gif
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
code_backend_theme/static/description/assets/modules/6.png
Normal file
|
After Width: | Height: | Size: 57 KiB |
BIN
code_backend_theme/static/description/assets/resp-gif.gif
Normal file
|
After Width: | Height: | Size: 722 KiB |
BIN
code_backend_theme/static/description/assets/responsive.jpg
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
code_backend_theme/static/description/assets/screenshots/1.png
Normal file
|
After Width: | Height: | Size: 90 KiB |
|
After Width: | Height: | Size: 98 KiB |
BIN
code_backend_theme/static/description/assets/screenshots/10.png
Normal file
|
After Width: | Height: | Size: 71 KiB |
BIN
code_backend_theme/static/description/assets/screenshots/11.png
Normal file
|
After Width: | Height: | Size: 102 KiB |
|
After Width: | Height: | Size: 137 KiB |
BIN
code_backend_theme/static/description/assets/screenshots/12.png
Normal file
|
After Width: | Height: | Size: 522 KiB |
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 606 KiB |
BIN
code_backend_theme/static/description/assets/screenshots/13.png
Normal file
|
After Width: | Height: | Size: 290 KiB |
BIN
code_backend_theme/static/description/assets/screenshots/14.png
Normal file
|
After Width: | Height: | Size: 93 KiB |
|
After Width: | Height: | Size: 334 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 218 KiB |
BIN
code_backend_theme/static/description/assets/screenshots/2.png
Normal file
|
After Width: | Height: | Size: 218 KiB |
BIN
code_backend_theme/static/description/assets/screenshots/3.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 104 KiB |
|
After Width: | Height: | Size: 40 KiB |
BIN
code_backend_theme/static/description/assets/screenshots/4.png
Normal file
|
After Width: | Height: | Size: 222 KiB |
BIN
code_backend_theme/static/description/assets/screenshots/5.png
Normal file
|
After Width: | Height: | Size: 117 KiB |
|
After Width: | Height: | Size: 253 KiB |
BIN
code_backend_theme/static/description/assets/screenshots/6.png
Normal file
|
After Width: | Height: | Size: 116 KiB |
|
After Width: | Height: | Size: 130 KiB |
BIN
code_backend_theme/static/description/assets/screenshots/7.png
Normal file
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 99 KiB |
BIN
code_backend_theme/static/description/assets/screenshots/8.png
Normal file
|
After Width: | Height: | Size: 120 KiB |
|
After Width: | Height: | Size: 85 KiB |
BIN
code_backend_theme/static/description/assets/screenshots/9.png
Normal file
|
After Width: | Height: | Size: 106 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 378 KiB |
|
After Width: | Height: | Size: 101 KiB |
|
After Width: | Height: | Size: 295 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 194 KiB |
BIN
code_backend_theme/static/description/banner.png
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
BIN
code_backend_theme/static/description/icon.png
Normal file
|
After Width: | Height: | Size: 23 KiB |