@ -0,0 +1,48 @@ |
|||||
|
.. image:: https://img.shields.io/badge/license-LGPL--3-blue.svg |
||||
|
:target: https://www.gnu.org/licenses/lgpl-3.0-standalone.html |
||||
|
:alt: License: LGPL-3 |
||||
|
|
||||
|
Theme Autofly |
||||
|
============= |
||||
|
* Theme Autofly module provide attractive and unique front end theme mainly suitable for eCommerce website |
||||
|
|
||||
|
Installation |
||||
|
============ |
||||
|
- www.odoo.com/documentation/15.0/setup/install.html |
||||
|
- Install our Theme |
||||
|
|
||||
|
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 |
||||
|
------- |
||||
|
* Developer: (V15) Saneen K |
||||
|
* 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: Saneen K (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 controllers |
||||
|
from . import models |
@ -0,0 +1,80 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Saneen K (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 Autofly', |
||||
|
'version': '15.0.1.0.0', |
||||
|
'category': 'Theme/Corporate', |
||||
|
'summary': 'Design eCommerce Website with Theme AutoFly', |
||||
|
'description': 'Theme Autofly module provide attractive and unique front ' |
||||
|
'end theme mainly suitable for eCommerce website', |
||||
|
'author': 'Cybrosys Techno Solutions', |
||||
|
'company': 'Cybrosys Techno Solutions', |
||||
|
'maintainer': 'Cybrosys Techno Solutions', |
||||
|
'website': "https://www.cybrosys.com", |
||||
|
'depends': ['website_sale_wishlist', 'website_blog', 'web_editor'], |
||||
|
'data': [ |
||||
|
'security/ir.model.access.csv', |
||||
|
'data/theme_autofly_sequence.xml', |
||||
|
'views/car_type_views.xml', |
||||
|
'views/car_brand_views.xml', |
||||
|
'views/car_garage_views.xml', |
||||
|
'views/blog_page_templates.xml', |
||||
|
'views/portfolio_templates.xml', |
||||
|
'views/about_us_templates.xml', |
||||
|
'views/footer_templates.xml', |
||||
|
'views/header_templates.xml', |
||||
|
'views/contact_us_templates.xml', |
||||
|
'views/team_templates.xml', |
||||
|
'views/service_templates.xml', |
||||
|
'views/snippets/snippet_templates.xml', |
||||
|
'views/snippets/popular_model_templates.xml', |
||||
|
'views/snippets/find_car_templates.xml', |
||||
|
'views/snippets/partners_templates.xml', |
||||
|
'views/snippets/testimonial_templates.xml', |
||||
|
'views/snippets/choose_us_templates.xml', |
||||
|
'views/snippets/banner_templates.xml', |
||||
|
'views/snippets/search_templates.xml', |
||||
|
'views/service_booking_views.xml', |
||||
|
'views/product_template.xml', |
||||
|
], |
||||
|
'assets': { |
||||
|
'web.assets_frontend': [ |
||||
|
'theme_autofly/static/src/js/car_garage.js', |
||||
|
'theme_autofly/static/src/css/style.css', |
||||
|
'theme_autofly/static/src/js/owl.carousel.js', |
||||
|
'theme_autofly/static/src/js/owl.carousel.min.js', |
||||
|
'theme_autofly/static/src/js/theme.js', |
||||
|
'theme_autofly/static/src/css/owl.theme.default.min.css', |
||||
|
'theme_autofly/static/src/js/product_tab.js', |
||||
|
'theme_autofly/static/src/js/find_car.js', |
||||
|
'theme_autofly/static/src/js/search.js', |
||||
|
'theme_autofly/static/src/js/all_type.js', |
||||
|
'theme_autofly/static/src/js/contactus_map.js', |
||||
|
], |
||||
|
}, |
||||
|
'images': ['static/description/banner.png', |
||||
|
'static/description/theme_screenshot.png'], |
||||
|
'license': 'LGPL-3', |
||||
|
'installable': True, |
||||
|
'application': False, |
||||
|
'auto_install': False, |
||||
|
} |
@ -0,0 +1,23 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Saneen K (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 main |
||||
|
from . import product_tab |
@ -0,0 +1,130 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Saneen K (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 About(http.Controller): |
||||
|
"""controller for the about page, portfolio page, team page, service |
||||
|
page""" |
||||
|
|
||||
|
@http.route('/about', website=True, type='http', |
||||
|
auth='public', csrf=False) |
||||
|
def about_page(self): |
||||
|
"""It's used for the about page""" |
||||
|
return request.render('theme_autofly.about_page') |
||||
|
|
||||
|
@http.route('/portfolio', website=True, type='http', auth='public', |
||||
|
csrf=False) |
||||
|
def portfolio_page(self): |
||||
|
"""It's used for the portfolio page""" |
||||
|
return request.render('theme_autofly.portfolio_page') |
||||
|
|
||||
|
@http.route('/team', website=True, type='http', |
||||
|
auth='public', csrf=False) |
||||
|
def team_page(self): |
||||
|
"""It's used for the team page""" |
||||
|
return request.render('theme_autofly.team_page') |
||||
|
|
||||
|
@http.route('/service', website=True, type='http', auth='public', |
||||
|
csrf=False) |
||||
|
def service_page(self): |
||||
|
"""It's used for the service page""" |
||||
|
return request.render('theme_autofly.service_page') |
||||
|
|
||||
|
@http.route('/blog_snippet', auth="public", type='json', website=True) |
||||
|
def latest_blog(self): |
||||
|
"""It's used for the dynamic blog snippet""" |
||||
|
return request.env['blog.post'].sudo().search_read([], limit=3) |
||||
|
|
||||
|
@http.route(['/total_product_sold'], type="json", auth="public") |
||||
|
def sold_total(self): |
||||
|
"""Controller used for fetch sold products""" |
||||
|
total_sold = sum(request.env['sale.order'].sudo().search([ |
||||
|
('state', 'in', ['done', 'sale'])]).mapped( |
||||
|
'order_line.product_uom_qty')) |
||||
|
return total_sold |
||||
|
|
||||
|
@http.route('/autofly/service', |
||||
|
website=True, auth='public', csrf=False) |
||||
|
def service_booking(self, **kwargs): |
||||
|
"""It's used for the service page""" |
||||
|
request.env['service.booking'].sudo().create({ |
||||
|
'name': kwargs.get('usr1'), |
||||
|
'email': kwargs.get('email'), |
||||
|
'description': kwargs.get('text') |
||||
|
}) |
||||
|
return request.render('theme_autofly.service_page') |
||||
|
|
||||
|
@http.route('/cars-search', website=True, type='http', auth='public', |
||||
|
csrf=False) |
||||
|
def car_search(self, **kwargs): |
||||
|
"""Handle dynamic car search.""" |
||||
|
try: |
||||
|
domain = [] |
||||
|
car_brand = int( |
||||
|
kwargs.get('car-selection')) if kwargs.get( |
||||
|
'car-selection') != 'select brand' else False |
||||
|
car_type = int( |
||||
|
kwargs.get('car-type-selection')) if kwargs.get( |
||||
|
'car-type-selection') != 'select type' else False |
||||
|
car_location = kwargs.get( |
||||
|
'car-location') if kwargs.get('car-location') != '' else False |
||||
|
car_price = float( |
||||
|
kwargs.get('car-price')) if kwargs.get( |
||||
|
'car-price') != '' else False |
||||
|
car_model = kwargs.get( |
||||
|
'car-model') if kwargs.get('car-model') != '' else False |
||||
|
|
||||
|
if car_brand: |
||||
|
domain.append(('car_brand', '=', car_brand)) |
||||
|
if car_type: |
||||
|
domain.append(('car_type', '=', car_type)) |
||||
|
if car_location: |
||||
|
domain.append(('location', '=', car_location)) |
||||
|
if car_price: |
||||
|
domain.append(('list_price', '=', car_price)) |
||||
|
if car_model: |
||||
|
domain.append(('car_model', '=', car_model)) |
||||
|
if len(domain) == 0: |
||||
|
return request.render('theme_autofly.specific_car', qcontext=[]) |
||||
|
|
||||
|
hot_deals = request.env['product.template'].sudo().search(domain) |
||||
|
|
||||
|
values = { |
||||
|
'hot_deals': hot_deals, |
||||
|
} |
||||
|
except: |
||||
|
return request.render('theme_autofly.specific_car', qcontext=[]) |
||||
|
return request.render('theme_autofly.specific_car', qcontext=values) |
||||
|
|
||||
|
@http.route( |
||||
|
'/get-company/address', type='json', auth="public", website=True) |
||||
|
def get_company_address(self): |
||||
|
user_id = request.env.user |
||||
|
return ' '.join(filter(None, ( |
||||
|
user_id.company_id.street, user_id.company_id.city, |
||||
|
user_id.company_id.state_id.display_name, |
||||
|
user_id.company_id.country_id.display_name))) |
@ -0,0 +1,83 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Saneen K (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.http import request |
||||
|
|
||||
|
|
||||
|
class WebsiteProduct(http.Controller): |
||||
|
"""Class used to get the products,type and brand of the car and |
||||
|
blog post etc""" |
||||
|
|
||||
|
@http.route('/get_product_tab', auth="public", type='json', website=True) |
||||
|
def get_product_tab(self): |
||||
|
"""Controller used for fetch popular products""" |
||||
|
values = { |
||||
|
'hot_deals': request.env['product.template'].sudo().search( |
||||
|
[('website_published', '=', True), |
||||
|
('popular_product', '=', True)]) |
||||
|
} |
||||
|
response = http.Response(template='theme_autofly.popular_modal', |
||||
|
qcontext=values) |
||||
|
return response.render() |
||||
|
|
||||
|
@http.route('/find_car', auth="public", type='json', website=True) |
||||
|
def get_find_car(self): |
||||
|
"""Controller used for fetch car types""" |
||||
|
values = { |
||||
|
'hot_deals': request.env['car.types'].sudo().search( |
||||
|
[], order='create_date desc', limit=6) |
||||
|
} |
||||
|
response = http.Response(template='theme_autofly.autofly_find_car', |
||||
|
qcontext=values) |
||||
|
return response.render() |
||||
|
|
||||
|
@http.route('/get_searched_car', auth="public", type='json', website=True) |
||||
|
def get_search_car(self): |
||||
|
"""Controller used for fetch car brands""" |
||||
|
values = { |
||||
|
'hot_deals': request.env['car.brand'].sudo().search([]) |
||||
|
} |
||||
|
response = http.Response(template='theme_autofly.autofly_search_box', |
||||
|
qcontext=values) |
||||
|
return response.render() |
||||
|
|
||||
|
@http.route('/get_garage_car', auth="public", type='json', website=True) |
||||
|
def get_garage_car(self): |
||||
|
"""Controller used for fetch garages""" |
||||
|
values = { |
||||
|
'hot_deals': request.env['car.garage'].sudo().search([]), |
||||
|
'car_types': request.env['car.types'].sudo().search([]) |
||||
|
} |
||||
|
response = http.Response( |
||||
|
template='theme_autofly.portfolio_garage_page', |
||||
|
qcontext=values) |
||||
|
return response.render() |
||||
|
|
||||
|
@http.route('/get_all_type', auth="public", type='json', website=True) |
||||
|
def get_all_type(self): |
||||
|
"""Controller used for fetch car types""" |
||||
|
values = { |
||||
|
'hot_deals': request.env['car.types'].sudo().search([]) |
||||
|
} |
||||
|
response = http.Response(template='theme_autofly.portfolio_type_page', |
||||
|
qcontext=values) |
||||
|
return response.render() |
@ -0,0 +1,13 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
<data noupdate="1"> |
||||
|
<!-- Sequences for booking --> |
||||
|
<record id="seq_booking" model="ir.sequence"> |
||||
|
<field name="name">Service Booking</field> |
||||
|
<field name="code">reference.sequence</field> |
||||
|
<field name="prefix">SB</field> |
||||
|
<field name="padding">3</field> |
||||
|
<field name="company_id" eval="False"/> |
||||
|
</record> |
||||
|
</data> |
||||
|
</odoo> |
@ -0,0 +1,6 @@ |
|||||
|
## Module <theme_autofly> |
||||
|
|
||||
|
#### 29.03.2024 |
||||
|
#### Version 15.0.1.0.0 |
||||
|
#### ADD |
||||
|
- Initial commit for Theme Autofly |
@ -0,0 +1,26 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Saneen K (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 car_brand |
||||
|
from . import car_garage |
||||
|
from . import car_types |
||||
|
from . import product_template |
||||
|
from . import service_booking |
@ -0,0 +1,46 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Saneen K (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 api, fields, models |
||||
|
|
||||
|
|
||||
|
class CarBrand(models.Model): |
||||
|
"""Creating the new car brand""" |
||||
|
_name = "car.brand" |
||||
|
_description = "Car brand" |
||||
|
|
||||
|
name = fields.Char( |
||||
|
string="Name", |
||||
|
help="Enter the name of the car brand. " |
||||
|
"For example, 'Toyota', 'Ford', etc.",) |
||||
|
image = fields.Image( |
||||
|
string="Image", |
||||
|
help="Upload the image of the car brand. " |
||||
|
"This can be the brand logo or any relevant image.") |
||||
|
|
||||
|
@api.model |
||||
|
def get_brands(self): |
||||
|
"""RPC function returning car details""" |
||||
|
brands = self.sudo().search([]) |
||||
|
types = self.env['car.types'].sudo().search([]) |
||||
|
car_brands = [{'brand_name': brand.name, 'brand_id': brand.id} for brand in brands] |
||||
|
car_types = [{'car_type': type.name, 'type_id': type.id} for type in types] |
||||
|
return {'brand': car_brands, 'type': car_types} |
@ -0,0 +1,38 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Saneen K (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 fields, models |
||||
|
|
||||
|
|
||||
|
class CarGarage(models.Model): |
||||
|
"""Class for creating the car garage""" |
||||
|
_name = "car.garage" |
||||
|
_description = "Car Garage" |
||||
|
|
||||
|
name = fields.Char( |
||||
|
string="Name", |
||||
|
help="Enter the name of the car garage. " |
||||
|
"This could be the location or a unique identifier.") |
||||
|
image = fields.Image( |
||||
|
string="Image", |
||||
|
help="Upload an image representing the car garage. " |
||||
|
"This could be a picture of the garage building " |
||||
|
"or any relevant image.") |
@ -0,0 +1,59 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Saneen K (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 fields, models |
||||
|
|
||||
|
|
||||
|
class CarTypes(models.Model): |
||||
|
"""Car types model""" |
||||
|
_name = "car.types" |
||||
|
_description = "Car Types" |
||||
|
|
||||
|
name = fields.Char( |
||||
|
string="Name", |
||||
|
help="Enter the type or category of the car," |
||||
|
" e.g., Sedan, SUV, Coupe, etc.") |
||||
|
image = fields.Image( |
||||
|
string="Image", |
||||
|
help="Upload an image representing the car type. " |
||||
|
"This could be an icon or a picture.") |
||||
|
car_count = fields.Integer( |
||||
|
string="Car count", |
||||
|
help="This field displays the total count of cars " |
||||
|
"associated with this car type.", |
||||
|
compute='_compute_car_count') |
||||
|
|
||||
|
def _compute_car_count(self): |
||||
|
"""Product count fetching based on car type""" |
||||
|
for record in self: |
||||
|
record.car_count = self.env['product.template'].search_count( |
||||
|
[('car_type', '=', record.id)]) |
||||
|
|
||||
|
def action_view_products(self): |
||||
|
"""Product smart button""" |
||||
|
return { |
||||
|
'type': 'ir.actions.act_window', |
||||
|
'name': 'Products', |
||||
|
'view_mode': 'tree', |
||||
|
'res_model': 'product.template', |
||||
|
'domain': [('car_type', '=', self.id)], |
||||
|
'context': "{'create': False}" |
||||
|
} |
@ -0,0 +1,48 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Saneen K (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 fields, models |
||||
|
|
||||
|
|
||||
|
class ProductTemplate(models.Model): |
||||
|
"""Inherits the products""" |
||||
|
_inherit = "product.template" |
||||
|
|
||||
|
popular_product = fields.Boolean( |
||||
|
string="Popular Product", |
||||
|
help="Check this box if the product is considered popular.") |
||||
|
car_type = fields.Many2one( |
||||
|
'car.types', |
||||
|
string="Car Type", |
||||
|
help="Select the type or category of " |
||||
|
"the car associated with this product.") |
||||
|
car_brand = fields.Many2one( |
||||
|
'car.brand', |
||||
|
string="Car Brand", |
||||
|
help="Select the brand of the car associated with this product.") |
||||
|
car_model = fields.Char( |
||||
|
string="Model", |
||||
|
help="Enter the model or variant of " |
||||
|
"the car associated with this product.") |
||||
|
location = fields.Char( |
||||
|
string="Location", |
||||
|
help="Enter the location information related to this product. " |
||||
|
"This could be a showroom or warehouse location.") |
@ -0,0 +1,70 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Saneen K (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 re |
||||
|
from odoo import api, fields, models, _ |
||||
|
from odoo.exceptions import ValidationError |
||||
|
|
||||
|
|
||||
|
class ServiceBooking(models.Model): |
||||
|
"""Service booking from the Frontend""" |
||||
|
_name = "service.booking" |
||||
|
_description = "Service booking" |
||||
|
|
||||
|
reference = fields.Char( |
||||
|
string="Reference", |
||||
|
help="unique reference for the service booking." |
||||
|
"This can be an alphanumeric code.", |
||||
|
copy=False) |
||||
|
state = fields.Selection( |
||||
|
[('draft', 'Draft'), |
||||
|
('running', 'Running'), |
||||
|
('cancel', 'Cancel'), |
||||
|
('done', 'Done')], |
||||
|
help="Select the current state of the service booking.", |
||||
|
default="draft") |
||||
|
name = fields.Char( |
||||
|
string='Name', |
||||
|
help="Enter the name of the customer who made the service booking.") |
||||
|
email = fields.Char( |
||||
|
string='Email', |
||||
|
help="Enter the email address of the customer. " |
||||
|
"This will be used for communication.") |
||||
|
description = fields.Char( |
||||
|
string='Description', |
||||
|
help="Provide a brief description of " |
||||
|
"the service or any additional notes.") |
||||
|
|
||||
|
@api.model |
||||
|
def create(self, vals): |
||||
|
"""Supering create function for creating sequence""" |
||||
|
if vals.get('reference', _('New')) == _('New'): |
||||
|
vals['reference'] = self.env['ir.sequence'].next_by_code( |
||||
|
'reference.sequence') or _('New') |
||||
|
return super(ServiceBooking, self).create(vals) |
||||
|
|
||||
|
@api.onchange('email') |
||||
|
def validate_mail(self): |
||||
|
"""Function for checking the email entered in correct format""" |
||||
|
if self.email: |
||||
|
if not re.match(r"[^@]+@[^@]+\.[^@]+", self.email): |
||||
|
raise ValidationError(_("Invalid email format. Please enter" |
||||
|
" a valid email address.")) |
|
After Width: | Height: | Size: 833 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 312 KiB |
After Width: | Height: | Size: 490 KiB |
After Width: | Height: | Size: 135 KiB |
After Width: | Height: | Size: 653 KiB |
After Width: | Height: | Size: 272 KiB |
After Width: | Height: | Size: 126 KiB |
After Width: | Height: | Size: 765 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 359 KiB |
After Width: | Height: | Size: 374 KiB |
After Width: | Height: | Size: 1.0 MiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 9.2 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 490 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 933 KiB |
After Width: | Height: | Size: 57 KiB |
After Width: | Height: | Size: 843 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 899 B |
After Width: | Height: | Size: 848 B |
After Width: | Height: | Size: 936 B |
After Width: | Height: | Size: 1001 B |
After Width: | Height: | Size: 690 B |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 9.5 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 343 KiB |
After Width: | Height: | Size: 98 KiB |
After Width: | Height: | Size: 1010 KiB |
After Width: | Height: | Size: 2.3 MiB |
After Width: | Height: | Size: 91 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 109 KiB |
After Width: | Height: | Size: 109 KiB |
After Width: | Height: | Size: 470 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 389 KiB |
After Width: | Height: | Size: 722 KiB |
After Width: | Height: | Size: 525 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 825 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 252 KiB |
After Width: | Height: | Size: 19 KiB |
@ -0,0 +1,705 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html lang="en"> |
||||
|
<head> |
||||
|
<title>odoo</title> |
||||
|
<meta charset="utf-8"> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"> |
||||
|
<link rel="stylesheet" |
||||
|
href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css"> |
||||
|
<style></style> |
||||
|
</head> |
||||
|
<body> |
||||
|
<section class="position-relative py-3"> |
||||
|
<div class="position-absolute d-none d-lg-block" |
||||
|
style="background-color:#FFFEE5; width:100vw; height:100%; margin-left:calc((1080px - 100vw) / 2); margin-top:-30px"> |
||||
|
</div> |
||||
|
<section class="section-top-menu pt-4 float-left w-100"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<div class="text-left logo-cybro"> |
||||
|
<a class="" href="#"> |
||||
|
<img src="Images/logo-cybro.png"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-6"> |
||||
|
<div class="text-right odoo-logo-top"> |
||||
|
<img src="Images/odoo-logo.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<!--- Closed section-top-menu ---> |
||||
|
|
||||
|
<section class="section-banner-img pt-5 w-100 float-left"> |
||||
|
<div class="text-center"> |
||||
|
<img src="Images/tittle.png"/> |
||||
|
</div> |
||||
|
<div class="text-center mt-5 pt-5" style=""> |
||||
|
<img style="width:80%;" src="Images/Hero-banner.png"/> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<!--- closed section-banner-img ---> |
||||
|
|
||||
|
<section class="section-autofly float-left w-100 pt-5 mt-5"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#cc2300; font-size:24px;">Autofly</h3> |
||||
|
<div class="w-50 float-left text-center" |
||||
|
style="margin-left:14px;"><img class="w-100" |
||||
|
src="Images/arrow-black.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-6"> |
||||
|
<ul class="pl-0"> |
||||
|
<li style="list-style:none; font-size:24px;">Website |
||||
|
Design |
||||
|
</li> |
||||
|
<li style="list-style:none; font-size:24px;">UI/UX</li> |
||||
|
<li style="list-style:none; font-size:24px;"> |
||||
|
Developing |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<!--- closed section-autofly ---> |
||||
|
|
||||
|
<section class="section-key-features float-left w-100"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<h3 class="text-uppercase pt-5 mt-5 text-dark font-weight-bold"> |
||||
|
Key features</h3> |
||||
|
<hr style="border-top:3px solid #F16868; width:7%;" |
||||
|
class=" float-left mt-0"> |
||||
|
</div> |
||||
|
<div class="col-lg-6"> |
||||
|
<div class="key-features-1 mt-4 p-3" |
||||
|
style="background-color:#FDD57C; border:3px solid #000; border-radius:14px;"> |
||||
|
<div class="w-100 float-left pb-3"> |
||||
|
<i><img src="Images/icon-design.png"/> </i> |
||||
|
<span class="pl-2" |
||||
|
style="font-size:22px;">Design</span> |
||||
|
</div> |
||||
|
<p class="pt-4" |
||||
|
style="font-size:20px; line-height:34px;">The most |
||||
|
recent website creation for an autofly. Flexible and |
||||
|
simple to use.</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-6"> |
||||
|
<div class=" p-3 mt-4 " |
||||
|
style="background-color:#CFBFDF; border:3px solid #000; border-radius:14px;"> |
||||
|
<div class="w-100 float-left pb-3"> |
||||
|
<i><img src="Images/icon-Compatibility-with-plugins.png"/> |
||||
|
</i> |
||||
|
<span class="pl-2" style="font-size:22px;">Compatibility with Plugins</span> |
||||
|
</div> |
||||
|
<p class="pt-4" |
||||
|
style="font-size:20px; line-height:34px;">Along with |
||||
|
this theme, it permits users to use third-party |
||||
|
plugins. |
||||
|
</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-6"> |
||||
|
<div class=" p-3 mt-4" |
||||
|
style="background-color:#E0FBAD; border:3px solid #000; border-radius:14px;"> |
||||
|
<div class="w-100 float-left pb-3"> |
||||
|
<i><img src="Images/icon-Fast-loading-times.png"/> |
||||
|
</i> |
||||
|
<span class="pl-2" style="font-size:22px;">Fast Loading Time</span> |
||||
|
</div> |
||||
|
<p class="pt-4" |
||||
|
style="font-size:20px; line-height:34px;">This theme |
||||
|
loads all of its features more quickly than other |
||||
|
designs.</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-6"> |
||||
|
<div class=" p-3 mt-4" |
||||
|
style="background-color:#D3F5E7; border:3px solid #000; border-radius:14px;"> |
||||
|
<div class="w-100 float-left pb-3"> |
||||
|
<i><img src="Images/icon-Up-to-date-development.png"/> |
||||
|
</i> |
||||
|
<span class="pl-2" style="font-size:22px;">Up-to-date Development</span> |
||||
|
</div> |
||||
|
<p class="pt-4" |
||||
|
style="font-size:20px; line-height:34px;">The most |
||||
|
up-to-date approaches, concepts, and innovations are |
||||
|
being used.</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-6"> |
||||
|
<div class=" p-3 mt-4" |
||||
|
style="background-color:#D1DFE7; border:3px solid #000; border-radius:14px;"> |
||||
|
<div class="w-100 float-left pb-3"> |
||||
|
<i><img src="Images/icon-Responsive-design.png"/> |
||||
|
</i> |
||||
|
<span class="pl-2" style="font-size:22px;">Responsive Design</span> |
||||
|
</div> |
||||
|
<p class="pt-4" |
||||
|
style="font-size:20px; line-height:34px;">Different |
||||
|
resolution devices can be used by users to watch |
||||
|
websites.</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-6"> |
||||
|
<div class=" p-3 mt-4" |
||||
|
style="background-color:#FED1E5; border:3px solid #000; border-radius:14px;"> |
||||
|
<div class="w-100 float-left pb-3"> |
||||
|
<i><img src="Images/icon-One-Click-Installation.png"/> |
||||
|
</i> |
||||
|
<span class="pl-2" style="font-size:22px;">One Click Installation</span> |
||||
|
</div> |
||||
|
<p class="pt-4" |
||||
|
style="font-size:20px; line-height:34px;">This mode |
||||
|
is significantly easier than others because Odoo |
||||
|
makes One Click Installation feasible.</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="section-autofly float-left w-100 pt-5 mt-5"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#cc2300; font-size:24px;">Main page</h3> |
||||
|
<div class="w-50 float-left text-center" |
||||
|
style="margin-left:14px;"><img class="w-100" |
||||
|
src="Images/arrow-black.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-6"> |
||||
|
<ul class="pl-0"> |
||||
|
<li style="list-style:none; font-size:24px;">Home</li> |
||||
|
<li style="list-style:none; font-size:24px;">About us |
||||
|
</li> |
||||
|
<li style="list-style:none; font-size:24px;">Services |
||||
|
</li> |
||||
|
<li style="list-style:none; font-size:24px;">Portfolio |
||||
|
</li> |
||||
|
<li style="list-style:none; font-size:24px;">Team</li> |
||||
|
<li style="list-style:none; font-size:24px;">Blog</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class=" w-100 float-left white-theam mt-5 pt-5"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center"> |
||||
|
<img class="w-100" src="Images/Home-1.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center mt-5 pt-5"> |
||||
|
<img class="w-100" src="Images/Home-2.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center mt-5 pt-5"> |
||||
|
<img class="w-100" src="Images/Home-3.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center mt-5 pt-5"> |
||||
|
<img class="w-100" src="Images/Home-4.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center mt-5 pt-5"> |
||||
|
<img class="w-100" src="Images/Home-5.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center mt-5 pt-5"> |
||||
|
<img class="w-100" src="Images/Home-7.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="section-autofly float-left w-100 pt-5 mt-5"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#cc2300; font-size:24px;">About page</h3> |
||||
|
<div class="w-50 float-left text-center" |
||||
|
style="margin-left:14px;"><img class="w-100" |
||||
|
src="Images/arrow-black.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-6"> |
||||
|
<ul class="pl-0"> |
||||
|
<li style="list-style:none; font-size:24px;">Banner</li> |
||||
|
<li style="list-style:none; font-size:24px;">Other |
||||
|
Information |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="mt-5 float-left w-100"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center"> |
||||
|
<img class="w-100" src="Images/about-1.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="section-about-us w-100 pt-5 mt-5 float-left"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center"> |
||||
|
<img class="w-100" src="Images/about-2.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center pt-5 mt-5"> |
||||
|
<img class="w-100" src="Images/about-3.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="section-autofly float-left w-100 pt-5 mt-5"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-8"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#cc2300; line-height:44px; font-size:24px;"> |
||||
|
Portfolio</h3> |
||||
|
<div class="w-50 float-left text-center" |
||||
|
style="margin-left:14px;"><img class="w-100" |
||||
|
src="Images/arrow-black.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4"> |
||||
|
<ul class="pl-0"> |
||||
|
<li style="list-style:none; font-size:24px;">Banner</li> |
||||
|
<li style="list-style:none; font-size:24px;">Other |
||||
|
Feauters |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="mobile-responsive-about w-100 float-left pt-5 mt-5"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center pt-5 mt-5"> |
||||
|
<img class="w-100" src="Images/portfolio-1.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center pt-5 mt-5"> |
||||
|
<img class="w-100" src="Images/portfolio-2.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center pt-5 mt-5"> |
||||
|
<img class="w-100" src="Images/portfolio-3.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center pt-5 mt-5"> |
||||
|
<img class="w-100" src="Images/portfolio-4.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="section-autofly pt-5 mt-5 float-left w-100"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#cc2300; line-height:32px; font-size:24px;"> |
||||
|
Contact Page</h3> |
||||
|
<div class="w-50 float-left text-center arrow-black" |
||||
|
style="margin-left:14px;"><img class="w-100" |
||||
|
src="Images/arrow-black.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-6"> |
||||
|
<ul class="pl-0"> |
||||
|
<li style="list-style:none; font-size:24px;">Banner</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="section-services float-left w-100"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center pt-5 mt-5"> |
||||
|
<img class="w-100" src="Images/contact1.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center pt-5 mt-5"> |
||||
|
<img class="w-100" src="Images/contact2.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="section-autofly pt-5 mt-5 float-left w-100"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#cc2300; line-height:32px; font-size:24px;"> |
||||
|
Blog</h3> |
||||
|
<div class="w-50 float-left text-center arrow-black" |
||||
|
style="margin-left:14px;"><img class="w-100" |
||||
|
src="Images/arrow-black.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-6"> |
||||
|
<ul class="pl-0"> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="section-services-mobile-res mt-5 w-100 float-left"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center mt-5"> |
||||
|
<img class="w-100" src="Images/BLOG-4.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="section-autofly pt-5 mt-5 float-left w-100"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#cc2300; line-height:32px; font-size:24px;"> |
||||
|
Services</h3> |
||||
|
<div class="w-50 float-left text-center arrow-black" |
||||
|
style="margin-left:14px;"><img class="w-100" |
||||
|
src="Images/arrow-black.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-6"> |
||||
|
<ul class="pl-0"> |
||||
|
<li style="list-style:none; font-size:24px;">Banner</li> |
||||
|
<li style="list-style:none; font-size:24px;">Other |
||||
|
Feauters |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="section-services-mobile-res mt-5 w-100 float-left"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center mt-5"> |
||||
|
<img class="w-100" src="Images/services.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center pt-5 mt-5"> |
||||
|
<img class="w-100" src="Images/services-1.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center pt-5 mt-5"> |
||||
|
<img class="w-100" src="Images/services-2.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center pt-5 mt-5"> |
||||
|
<img class="w-100" src="Images/services-3.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center pt-5 mt-5"> |
||||
|
<img class="w-100" src="Images/services-4.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center pt-5 mt-5"> |
||||
|
<img class="w-100" src="Images/services-5.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center pt-5 mt-5"> |
||||
|
<img class="w-100" src="Images/services-6.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="section-autofly pt-5 mt-5 float-left w-100"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#cc2300; line-height:32px; font-size:24px;"> |
||||
|
Team</h3> |
||||
|
<div class="w-50 float-left text-center arrow-black" |
||||
|
style="margin-left:14px;"><img class="w-100" |
||||
|
src="Images/arrow-black.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-6"> |
||||
|
<ul class="pl-0"> |
||||
|
<li style="list-style:none; font-size:24px;">Banner</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="mt-5 w-100 float-left"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center mt-5"> |
||||
|
<img class="w-100" src="Images/team-1.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center pt-5 mt-5"> |
||||
|
<img class="w-100" src="Images/team-2.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center pt-5 mt-5"> |
||||
|
<img class="w-100" src="Images/team-3.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section style="padding-bottom:100px;" |
||||
|
class="w-100 float-left section-bottom-services mt-5 bg-white"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#4a1760; padding-top:80px; font-size:26px;"> |
||||
|
Our Services</h3> <br/> |
||||
|
<div style="font-size:22px;" |
||||
|
class="text-left float-left w-100 pb-5 mb-4">View |
||||
|
services offered by us |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4" |
||||
|
style="border-radius:16px; background-color:#ffeed8;"> |
||||
|
<img src="Images/odoo-customization.png"/> |
||||
|
<h3 style="color:#522065; font-size:24px;" class="pt-1"> |
||||
|
Odoo <br/> Customization </h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4" |
||||
|
style="border-radius:16px; background-color:#ffeed8;"> |
||||
|
<img src="Images/odoo-implement.png"/> |
||||
|
<h3 style="color:#522065; font-size:24px;" class="pt-1"> |
||||
|
Odoo <br/> Implementation </h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4" |
||||
|
style="border-radius:16px; background-color:#ffeed8;"> |
||||
|
<img src="Images/odoo-support.png"/> |
||||
|
<h3 style="color:#522065; font-size:24px;" class="pt-1"> |
||||
|
Odoo <br/> Support </h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4" |
||||
|
style="border-radius:16px; background-color:#ffeed8;"> |
||||
|
<img src="Images/odoo-developer.png"/> |
||||
|
<h3 style="color:#522065; font-size:24px;" class="pt-1"> |
||||
|
Hire <br/> Odoo Developer </h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4" |
||||
|
style="border-radius:16px; background-color:#ffeed8;"> |
||||
|
<img src="Images/odoo-intergration.png"/> |
||||
|
<h3 style="color:#522065; font-size:24px;" class="pt-1"> |
||||
|
Odoo <br/> Integration </h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4" |
||||
|
style="border-radius:16px; background-color:#ffeed8;"> |
||||
|
<img src="Images/odoo-migration.png"/> |
||||
|
<h3 style="color:#522065; font-size:24px;" class="pt-1"> |
||||
|
Odoo <br/> Migration </h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4" |
||||
|
style="border-radius:16px; background-color:#ffeed8;"> |
||||
|
<img src="Images/odoo-consultency.png"/> |
||||
|
<h3 style="color:#522065; font-size:24px;" class="pt-1"> |
||||
|
Odoo <br/> Consultancy </h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4" |
||||
|
style="border-radius:16px; background-color:#ffeed8;"> |
||||
|
<img src="Images/odoo-implement.png"/> |
||||
|
<h3 style="color:#522065; font-size:24px;" class="pt-1"> |
||||
|
Odoo <br/> Implementation </h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4" |
||||
|
style="border-radius:16px; background-color:#ffeed8;"> |
||||
|
<img src="Images/odoo-licencing.png"/> |
||||
|
<h3 style="color:#522065; font-size:24px;" class="pt-1"> |
||||
|
Odoo <br/> Licensing Consultancy</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section style="padding-bottom:100px;" |
||||
|
class="w-100 float-left section-bottom-services mt-5"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#4a1760; padding-top:80px; font-size:26px;"> |
||||
|
Our Industries</h3> <br/> |
||||
|
<div style="font-size:22px;" |
||||
|
class="text-left float-left w-100 pb-5 mb-4">Get |
||||
|
Insight in our odoo knowledge and our marked footprint |
||||
|
in industries |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4 bg-white" |
||||
|
style="border-radius:16px; height:232px;"> |
||||
|
<img class="w-25" src="Images/trading.png"/> |
||||
|
<h3 style="color:#522065; font-size:22px;" class="pt-2"> |
||||
|
Trading </h3> |
||||
|
<p style="font-size:20px;">Easily procure and sell |
||||
|
your products</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4 bg-white" |
||||
|
style="border-radius:16px;height:232px; "> |
||||
|
<img class="w-25" src="Images/trading.png"/> |
||||
|
<h3 style="color:#522065; font-size:22px;" class="pt-2"> |
||||
|
E-commerce & Website </h3> |
||||
|
<p style="font-size:20px;">Mobile friendly, |
||||
|
awe-inspiring product pages</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4 bg-white" |
||||
|
style="border-radius:16px; height:232px;"> |
||||
|
<img class="w-25" src="Images/POS.png"/> |
||||
|
<h3 style="color:#522065; font-size:22px;" class="pt-2"> |
||||
|
POS</h3> |
||||
|
<p style="font-size:20px;">Easy configuration and |
||||
|
convivial experience</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4 bg-white" |
||||
|
style="border-radius:16px; height:232px;"> |
||||
|
<img class="w-25" src="Images/Edu.png"/> |
||||
|
<h3 style="color:#522065; font-size:22px;" class="pt-2"> |
||||
|
Education</h3> |
||||
|
<p style="font-size:20px;">A platform for educational |
||||
|
management</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4 bg-white" |
||||
|
style="border-radius:16px; height:232px;"> |
||||
|
<img class="w-25" src="Images/Production.png"/> |
||||
|
<h3 style="color:#522065; font-size:22px;" class="pt-2"> |
||||
|
Manufacturing</h3> |
||||
|
<p style="font-size:20px;">Plan, track and schedule |
||||
|
your operations</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4 bg-white" |
||||
|
style="border-radius:16px; height:232px;"> |
||||
|
<img class="w-25" src="Images/Production.png"/> |
||||
|
<h3 style="color:#522065; font-size:22px;" class="pt-2"> |
||||
|
Manufacturing</h3> |
||||
|
<p style="font-size:20px;">Plan, track and schedule |
||||
|
your operations</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4 bg-white" |
||||
|
style="border-radius:16px; height:232px;"> |
||||
|
<img class="w-25" src="Images/POS.png"/> |
||||
|
<h3 style="color:#522065; font-size:22px;" class="pt-2"> |
||||
|
Service Management</h3> |
||||
|
<p style="font-size:20px;">Keep track of services |
||||
|
and invoice</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4" |
||||
|
style="border-radius:16px;height:232px; background-color:#fff;"> |
||||
|
<img class="w-25" src="Images/Edu.png"/> |
||||
|
<h3 style="color:#522065; font-size:22px;" class="pt-2"> |
||||
|
Resturant</h3> |
||||
|
<p style="font-size:20px;">Run your bar or restaurant |
||||
|
methodically</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-4 mt-4"> |
||||
|
<div class="w-100 float-left p-4" |
||||
|
style="border-radius:16px; height:232px; background-color:#fff;"> |
||||
|
<img class="w-25" src="Images/Production.png"/> |
||||
|
<h3 style="color:#522065; font-size:22px;" class="pt-2"> |
||||
|
Hotel management</h3> |
||||
|
<p style="font-size:20px;">An all-inclusive hotel |
||||
|
management application</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
</section> |
||||
|
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.1/dist/jquery.slim.min.js"></script> |
||||
|
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script> |
||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"></script> |
||||
|
</body> |
||||
|
</html> |
After Width: | Height: | Size: 663 KiB |
After Width: | Height: | Size: 706 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 520 KiB |
After Width: | Height: | Size: 1.4 MiB |
After Width: | Height: | Size: 602 KiB |
After Width: | Height: | Size: 183 KiB |
After Width: | Height: | Size: 2.0 MiB |
After Width: | Height: | Size: 312 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 69 KiB |
After Width: | Height: | Size: 593 KiB |
After Width: | Height: | Size: 9.7 MiB |
After Width: | Height: | Size: 7.7 MiB |
After Width: | Height: | Size: 849 KiB |
After Width: | Height: | Size: 821 KiB |
After Width: | Height: | Size: 558 KiB |
After Width: | Height: | Size: 3.3 MiB |
After Width: | Height: | Size: 194 KiB |
After Width: | Height: | Size: 199 KiB |
After Width: | Height: | Size: 245 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 2.7 KiB |