@ -0,0 +1,73 @@ |
|||||
|
.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg |
||||
|
:target: https://www.gnu.org/licenses/agpl-3.0-standalone.html |
||||
|
:alt: License: AGPL-3 |
||||
|
|
||||
|
Theme Shopping |
||||
|
============== |
||||
|
Theme Shopping module provide attractive and unique front end theme mainly |
||||
|
suitable for eCommerce website |
||||
|
|
||||
|
Configuration |
||||
|
============= |
||||
|
Top Deal product Flow: |
||||
|
- Enabling and Managing 'Top Deal' for a Product: |
||||
|
* Navigate to: Products -> Top Deal |
||||
|
* Enable the 'Top Deal' boolean field for the desired product |
||||
|
|
||||
|
- Setting Deal Details |
||||
|
* Once enabled, new fields appear under Products -> General Information: |
||||
|
- Offer Price |
||||
|
- Planned Date |
||||
|
* Set the offer price |
||||
|
* Select the time period for the event |
||||
|
* Click the 'Apply' button to confirm the date |
||||
|
|
||||
|
- Deal Visibility and Duration |
||||
|
* The product is added to the Top Deal carousel for the specified period |
||||
|
* When the time period ends, the product is automatically removed from the carousel |
||||
|
|
||||
|
- Product Detail Page Display |
||||
|
* The Top Deal offer price is shown |
||||
|
* The original price is displayed with a strikethrough |
||||
|
|
||||
|
Winter Collections : |
||||
|
Adding Products to the Winter Collection: |
||||
|
- Navigate to: Products -> General Information -> Category |
||||
|
- Under the "Category" section, select "Winter Collection" from the product category options. |
||||
|
- Add the desired products to this category. |
||||
|
- These products will be available in the Winter Collection snippets. |
||||
|
|
||||
|
License |
||||
|
------- |
||||
|
General Public License, Version 3 (AGPL v3). |
||||
|
(https://www.gnu.org/licenses/agpl-3.0-standalone.html) |
||||
|
|
||||
|
Company |
||||
|
------- |
||||
|
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__ |
||||
|
|
||||
|
Credits |
||||
|
------- |
||||
|
Developer: (V17) Sabeel B, V(17) Shikhil Raj |
||||
|
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 `Our Website <https://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: Cybrosys Techno Solutions (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################### |
||||
|
from . import controllers |
||||
|
from . import models |
@ -0,0 +1,82 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################### |
||||
|
{ |
||||
|
'name': 'Theme Shopping', |
||||
|
'version': '17.0.1.0.0', |
||||
|
'category': 'Theme/eCommerce', |
||||
|
'summary': "Theme Shopping is an attractive and modern eCommerce Website " |
||||
|
"theme", |
||||
|
'description': "Theme Shopping is new kind of Theme.The theme is very " |
||||
|
"user-friendly" |
||||
|
"and suitable for your eCommerce website with blog", |
||||
|
'author': 'Cybrosys Techno Solutions', |
||||
|
'company': 'Cybrosys Techno Solutions', |
||||
|
'maintainer': 'Cybrosys Techno Solutions', |
||||
|
'website': "https://www.cybrosys.com", |
||||
|
'depends': ['sale_management', 'website_blog', 'website_sale_wishlist', |
||||
|
'website_sale', |
||||
|
'website_sale_comparison', 'website_mass_mailing'], |
||||
|
'data': [ |
||||
|
'views/header_templates.xml', |
||||
|
'views/footer_templates.xml', |
||||
|
'views/about_us_views.xml', |
||||
|
'views/blog_templates.xml', |
||||
|
'views/snippets/frequently_asked.xml', |
||||
|
'views/snippets/our_team.xml', |
||||
|
'views/snippets/testimonial_snippet.xml', |
||||
|
'views/snippets/offers.xml', |
||||
|
'views/snippets/winter_collections.xml', |
||||
|
'views/snippets/price_collection.xml', |
||||
|
'views/snippets/subscription.xml', |
||||
|
'views/shop_templates.xml', |
||||
|
'views/snippets.xml', |
||||
|
'views/product_template_views.xml', |
||||
|
'views/snippets/top_deal_carousal_templates.xml', |
||||
|
'views/website_sale_wishlist_template.xml', |
||||
|
'data/ir_cron.xml', |
||||
|
], |
||||
|
'demo': ['data/product_category_data.xml'], |
||||
|
'assets': { |
||||
|
'web.assets_frontend': [ |
||||
|
"theme_shopping/static/src/js/top_deal_carousel/" |
||||
|
"top_deal_carousal.js", |
||||
|
"theme_shopping/static/src/js/winter_collection_carousel/" |
||||
|
"winter_products_carousel.js", |
||||
|
"theme_shopping/static/src/js/testimonial.js", |
||||
|
"theme_shopping/static/src/js/subscription/subscription.js", |
||||
|
"theme_shopping/static/src/js/snippet_carousel.js", |
||||
|
"theme_shopping/static/src/css/main.css", |
||||
|
"theme_shopping/static/src/css/owl.carousel.min.css", |
||||
|
"theme_shopping/static/src/css/owl.theme.default.min.css", |
||||
|
"theme_shopping/static/src/js/owl.carousel.js", |
||||
|
"theme_shopping/static/src/js/owl.carousel.min.js", |
||||
|
], |
||||
|
}, |
||||
|
'images': [ |
||||
|
'static/description/banner.jpg', |
||||
|
'static/description/theme_screenshot.jpg', |
||||
|
], |
||||
|
'license': 'AGPL-3', |
||||
|
'installable': True, |
||||
|
'auto_install': False, |
||||
|
'application': False, |
||||
|
} |
@ -0,0 +1,23 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################### |
||||
|
from . import dynamic_snippets |
||||
|
from . import theme_shopping |
@ -0,0 +1,73 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################### |
||||
|
from odoo import http |
||||
|
from odoo.http import request |
||||
|
|
||||
|
|
||||
|
class DynamicSnippets(http.Controller): |
||||
|
"""This class is for the getting values for dynamic product snippets |
||||
|
""" |
||||
|
@http.route('/top_deal_product_snippet', auth='public', type='json', |
||||
|
website=True) |
||||
|
def get_best_products(self): |
||||
|
"""Controller to reflect chosen products in 'Top Deal' |
||||
|
snippet""" |
||||
|
products = [] |
||||
|
products_search_read = request.env['product.product'].with_user( |
||||
|
1).search_read( |
||||
|
[('is_published', '=', True), |
||||
|
('is_top_deal_product', '=', True), |
||||
|
('ready_to_top_deal', '=', True)], |
||||
|
['name', 'image_1920', 'website_id', |
||||
|
'sales_count', 'list_price','actual_price', 'offer_price', 'product_tmpl_id', 'website_url']) |
||||
|
unique_products = [] |
||||
|
seen_tmpl_ids = set() |
||||
|
for product in products_search_read: |
||||
|
if product['product_tmpl_id'][0] not in seen_tmpl_ids: |
||||
|
unique_products.append(product) |
||||
|
seen_tmpl_ids.add(product['product_tmpl_id'][0]) |
||||
|
for product in unique_products: |
||||
|
products.append(product) |
||||
|
response = http.Response( |
||||
|
template='theme_shopping.best_deal_product_carousel_snippet', |
||||
|
qcontext={'products': products}) |
||||
|
return response.render() |
||||
|
|
||||
|
@http.route('/get_winter_product_snippet', auth='public', type='json', |
||||
|
website=True) |
||||
|
def get_winter_products(self): |
||||
|
"""Controller to reflect chosen products in 'Winter Collection' |
||||
|
snippet""" |
||||
|
products = [] |
||||
|
products_search_read = request.env['product.product'].with_user( |
||||
|
1).search_read( |
||||
|
[('is_published', '=', True), |
||||
|
('categ_id', '=', request.env.ref( |
||||
|
'theme_shopping.product_category_winter').id)], |
||||
|
['name', 'image_1920', 'website_id', |
||||
|
'sales_count', 'list_price', 'website_url']) |
||||
|
for product in products_search_read: |
||||
|
products.append(product) |
||||
|
response = http.Response( |
||||
|
template='theme_shopping.winter_product_carousel_snippet', |
||||
|
qcontext={'products': products}) |
||||
|
return response.render() |
@ -0,0 +1,100 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################### |
||||
|
from odoo import http, fields |
||||
|
from odoo.http import request |
||||
|
from odoo.addons.payment import utils as payment_utils |
||||
|
from odoo.tools.json import scriptsafe as json_scriptsafe |
||||
|
from odoo.addons.website_sale.controllers import main |
||||
|
|
||||
|
|
||||
|
class WebsiteSale(main.WebsiteSale): |
||||
|
"""Imported and recalled WebsiteSale class to Patch cart_update_json()""" |
||||
|
@http.route() |
||||
|
def cart_update_json( |
||||
|
self, product_id, line_id=None, add_qty=None, set_qty=None, |
||||
|
display=True, |
||||
|
product_custom_attribute_values=None, |
||||
|
no_variant_attribute_values=None, **kw |
||||
|
): |
||||
|
""" |
||||
|
This route is called : |
||||
|
- When changing quantity from the cart. |
||||
|
- When adding a product from the wishlist. |
||||
|
- When adding a product to cart on the same page (without redirection). |
||||
|
""" |
||||
|
order = request.website.sale_get_order(force_create=True) |
||||
|
if order.state != 'draft': |
||||
|
request.website.sale_reset() |
||||
|
if kw.get('force_create'): |
||||
|
order = request.website.sale_get_order(force_create=True) |
||||
|
else: |
||||
|
return {} |
||||
|
|
||||
|
if product_custom_attribute_values: |
||||
|
product_custom_attribute_values = json_scriptsafe.loads( |
||||
|
product_custom_attribute_values) |
||||
|
|
||||
|
if no_variant_attribute_values: |
||||
|
no_variant_attribute_values = json_scriptsafe.loads( |
||||
|
no_variant_attribute_values) |
||||
|
values = order._cart_update( |
||||
|
product_id=product_id, |
||||
|
line_id=line_id, |
||||
|
add_qty=add_qty, |
||||
|
set_qty=set_qty, |
||||
|
product_custom_attribute_values=product_custom_attribute_values, |
||||
|
no_variant_attribute_values=no_variant_attribute_values, |
||||
|
**kw |
||||
|
) |
||||
|
for line in order.order_line.filtered( |
||||
|
lambda rec: rec.product_id.is_top_deal_product): |
||||
|
line.update({"price_unit": line.product_id.offer_price}) |
||||
|
values['notification_info'] = self._get_cart_notification_information( |
||||
|
order, [values['line_id']]) |
||||
|
values['notification_info']['warning'] = values.pop('warning', '') |
||||
|
request.session['website_sale_cart_quantity'] = order.cart_quantity |
||||
|
if not order.cart_quantity: |
||||
|
request.website.sale_reset() |
||||
|
return values |
||||
|
values['cart_quantity'] = order.cart_quantity |
||||
|
values['minor_amount'] = payment_utils.to_minor_currency_units( |
||||
|
order.amount_total, order.currency_id |
||||
|
), |
||||
|
if not display: |
||||
|
return values |
||||
|
|
||||
|
values['cart_ready'] = order._is_cart_ready() |
||||
|
values['website_sale.cart_lines'] = request.env[ |
||||
|
'ir.ui.view']._render_template( |
||||
|
"website_sale.cart_lines", { |
||||
|
'website_sale_order': order, |
||||
|
'date': fields.Date.today(), |
||||
|
'suggested_products': order._cart_accessories() |
||||
|
} |
||||
|
) |
||||
|
values['website_sale.total'] = request.env[ |
||||
|
'ir.ui.view']._render_template( |
||||
|
"website_sale.total", { |
||||
|
'website_sale_order': order, |
||||
|
} |
||||
|
) |
||||
|
return values |
@ -0,0 +1,16 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<odoo noupdate="1"> |
||||
|
<data> |
||||
|
<!-- crone job checking top deal products --> |
||||
|
<record id="ir_cron_action_top_deal" model="ir.cron"> |
||||
|
<field name="name">Top deal Offer Checking</field> |
||||
|
<field name="model_id" ref="model_product_template"/> |
||||
|
<field name="state">code</field> |
||||
|
<field name="code">model.check_top_deal() |
||||
|
</field> |
||||
|
<field name="interval_number">1</field> |
||||
|
<field name="interval_type">days</field> |
||||
|
<field name="numbercall">-1</field> |
||||
|
</record> |
||||
|
</data> |
||||
|
</odoo> |
@ -0,0 +1,8 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<odoo noupdate="1"> |
||||
|
<!-- Demo product category for winter products --> |
||||
|
<record id="product_category_winter" model="product.category"> |
||||
|
<field name="parent_id" ref="product.product_category_1"/> |
||||
|
<field name="name">Winter Collection</field> |
||||
|
</record> |
||||
|
</odoo> |
@ -0,0 +1,6 @@ |
|||||
|
## Module <theme_shopping> |
||||
|
|
||||
|
#### 25.10.2024 |
||||
|
#### Version 17.0.1.0.0 |
||||
|
#### ADD |
||||
|
- Initial commit for Theme Shopping |
@ -0,0 +1,24 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################### |
||||
|
from . import product_template |
||||
|
from . import product_wishlist |
||||
|
from . import theme_utils |
@ -0,0 +1,103 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################### |
||||
|
from odoo import api, fields, models |
||||
|
from odoo.exceptions import ValidationError |
||||
|
|
||||
|
class ProductTemplate(models.Model): |
||||
|
_inherit = 'product.template' |
||||
|
|
||||
|
is_top_deal_product = fields.Boolean(string="Top Deal Product", |
||||
|
help="Whether the product is listed " |
||||
|
"in the top deal product", |
||||
|
store=True) |
||||
|
offer_price = fields.Float(string="Offer Price", |
||||
|
help="Set an offer price to price to " |
||||
|
"display on website") |
||||
|
time_period_from = fields.Date(string="From Date", |
||||
|
help="From date for offer price visibility", |
||||
|
default=lambda self: fields.Date.today()) |
||||
|
time_period_end = fields.Date(string="End Date", |
||||
|
help="End date for offer price visibility", |
||||
|
default=lambda self: fields.Date.today()) |
||||
|
ready_to_top_deal = fields.Boolean(string="Ready to Top Deal", |
||||
|
help="Determine whether the product is ready to be featured as a top deal.") |
||||
|
actual_price = fields.Monetary(string="Actual Price") |
||||
|
|
||||
|
def _get_combination_info(self, combination=False, product_id=False, |
||||
|
add_qty=1, parent_combination=False, |
||||
|
only_template=False): |
||||
|
"""Return the variant info based on its combination. |
||||
|
See `_get_combination_info` for more information. |
||||
|
""" |
||||
|
combination_info = super()._get_combination_info( |
||||
|
combination=combination, product_id=product_id, add_qty=add_qty, |
||||
|
parent_combination=parent_combination, only_template=only_template) |
||||
|
combination_info['offer_price'] = self.offer_price |
||||
|
return combination_info |
||||
|
|
||||
|
@api.onchange('is_top_deal_product') |
||||
|
def onchange_is_top_deal_product(self): |
||||
|
"""Set the offer price as new sale price and old sales price saves |
||||
|
into new field """ |
||||
|
if self.is_top_deal_product: |
||||
|
self.actual_price = self.list_price |
||||
|
self.time_period_from = fields.Date.today() |
||||
|
self.time_period_end = fields.Date.today() |
||||
|
config = self.env['res.config.settings'].create( |
||||
|
{'group_product_price_comparison': True}) |
||||
|
config.execute() |
||||
|
else: |
||||
|
self.list_price = self.actual_price |
||||
|
self.compare_list_price = 0.0 |
||||
|
self.ready_to_top_deal = False |
||||
|
|
||||
|
def check_top_deal(self): |
||||
|
"""Check the timeframe of the top deal offer.""" |
||||
|
data = self.env['product.template'].search( |
||||
|
[('is_top_deal_product', '=', 'True')]) |
||||
|
today = fields.Date.today() |
||||
|
for rec in data: |
||||
|
if today > rec.time_period_end: |
||||
|
rec.write({'ready_to_top_deal': False, |
||||
|
'list_price': rec.actual_price, |
||||
|
'compare_list_price': 0.0 |
||||
|
}) |
||||
|
|
||||
|
elif rec.time_period_from <= today <= rec.time_period_end: |
||||
|
if rec.offer_price < rec.actual_price: |
||||
|
rec.write({'ready_to_top_deal': True, |
||||
|
'list_price': rec.offer_price, |
||||
|
'compare_list_price': rec.actual_price}) |
||||
|
else: |
||||
|
rec.write({'ready_to_top_deal': True, |
||||
|
'list_price': rec.actual_price, |
||||
|
'compare_list_price': 0.0 |
||||
|
}) |
||||
|
elif rec.time_period_from > rec.time_period_end: |
||||
|
rec.write({'ready_to_top_deal': False}) |
||||
|
raise ValidationError("From date should be less than end date") |
||||
|
else: |
||||
|
rec.write({'ready_to_top_deal': False}) |
||||
|
|
||||
|
def apply_top_deal_time(self): |
||||
|
"""Method for set time period for top deal products.""" |
||||
|
self.check_top_deal() |
@ -0,0 +1,47 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################### |
||||
|
from odoo import api, models |
||||
|
|
||||
|
|
||||
|
class ProductWishlist(models.Model): |
||||
|
"""Inherited product_wishlist to overwrite a function""" |
||||
|
_inherit = 'product.wishlist' |
||||
|
|
||||
|
@api.model |
||||
|
def _add_to_wishlist(self, pricelist_id, currency_id, website_id, price, |
||||
|
product_id, partner_id=False): |
||||
|
"""Over-writing the function to check conditions""" |
||||
|
existing_product = self.env['product.wishlist'].search_count([ |
||||
|
('product_id', '=', product_id)]) |
||||
|
if existing_product == 1: |
||||
|
return False |
||||
|
else: |
||||
|
wish = self.env['product.wishlist'].create({ |
||||
|
'partner_id': partner_id, |
||||
|
'product_id': product_id, |
||||
|
'currency_id': currency_id, |
||||
|
'pricelist_id': pricelist_id, |
||||
|
'price': price, |
||||
|
'website_id': website_id, |
||||
|
}) |
||||
|
total_wish = self.env['product.wishlist'].search_count([]) |
||||
|
return wish, total_wish |
@ -0,0 +1,41 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################### |
||||
|
from odoo import api, models |
||||
|
|
||||
|
|
||||
|
class ThemeUtils(models.AbstractModel): |
||||
|
""" Class for enable and disable templates when using theme shopping""" |
||||
|
_inherit = 'theme.utils' |
||||
|
|
||||
|
@api.model |
||||
|
def _theme_shopping_post_copy(self, mod): |
||||
|
""" Enable and disable templates when using coffee shop theme """ |
||||
|
self.enable_view("website_sale.products_categories") |
||||
|
self.enable_view("website_sale.products_description") |
||||
|
self.enable_view("website_sale.products_design_card") |
||||
|
self.enable_view("website_sale.products_add_to_cart") |
||||
|
self.enable_view("website_sale.product_comment") |
||||
|
self.enable_view("website_sale.option_collapse_products_categories") |
||||
|
self.enable_view("website_sale.product_buy_now") |
||||
|
self.disable_view("website_sale.products_categories_top") |
||||
|
self.disable_view("website_sale.products_design_grid") |
||||
|
self.disable_view("website_sale_comparison.add_to_compare") |
After Width: | Height: | Size: 198 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 202 KiB |
After Width: | Height: | Size: 78 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 84 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 415 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 138 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 819 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 391 KiB |
After Width: | Height: | Size: 1.9 MiB |
After Width: | Height: | Size: 127 KiB |
After Width: | Height: | Size: 612 KiB |
After Width: | Height: | Size: 78 KiB |
After Width: | Height: | Size: 334 KiB |
After Width: | Height: | Size: 108 KiB |
After Width: | Height: | Size: 132 KiB |
After Width: | Height: | Size: 691 KiB |
After Width: | Height: | Size: 1.0 MiB |
After Width: | Height: | Size: 108 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: 9.5 KiB |
After Width: | Height: | Size: 1.2 MiB |
After Width: | Height: | Size: 655 KiB |
After Width: | Height: | Size: 289 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: 1.6 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 336 KiB |
After Width: | Height: | Size: 643 KiB |
After Width: | Height: | Size: 82 KiB |
After Width: | Height: | Size: 68 KiB |
After Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 1.3 MiB |
After Width: | Height: | Size: 194 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 149 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 119 KiB |
@ -0,0 +1,780 @@ |
|||||
|
<!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> |
||||
|
<div class="container position-relative py-3"> |
||||
|
<div class="position-absolute d-none d-lg-block" |
||||
|
style="width:100vw; height:100%; margin-left:calc((1080px - 100vw) / 2); margin-top:-30px"> |
||||
|
</div> |
||||
|
<div class="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> |
||||
|
</div> |
||||
|
<!--- closed section-top-menu ---> |
||||
|
<div class="pt-5 w-100 float-left"> |
||||
|
<div class="text-center"> |
||||
|
</div> |
||||
|
<div class="text-center mt-0 pt-0" style=""> |
||||
|
<img class="w-100" src="images/banner-img.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!--- closed section-banner-img ---> |
||||
|
<div class="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:#004f73; font-size:24px;"> |
||||
|
Theme Shopping</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;">Snippets</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!--- closed section-level-up ---> |
||||
|
<div class=" float-left w-100 mt-5 pt-4"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<h3 class="text-uppercase font-weight-bold" style="color:#282828; font-size:104px;">Theme<br/> |
||||
|
<span style="color:#004f73; font-size:162px;">Shopping</span><br/> |
||||
|
</h3> |
||||
|
</div> |
||||
|
<div class="col-lg-8"> |
||||
|
<p class="text-dark" style="padding-right:0px;">Theme Shopping was created by Cybrosys Technology |
||||
|
Solutions. This theme makes the website more unique and attractive through its style and |
||||
|
custom-designed snippets, mainly suitable for eCommerce websites.</p> |
||||
|
|
||||
|
<p class="text-dark" style="padding-right:0px;">Provides Structural snippets like Collections, |
||||
|
Subscribe, Choose , Cards, Banner and Dynamic content snippets like Asked Questions, Best Seller |
||||
|
Products, Most Rated Products, New Arrivals</p> |
||||
|
</div> |
||||
|
<div class="col-lg-4 text-left"> |
||||
|
<div class="content-area-content position-relative"> |
||||
|
<img class="position-absolute w-50" style="top:-18px; left:100px;" |
||||
|
src="images/home.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- closed section-content-area --> |
||||
|
<div class=" float-left w-100"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<h3 class="text-uppercase pt-5 mt-5 font-weight-bold" style="color:#004f73;">Key features</h3> |
||||
|
</div> |
||||
|
<div class="col-lg-6"> |
||||
|
<div class="key-features-1 mt-4 p-3" |
||||
|
style="background-color:#FDD57C; border:3px solid #000; height:189px; 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;">Unique and Attractive custom-designed |
||||
|
snippets.</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 times</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:#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> |
||||
|
</div> |
||||
|
<div class=" 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:#004f73; 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;">Shop</li> |
||||
|
<li style="list-style:none; font-size:24px;">Blog</li> |
||||
|
<li style="list-style:none; font-size:24px;">About us</li> |
||||
|
<li style="list-style:none; font-size:24px;">Contact us</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class=" w-100 float-left 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/banner-img.png"/>--> |
||||
|
<!-- </div>--> |
||||
|
<!-- </div>--> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center mt-5 pt-5"> |
||||
|
<img class="w-100" src="images/main.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!--- closed white-theme ---> |
||||
|
<div class=" pt-5 mt-5 float-left w-100"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-8"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#004f73; line-height:44px; font-size:24px;">Mobile Responsive Design</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-4"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div 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/main_mob.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="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:#004f73; line-height:32px; font-size:24px;">About us 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> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class=" 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_us.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="pt-5 mt-5 float-left w-100"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-8"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#004f73; line-height:47px; font-size:24px;">Mobile Responsive Design</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-4"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class=" w-100 float-left pt-5 mt-5" style="background-color:#0d5272;"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center"> |
||||
|
<img class="w-100" src="images/About-us-mobile-temp.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="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:#004f73; line-height:32px; font-size:24px;">Shop</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> |
||||
|
</div> |
||||
|
<div class="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/shop_page.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="pt-5 mt-5 float-left w-100"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-8"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#004f73; line-height:44px; font-size:24px;">Mobile Responsive Design</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-4"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class=" w-100 float-left" style="background-color:#0d5272;"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center mt-5"> |
||||
|
<img class="w-100" src="images/shop-mob.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="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:#004f73; line-height:32px; font-size:24px;">Blog 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> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div 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/blog.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class=" pt-5 mt-5 float-left w-100"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-8"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#004f73; line-height:44px; font-size:24px;">Mobile Responsive Design</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-4"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class=" w-100 float-left" style="background-color:#0d5272;"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center mt-3 pt-5"> |
||||
|
<img class="w-100" src="images/blog_mob-temp.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class=" 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:#004f73; line-height:32px; font-size:24px;">Contact us Page</h3> |
||||
|
<div class="w-50 float-left text-center arrow-black" style="margin-left:18px;"><img |
||||
|
class="w-100" |
||||
|
src="images/arrow-black.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div 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/contact.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class=" float-left w-100 pt-5 mt-5" style=""> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold mr-4 w-25" |
||||
|
style="color:#004f73; font-size:24px;">Structural Snippets</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;">Our Team</li> |
||||
|
<li style="list-style:none; font-size:24px;">Product Offers |
||||
|
</li> |
||||
|
<li style="list-style:none; font-size:24px;">Frequently Asked Questions</li> |
||||
|
<li style="list-style:none; font-size:24px;">Price Collection</li> |
||||
|
<li style="list-style:none; font-size:24px;">Subscription</li> |
||||
|
<li style="list-style:none; font-size:24px;"> |
||||
|
Testimonial |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h2 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#004f73; font-size:24px;">Our Team</h2> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center"> |
||||
|
<img class="w-100" |
||||
|
src="images/members.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h2 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#004f73; font-size:24px;">Product Offers</h2> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center"> |
||||
|
<img class="w-100" |
||||
|
src="images/offfers.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h2 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#004f73; font-size:24px;">Frequently Asked Questions</h2> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center"> |
||||
|
<img class="w-100" |
||||
|
src="images/snippet_2.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h2 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#004f73; font-size:24px;">Price Collection</h2> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center"> |
||||
|
<img class="w-100" |
||||
|
src="images/snippet_1.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h2 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#004f73; font-size:24px;">Subscription</h2> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center"> |
||||
|
<img class="w-100" |
||||
|
src="images/subscrip.png"/> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h2 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#004f73; font-size:24px;">Testimonial</h2> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center"> |
||||
|
<img class="w-100" |
||||
|
src="images/snippet_3.png"/> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold mr-4 w-25" |
||||
|
style="color:#004f73; font-size:24px;">Dynamic Content Snippets</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;">Top Deal Products</li> |
||||
|
<li style="list-style:none; font-size:24px;">Winter Collections</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h2 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#004f73; font-size:24px;">Top Deal Products</h2> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center"> |
||||
|
<img class="w-100" |
||||
|
src="images/top_deal_snippet_01.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<p class="text-dark" style="padding-right:0px;"> |
||||
|
Please enable 'Top Deal Products' then proceed to enter the offer price and set the event's time period. |
||||
|
Confirm the selected date by clicking the 'Apply' button in the product form. |
||||
|
</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center"> |
||||
|
<img class="w-100" |
||||
|
src="images/dyn_snippet_1.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6"> |
||||
|
<h2 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#004f73; font-size:24px;">Winter Collections</h2> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center"> |
||||
|
<img class="w-100" |
||||
|
src="images/winter_collection_sinppet_01.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<p class="text-dark" style="padding-right:0px;">Please Add A Product Under the Winter collection Product Category.</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<div class="text-center"> |
||||
|
<img class="w-100" |
||||
|
src="images/dyn_snippet_2.png"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="padding-bottom:100px;" class="w-100 float-left 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:#004f73; 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> |
||||
|
</div> |
||||
|
<div style="padding-bottom:100px; background-color:#fffae2;" class="w-100 float-left mt-5"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<h3 class="text-uppercase float-left font-weight-bold" |
||||
|
style="color:#004f73; 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, 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">Restaurant</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> |
||||
|
</div> |
||||
|
</div> |
||||
|
<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> |
||||
|
</div> |
||||
|
</body> |
||||
|
</html> |
After Width: | Height: | Size: 344 KiB |
@ -0,0 +1,186 @@ |
|||||
|
/** |
||||
|
* Owl Carousel v2.3.4 |
||||
|
* Copyright 2013-2018 David Deutsch |
||||
|
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE |
||||
|
*/ |
||||
|
/* |
||||
|
* Owl Carousel - Core |
||||
|
*/ |
||||
|
.owl-carousel { |
||||
|
display: none; |
||||
|
width: 100%; |
||||
|
-webkit-tap-highlight-color: transparent; |
||||
|
/* position relative and z-index fix webkit rendering fonts issue */ |
||||
|
position: relative; |
||||
|
z-index: 1; } |
||||
|
.owl-carousel .owl-stage { |
||||
|
position: relative; |
||||
|
-ms-touch-action: pan-Y; |
||||
|
touch-action: manipulation; |
||||
|
-moz-backface-visibility: hidden; |
||||
|
/* fix firefox animation glitch */ } |
||||
|
.owl-carousel .owl-stage:after { |
||||
|
content: "."; |
||||
|
display: block; |
||||
|
clear: both; |
||||
|
visibility: hidden; |
||||
|
line-height: 0; |
||||
|
height: 0; } |
||||
|
.owl-carousel .owl-stage-outer { |
||||
|
position: relative; |
||||
|
overflow: hidden; |
||||
|
/* fix for flashing background */ |
||||
|
-webkit-transform: translate3d(0px, 0px, 0px); } |
||||
|
.owl-carousel .owl-wrapper, |
||||
|
.owl-carousel .owl-item { |
||||
|
-webkit-backface-visibility: hidden; |
||||
|
-moz-backface-visibility: hidden; |
||||
|
-ms-backface-visibility: hidden; |
||||
|
-webkit-transform: translate3d(0, 0, 0); |
||||
|
-moz-transform: translate3d(0, 0, 0); |
||||
|
-ms-transform: translate3d(0, 0, 0); } |
||||
|
.owl-carousel .owl-item { |
||||
|
position: relative; |
||||
|
min-height: 1px; |
||||
|
float: left; |
||||
|
-webkit-backface-visibility: hidden; |
||||
|
-webkit-tap-highlight-color: transparent; |
||||
|
-webkit-touch-callout: none; } |
||||
|
.owl-carousel .owl-item img { |
||||
|
display: block; |
||||
|
width: 100%; } |
||||
|
.owl-carousel .owl-nav.disabled, |
||||
|
.owl-carousel .owl-dots.disabled { |
||||
|
display: none; } |
||||
|
.owl-carousel .owl-nav .owl-prev, |
||||
|
.owl-carousel .owl-nav .owl-next, |
||||
|
.owl-carousel .owl-dot { |
||||
|
cursor: pointer; |
||||
|
-webkit-user-select: none; |
||||
|
-khtml-user-select: none; |
||||
|
-moz-user-select: none; |
||||
|
-ms-user-select: none; |
||||
|
user-select: none; } |
||||
|
.owl-carousel .owl-nav button.owl-prev, |
||||
|
.owl-carousel .owl-nav button.owl-next, |
||||
|
.owl-carousel button.owl-dot { |
||||
|
background: none; |
||||
|
color: inherit; |
||||
|
border: none; |
||||
|
padding: 0 !important; |
||||
|
font: inherit; } |
||||
|
.owl-carousel.owl-loaded { |
||||
|
display: block; } |
||||
|
.owl-carousel.owl-loading { |
||||
|
opacity: 0; |
||||
|
display: block; } |
||||
|
.owl-carousel.owl-hidden { |
||||
|
opacity: 0; } |
||||
|
.owl-carousel.owl-refresh .owl-item { |
||||
|
visibility: hidden; } |
||||
|
.owl-carousel.owl-drag .owl-item { |
||||
|
-ms-touch-action: pan-y; |
||||
|
touch-action: pan-y; |
||||
|
-webkit-user-select: none; |
||||
|
-moz-user-select: none; |
||||
|
-ms-user-select: none; |
||||
|
user-select: none; } |
||||
|
.owl-carousel.owl-grab { |
||||
|
cursor: move; |
||||
|
cursor: grab; } |
||||
|
.owl-carousel.owl-rtl { |
||||
|
direction: rtl; } |
||||
|
.owl-carousel.owl-rtl .owl-item { |
||||
|
float: right; } |
||||
|
|
||||
|
/* No Js */ |
||||
|
.no-js .owl-carousel { |
||||
|
display: block; } |
||||
|
|
||||
|
/* |
||||
|
* Owl Carousel - Animate Plugin |
||||
|
*/ |
||||
|
.owl-carousel .animated { |
||||
|
animation-duration: 1000ms; |
||||
|
animation-fill-mode: both; } |
||||
|
|
||||
|
.owl-carousel .owl-animated-in { |
||||
|
z-index: 0; } |
||||
|
|
||||
|
.owl-carousel .owl-animated-out { |
||||
|
z-index: 1; } |
||||
|
|
||||
|
.owl-carousel .fadeOut { |
||||
|
animation-name: fadeOut; } |
||||
|
|
||||
|
@keyframes fadeOut { |
||||
|
0% { |
||||
|
opacity: 1; } |
||||
|
100% { |
||||
|
opacity: 0; } } |
||||
|
|
||||
|
/* |
||||
|
* Owl Carousel - Auto Height Plugin |
||||
|
*/ |
||||
|
.owl-height { |
||||
|
transition: height 500ms ease-in-out; } |
||||
|
|
||||
|
/* |
||||
|
* Owl Carousel - Lazy Load Plugin |
||||
|
*/ |
||||
|
.owl-carousel .owl-item { |
||||
|
/** |
||||
|
This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong |
||||
|
calculation of the height of the owl-item that breaks page layouts |
||||
|
*/ } |
||||
|
.owl-carousel .owl-item .owl-lazy { |
||||
|
opacity: 0; |
||||
|
transition: opacity 400ms ease; } |
||||
|
.owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) { |
||||
|
max-height: 0; } |
||||
|
.owl-carousel .owl-item img.owl-lazy { |
||||
|
transform-style: preserve-3d; } |
||||
|
|
||||
|
/* |
||||
|
* Owl Carousel - Video Plugin |
||||
|
*/ |
||||
|
.owl-carousel .owl-video-wrapper { |
||||
|
position: relative; |
||||
|
height: 100%; |
||||
|
background: #000; } |
||||
|
|
||||
|
.owl-carousel .owl-video-play-icon { |
||||
|
position: absolute; |
||||
|
height: 80px; |
||||
|
width: 80px; |
||||
|
left: 50%; |
||||
|
top: 50%; |
||||
|
margin-left: -40px; |
||||
|
margin-top: -40px; |
||||
|
background: url("owl.video.play.png") no-repeat; |
||||
|
cursor: pointer; |
||||
|
z-index: 1; |
||||
|
-webkit-backface-visibility: hidden; |
||||
|
transition: transform 100ms ease; } |
||||
|
|
||||
|
.owl-carousel .owl-video-play-icon:hover { |
||||
|
-ms-transform: scale(1.3, 1.3); |
||||
|
transform: scale(1.3, 1.3); } |
||||
|
|
||||
|
.owl-carousel .owl-video-playing .owl-video-tn, |
||||
|
.owl-carousel .owl-video-playing .owl-video-play-icon { |
||||
|
display: none; } |
||||
|
|
||||
|
.owl-carousel .owl-video-tn { |
||||
|
opacity: 0; |
||||
|
height: 100%; |
||||
|
background-position: center center; |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: contain; |
||||
|
transition: opacity 400ms ease; } |
||||
|
|
||||
|
.owl-carousel .owl-video-frame { |
||||
|
position: relative; |
||||
|
z-index: 1; |
||||
|
height: 100%; |
||||
|
width: 100%; } |
@ -0,0 +1,6 @@ |
|||||
|
/** |
||||
|
* Owl Carousel v2.3.4 |
||||
|
* Copyright 2013-2018 David Deutsch |
||||
|
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE |
||||
|
*/ |
||||
|
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%} |
@ -0,0 +1,6 @@ |
|||||
|
/** |
||||
|
* Owl Carousel v2.3.4 |
||||
|
* Copyright 2013-2018 David Deutsch |
||||
|
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE |
||||
|
*/ |
||||
|
.owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791} |
After Width: | Height: | Size: 4.2 MiB |
After Width: | Height: | Size: 634 KiB |
After Width: | Height: | Size: 15 MiB |
After Width: | Height: | Size: 3.8 MiB |
After Width: | Height: | Size: 1.3 MiB |
After Width: | Height: | Size: 471 B |
After Width: | Height: | Size: 492 B |
After Width: | Height: | Size: 191 KiB |
After Width: | Height: | Size: 832 KiB |
After Width: | Height: | Size: 239 KiB |
After Width: | Height: | Size: 93 KiB |
After Width: | Height: | Size: 135 KiB |
After Width: | Height: | Size: 146 KiB |
After Width: | Height: | Size: 3.2 MiB |
After Width: | Height: | Size: 1.3 MiB |
After Width: | Height: | Size: 1015 B |
After Width: | Height: | Size: 134 KiB |
After Width: | Height: | Size: 2.6 MiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 5.8 MiB |
After Width: | Height: | Size: 102 KiB |
After Width: | Height: | Size: 12 KiB |