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