@ -0,0 +1,47 @@ |
|||
.. image:: https://img.shields.io/badge/licence-LGPL--3-green.svg |
|||
:target: https://www.gnu.org/licenses/lgpl-3.0-standalone.html |
|||
:alt: License: LGPL-3 |
|||
|
|||
Theme LevelUp |
|||
============= |
|||
* Design Web Pages with Theme Upshift |
|||
|
|||
Configuration |
|||
============= |
|||
- www.odoo.com/documentation/16.0/setup/install.html |
|||
- Install our custom addon |
|||
|
|||
License |
|||
------- |
|||
General Public License, Version 3 (LGPL v3). |
|||
(https://www.gnu.org/licenses/lgpl-3.0-standalone.html) |
|||
|
|||
Company |
|||
------- |
|||
* `Cybrosys Techno Solutions: <https://cybrosys.com>`__ |
|||
|
|||
Credits |
|||
------- |
|||
Developers: (V17) FATHIMA SHALFA P @ Cybrosys |
|||
|
|||
Contact: odoo@cybrosys.com |
|||
|
|||
Contacts |
|||
-------- |
|||
* Mail Contact : odoo@cybrosys.com |
|||
* Website : https://cybrosys.com |
|||
|
|||
Bug Tracker |
|||
----------- |
|||
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. |
|||
|
|||
Maintainer |
|||
========== |
|||
.. image:: https://cybrosys.com/images/logo.png |
|||
:target: https://cybrosys.com |
|||
This module is maintained by Cybrosys Technologies. |
|||
For support and more information, please visit https://www.cybrosys.com |
|||
|
|||
Further information |
|||
=================== |
|||
HTML Description: `<static/description/index.html>`__ |
@ -0,0 +1,23 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
|||
# Author: FATHIMA SHALFA P (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 |
|||
# (LGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################# |
|||
from . import controller |
|||
|
@ -0,0 +1,86 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
|||
# Author: FATHIMA SHALFA P (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 |
|||
# (LGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################# |
|||
{ |
|||
'name': "Theme Upshift", |
|||
'version': "17.0.1.0.0", |
|||
'category': 'Theme/Corporate', |
|||
'summary': 'Theme Upshift is a modern and versatile website theme' |
|||
'designed for businesses looking to establish a professional presence' |
|||
'and feature', |
|||
'description': 'Theme Upshift is a modern and stylish website template' |
|||
'designed for businesses seeking a dynamic and professional.' |
|||
'It offers a clean, user-friendly layout with customizable sections for' |
|||
'showcasing products, services, and company details.' |
|||
'subtle animations, such as hover effects, fade-ins, and sliding transitions,' |
|||
'enhance the user experience by creating an interactive and engaging interface.', |
|||
'author': 'Cybrosys Techno Solutions', |
|||
'company': 'Cybrosys Techno Solutions', |
|||
'maintainer': 'Cybrosys Techno Solutions', |
|||
'website': 'https://www.cybrosys.com', |
|||
'depends': ['website', 'mail'], |
|||
# data files always loaded at installation |
|||
'data': [ |
|||
'data/website_menus.xml', |
|||
'views/about.xml', |
|||
'views/contact_us.xml', |
|||
'views/footer_template.xml', |
|||
'views/header_templates.xml', |
|||
'views/home.xml', |
|||
'views/portfolio_project.xml', |
|||
'views/portfolio_another_action.xml', |
|||
'views/snippet/about_banner.xml', |
|||
'views/snippet/status_section.xml', |
|||
'views/snippet/section_goal.xml', |
|||
'views/snippet/team_section.xml', |
|||
'views/snippet/subscribe_section.xml', |
|||
'views/snippet/home_banner.xml', |
|||
'views/snippet/service_section.xml', |
|||
'views/snippet/process_section.xml', |
|||
'views/snippet/testimonial_section.xml', |
|||
'views/snippet/video_section.xml', |
|||
'views/snippet/location.xml', |
|||
'views/snippet/portfolio_section.xml', |
|||
], |
|||
'assets': { |
|||
'web.assets_frontend': [ |
|||
"https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.5/gsap.min.js", |
|||
"https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.5/ScrollTrigger.min.js", |
|||
"https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/TextPlugin.min.js", |
|||
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js", |
|||
"https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js", |
|||
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js", |
|||
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css", |
|||
"/theme_upshift/static/src/js/othernavbar.js", |
|||
"/theme_upshift/static/src/css/style.css", |
|||
"/theme_upshift/static/src/js/status_counter.js", |
|||
"/theme_upshift/static/src/css/testimonial_style.css", |
|||
], |
|||
}, |
|||
"images": [ |
|||
"static/description/banner.png", |
|||
"static/description/theme_sreenshot.jpg", |
|||
], |
|||
"license": "LGPL-3", |
|||
'installable': True, |
|||
'auto_install': False, |
|||
'application': False, |
|||
} |
@ -0,0 +1,23 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
|||
# Author: FATHIMA SHALFA P (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 |
|||
# (LGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################# |
|||
from . import upshift |
|||
from . import custom_website_form |
@ -0,0 +1,43 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
|||
# Author: FATHIMA SHALFA P (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 |
|||
# (LGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################# |
|||
from odoo import http |
|||
from odoo.addons.website.controllers.form import WebsiteForm |
|||
|
|||
class CustomWebsiteForm(WebsiteForm): |
|||
""" |
|||
This class extends the WebsiteForm controller in Odoo to allow custom handling |
|||
of form submissions from the website. Specifically, it modifies form submissions |
|||
for the 'mail.mail' model to concatenate the 'name' and 'second_name' fields |
|||
into a single 'name' field before processing the form. |
|||
""" |
|||
@http.route('/website/form/<string:model_name>', type='http', |
|||
auth="public", methods=['POST'], website=True) |
|||
def website_form(self, model_name, **kwargs): |
|||
""" |
|||
If the model is 'mail.mail' and the fields 'name' and 'second_name' are |
|||
provided, it concatenates these two fields into the 'name' field. |
|||
""" |
|||
if model_name == 'mail.mail': |
|||
if 'name' in kwargs and 'second_name' in kwargs: |
|||
kwargs['name'] = f"{kwargs['name']} {kwargs['second_name']}" |
|||
kwargs.pop('second_name', None) |
|||
return super(CustomWebsiteForm, self).website_form(model_name, **kwargs) |
@ -0,0 +1,101 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
|||
# Author: FATHIMA SHALFA P (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 |
|||
# (LGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################# |
|||
import logging |
|||
from odoo import http |
|||
from odoo.http import request |
|||
|
|||
_logger = logging.getLogger(__name__) |
|||
|
|||
class MenuController(http.Controller): |
|||
""" |
|||
Controller for handling redirections to various pages based on menu clicks. |
|||
|
|||
This class defines several routes that redirect users to different pages |
|||
in the website based on the menus clicked. Each method corresponds to a specific |
|||
page in the 'theme_upshift' theme. |
|||
|
|||
""" |
|||
|
|||
@http.route('/home', website=True, type='http', auth='public',csrf=False) |
|||
def home_page(self): |
|||
"""Redirect to the home page.""" |
|||
return request.render('theme_upshift.upshift_home_page') |
|||
|
|||
@http.route('/contact-us', website=True, type='http', auth='public', |
|||
csrf=False) |
|||
def contact_us(self): |
|||
"""Redirect to the contact us page.""" |
|||
return request.render('theme_upshift.upshift_contact_us') |
|||
|
|||
@http.route('/thank_you_page', website=True, type='http', auth='public', |
|||
csrf=False) |
|||
def thank_you(self): |
|||
"""Redirect to the Thank you page.""" |
|||
return request.render('theme_upshift.thank_you_page') |
|||
|
|||
@http.route('/about', website=True, type='http', auth='public', |
|||
csrf=False) |
|||
def about_page(self): |
|||
"""Redirect to the about page.""" |
|||
return request.render('theme_upshift.about_page') |
|||
|
|||
@http.route('/project', website=True, type='http', auth='public', |
|||
csrf=False) |
|||
def portfolio_project(self): |
|||
"""Redirect to the portfolio project page.""" |
|||
return request.render('theme_upshift.portfolio_project') |
|||
|
|||
@http.route('/another_action', website=True, type='http', auth='public', |
|||
csrf=False) |
|||
def portfolio_another_action(self): |
|||
"""Redirect to the portfolio Another Action page.""" |
|||
return request.render('theme_upshift.portfolio_another_action') |
|||
|
|||
@http.route('/another_action2', website=True, type='http', auth='public', |
|||
csrf=False) |
|||
def portfolio_another_action2(self): |
|||
"""Redirect to the portfolio Another Action page 2.""" |
|||
return request.render('theme_upshift.portfolio_another_action2') |
|||
|
|||
@http.route('/another_action3', website=True, type='http', auth='public', |
|||
csrf=False) |
|||
def portfolio_another_action3(self): |
|||
"""Redirect to the portfolio Another Action page 3.""" |
|||
return request.render('theme_upshift.portfolio_another_action3') |
|||
|
|||
@http.route('/another_action4', website=True, type='http', auth='public', |
|||
csrf=False) |
|||
def portfolio_another_action4(self): |
|||
"""Redirect to the portfolio Another Action page 4.""" |
|||
return request.render('theme_upshift.portfolio_another_action4') |
|||
|
|||
@http.route('/another_action5', website=True, type='http', auth='public', |
|||
csrf=False) |
|||
def portfolio_another_action5(self): |
|||
"""Redirect to the portfolio Another Action page 5.""" |
|||
return request.render('theme_upshift.portfolio_another_action5') |
|||
|
|||
@http.route('/another_action6', website=True, type='http', auth='public', |
|||
csrf=False) |
|||
def portfolio_another_action6(self): |
|||
"""Redirect to the portfolio Another Action page 6.""" |
|||
return request.render('theme_upshift.portfolio_another_action6') |
@ -0,0 +1,18 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<odoo> |
|||
<data> |
|||
<!-- Menu for pages --> |
|||
<record id="menu_about" model="website.menu"> |
|||
<field name="name">About</field> |
|||
<field name="url">/about</field> |
|||
<field name="parent_id" ref="website.main_menu"/> |
|||
<field name="sequence" type="int">35</field> |
|||
</record> |
|||
<record id="menu_portfolio" model="website.menu"> |
|||
<field name="name">Portfolio</field> |
|||
<field name="url">/project</field> |
|||
<field name="parent_id" ref="website.main_menu"/> |
|||
<field name="sequence" type="int">36</field> |
|||
</record> |
|||
</data> |
|||
</odoo> |
@ -0,0 +1,5 @@ |
|||
## Module <theme_upshift> |
|||
#### 02.10.2024 |
|||
#### Version 17.0.1.0.0 |
|||
#### ADD |
|||
Initial commit for Theme Upshift |
After Width: | Height: | Size: 221 KiB |
After Width: | Height: | Size: 500 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 247 KiB |
After Width: | Height: | Size: 3.7 MiB |
After Width: | Height: | Size: 1.6 MiB |
After Width: | Height: | Size: 135 KiB |
After Width: | Height: | Size: 145 KiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 488 KiB |
After Width: | Height: | Size: 1.2 MiB |
After Width: | Height: | Size: 157 KiB |
After Width: | Height: | Size: 731 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 206 KiB |
After Width: | Height: | Size: 493 KiB |
After Width: | Height: | Size: 378 KiB |
After Width: | Height: | Size: 5.1 MiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 4.1 MiB |
After Width: | Height: | Size: 3.5 MiB |
After Width: | Height: | Size: 1.7 MiB |
After Width: | Height: | Size: 2.4 MiB |
After Width: | Height: | Size: 3.3 MiB |
After Width: | Height: | Size: 576 B |
After Width: | Height: | Size: 733 B |
After Width: | Height: | Size: 357 KiB |
After Width: | Height: | Size: 352 KiB |
After Width: | Height: | Size: 911 B |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 84 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 83 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 82 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 419 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 673 B |
After Width: | Height: | Size: 423 KiB |
After Width: | Height: | Size: 565 B |
After Width: | Height: | Size: 536 KiB |
After Width: | Height: | Size: 878 B |
After Width: | Height: | Size: 653 B |
After Width: | Height: | Size: 905 B |
After Width: | Height: | Size: 839 B |
After Width: | Height: | Size: 660 KiB |
After Width: | Height: | Size: 273 KiB |
After Width: | Height: | Size: 320 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 320 KiB |
After Width: | Height: | Size: 178 KiB |
After Width: | Height: | Size: 264 KiB |
After Width: | Height: | Size: 221 KiB |
After Width: | Height: | Size: 400 KiB |
After Width: | Height: | Size: 427 B |
After Width: | Height: | Size: 627 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 988 B |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 400 KiB |
@ -0,0 +1,39 @@ |
|||
.testimonial-carousel { |
|||
background-color: #f8f9fa; |
|||
padding: 60px 0; |
|||
} |
|||
.testimonial-content { |
|||
max-width: 800px; |
|||
margin: 0 auto; |
|||
} |
|||
.testimonial-text { |
|||
font-size: 1.25rem; |
|||
font-style: italic; |
|||
color: #333; |
|||
} |
|||
.testimonial-author { |
|||
font-weight: bold; |
|||
color: #007bff; |
|||
} |
|||
.testimonial-position { |
|||
color: #6c757d; |
|||
} |
|||
.carousel-control-prev-icon, |
|||
.carousel-control-next-icon { |
|||
border-radius: 80%; |
|||
padding: 10px; |
|||
} |
|||
.testimonial-text.mb-4 { |
|||
color: var(--white-color); |
|||
font-size: 22px; |
|||
font-weight: 500; |
|||
padding-bottom: 15px; |
|||
line-height: 1.5; |
|||
} |
|||
.testimonial-author { |
|||
font-weight: bold; |
|||
color: white; |
|||
} |
|||
.carousel-item { |
|||
background-color: #161616; |
|||
} |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 530 KiB |
After Width: | Height: | Size: 224 KiB |
After Width: | Height: | Size: 262 KiB |
After Width: | Height: | Size: 228 KiB |
After Width: | Height: | Size: 4.9 MiB |
After Width: | Height: | Size: 422 KiB |
After Width: | Height: | Size: 416 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 868 KiB |
After Width: | Height: | Size: 623 B |
After Width: | Height: | Size: 269 B |
After Width: | Height: | Size: 368 B |
After Width: | Height: | Size: 535 B |
After Width: | Height: | Size: 2.6 KiB |