@ -1,56 +0,0 @@ |
|||||
.. image:: https://img.shields.io/badge/licence-GPL--3-blue.svg |
|
||||
:target: http://www.gnu.org/licenses/gpl-3.0-standalone.html |
|
||||
:alt: License: GPL-3 |
|
||||
|
|
||||
=============== |
|
||||
Odoo Debranding |
|
||||
=============== |
|
||||
|
|
||||
Debranding of odoo with the given configurations under Website Admin -> Debranding Configurations. |
|
||||
Will replace: |
|
||||
- Page Title |
|
||||
- Odoo from Popups |
|
||||
- Settings Odoo branding Items |
|
||||
- User Drop down Odoo links |
|
||||
- Website Title, footer |
|
||||
- Powered By Odoo on Backend by your company name |
|
||||
- Odoo label from Dialogues |
|
||||
- Odoo Database Selector Logo, Labels |
|
||||
- Copyright @odoo with your company on website page |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
Installation |
|
||||
============ |
|
||||
|
|
||||
To install this module from odoo apps after updating the app list. |
|
||||
|
|
||||
|
|
||||
Usage |
|
||||
===== |
|
||||
|
|
||||
Fill the configuration under Website Admin. Clear Browser Image caches after installing the module. |
|
||||
|
|
||||
Known issues / Roadmap |
|
||||
====================== |
|
||||
|
|
||||
* ... |
|
||||
|
|
||||
Bug Tracker |
|
||||
=========== |
|
||||
|
|
||||
Contact odoo@cybrosys.com |
|
||||
|
|
||||
|
|
||||
Contributors |
|
||||
------------ |
|
||||
|
|
||||
* Tintuk Tomin <odoo@cybrosys.com> |
|
||||
|
|
||||
Maintainer |
|
||||
---------- |
|
||||
|
|
||||
This module is maintained by Cybrosys Technologies. |
|
||||
|
|
||||
For support and more information, please visit https://www.cybrosys.com. |
|
@ -1,3 +0,0 @@ |
|||||
# -*- coding: utf-8 -*- |
|
||||
from . import controllers |
|
||||
from . import models |
|
@ -1,38 +0,0 @@ |
|||||
# -*- coding: utf-8 -*- |
|
||||
############################################################################## |
|
||||
# |
|
||||
# Cybrosys Technologies Pvt. Ltd. |
|
||||
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|
||||
# Author:Tintuk Tomin <odoo@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 |
|
||||
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
|
||||
# If not, see <http://www.gnu.org/licenses/>. |
|
||||
# |
|
||||
############################################################################## |
|
||||
{ |
|
||||
'name': "Odoo Debranding", |
|
||||
'version': "11.0.3.0.1", |
|
||||
'summary': """Debrand Odoo""", |
|
||||
'description': """Debrand Odoo""", |
|
||||
'author': "Cybrosys Techno Solutions", |
|
||||
'company': "Cybrosys Techno Solutions", |
|
||||
'website': "https://cybrosys.com/", |
|
||||
'category': 'Tools', |
|
||||
'depends': ['base', 'im_livechat', 'website'], |
|
||||
'data': [ |
|
||||
'views/views.xml'], |
|
||||
'demo': [], |
|
||||
'qweb': ["static/src/xml/base.xml"], |
|
||||
'images': ['static/description/debranding_1.gif'], |
|
||||
'license': "LGPL-3", |
|
||||
'installable': True, |
|
||||
'application': False |
|
||||
} |
|
@ -1,3 +0,0 @@ |
|||||
# -*- coding: utf-8 -*- |
|
||||
|
|
||||
from . import controllers |
|
@ -1,99 +0,0 @@ |
|||||
# -*- coding: utf-8 -*- |
|
||||
import imghdr |
|
||||
import json |
|
||||
import functools |
|
||||
from odoo import http, tools |
|
||||
import odoo, os, sys, jinja2 |
|
||||
from odoo.addons.web.controllers.main import Database |
|
||||
from odoo.addons.web.controllers import main |
|
||||
from odoo.addons.web.controllers.main import Binary |
|
||||
from odoo.modules import get_resource_path |
|
||||
from io import StringIO |
|
||||
from odoo.http import request |
|
||||
|
|
||||
if hasattr(sys, 'frozen'): |
|
||||
# When running on compiled windows binary, we don't have access to package loader. |
|
||||
path = os.path.realpath(os.path.join(os.path.dirname(__file__), '..', 'views')) |
|
||||
loader = jinja2.FileSystemLoader(path) |
|
||||
else: |
|
||||
loader = jinja2.PackageLoader('odoo.addons.odoo-debrand', "views") |
|
||||
env = main.jinja2.Environment(loader=loader, autoescape=True) |
|
||||
env.filters["json"] = json.dumps |
|
||||
db_monodb = http.db_monodb |
|
||||
|
|
||||
|
|
||||
class BinaryCustom(Binary): |
|
||||
@http.route([ |
|
||||
'/web/binary/company_logo', |
|
||||
'/logo', |
|
||||
'/logo.png', |
|
||||
], type='http', auth="none") |
|
||||
def company_logo(self, dbname=None, **kw): |
|
||||
imgname = 'logo' |
|
||||
imgext = '.png' |
|
||||
company_logo = request.env['website'].sudo().search([])[0].company_logo |
|
||||
custom_logo = tools.image_resize_image(company_logo, (150, None)) |
|
||||
placeholder = functools.partial(get_resource_path, 'web', 'static', 'src', 'img') |
|
||||
uid = None |
|
||||
if request.session.db: |
|
||||
dbname = request.session.db |
|
||||
uid = request.session.uid |
|
||||
elif dbname is None: |
|
||||
dbname = db_monodb() |
|
||||
|
|
||||
if not uid: |
|
||||
uid = odoo.SUPERUSER_ID |
|
||||
|
|
||||
if not dbname: |
|
||||
response = http.send_file(placeholder(imgname + imgext)) |
|
||||
else: |
|
||||
try: |
|
||||
# create an empty registry |
|
||||
registry = odoo.modules.registry.Registry(dbname) |
|
||||
if custom_logo: |
|
||||
image_base64 = custom_logo.decode('base64') |
|
||||
image_data = StringIO(image_base64) |
|
||||
imgext = '.' + (imghdr.what(None, h=image_base64) or 'png') |
|
||||
response = http.send_file(image_data, filename=imgname + imgext, mtime=None) |
|
||||
else: |
|
||||
with registry.cursor() as cr: |
|
||||
cr.execute("""SELECT c.logo_web, c.write_date |
|
||||
FROM res_users u |
|
||||
LEFT JOIN res_company c |
|
||||
ON c.id = u.company_id |
|
||||
WHERE u.id = %s |
|
||||
""", (uid,)) |
|
||||
row = cr.fetchone() |
|
||||
if row and row[0]: |
|
||||
image_base64 = str(row[0]).decode('base64') |
|
||||
image_data = StringIO(image_base64) |
|
||||
imgext = '.' + (imghdr.what(None, h=image_base64) or 'png') |
|
||||
response = http.send_file(image_data, filename=imgname + imgext, mtime=row[1]) |
|
||||
else: |
|
||||
response = http.send_file(placeholder('nologo.png')) |
|
||||
except Exception: |
|
||||
response = http.send_file(placeholder(imgname + imgext)) |
|
||||
return response |
|
||||
|
|
||||
|
|
||||
class OdooDebrand(Database): |
|
||||
def _render_template(self, **d): |
|
||||
d.setdefault('manage', True) |
|
||||
d['insecure'] = odoo.tools.config['admin_passwd'] == 'admin' |
|
||||
d['list_db'] = odoo.tools.config['list_db'] |
|
||||
d['langs'] = odoo.service.db.exp_list_lang() |
|
||||
d['countries'] = odoo.service.db.exp_list_countries() |
|
||||
website_id = request.env['website'].sudo().search([]) |
|
||||
d['company_name'] = website_id and website_id[0].company_name |
|
||||
d['favicon_url'] = website_id and website_id[0].favicon_url or '' |
|
||||
d['company_logo_url'] = website_id and website_id[0].company_logo_url or '' |
|
||||
|
|
||||
# databases list |
|
||||
d['databases'] = [] |
|
||||
try: |
|
||||
d['databases'] = http.db_list() |
|
||||
except odoo.exceptions.AccessDenied: |
|
||||
monodb = db_monodb() |
|
||||
if monodb: |
|
||||
d['databases'] = [monodb] |
|
||||
return env.get_template("database_manager_extend.html").render(d) |
|
@ -1,11 +0,0 @@ |
|||||
Changelog |
|
||||
========= |
|
||||
|
|
||||
`11.0.1.0.0` |
|
||||
------------ |
|
||||
- Initial Commit |
|
||||
|
|
||||
- UPDT |
|
||||
|
|
||||
License restored |
|
||||
|
|
@ -1,4 +0,0 @@ |
|||||
# -*- coding: utf-8 -*- |
|
||||
|
|
||||
from . import models |
|
||||
|
|
@ -1,38 +0,0 @@ |
|||||
# -*- coding: utf-8 -*- |
|
||||
|
|
||||
|
|
||||
from odoo import models, fields, api |
|
||||
|
|
||||
|
|
||||
class OdooDebrand(models.Model): |
|
||||
_inherit = "website" |
|
||||
|
|
||||
@api.one |
|
||||
@api.depends('company_favicon') |
|
||||
def get_favicon(self): |
|
||||
self.favicon_url = 'data:image/png;base64,' + str(self.company_favicon.decode('UTF-8')) |
|
||||
|
|
||||
@api.one |
|
||||
@api.depends('company_logo') |
|
||||
def get_company_logo(self): |
|
||||
self.company_logo_url = 'data:image/png;base64,' + str(self.company_logo.decode('UTF-8')) |
|
||||
|
|
||||
company_logo = fields.Binary("Logo", attachment=True, |
|
||||
help="This field holds the image used for the Company Logo") |
|
||||
company_name = fields.Char("Company Name", help="Branding Name") |
|
||||
company_favicon = fields.Binary("Favicon", attachment=True, |
|
||||
help="This field holds the image used for as favicon") |
|
||||
company_website = fields.Char("Company URL") |
|
||||
favicon_url = fields.Char("Url", compute='get_favicon') |
|
||||
company_logo_url = fields.Char("Url", compute='get_company_logo') |
|
||||
|
|
||||
|
|
||||
class WebsiteConfig(models.TransientModel): |
|
||||
_inherit = "res.config.settings" |
|
||||
|
|
||||
company_logo = fields.Binary(related='website_id.company_logo', string="Company Logo", |
|
||||
help="This field holds the image used for the Company Logo") |
|
||||
company_name = fields.Char(related='website_id.company_name', string="Company Name") |
|
||||
company_favicon = fields.Binary(related='website_id.company_favicon', string="Company Favicon", |
|
||||
help="This field holds the image used for as favicon") |
|
||||
company_website = fields.Char(related='website_id.company_website') |
|
|
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 115 KiB |
Before Width: | Height: | Size: 123 KiB |
Before Width: | Height: | Size: 109 KiB |
Before Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 109 KiB |
Before Width: | Height: | Size: 139 KiB |
Before Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 230 KiB |
Before Width: | Height: | Size: 36 KiB |
@ -1,416 +0,0 @@ |
|||||
|
|
||||
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-header-banner.png);background-repeat:no-repeat;background-size:100%;padding: 4% 0% 2% 15%;background-position-y: -107px;"> |
|
||||
<div class="oe_row oe_spaced"> |
|
||||
<h2 class="oe_slogan" style="font-size: 35px;color: #fff;font-weight: 900;text-transform: uppercase;text-align: left;margin: 0;margin-bottom: 16px;"> |
|
||||
Odoo Debranding |
|
||||
</h2> |
|
||||
<h3 class="oe_slogan" style="font-size: 25px;color: #fff;font-weight: 600;text-align: left;opacity: 1;margin: 0 !important;"> |
|
||||
Debrand Odoo Back-end + Front-End |
|
||||
</h3> |
|
||||
<h5 class="oe_slogan" style="text-align: left;background: #fff;width: 293px;padding: 10px;color: #080808 !important;opacity: 1 !important;font-weight: 600;font-size: 20px;"> |
|
||||
<a style="color: #080808 !important;" href="https://www.cybrosys.com" target="_blank">Cybrosys Technologies</a> |
|
||||
</h5> |
|
||||
<a style="color: #080808 !important;" href="https://www.cybrosys.com" target="_blank"> |
|
||||
<div style="width: 215px;margin-left: 57%;text-align: center;background: #ffffff;height: 215px;border-radius: 100%;display: flex;justify-content: center;align-items: center;box-shadow: 0 0 12px 4px #00000059;"> |
|
||||
<img src="https://www.cybrosys.com/images/cybro-logo-oca.png" alt="cybrosys technologies" style="width: 136px;"/> </div> |
|
||||
</a> |
|
||||
</div> |
|
||||
</section> |
|
||||
|
|
||||
<section class="oe_container" style="padding: 1% 0% 3% 15%;"> |
|
||||
<div class="oe_row oe_spaced"> |
|
||||
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
|
||||
Overview |
|
||||
</h2> |
|
||||
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
|
||||
Want to debrand your company website? Odoo Debranding module developed by Cybrosys Technologies |
|
||||
helps you to change the aesthetic look of Odoo software via customizing them |
|
||||
with Logo and other branding changes. The module helps you to change almost every area of Odoo visuals, |
|
||||
delivering a brand new customized website. |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;padding: 2% 0% 0% 0%;"> |
|
||||
Configuration |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
|
||||
After installation you need to enter the Company name,url,image and favicon. |
|
||||
</h3> |
|
||||
</div> |
|
||||
</section> |
|
||||
|
|
||||
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-banner.png); background-repeat:no-repeat; background-size:cover;padding: 5% 0% 10% 15%;"> |
|
||||
<div class="oe_row oe_spaced"> |
|
||||
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
|
||||
Features |
|
||||
</h2> |
|
||||
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
|
||||
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Debranding configuration page |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
|
||||
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Modify database selector page |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
|
||||
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Modify login page |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
|
||||
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Updates website footer |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
|
||||
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Remove Odoo's default favicon |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
|
||||
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Updated "About" list |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
|
||||
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Removed advertisements from the settings page |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
|
||||
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Updated warning messages |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
|
||||
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Page title modification |
|
||||
</h3> |
|
||||
|
|
||||
</div> |
|
||||
</section> |
|
||||
|
|
||||
<section class="oe_container"> |
|
||||
<div class="oe_row oe_spaced"> |
|
||||
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
|
||||
Screenshots |
|
||||
</h2> |
|
||||
<h3 class="oe_slogan" style="text-align: left;padding: 5% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
|
||||
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
From the settings page, you can view the Debrand tab and there you can enter the company logo, favicon, company name, and website. |
|
||||
</h3> |
|
||||
<div class="oe_row oe_spaced"> |
|
||||
<img src="cybrosys-odoo-debranding-1.jpg" alt="" style="width: 95%;"/> |
|
||||
</div> |
|
||||
<h3 class="oe_slogan" style="text-align: left;padding: 5% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
|
||||
<div><i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
The title is changed with the company name and favicon.</div> |
|
||||
<div><i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Default company logo is changed.</div> |
|
||||
<div><i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Odoo accounts and documentation is removed from the dropdown list.</div> |
|
||||
</h3> |
|
||||
<div class="oe_row oe_spaced"> |
|
||||
<img src="cybrosys-odoo-debranding-2.jpg" alt="" style="width: 95%;"/> |
|
||||
</div> |
|
||||
<h3 class="oe_slogan" style="text-align: left;padding: 5% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
|
||||
<div><i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Company logo in login page.</div> |
|
||||
<div><i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Powered by in the front-end and in the footer is changed to company name</div> |
|
||||
<div><i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Copyright in the front-end is changed to company name</div> |
|
||||
</h3> |
|
||||
<div class="oe_row oe_spaced"> |
|
||||
<img src="cybrosys-odoo-debranding-3.jpg" alt="" style="width: 95%;"/> |
|
||||
</div> |
|
||||
<h3 class="oe_slogan" style="text-align: left;padding: 5% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
|
||||
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Company logo in the database selector page is changed. |
|
||||
</h3> |
|
||||
<div class="oe_row oe_spaced"> |
|
||||
<img src="cybrosys-odoo-debranding-4.jpg" alt="" style="width: 95%;"/> |
|
||||
</div> |
|
||||
<h3 class="oe_slogan" style="text-align: left;padding: 5% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
|
||||
<div><i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Odoo promotional banners in the settings dashboard page is changed.</div> |
|
||||
<div><i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Powered by in the back-end footer is changed to company name</div> |
|
||||
</h3> |
|
||||
<div class="oe_row oe_spaced"> |
|
||||
<img src="cybrosys-odoo-debranding-5.jpg" alt="" style="width: 95%;"/> |
|
||||
</div> |
|
||||
<h3 class="oe_slogan" style="text-align: left;padding: 5% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
|
||||
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Updated the Odoo title in the error message |
|
||||
</h3> |
|
||||
<div class="oe_row oe_spaced"> |
|
||||
<img src="cybrosys-odoo-debranding-6.jpg" alt="" style="width: 95%;"/> |
|
||||
</div> |
|
||||
<h3 class="oe_slogan" style="text-align: left;padding: 5% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
|
||||
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> |
|
||||
Updated the Odoo title in the warning message |
|
||||
</h3> |
|
||||
<div class="oe_row oe_spaced"> |
|
||||
<img src="cybrosys-odoo-debranding-7.jpg" alt="" style="width: 95%;"/> |
|
||||
</div> |
|
||||
</div> |
|
||||
</section> |
|
||||
|
|
||||
<section class="oe_container" style="padding: 7px 0% 0% 3%;"> |
|
||||
<div class="oe_row oe_spaced"> |
|
||||
<a style="color: #080808 !important;" href="https://apps.odoo.com/apps/modules/browse?search=cybrosys" target="_blank"><img src="https://www.cybrosys.com/images/view-more-apps.jpg" alt="cybrosys technologies" style="width: 100%;margin-bottom: 50px;"/></a> |
|
||||
</div> |
|
||||
</section> |
|
||||
<section class="oe_container" style="padding: 1% 0% 0% 3%;"> |
|
||||
<div class="oe_row oe_spaced"> |
|
||||
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
|
||||
Our Services |
|
||||
</h2> |
|
||||
<div style="display:flex;padding-top: 20px;justify-content: space-between;"> |
|
||||
<div style="flex-basis: 18%;"> |
|
||||
|
|
||||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
|
||||
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"> |
|
||||
<img src="https://www.cybrosys.com/images/odoo-customization.png" style="width: 100%;border-radius: 100%;"/> |
|
||||
</a> |
|
||||
</div> |
|
||||
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
|
||||
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"> |
|
||||
Odoo Customization |
|
||||
</a> |
|
||||
</h3> |
|
||||
|
|
||||
</div> |
|
||||
<div style="flex-basis: 18%;"> |
|
||||
|
|
||||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
|
||||
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"> |
|
||||
<img src="https://www.cybrosys.com/images/odoo-erp-implementation.png" style="width: 100%;border-radius: 100%;"/> |
|
||||
</a> |
|
||||
</div> |
|
||||
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
|
||||
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"> |
|
||||
Odoo Implementation </a> |
|
||||
</h3> |
|
||||
|
|
||||
</div> |
|
||||
<div style="flex-basis: 18%;"> |
|
||||
|
|
||||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
|
||||
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"> |
|
||||
<img src="https://www.cybrosys.com/images/odoo-erp-integration.png" style="width: 100%;border-radius: 100%;"/> |
|
||||
</a> |
|
||||
</div> |
|
||||
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
|
||||
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"> |
|
||||
Odoo Integration |
|
||||
</a> |
|
||||
</h3> |
|
||||
|
|
||||
</div> |
|
||||
<div style="flex-basis: 18%;"> |
|
||||
|
|
||||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
|
||||
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"> |
|
||||
<img src="https://www.cybrosys.com/images/odoo-erp-support.png" style="width: 100%;border-radius: 100%;"/> |
|
||||
</a> |
|
||||
</div> |
|
||||
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
|
||||
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"> |
|
||||
Odoo Support</a> |
|
||||
</h3> |
|
||||
|
|
||||
</div> |
|
||||
<div style="flex-basis: 18%;"> |
|
||||
|
|
||||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
|
||||
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"> |
|
||||
<img src="https://www.cybrosys.com/images/hire-odoo-developer.png" style="width: 100%;border-radius: 100%;"/> |
|
||||
</a> |
|
||||
</div> |
|
||||
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
|
||||
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"> |
|
||||
Hire Odoo Developers</a> |
|
||||
</h3> |
|
||||
</a> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
</section> |
|
||||
<section class="oe_container" style="padding: 1% 0% 0% 3%;"> |
|
||||
<div class="oe_row oe_spaced"> |
|
||||
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
|
||||
Our Industries |
|
||||
</h2> |
|
||||
<div style="display:flex;justify-content: space-between;flex-wrap:wrap;"> |
|
||||
<div style="flex-basis: 32%;padding-top: 20px;"> |
|
||||
|
|
||||
<div style="width:30%; float:left;"> |
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|
||||
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"> |
|
||||
<img src="https://www.cybrosys.com/images/odoo-index-industry-1.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|
||||
</a> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div style="width:70%;float:left;"> |
|
||||
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|
||||
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"> |
|
||||
Trading |
|
||||
</a> |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
|
||||
Easily procure and sell your products. |
|
||||
</h3> |
|
||||
</div> |
|
||||
|
|
||||
</div> |
|
||||
<div style="flex-basis: 32%;padding-top: 20px;"> |
|
||||
|
|
||||
<div style="width:30%; float:left;"> |
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|
||||
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" target="_blank"> |
|
||||
<img src="https://www.cybrosys.com/images/odoo-index-industry-2.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|
||||
</a> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div style="width:70%;float:left;"> |
|
||||
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|
||||
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" target="_blank"> |
|
||||
Manufacturing</a> |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
|
||||
Plan, track and schedule your operations. |
|
||||
</h3> |
|
||||
</div> |
|
||||
|
|
||||
</div> |
|
||||
<div style="flex-basis: 32%;padding-top: 20px;"> |
|
||||
|
|
||||
<div style="width:30%; float:left;"> |
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|
||||
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank"> |
|
||||
<img src="https://www.cybrosys.com/images/odoo-index-industry-3.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|
||||
</a> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div style="width:70%;float:left;"> |
|
||||
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|
||||
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank"> |
|
||||
Restaurant</a> |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
|
||||
Run your bar or restaurant methodical. |
|
||||
</h3> |
|
||||
</div> |
|
||||
|
|
||||
</div> |
|
||||
<div style="flex-basis: 32%;padding-top: 20px;"> |
|
||||
|
|
||||
<div style="width:30%; float:left;"> |
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|
||||
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"> |
|
||||
<img src="https://www.cybrosys.com/images/odoo-index-industry-4.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|
||||
</a> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div style="width:70%;float:left;"> |
|
||||
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|
||||
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"> |
|
||||
POS</a> |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
|
||||
Easy configuring and convivial selling. |
|
||||
</h3> |
|
||||
</div> |
|
||||
|
|
||||
</div> |
|
||||
<div style="flex-basis: 32%;padding-top: 20px;"> |
|
||||
|
|
||||
<div style="width:30%; float:left;"> |
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|
||||
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"> |
|
||||
<img src="https://www.cybrosys.com/images/odoo-index-industry-5.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|
||||
</a> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div style="width:70%;float:left;"> |
|
||||
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 0px;margin-left: 16px;"> |
|
||||
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"> |
|
||||
E-commerce & Website</a> |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
|
||||
Mobile friendly, awe-inspiring product pages. |
|
||||
</h3> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div style="flex-basis: 32%;padding-top: 20px;"> |
|
||||
|
|
||||
<div style="width:30%; float:left;"> |
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|
||||
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank"> |
|
||||
<img src="https://www.cybrosys.com/images/odoo-index-industry-6.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|
||||
</a> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div style="width:70%;float:left;"> |
|
||||
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|
||||
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank"> |
|
||||
Hotel Management</a> |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
|
||||
An all-inclusive hotel management application. |
|
||||
</h3> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div style="flex-basis: 32%;padding-top: 20px;"> |
|
||||
|
|
||||
<div style="width:30%; float:left;"> |
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|
||||
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank"> |
|
||||
<img src="https://www.cybrosys.com/images/odoo-index-industry-7.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|
||||
</a> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div style="width:70%;float:left;"> |
|
||||
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|
||||
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank"> |
|
||||
Education</a> |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
|
||||
A Collaborative platform for educational management. |
|
||||
</h3> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div style="flex-basis: 32%;padding-top: 20px;"> |
|
||||
|
|
||||
<div style="width:30%; float:left;"> |
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|
||||
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"> |
|
||||
<img src="https://www.cybrosys.com/images/odoo-index-industry-8.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|
||||
</a> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div style="width:70%;float:left;"> |
|
||||
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|
||||
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"> |
|
||||
Service Management</a> |
|
||||
</h3> |
|
||||
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
|
||||
Keep track of services and invoice accordingly. |
|
||||
</h3> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
</section> |
|
||||
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-footer-bg.png); background-repeat:no-repeat; background-size:100%;padding: 13% 0% 6% 0%;"> |
|
||||
<div class="oe_slogan" style="margin-top:10px !important;margin-bottom: 0px;"> |
|
||||
<div> |
|
||||
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="mailto:odoo@cybrosys.com"><i class="fa fa-envelope"></i> Email us </a> |
|
||||
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="https://www.cybrosys.com/contact/"><i class="fa fa-phone"></i> Contact Us </a> |
|
||||
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="https://www.cybrosys.com/contact/"><i class="fa fa-check-square"></i> Request Customization </a> |
|
||||
</div> |
|
||||
<br> |
|
||||
<img src="https://www.cybrosys.com/images/logo.png" style="width: 190px; margin-bottom: 25px;margin-top: 30px;" class="center-block"> |
|
||||
<div> |
|
||||
<a href="https://twitter.com/cybrosys" target="_blank"><i class="fa fa-2x fa-twitter" style="color:white;background: #00a0d1;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
|
||||
<a href="https://www.linkedin.com/company/cybrosys-technologies-pvt-ltd" target="_blank"><i class="fa fa-2x fa-linkedin" style="color:white;background: #31a3d6;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
|
||||
<a href="https://www.facebook.com/cybrosystechnologies" target="_blank"><i class="fa fa-2x fa-facebook" style="color:white;background: #3b5998;width:35px; ;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
|
||||
<a href="https://plus.google.com/106641282743045431892/about" target="_blank"><i class="fa fa-2x fa-google-plus" style="color:white;background: #c53c2c;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
|
||||
<a href="https://in.pinterest.com/cybrosys" target="_blank"><i class="fa fa-2x fa-pinterest" style="color:white;background: #ac0f18;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
|
||||
</div> |
|
||||
</div> |
|
||||
</section> |
|
@ -1,220 +0,0 @@ |
|||||
odoo.define('odoo-debrand-11.title', function(require) { |
|
||||
"use strict"; |
|
||||
|
|
||||
var core = require('web.core'); |
|
||||
var utils = require('web.utils'); |
|
||||
var ajax = require('web.ajax'); |
|
||||
var Dialog = require('web.Dialog'); |
|
||||
var WebClient = require('web.AbstractWebClient'); |
|
||||
var CrashManager = require('web.CrashManager'); // We can import crash_manager also
|
|
||||
var concurrency = require('web.concurrency'); |
|
||||
var mixins = require('web.mixins'); |
|
||||
var session = require('web.session'); |
|
||||
var weclient = require('web.WebClient'); |
|
||||
|
|
||||
var QWeb = core.qweb; |
|
||||
var _t = core._t; |
|
||||
var _lt = core._lt; |
|
||||
|
|
||||
|
|
||||
var map_title ={ |
|
||||
user_error: _lt('Warning'), |
|
||||
warning: _lt('Warning'), |
|
||||
access_error: _lt('Access Error'), |
|
||||
missing_error: _lt('Missing Record'), |
|
||||
validation_error: _lt('Validation Error'), |
|
||||
except_orm: _lt('Global Business Error'), |
|
||||
access_denied: _lt('Access Denied'), |
|
||||
}; |
|
||||
|
|
||||
WebClient.include({ |
|
||||
init: function (parent) { |
|
||||
this.client_options = {}; |
|
||||
mixins.ServiceProvider.init.call(this); |
|
||||
this._super(parent); |
|
||||
this.origin = undefined; |
|
||||
this._current_state = null; |
|
||||
this.menu_dm = new concurrency.DropMisordered(); |
|
||||
this.action_mutex = new concurrency.Mutex(); |
|
||||
var self = this; |
|
||||
// Rpc call to fetch the compant name from model
|
|
||||
this._rpc({ |
|
||||
fields: ['company_name',], |
|
||||
domain: [], |
|
||||
model: 'website', |
|
||||
method: 'search_read', |
|
||||
limit: 1, |
|
||||
context: session.user_context, |
|
||||
}).done(function(result){ |
|
||||
self.set('title_part', {"zopenerp": result && result[0] && result[0].company_name || ''}); |
|
||||
}); |
|
||||
}, |
|
||||
}); |
|
||||
CrashManager.include({ |
|
||||
rpc_error: function(error) { |
|
||||
var self = this; |
|
||||
if (!this.active) { |
|
||||
return; |
|
||||
} |
|
||||
if (this.connection_lost) { |
|
||||
return; |
|
||||
} |
|
||||
if (error.code === -32098) { |
|
||||
core.bus.trigger('connection_lost'); |
|
||||
this.connection_lost = true; |
|
||||
var timeinterval = setInterval(function() { |
|
||||
ajax.jsonRpc('/web/webclient/version_info').then(function() { |
|
||||
clearInterval(timeinterval); |
|
||||
core.bus.trigger('connection_restored'); |
|
||||
self.connection_lost = false; |
|
||||
}); |
|
||||
}, 2000); |
|
||||
return; |
|
||||
} |
|
||||
var handler = core.crash_registry.get(error.data.name, true); |
|
||||
if (handler) { |
|
||||
new (handler)(this, error).display(); |
|
||||
return; |
|
||||
} |
|
||||
if (error.data.name === "odoo.http.SessionExpiredException" || error.data.name === "werkzeug.exceptions.Forbidden") { |
|
||||
this.show_warning({type: _t("Session Expired"), data: {message: _t("Your session expired. Please refresh the current web page.")}}); |
|
||||
return; |
|
||||
} |
|
||||
if (_.has(map_title, error.data.exception_type)) { |
|
||||
if(error.data.exception_type === 'except_orm'){ |
|
||||
if(error.data.arguments[1]) { |
|
||||
error = _.extend({}, error, |
|
||||
{ |
|
||||
data: _.extend({}, error.data, |
|
||||
{ |
|
||||
message: error.data.arguments[1], |
|
||||
title: error.data.arguments[0] !== 'Warning' ? (" - " + error.data.arguments[0]) : '', |
|
||||
}) |
|
||||
}); |
|
||||
} |
|
||||
else { |
|
||||
error = _.extend({}, error, |
|
||||
{ |
|
||||
data: _.extend({}, error.data, |
|
||||
{ |
|
||||
message: error.data.arguments[0], |
|
||||
title: '', |
|
||||
}) |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
else { |
|
||||
error = _.extend({}, error, |
|
||||
{ |
|
||||
data: _.extend({}, error.data, |
|
||||
{ |
|
||||
message: error.data.arguments[0], |
|
||||
title: map_title[error.data.exception_type] !== 'Warning' ? (" - " + map_title[error.data.exception_type]) : '', |
|
||||
}) |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
this.show_warning(error); |
|
||||
//InternalError
|
|
||||
|
|
||||
} else { |
|
||||
this.show_error(error); |
|
||||
} |
|
||||
}, |
|
||||
show_warning: function(error) { |
|
||||
if (!this.active) { |
|
||||
return; |
|
||||
} |
|
||||
// Error message contains odoo title. Replace it
|
|
||||
error.message = error.message && error.message.replace("Odoo", "") |
|
||||
new Dialog(this, { |
|
||||
size: 'medium', |
|
||||
title: _.str.capitalize(error.type || error.message) || _t("Warning"), |
|
||||
subtitle: error.data.title, |
|
||||
$content: $(QWeb.render('CrashManager.warning', {error: error})) |
|
||||
}).open(); |
|
||||
}, |
|
||||
show_error: function(error) { |
|
||||
if (!this.active) { |
|
||||
return; |
|
||||
} |
|
||||
error.message = error.message && error.message.replace("Odoo", "") |
|
||||
var dialog = new Dialog(this, { |
|
||||
title: _.str.capitalize(error.type || error.message) || _t("Warning"), |
|
||||
$content: $(QWeb.render('CrashManager.error', {error: error})) |
|
||||
}); |
|
||||
console.log(error) |
|
||||
// When the dialog opens, initialize the copy feature and destroy it when the dialog is closed
|
|
||||
var $clipboardBtn; |
|
||||
var clipboard; |
|
||||
dialog.opened(function () { |
|
||||
// When the full traceback is shown, scroll it to the end (useful for better python error reporting)
|
|
||||
dialog.$(".o_error_detail").on("shown.bs.collapse", function (e) { |
|
||||
e.target.scrollTop = e.target.scrollHeight; |
|
||||
}); |
|
||||
|
|
||||
$clipboardBtn = dialog.$(".o_clipboard_button"); |
|
||||
$clipboardBtn.tooltip({title: _t("Copied !"), trigger: "manual", placement: "left"}); |
|
||||
clipboard = new window.Clipboard($clipboardBtn[0], { |
|
||||
text: function () { |
|
||||
return (_t("Error") + ":\n" + error.message + "\n\n" + error.data.debug).trim(); |
|
||||
} |
|
||||
}); |
|
||||
clipboard.on("success", function (e) { |
|
||||
_.defer(function () { |
|
||||
$clipboardBtn.tooltip("show"); |
|
||||
_.delay(function () { |
|
||||
$clipboardBtn.tooltip("hide"); |
|
||||
}, 800); |
|
||||
}); |
|
||||
}); |
|
||||
}); |
|
||||
dialog.on("closed", this, function () { |
|
||||
$clipboardBtn.tooltip("destroy"); |
|
||||
clipboard.destroy(); |
|
||||
}); |
|
||||
|
|
||||
dialog.open(); |
|
||||
}, |
|
||||
show_message: function(exception) { |
|
||||
this.show_error({ |
|
||||
type: _t("Client Error"), |
|
||||
message: exception, |
|
||||
data: {debug: ""} |
|
||||
}); |
|
||||
}, |
|
||||
}); |
|
||||
Dialog.include({ |
|
||||
init: function (parent, options) { |
|
||||
this._super(parent); |
|
||||
this._opened = $.Deferred(); |
|
||||
// Normal Odoo dialogues have title Odoo followed by subtitle, Replace it
|
|
||||
options = _.defaults(options || {}, { |
|
||||
title: _t(''), subtitle: '', |
|
||||
size: 'large', |
|
||||
dialogClass: '', |
|
||||
$content: false, |
|
||||
buttons: [{text: _t("Ok"), close: true}], |
|
||||
technical: true, |
|
||||
}); |
|
||||
|
|
||||
this.$content = options.$content; |
|
||||
this.title = options.title; |
|
||||
this.subtitle = options.subtitle; |
|
||||
this.dialogClass = options.dialogClass; |
|
||||
this.size = options.size; |
|
||||
this.buttons = options.buttons; |
|
||||
this.technical = options.technical; |
|
||||
}, |
|
||||
}); |
|
||||
|
|
||||
weclient.include({ |
|
||||
update_logo: function(reload) { |
|
||||
// This function change the debranding logo to default company logo
|
|
||||
var company = session.company_id; |
|
||||
var img = session.url('/web/binary/company_logo' + '?db=' + session.db + (company ? '&company=' + company : '')); |
|
||||
// this.$('.o_sub_menu_logo img').attr('src', '').attr('src', img + (reload ? "&t=" + Date.now() : ''));
|
|
||||
this.$('.oe_logo_edit').toggleClass('oe_logo_edit_admin', session.is_superuser); |
|
||||
}, |
|
||||
}); |
|
||||
}); |
|
@ -1,69 +0,0 @@ |
|||||
<?xml version="1.0" encoding="UTF-8"?> |
|
||||
<templates id="template" xml:space="preserve"> |
|
||||
<t t-extend="UserMenu"> |
|
||||
<t t-jquery="ul.dropdown-menu" t-operation="replace"> |
|
||||
<ul class="dropdown-menu" role="menu"> |
|
||||
<li class="divider"/> |
|
||||
<li><a href="#" data-menu="settings">Preferences</a></li> |
|
||||
<li><a href="#" data-menu="logout">Log out</a></li> |
|
||||
</ul> |
|
||||
</t> |
|
||||
</t> |
|
||||
|
|
||||
<t t-extend="DashboardApps"> |
|
||||
<t t-jquery=".o_web_settings_dashboard_pills" t-operation="replace"/> |
|
||||
<t t-jquery="a[t-att-href='widget.data.url']" t-operation="replace"/> |
|
||||
</t> |
|
||||
|
|
||||
<t t-extend="DashboardPlanner"> |
|
||||
<t t-jquery=".o_web_settings_dashboard_planner" t-operation="replace"> |
|
||||
<div class="text-center o_web_settings_dashboard_planner"> |
|
||||
<i class="fa fa-check-square-o fa-4x text-muted"></i> |
|
||||
<div class="o_web_settings_dashboard_header"> |
|
||||
<span class="o_web_settings_dashboard_planner_overall_progress"><t t-esc="widget.overall_progress"></t></span> |
|
||||
% |
|
||||
Implementation |
|
||||
</div> |
|
||||
<hr/> |
|
||||
<t t-set="planners" t-value="widget.planners"/> |
|
||||
<t t-call="DashboardPlanner.PlannersList"/> |
|
||||
</div> |
|
||||
</t> |
|
||||
</t> |
|
||||
|
|
||||
<t t-extend="DashboardShare"> |
|
||||
<t t-jquery=".o_web_settings_dashboard_share" t-operation="replace"> |
|
||||
<div class="text-center o_web_settings_dashboard_share"> |
|
||||
<t t-set="server_version" t-value="widget.data.server_version"/> |
|
||||
<t t-set="debug" t-value="widget.data.debug"/> |
|
||||
<t t-set="demo_active" t-value="widget.data.demo_active"/> |
|
||||
<div class="text-center"> |
|
||||
<div class="tab-content"> |
|
||||
<div role="tabpanel" id="settings" |
|
||||
class="tab-pane active text-muted text-center o_web_settings_dashboard_compact_subtitle"> |
|
||||
<small>Copyright © 2004 <a target="_blank" href="https://www.odoo.com" |
|
||||
style="text-decoration: underline;">Odoo S.A.</a> |
|
||||
<a target="_blank" href="http://www.gnu.org/licenses/lgpl.html" |
|
||||
style="text-decoration: underline;">GNU LGPL Licensed</a></small> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
<hr/> |
|
||||
<a t-if="debug != true" class="oe_activate_debug_mode float-right" href="?debug">Activate the developer mode</a> |
|
||||
<br t-if="debug != true"/> |
|
||||
<a t-if="debug != 'assets'" class="oe_activate_debug_mode float-right" href="?debug=assets">Activate the developer mode (with assets)</a> |
|
||||
<br t-if="debug != 'assets'"/> |
|
||||
<a t-if="debug != false" class="oe_activate_debug_mode float-right" href="/web">Deactivate the developer mode</a> |
|
||||
<br t-if="debug != false"/> |
|
||||
<a t-if="(debug) and !(demo_active)" |
|
||||
class="oe_activate_debug_mode float-right o_web_settings_dashboard_force_demo" href="#">Load demo data</a> |
|
||||
</div> |
|
||||
</t> |
|
||||
</t> |
|
||||
|
|
||||
<t t-extend="mail.client_action"> |
|
||||
<t t-jquery=".o_mail_request_permission" t-operation="inner"> |
|
||||
Your permission is required to <a href="#"> enable desktop notifications</a>. |
|
||||
</t> |
|
||||
</t> |
|
||||
</templates> |
|
@ -1,352 +0,0 @@ |
|||||
<!DOCTYPE html> |
|
||||
<html> |
|
||||
<head> |
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8"> |
|
||||
<title>{{ company_name }}</title> |
|
||||
<link type="image/x-icon" rel="shortcut icon" href="{{ favicon_url }}"/> |
|
||||
<link rel="stylesheet" href="/web/static/lib/fontawesome/css/font-awesome.css"> |
|
||||
<link rel="stylesheet" href="/web/static/lib/bootstrap/css/bootstrap.css"> |
|
||||
<script src="/web/static/lib/jquery/jquery.js" type="text/javascript"></script> |
|
||||
<script src="/web/static/lib/bootstrap/js/modal.js"></script> |
|
||||
<script src="/web/static/lib/bootstrap/js/tooltip.js"></script> |
|
||||
<script src="/web/static/lib/bootstrap/js/dropdown.js"></script> |
|
||||
<script type="text/javascript"> |
|
||||
$(function() { |
|
||||
// Little eye |
|
||||
$('body').on('mousedown','.o_little_eye',function(ev) { |
|
||||
$(ev.target).siblings('input').prop('type','text'); |
|
||||
}); |
|
||||
$('body').on('mouseup','.o_little_eye',function(ev) { |
|
||||
$(ev.target).siblings('input').prop('type','password'); |
|
||||
}); |
|
||||
// db modal |
|
||||
$('body').on('click','.o_database_action', function(ev) { |
|
||||
ev.preventDefault(); |
|
||||
var db = $(ev.currentTarget).data('db'); |
|
||||
var target = $(ev.currentTarget).data('target'); |
|
||||
$(target).find('input[name=name]').val(db); |
|
||||
$(target).modal(); |
|
||||
}); |
|
||||
// close modal on submit |
|
||||
$('.modal').on('click','input[type="submit"]', function(ev) { |
|
||||
var modal = $(this).parentsUntil('body', '.modal'); |
|
||||
if (modal.hasClass('o_database_backup')) { |
|
||||
$(modal).modal('hide'); |
|
||||
if (!$('.alert-backup-long').length) { |
|
||||
$('.list-group').before("<div class='alert alert-info alert-backup-long'>The backup may take some time before being ready</div>"); |
|
||||
} |
|
||||
} |
|
||||
}); |
|
||||
}); |
|
||||
</script> |
|
||||
</head> |
|
||||
|
|
||||
{% macro master_input() -%} |
|
||||
<div class="form-group"> |
|
||||
{% if insecure %} |
|
||||
<input type="hidden" name="master_pwd" class="form-control" value="admin"/> |
|
||||
{% else %} |
|
||||
<label for="master_pwd" class="control-label">Master Password</label> |
|
||||
<input id="master_pwd" type="password" name="master_pwd" class="form-control" required="required" autofocus="autofocus"/> |
|
||||
{% endif %} |
|
||||
</div> |
|
||||
{%- endmacro %} |
|
||||
|
|
||||
{% macro create_form() -%} |
|
||||
<p>Odoo is up and running! <br /> |
|
||||
Create a new database by filling out the form, |
|
||||
you'll be able to install your first app in a minute.</p> |
|
||||
{{ master_input() }} |
|
||||
<div class="form-group"> |
|
||||
<div class="row"> |
|
||||
<div class="col-md-12"> |
|
||||
<label for="name" class="control-label">Database Name</label> |
|
||||
<input id="name" type="text" name="name" class="form-control" required="required" autocomplete="off"/> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="form-group"> |
|
||||
<div class="row"> |
|
||||
<div class="col-md-12"> |
|
||||
<label for="login" class="control-label">Email</label> |
|
||||
<input id="login" type="text" name="login" class="form-control" required="required" autocomplete="off"/> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="form-group has-feedback"> |
|
||||
<label for="password" class="control-label">Password</label> |
|
||||
<input id="password" type="password" name="password" class="form-control" required="required" autocomplete="off"/> |
|
||||
<span class="fa fa-eye o_little_eye form-control-feedback" aria-hidden="true" style="cursor: pointer; pointer-events: auto"></span> |
|
||||
</div> |
|
||||
<div class="form-group"> |
|
||||
<div class="row"> |
|
||||
<div class="col-md-6"> |
|
||||
<label for="lang" class="control-label">Language</label> |
|
||||
<select id="lang" name="lang" class="form-control" required="required" autocomplete="off"> |
|
||||
{% for lang in langs %} |
|
||||
<option {% if lang[0] == "en_US" %}selected="selected" {% endif %}value="{{ lang[0] }}">{{ lang[1] }}</option> |
|
||||
{% endfor %} |
|
||||
</select> |
|
||||
</div> |
|
||||
<div class="col-md-6"> |
|
||||
<label for="country" class="control-label">Country</label> |
|
||||
<select id="country" name="country_code" class="form-control" autocomplete="off"> |
|
||||
<option value=""></option> |
|
||||
{% for country in countries %} |
|
||||
<option value="{{ country[0] }}">{{ country[1] }}</option> |
|
||||
{% endfor %} |
|
||||
</select> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="form-group"> |
|
||||
<div class="checkbox"> |
|
||||
<label> |
|
||||
<input name="demo" type="checkbox" class="pull-right" value="1"> |
|
||||
<span>Load demonstration data</span> |
|
||||
<span class="text-muted"> (Check this box to evaluate Odoo)</span> |
|
||||
</label> |
|
||||
</div> |
|
||||
</div> |
|
||||
{%- endmacro %} |
|
||||
|
|
||||
<body class="container"> |
|
||||
<!-- Database List --> |
|
||||
<div class="row"> |
|
||||
<div class="col-md-6 col-md-offset-3 o_database_list"> |
|
||||
<div class="text-center"> |
|
||||
<img src="{{ company_logo_url }}" class="img-responsive center-block"/> |
|
||||
</div> |
|
||||
{% if insecure and databases %} |
|
||||
<div class="alert alert-warning"> |
|
||||
<!--Add your company name--> |
|
||||
Warning, {{ company_name }} database manager is not protected. |
|
||||
Please <a href="#" data-toggle="modal" data-target=".o_database_master">set a master password</a> |
|
||||
to secure it. |
|
||||
</div> |
|
||||
{% endif %} |
|
||||
{% if error %} |
|
||||
<div class="alert alert-danger">{{ error }}</div> |
|
||||
{% endif %} |
|
||||
{% if databases %} |
|
||||
<div class="list-group"> |
|
||||
{% for db in databases %} |
|
||||
<a href="/web?db={{ db }}" class="list-group-item"> |
|
||||
{{ db }} |
|
||||
{% if manage %} |
|
||||
<div class="text-right pull-right"> |
|
||||
<span data-db="{{ db }}" data-target=".o_database_backup" class="o_database_action btn-link"><i class="fa fa-floppy-o fa-fw"></i> Backup</span> |
|
||||
<span data-db="{{ db }}" data-target=".o_database_duplicate" class="o_database_action btn-link"><i class="fa fa-files-o fa-fw"></i> Duplicate</span> |
|
||||
<span data-db="{{ db }}" data-target=".o_database_delete" class="o_database_action btn-link"><i class="fa fa-trash-o fa-fw"></i> Delete</span> |
|
||||
</div> |
|
||||
{% endif %} |
|
||||
</a> |
|
||||
{% endfor %} |
|
||||
</div> |
|
||||
{% if manage %} |
|
||||
<div class="text-left"> |
|
||||
<button type="button" data-toggle="modal" data-target=".o_database_create" class="btn btn-sm btn-primary"> |
|
||||
Create Database |
|
||||
</button> |
|
||||
<button type="button" data-toggle="modal" data-target=".o_database_restore" class="btn btn-sm btn-primary"> |
|
||||
Restore Database |
|
||||
</button> |
|
||||
<button type="button" data-toggle="modal" data-target=".o_database_master" class="btn btn-sm btn-primary"> |
|
||||
Set Master Password |
|
||||
</button> |
|
||||
</div> |
|
||||
{% else %} |
|
||||
<div class="text-center"> |
|
||||
<a href="/web/database/manager">Manage databases</a> |
|
||||
</div> |
|
||||
{% endif %} |
|
||||
{% else %} |
|
||||
<form role="form" action="/web/database/create" method="post"> |
|
||||
{{ create_form() }} |
|
||||
<input type="submit" value="Create database" class="btn btn-primary pull-left"/> |
|
||||
</form> |
|
||||
<a role="button" data-toggle="modal" data-target=".o_database_restore" class="btn btn-link"> |
|
||||
or restore a database |
|
||||
</a> |
|
||||
{% endif %} |
|
||||
</div> |
|
||||
</div> |
|
||||
|
|
||||
<!-- Create --> |
|
||||
<div class="modal fade o_database_create" role="dialog"> |
|
||||
<div class="modal-dialog"> |
|
||||
<div class="modal-content"> |
|
||||
<form role="form" action="/web/database/create" method="post"> |
|
||||
<div class="modal-header"> |
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
|
||||
<h4 class="modal-title">Create Database</h4> |
|
||||
</div> |
|
||||
<div class="modal-body"> |
|
||||
{{ create_form() }} |
|
||||
</div> |
|
||||
<div class="modal-footer"> |
|
||||
<input type="submit" value="Continue" class="btn btn-primary pull-right"/> |
|
||||
</div> |
|
||||
</form> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
|
|
||||
<!-- Restore --> |
|
||||
<div class="modal fade o_database_restore" role="dialog"> |
|
||||
<div class="modal-dialog"> |
|
||||
<div class="modal-content"> |
|
||||
<div class="modal-header"> |
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
|
||||
<h4 class="modal-title">Restore Database</h4> |
|
||||
</div> |
|
||||
<form id="form_restore_db" role="form" action="/web/database/restore" method="post" enctype="multipart/form-data"> |
|
||||
<div class="modal-body"> |
|
||||
{{ master_input() }} |
|
||||
<div class="form-group"> |
|
||||
<label for="backup_file" class="control-label">File</label> |
|
||||
<input id="backup_file" type="file" name="backup_file" class="required"/> |
|
||||
</div> |
|
||||
<div class="form-group"> |
|
||||
<label for="name" class="control-label">Database Name</label> |
|
||||
<input id="name" type="text" name="name" class="form-control" required="required"/> |
|
||||
</div> |
|
||||
<div class="form-group"> |
|
||||
<label for="copy">This database might have been moved or copied.</label> |
|
||||
<p class="help-block">In order to avoid conflicts between databases, {{ company_name }} needs to know if this database was moved or copied. |
|
||||
If you don't know, answer "This database is a copy".</p> |
|
||||
<div class="radio"> |
|
||||
<label> |
|
||||
<input name="copy" type="radio" class="pull-right" value="true" checked="1"> |
|
||||
This database is a copy |
|
||||
</label> |
|
||||
</div> |
|
||||
<div class="radio"> |
|
||||
<label> |
|
||||
<input name="copy" type="radio" class="pull-right" value="false"> |
|
||||
This database was moved |
|
||||
</label> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="modal-footer"> |
|
||||
<input type="submit" value="Continue" class="btn btn-primary pull-right"/> |
|
||||
</div> |
|
||||
</form> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
|
|
||||
|
|
||||
<!-- Master password --> |
|
||||
<div class="modal fade o_database_master" role="dialog"> |
|
||||
<div class="modal-dialog"> |
|
||||
<div class="modal-content"> |
|
||||
<div class="modal-header"> |
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
|
||||
<h4 class="modal-title">Set Master Password</h4> |
|
||||
</div> |
|
||||
<form id="form_change_pwd" role="form" action="/web/database/change_password" method="post"> |
|
||||
<div class="modal-body"> |
|
||||
<p>The master password is required to create, delete, dump or restore databases.</p> |
|
||||
{{ master_input() }} |
|
||||
<div class="form-group has-feedback"> |
|
||||
<label for="master_pwd_new" class="control-label">New Master Password</label> |
|
||||
<input id="master_pwd_new" type="password" name="master_pwd_new" class="form-control" required="required" autocomplete="off"/> |
|
||||
<span class="fa fa-eye o_little_eye form-control-feedback" aria-hidden="true" style="cursor: pointer; pointer-events: auto"></span> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="modal-footer"> |
|
||||
<input type="submit" value="Continue" class="btn btn-primary pull-right"/> |
|
||||
</div> |
|
||||
</form> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
|
|
||||
|
|
||||
<!-- Duplicate DB --> |
|
||||
<div class="modal fade o_database_duplicate" role="dialog"> |
|
||||
<div class="modal-dialog"> |
|
||||
<div class="modal-content"> |
|
||||
<div class="modal-header"> |
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
|
||||
<h4 class="modal-title">Duplicate Database</h4> |
|
||||
</div> |
|
||||
<form id="form-duplicate-db" role="form" action="/web/database/duplicate" method="post"> |
|
||||
<div class="modal-body"> |
|
||||
{{ master_input() }} |
|
||||
<div class="form-group"> |
|
||||
<label for="name" class="control-label">Database Name</label> |
|
||||
<input id="name" type="text" name="name" class="form-control" required="required" readonly="readonly"/> |
|
||||
</div> |
|
||||
<div class="form-group"> |
|
||||
<label for="new_name" class="control-label">New Name</label> |
|
||||
<input id="new_name" type="text" name="new_name" class="form-control" required="required"/> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="modal-footer"> |
|
||||
<input type="submit" value="Continue" class="btn btn-primary pull-right"/> |
|
||||
</div> |
|
||||
</form> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
|
|
||||
<!-- Drop DB --> |
|
||||
<div class="modal fade o_database_delete" role="dialog"> |
|
||||
<div class="modal-dialog"> |
|
||||
<div class="modal-content"> |
|
||||
<div class="modal-header"> |
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
|
||||
<h4 class="modal-title">Delete Database</h4> |
|
||||
</div> |
|
||||
<form id="form_drop_db" role="form" action="/web/database/drop" method="post"> |
|
||||
<div class="modal-body"> |
|
||||
{{ master_input() }} |
|
||||
<div class="form-group"> |
|
||||
<label for="name" class="control-label">Database</label> |
|
||||
<input id="name" type="text" name="name" class="form-control" required="required" readonly="readonly"/> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="modal-footer"> |
|
||||
<input type="submit" value="Delete" class="btn btn-primary pull-right"/> |
|
||||
</div> |
|
||||
</form> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
|
|
||||
<!-- Backup DB --> |
|
||||
<div class="modal fade o_database_backup" role="dialog"> |
|
||||
<div class="modal-dialog"> |
|
||||
<div class="modal-content"> |
|
||||
<div class="modal-header"> |
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
|
||||
<h4 class="modal-title">Backup Database</h4> |
|
||||
</div> |
|
||||
<form id="form_backup_db" role="form" action="/web/database/backup" method="post"> |
|
||||
<div class="modal-body"> |
|
||||
{{ master_input() }} |
|
||||
<div class="form-group"> |
|
||||
<label for="name" class="control-label">Database Name</label> |
|
||||
<input id="name" type="text" name="name" class="form-control" required="required" readonly="readonly"/> |
|
||||
</div> |
|
||||
<div class="form-group"> |
|
||||
<label for="backup_format" class="control-label">Backup Format</label> |
|
||||
<select id="backup_format" name="backup_format" id="backup_format" class="form-control" required="required"> |
|
||||
<option value="zip">zip (includes filestore)</option> |
|
||||
<option value="dump">pg_dump custom format (without filestore)</option> |
|
||||
</select> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="modal-footer"> |
|
||||
<input type="submit" value="Backup" class="btn btn-primary pull-right"/> |
|
||||
</div> |
|
||||
</form> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
|
|
||||
</body> |
|
||||
</html> |
|
@ -1,167 +0,0 @@ |
|||||
<odoo> |
|
||||
<record id="debrand_config" model="ir.ui.view"> |
|
||||
<field name="name">Debranding Configuration</field> |
|
||||
<field name="model">res.config.settings</field> |
|
||||
<field name="inherit_id" ref="website.res_config_settings_view_form"/> |
|
||||
<field name="arch" type="xml"> |
|
||||
<xpath expr="//div[hasclass('app_settings_block')]" position="after"> |
|
||||
<div class="app_settings_block" data-string="Debrand" string="Debrand" data-key="odoo-debrand" groups="website.group_website_designer"> |
|
||||
<field name="website_id" invisible="1"/> |
|
||||
<h2>Debranding Configurations</h2> |
|
||||
<div class="row mt16 o_settings_container" id="webmaster_settings"> |
|
||||
<div class="col-xs-12 col-md-6 o_setting_box" id="domain_setting"> |
|
||||
<div class="o_setting_right_pane"> |
|
||||
<group> |
|
||||
<group> |
|
||||
<label string="Company Logo"/> |
|
||||
<div id="company_logo" class="oe_inline"> |
|
||||
<field name="company_logo" |
|
||||
widget="image" |
|
||||
class="oe_avatar" |
|
||||
options="{'preview_image': 'image_medium', 'size': [130, 130]}" |
|
||||
/> |
|
||||
</div> |
|
||||
</group> |
|
||||
<group> |
|
||||
<label string="Company Favicon"/> |
|
||||
<div id="company_favicon" class="oe_inline"> |
|
||||
<field name="company_favicon" |
|
||||
widget="image" |
|
||||
class="oe_avatar" |
|
||||
options="{'preview_image': 'image_small', 'size': [30, 30]}"/> |
|
||||
</div> |
|
||||
</group> |
|
||||
</group> |
|
||||
<div class="row"> |
|
||||
<label class="col-md-3 o_light_label" for="company_name" /> |
|
||||
<div id="company_name" class="oe_inline"> |
|
||||
<field name="company_name"/> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="row"> |
|
||||
<label class="col-md-3 o_light_label" for="company_website" /> |
|
||||
<div id="company_website" class="oe_inline"> |
|
||||
<field name="company_website"/> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
</xpath> |
|
||||
</field> |
|
||||
</record> |
|
||||
|
|
||||
<template id="login_layout_extend_11" name="Login Layout Extend" inherit_id="web.login_layout"> |
|
||||
<xpath position="replace" expr="//div[1]"> |
|
||||
|
|
||||
<div class="row" style="margin-top: 15px;"> |
|
||||
<t t-set="website_id" t-value="request.env['website'].sudo().search([])"/> |
|
||||
<div class="col-md-6 col-md-offset-3 o_database_list"> |
|
||||
<div class="text-center" t-if="website_id and website_id[0] and website_id[0].company_logo"> |
|
||||
<img t-att-src="'data:image/png;base64,%s' % to_text(website_id[0].company_logo or '')" width="180px" height="80px"/> |
|
||||
</div> |
|
||||
<div class="text-center" t-if="not website_id and website_id[0] and website_id[0].company_logo"> |
|
||||
<img t-attf-src="/web/binary/company_logo{{ '?dbname='+db if db else '' }}"/> |
|
||||
</div> |
|
||||
<t t-raw="0"/> |
|
||||
<div class="text-center" t-if="not disable_footer"> |
|
||||
<t t-if="not disable_database_manager"> |
|
||||
<a class="" href="/web/database/manager">Manage Databases</a> | |
|
||||
</t> |
|
||||
<t> |
|
||||
<a t-att-href="website_id and website_id[0] and website_id[0].company_website or ''" |
|
||||
target="_blank">Powered by |
|
||||
<span t-esc="website_id and website_id[0] and website_id[0].company_name or ''"/></a> |
|
||||
</t> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
|
|
||||
</xpath> |
|
||||
</template> |
|
||||
|
|
||||
<template id="login_layout_secondary" inherit_id="web.menu_secondary"> |
|
||||
<xpath expr="//div[@class='o_sub_menu_footer']" position="replace"> |
|
||||
<div class="o_sub_menu_footer"> |
|
||||
Powered by <a t-att-href="request.env['website'].sudo().search([])[0].company_website or ''" target="_blank"> |
|
||||
<span t-esc="request.env['website'].sudo().search([])[0].company_name or ''"/></a> |
|
||||
</div> |
|
||||
</xpath> |
|
||||
|
|
||||
<xpath expr="//a[@class='o_sub_menu_logo']" position="replace"> |
|
||||
<t t-set="website_id" t-value="request.env['website'].sudo().search([])"/> |
|
||||
<a class="o_sub_menu_logo" t-att-href="'/web/?debug' if debug else '/web'"> |
|
||||
<span class="oe_logo_edit">My data</span> |
|
||||
<div class="text-center" t-if="website_id and website_id[0] and website_id[0].company_logo"> |
|
||||
<img t-att-src="'data:image/png;base64,%s' % to_text(website_id[0].company_logo or '')" width="200px" height="100px"/> |
|
||||
</div> |
|
||||
</a> |
|
||||
</xpath> |
|
||||
</template> |
|
||||
|
|
||||
<template id="login_layout_im_livechat" inherit_id="im_livechat.support_page"> |
|
||||
<xpath expr="//body" position="replace"> |
|
||||
<body> |
|
||||
<div class="main" style="opacity: 1;"> |
|
||||
<h1 class="channel_name"><t t-esc="channel.name"/></h1> |
|
||||
<div>Website Live Chat Powered by <strong><t t-esc="request.env['website'].sudo().search([])[0].company_name or ''"/></strong></div> |
|
||||
</div> |
|
||||
</body> |
|
||||
</xpath> |
|
||||
</template> |
|
||||
|
|
||||
<template id="login_layout" inherit_id="mail.message_user_assigned"> |
|
||||
<xpath expr="//p[last()]" position="replace"> |
|
||||
<p style="color:#9E588B;">Powered by <a t-att-href="request.env['website'].sudo().search([])[0].company_website or ''"> |
|
||||
<t t-esc="request.env['website'].sudo().search([])[0].company_name or ''"/></a>.</p> |
|
||||
</xpath> |
|
||||
</template> |
|
||||
|
|
||||
<template id="layout_footer_copyright" inherit_id="website.layout" name="Footer Copyright"> |
|
||||
<xpath expr="//div[@class='container mt16 mb8']" position="replace"> |
|
||||
<div class="container mt16 mb8"> |
|
||||
<div class="pull-right" t-if="not editable"> |
|
||||
Powered by <a class="label label-danger" t-att-href="request.env['website'].sudo().search([])[0].company_website or ''"> |
|
||||
<t t-esc="request.env['website'].sudo().search([])[0].company_name or ''"/> </a>. |
|
||||
</div> |
|
||||
<div class="pull-left text-muted"> |
|
||||
Copyright &copy; <span t-esc="request.env['website'].sudo().search([])[0].company_name or ''"/> |
|
||||
</div> |
|
||||
</div> |
|
||||
</xpath> |
|
||||
</template> |
|
||||
|
|
||||
<template id="footer_extend" inherit_id="website.footer_custom"> |
|
||||
<xpath position="replace" expr="//h2"/> |
|
||||
</template> |
|
||||
<!--put the company logo or the fav icons path here in href--> |
|
||||
<template id="web_layout_extend" inherit_id="web.layout"> |
|
||||
<xpath expr="//title" position="replace"> |
|
||||
<t t-set="website_id" t-value="request.env['website'].sudo().search([])"/> |
|
||||
<title><t t-esc="website_id and website_id[0] and website_id[0].company_name or ''"/></title> |
|
||||
</xpath> |
|
||||
<xpath position="replace" expr="//link[@rel='shortcut icon']"><t> |
|
||||
<link type="image/x-icon" rel="shortcut icon" |
|
||||
t-att-href="'data:image/png;base64,%s' % to_text(website_id and website_id[0] and website_id[0].company_favicon or '')" |
|
||||
/></t> |
|
||||
</xpath> |
|
||||
</template> |
|
||||
|
|
||||
<template id="debranding_title" name="Debranding title JS" inherit_id="web.assets_backend"> |
|
||||
<xpath expr="." position="inside"> |
|
||||
<script type="text/javascript" src="/odoo-debrand/static/src/js/title.js"/> |
|
||||
</xpath> |
|
||||
</template> |
|
||||
<!--Code for Enterprise Edition--> |
|
||||
<!--<template id="remove_bbotstrap_fav" inherit_id="web_enterprise.webclient_bootstrap">--> |
|
||||
<!--<xpath expr="//link[@rel='icon']" position="replace">--> |
|
||||
<!--<link rel="icon" sizes="192x192" href=""/>--> |
|
||||
<!--</xpath>--> |
|
||||
<!--<xpath expr="//link[@rel='apple-touch-icon']" position="replace">--> |
|
||||
<!--<link rel="apple-touch-icon" sizes="152x152" href=""/>--> |
|
||||
<!--</xpath>--> |
|
||||
<!--</template>--> |
|
||||
|
|
||||
|
|
||||
</odoo> |
|