Browse Source

[RMV] Removed debrand module

pull/187/head
Ajmal Cybro 4 years ago
parent
commit
264f447f57
  1. 56
      odoo-debrand/README.rst
  2. 3
      odoo-debrand/__init__.py
  3. 38
      odoo-debrand/__manifest__.py
  4. 3
      odoo-debrand/controllers/__init__.py
  5. 99
      odoo-debrand/controllers/controllers.py
  6. 11
      odoo-debrand/doc/changelog.rst
  7. 4
      odoo-debrand/models/__init__.py
  8. 38
      odoo-debrand/models/models.py
  9. 2
      odoo-debrand/security/ir.model.access.csv
  10. BIN
      odoo-debrand/static/description/about.png
  11. BIN
      odoo-debrand/static/description/cybro_logo.png
  12. BIN
      odoo-debrand/static/description/cybrosys-odoo-debranding-1.jpg
  13. BIN
      odoo-debrand/static/description/cybrosys-odoo-debranding-2.jpg
  14. BIN
      odoo-debrand/static/description/cybrosys-odoo-debranding-3.jpg
  15. BIN
      odoo-debrand/static/description/cybrosys-odoo-debranding-4.jpg
  16. BIN
      odoo-debrand/static/description/cybrosys-odoo-debranding-5.jpg
  17. BIN
      odoo-debrand/static/description/cybrosys-odoo-debranding-6.jpg
  18. BIN
      odoo-debrand/static/description/cybrosys-odoo-debranding-7.jpg
  19. BIN
      odoo-debrand/static/description/debranding_1.gif
  20. BIN
      odoo-debrand/static/description/icon.png
  21. 416
      odoo-debrand/static/description/index.html
  22. 220
      odoo-debrand/static/src/js/title.js
  23. 69
      odoo-debrand/static/src/xml/base.xml
  24. 352
      odoo-debrand/views/database_manager_extend.html
  25. 167
      odoo-debrand/views/views.xml

56
odoo-debrand/README.rst

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

3
odoo-debrand/__init__.py

@ -1,3 +0,0 @@
# -*- coding: utf-8 -*-
from . import controllers
from . import models

38
odoo-debrand/__manifest__.py

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

3
odoo-debrand/controllers/__init__.py

@ -1,3 +0,0 @@
# -*- coding: utf-8 -*-
from . import controllers

99
odoo-debrand/controllers/controllers.py

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

11
odoo-debrand/doc/changelog.rst

@ -1,11 +0,0 @@
Changelog
=========
`11.0.1.0.0`
------------
- Initial Commit
- UPDT
License restored

4
odoo-debrand/models/__init__.py

@ -1,4 +0,0 @@
# -*- coding: utf-8 -*-
from . import models

38
odoo-debrand/models/models.py

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

2
odoo-debrand/security/ir.model.access.csv

@ -1,2 +0,0 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_odoo-debrand_odoo-debrand,odoo-debrand.odoo-debrand,model_odoo-debrand_odoo-debrand,,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_odoo-debrand_odoo-debrand odoo-debrand.odoo-debrand model_odoo-debrand_odoo-debrand 1 0 0 0

BIN
odoo-debrand/static/description/about.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

BIN
odoo-debrand/static/description/cybro_logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

BIN
odoo-debrand/static/description/cybrosys-odoo-debranding-1.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

BIN
odoo-debrand/static/description/cybrosys-odoo-debranding-2.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

BIN
odoo-debrand/static/description/cybrosys-odoo-debranding-3.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

BIN
odoo-debrand/static/description/cybrosys-odoo-debranding-4.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

BIN
odoo-debrand/static/description/cybrosys-odoo-debranding-5.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

BIN
odoo-debrand/static/description/cybrosys-odoo-debranding-6.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

BIN
odoo-debrand/static/description/cybrosys-odoo-debranding-7.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

BIN
odoo-debrand/static/description/debranding_1.gif

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 KiB

BIN
odoo-debrand/static/description/icon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

416
odoo-debrand/static/description/index.html

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

220
odoo-debrand/static/src/js/title.js

@ -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);
},
});
});

69
odoo-debrand/static/src/xml/base.xml

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

352
odoo-debrand/views/database_manager_extend.html

@ -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">&times;</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">&times;</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">&times;</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">&times;</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">&times;</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">&times;</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>

167
odoo-debrand/views/views.xml

@ -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 &amp;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>
Loading…
Cancel
Save