Bläddra i källkod

kingfisher 11

edgar 6 år sedan
förälder
incheckning
b6f3152f79
62 ändrade filer med 965 tillägg och 1492 borttagningar
  1. 5 4
      __manifest__.py
  2. 48 78
      controllers/main.py
  3. 30 2
      doc/changelog.rst
  4. 12 30
      models/products.py
  5. 0 3
      models/slider.py
  6. 21 29
      models/website.py
  7. 3 4
      security/ir.model.access.csv
  8. 10 1
      static/description/index.html
  9. 4 13
      static/src/js/custom.js
  10. 0 0
      static/src/less/box-layout.less
  11. 22 0
      static/src/less/custom_theme.less
  12. 38 59
      static/src/less/footer.less
  13. 129 179
      static/src/less/header.less
  14. 28 0
      static/src/less/mixins.less
  15. 0 0
      static/src/less/mobile.less
  16. 1 0
      static/src/less/options/bg_patterns/bg-pattern-1.less
  17. 1 0
      static/src/less/options/bg_patterns/bg-pattern-2.less
  18. 1 0
      static/src/less/options/bg_patterns/bg-pattern-3.less
  19. 1 0
      static/src/less/options/bg_patterns/bg-pattern-4.less
  20. 1 0
      static/src/less/options/bg_patterns/bg-pattern-5.less
  21. 1 0
      static/src/less/options/bg_patterns/bg-pattern-6.less
  22. 22 0
      static/src/less/options/colors/colors.less
  23. 22 0
      static/src/less/options/colors/theme_aqua.less
  24. 22 0
      static/src/less/options/colors/theme_blue.less
  25. 22 0
      static/src/less/options/colors/theme_brown.less
  26. 22 0
      static/src/less/options/colors/theme_orange.less
  27. 22 0
      static/src/less/options/colors/theme_pink.less
  28. 2 2
      static/src/less/options/fonts/font-style-lato-font.less
  29. 2 2
      static/src/less/options/fonts/font-style-open-sans-font.less
  30. 2 2
      static/src/less/options/fonts/font-style-raleway-font.less
  31. 2 2
      static/src/less/options/fonts/font-style-source-sans-pro-font.less
  32. 2 2
      static/src/less/options/fonts/font-style-source-serif-pro-font.less
  33. 4 0
      static/src/less/options/fonts/font-style-varela-round-font.less
  34. 1 1
      static/src/less/options/layout/boxed.less
  35. 81 135
      static/src/less/product.less
  36. 25 37
      static/src/less/style.less
  37. 181 208
      static/src/less/web.less
  38. 7 0
      static/src/less/website.less
  39. 0 22
      static/src/scss/custom_theme.scss
  40. 0 27
      static/src/scss/mixins.scss
  41. 0 1
      static/src/scss/options/bg_patterns/bg-pattern-1.scss
  42. 0 1
      static/src/scss/options/bg_patterns/bg-pattern-2.scss
  43. 0 1
      static/src/scss/options/bg_patterns/bg-pattern-3.scss
  44. 0 1
      static/src/scss/options/bg_patterns/bg-pattern-4.scss
  45. 0 1
      static/src/scss/options/bg_patterns/bg-pattern-5.scss
  46. 0 1
      static/src/scss/options/bg_patterns/bg-pattern-6.scss
  47. 0 22
      static/src/scss/options/colors/colors.scss
  48. 0 22
      static/src/scss/options/colors/theme_aqua.scss
  49. 0 22
      static/src/scss/options/colors/theme_blue.scss
  50. 0 22
      static/src/scss/options/colors/theme_brown.scss
  51. 0 22
      static/src/scss/options/colors/theme_orange.scss
  52. 0 22
      static/src/scss/options/colors/theme_pink.scss
  53. 0 4
      static/src/scss/options/fonts/font-style-varela-round-font.scss
  54. 0 290
      static/src/scss/theme_common.scss
  55. 0 7
      static/src/scss/website.scss
  56. 8 13
      views/assets.xml
  57. 3 3
      views/product_view.xml
  58. 1 1
      views/slider_view.xml
  59. 44 49
      views/snippets.xml
  60. 62 95
      views/theme.xml
  61. 49 49
      views/theme_customize.xml
  62. 1 1
      views/website_config_view.xml

+ 5 - 4
__manifest__.py

@@ -48,18 +48,16 @@ furnishing industry
 odoo 9 theme
 odoo 10 theme
 odoo 11 theme
-odoo 12 theme
 custom odoo theme
     """,
     'category': 'Theme/Ecommerce',
-    'version': '12.0.1.0.1',
+    'version': '11.0.1.0.5',
     'license': 'OPL-1',
     'author': 'AppJetty',
     'website': 'https://www.appjetty.com/',
     'depends': [
-        'sale_management',
-        'website_theme_install',
         'website_sale',
+        'sale_management',
         'mass_mailing',
         'website_blog',
     ],
@@ -74,6 +72,9 @@ custom odoo theme
         'data/data.xml',
         'views/theme.xml',
     ],
+    'demo': [
+        # 'data/demo_homepage.xml',
+    ],
     'support': 'support@appjetty.com',
     'application': True,
     'live_test_url': 'http://theme-kingfisher-pro-fashion.appjetty.com',

+ 48 - 78
controllers/main.py

@@ -1,9 +1,8 @@
 # -*- coding: utf-8 -*-
 # Part of AppJetty. See LICENSE file for full copyright and licensing details.
 
-import re
-import math
-from odoo import http, SUPERUSER_ID, fields
+import re, math
+from odoo import http,SUPERUSER_ID
 from odoo.http import request
 from odoo.addons.http_routing.models.ir_http import slug
 from odoo.addons.website.controllers.main import QueryURL
@@ -13,6 +12,7 @@ from odoo.addons.website_sale.controllers.main import WebsiteSale
 from odoo.addons.website_sale.controllers.main import TableCompute
 
 
+
 class KingfisherProSliderSettings(http.Controller):
 
     @http.route(['/kingfisher_pro/pro_get_options'], type='json', auth="public", website=True)
@@ -35,28 +35,23 @@ class KingfisherProSliderSettings(http.Controller):
                 pricelist = request.website.get_current_pricelist()
                 context = dict(request.context, pricelist=int(pricelist))
             else:
-                pricelist = pool.get('product.pricelist').browse(
-                    context['pricelist'])
+                pricelist = pool.get('product.pricelist').browse(context['pricelist'])
 
             context.update({'pricelist': pricelist.id})
             values = {
                 'slider_header': slider_header
             }
             if slider_header.prod_cat_type == 'product':
-                values.update(
-                    {'slider_details': slider_header.collections_product})
+                values.update({'slider_details': slider_header.collections_product})
             if slider_header.prod_cat_type == 'category':
-                values.update(
-                    {'slider_details': slider_header.collections_category})
+                values.update({'slider_details': slider_header.collections_category})
 
-            from_currency = pool['res.users'].sudo().browse(
-                uid).company_id.currency_id
+            from_currency = pool['res.users'].sudo().browse(uid).company_id.currency_id
             to_currency = pricelist.currency_id
+            compute_currency = lambda price: pool['res.currency']._compute(from_currency, to_currency, price)
 
-            def compute_currency(price): return pool['res.currency']._convert(
-                price, from_currency, to_currency, fields.Date.today())
             values.update({'slider_type': slider_header.prod_cat_type,
-                           'compute_currency': compute_currency, })
+                            'compute_currency': compute_currency,})
             return request.render("kingfisher_pro.kingfisher_pro_pro_cat_slider_view", values)
 
     @http.route(['/kingfisher_pro/pro_image_effect_config'], type='json', auth='public', website=True)
@@ -143,16 +138,12 @@ class KingfisherProSliderSettings(http.Controller):
                 pricelist = request.website.get_current_pricelist()
                 context = dict(request.context, pricelist=int(pricelist))
             else:
-                pricelist = pool.get('product.pricelist').browse(
-                    context['pricelist'])
+                pricelist = pool.get('product.pricelist').browse(context['pricelist'])
 
             context.update({'pricelist': pricelist.id})
-            from_currency = pool['res.users'].sudo().browse(
-                SUPERUSER_ID).company_id.currency_id
+            from_currency = pool['res.users'].sudo().browse(SUPERUSER_ID).company_id.currency_id
             to_currency = pricelist.currency_id
-
-            def compute_currency(price): return pool['res.currency']._convert(
-                price, from_currency, to_currency, fields.Date.today())
+            compute_currency = lambda price: pool['res.currency']._compute(from_currency, to_currency, price)
             values = {
                 'slider_details': slider_header,
                 'slider_header': slider_header,
@@ -190,26 +181,24 @@ class KingfisherProBrandSlider(WebsiteSale):
                 auth='public',
                 website=True)
     def shop(self, page=0, category=None, brand=None, search='', ppg=False, **post):
-        add_qty = int(post.get('add_qty', 1))
         if brand:
             req_ctx = request.context.copy()
             req_ctx.setdefault('brand_id', int(brand))
             request.context = req_ctx
         result = super(KingfisherProBrandSlider, self).shop(
             page=page, category=category, brand=brand, search=search, **post)
-
+        
         # odoo11
         # for displaying after whishlist or add to cart button n product_detail page
         if request.env.get('product.attribute.category') != None:
-            compare_tmpl_obj = request.env.ref(
-                'website_sale_comparison.product_add_to_compare')
+            compare_tmpl_obj = request.env.ref('website_sale_comparison.product_add_to_compare')
             if compare_tmpl_obj and compare_tmpl_obj.priority != 20:
                 compare_tmpl_obj.sudo().write({'priority': 20})
 
+
         sort_order = ""
         cat_id = []
-        page_no = request.env['product.per.page.no'].sudo().search(
-            [('set_default_check', '=', True)])
+        page_no = request.env['product.per.page.no'].sudo().search([('set_default_check', '=', True)])
         if page_no:
             ppg = page_no.name
         else:
@@ -222,8 +211,7 @@ class KingfisherProBrandSlider(WebsiteSale):
         product_obj = request.env['product.template']
 
         attrib_list = request.httprequest.args.getlist('attrib')
-        attrib_values = [list(map(int, v.split("-")))
-                         for v in attrib_list if v]
+        attrib_values = [list(map(int, v.split("-"))) for v in attrib_list if v]
         attributes_ids = set([v[0] for v in attrib_values])
         attrib_set = set([v[1] for v in attrib_values])
         domain = request.website.sale_product_domain()
@@ -231,17 +219,16 @@ class KingfisherProBrandSlider(WebsiteSale):
         url = "/shop"
 
         keep = QueryURL('/shop', category=category and int(category), search=search,
-                        attrib=attrib_list, order=post.get('order'))
-        pricelist_context, pricelist = self._get_pricelist_context()
+         attrib=attrib_list, order=post.get('order'))
         if post:
             request.session.update(post)
-
+        
         if search:
             post["search"] = search
 
         if attrib_list:
             post['attrib'] = attrib_list
-
+            
         prevurl = request.httprequest.referrer
         if prevurl:
             if not re.search('/shop', prevurl, re.IGNORECASE):
@@ -252,17 +239,15 @@ class KingfisherProBrandSlider(WebsiteSale):
                 request.session['min1'] = ""
                 request.session['max1'] = ""
                 request.session['curr_category'] = ""
+                
 
         session = request.session
         cate_for_price = None
         # for category filter
         if category:
             cate_for_price = int(category)
-            category = request.env['product.public.category'].sudo().browse(
-                int(category))
+            category = request.env['product.public.category'].sudo().browse(int(category))
             url = "/shop/category/%s" % slug(category)
-            if not category or not category.can_access_from_current_website():
-                raise NotFound()
 
         if category != None:
             for ids in category:
@@ -275,8 +260,7 @@ class KingfisherProBrandSlider(WebsiteSale):
             session_tag = session.get('tag')[0]
             tag = session_tag
             if tag:
-                tag = request.env['biztech.product.tags'].sudo().browse(
-                    int(tag))
+                tag = request.env['biztech.product.tags'].sudo().browse(int(tag))
                 domain += [('biztech_tag_ids', '=', int(tag))]
                 request.session["tag"] = [tag.id, tag.name]
 
@@ -284,37 +268,29 @@ class KingfisherProBrandSlider(WebsiteSale):
         if session.get('sort_id'):
             session_sort = session.get('sort_id')
             sort = session_sort
-            sort_field = request.env['biztech.product.sortby'].sudo().browse(
-                int(sort))
+            sort_field = request.env['biztech.product.sortby'].sudo().browse(int(sort))
             request.session['product_sort_name'] = sort_field.name
             order_field = sort_field.sort_on.name
             order_type = sort_field.sort_type
             sort_order = '%s %s' % (order_field, order_type)
             if post.get("sort_id"):
-                request.session["sortid"] = [
-                    sort, sort_order, sort_field.name, order_type]
+                request.session["sortid"] = [sort, sort_order, sort_field.name, order_type]
 
         # For Price slider
-        is_price_slider = request.env.ref(
-            'kingfisher_pro.kingfisher_pro_slider_layout')
-        if is_price_slider:
-
-            is_discount_hide = True if request.website.get_current_pricelist(
-            ).discount_policy == 'with_discount' else False
+        is_price_slider = request.env.ref('kingfisher_pro.kingfisher_pro_slider_layout')
+        if is_price_slider and is_price_slider.active: 
+            
+            is_discount_hide = True if request.website.get_current_pricelist().discount_policy=='with_discount' else False
 
             product_slider_ids = []
-            asc_product_slider_ids = product_obj.search(
-                domain, limit=1, order='list_price')
-            desc_product_slider_ids = product_obj.search(
-                domain, limit=1, order='list_price desc')
+            asc_product_slider_ids = product_obj.search(domain, limit=1, order='list_price')
+            desc_product_slider_ids = product_obj.search(domain, limit=1, order='list_price desc')
             if asc_product_slider_ids:
                 # product_slider_ids.append(asc_product_slider_ids.website_price)
-                product_slider_ids.append(
-                    asc_product_slider_ids.website_price if is_discount_hide else asc_product_slider_ids.list_price)
+                product_slider_ids.append(asc_product_slider_ids.website_price if is_discount_hide else asc_product_slider_ids.list_price )
             if desc_product_slider_ids:
                 # product_slider_ids.append(desc_product_slider_ids.website_price)
-                product_slider_ids.append(
-                    desc_product_slider_ids.website_price if is_discount_hide else desc_product_slider_ids.list_price)
+                product_slider_ids.append(desc_product_slider_ids.website_price if is_discount_hide else desc_product_slider_ids.list_price)
 
             if product_slider_ids:
                 if post.get("range1") or post.get("range2") or not post.get("range1") or not post.get("range2"):
@@ -325,8 +301,9 @@ class KingfisherProBrandSlider(WebsiteSale):
 
                     if request.session.get('pricerange'):
                         if cate_for_price and request.session.get('curr_category') and request.session.get('curr_category') != int(cate_for_price):
-                            request.session["min1"] = math.floor(range1)
-                            request.session["max1"] = math.ceil(range2)
+                            request.session["min1"] =  math.floor(range1)
+                            request.session["max1"] =  math.ceil(range2)
+
 
                     if session.get("min1") and session["min1"]:
                         post["min1"] = session["min1"]
@@ -343,22 +320,20 @@ class KingfisherProBrandSlider(WebsiteSale):
                     if request.session.get('min1'):
                         if request.session['min1'] != None:
                             # domain += [('list_price', '>=', request.session.get('min1')), ('list_price', '<=', request.session.get('max1'))]
-                            # ========== for hide list-website price diffrence ====================
-                            if is_discount_hide:
+# ========== for hide list-website price diffrence ====================
+                            if is_discount_hide: 
                                 price_product_list = []
                                 product_withprice = product_obj.search(domain)
                                 for prod_id in product_withprice:
                                     if prod_id.website_price >= float(request.session['min1']) and prod_id.website_price <= float(request.session['max1']):
                                         price_product_list.append(prod_id.id)
 
-                                if price_product_list:
-                                    domain += [('id', 'in',
-                                                price_product_list)]
+                                if price_product_list:  
+                                    domain += [('id', 'in', price_product_list)]
                                 else:
                                     domain += [('id', 'in', [])]
                             else:
-                                domain += [('list_price', '>=', request.session.get('min1')),
-                                           ('list_price', '<=', request.session.get('max1'))]
+                                domain += [('list_price', '>=', request.session.get('min1')), ('list_price', '<=', request.session.get('max1'))]
 # ==============================
                             request.session["pricerange"] = str(
                                 request.session['min1'])+"-To-"+str(request.session['max1'])
@@ -374,25 +349,20 @@ class KingfisherProBrandSlider(WebsiteSale):
             ppg = int(request.session.get('default_paging_no'))
 
         product_count = product_obj.search_count(domain)
-        pager = request.website.pager(
-            url=url, total=product_count, page=page, step=ppg, scope=7, url_args=post)
-        products = product_obj.search(
-            domain, limit=ppg, offset=pager['offset'], order=sort_order)
-        compute_currency = self._get_compute_currency(pricelist, products[:1])
+        pager = request.website.pager(url=url, total=product_count, page=page, step=ppg, scope=7, url_args=post)
+        products = product_obj.search(domain, limit=ppg, offset=pager['offset'], order=sort_order)
+
         result.qcontext.update({'product_count': product_count,
                                 'products': products,
                                 'category': category,
                                 'pager': pager,
-                                'add_qty': add_qty,
-                                'compute_currency': compute_currency,
                                 'keep': keep,
-                                'search': search,
+                                'search':search,
                                 'bins': TableCompute().process(products, ppg)})
 
         result.qcontext['brand'] = brand
         result.qcontext['domain'] = domain
-        result.qcontext['brand_obj'] = request.env['product.brands'].sudo().search([
-            ('id', '=', brand)])
+        result.qcontext['brand_obj'] = request.env['product.brands'].sudo().search([('id', '=', brand)])
         return result
 
     @http.route()
@@ -401,8 +371,8 @@ class KingfisherProBrandSlider(WebsiteSale):
             product_id, line_id, add_qty, set_qty, display)
         order = request.website.sale_get_order()
         result.update({'kingfisher_pro.hover_total': request.env['ir.ui.view'].render_template("kingfisher_pro.hover_total", {
-            'website_sale_order': order})
-        })
+                'website_sale_order': order })
+            })
         return result
 
     @http.route(['/king_pro/get_brand_slider'], type='http', auth='public', website=True)

+ 30 - 2
doc/changelog.rst

@@ -3,7 +3,35 @@
 ========================
 
 ******************************************
-Improved code to support the default product flow for some static ids.
+Fixed an issue related to website_sale_stock module
 ******************************************
 
-1. Improved code to support the default product flow for some static ids.
+1. Fixed an issue related to website_sale_stock module.
+
+
+******************************************
+Provided access rights for theme features
+******************************************
+
+Provided access rights for the features like Multi image, sliders, tags and etc.
+
+
+******************************************
+Fixed issue while installing theme with latest version
+******************************************
+
+Fixed issue while installing theme with latest version
+
+
+******************************************
+Add some new features
+******************************************
+- Single product attribute will be visible on product detail page.
+- Fixed search issue with paging.
+- Removed "#0" and replaced it with "#" on the button to top.
+
+******************************************
+Bug Fixes
+******************************************
+- Replace xrange function with range function.
+- Some minor bug fixes.

+ 12 - 30
models/products.py

@@ -8,7 +8,6 @@ from odoo.addons.website_sale.controllers import main
 
 class Brands(models.Model):
     _name = 'product.brands'
-    _description = 'Add product brands'
 
     name = fields.Char(string='Brand Name', required=True, translate=True)
     brand_description = fields.Text(string='Description', translate=True)
@@ -32,7 +31,6 @@ class Brands(models.Model):
 
 class ProductStyleTags(models.Model):
     _name = 'biztech.product.style.tag'
-    _description = 'Add style tags in Product'
 
     name = fields.Char(string='Tag Name', required=True, translate=True)
     color = fields.Selection(
@@ -63,12 +61,9 @@ class KingProductImages(models.Model):
                                 # required=True,
                                 help="Cover Image will be show untill video is loaded.")
     video_id = fields.Char(string='Video ID')
-    video_ogv = fields.Char(
-        string='Video OGV', help="Link for ogv format video")
-    video_webm = fields.Char(
-        string='Video WEBM', help="Link for webm format video")
-    video_mp4 = fields.Char(
-        string='Video MP4', help="Link for mp4 format video")
+    video_ogv = fields.Char(string='Video OGV', help="Link for ogv format video")
+    video_webm = fields.Char(string='Video WEBM', help="Link for webm format video")
+    video_mp4 = fields.Char(string='Video MP4', help="Link for mp4 format video")
     sequence = fields.Integer(string='Sort Order')
     product_tmpl_id = fields.Many2one('product.template', string='Product')
     more_view_exclude = fields.Boolean(string="More View Exclude")
@@ -76,7 +71,6 @@ class KingProductImages(models.Model):
 
 class ProductTemplate(models.Model):
     _inherit = 'product.template'
-    _description = "Add Multiple Image in Product"
 
     product_brand_id = fields.Many2one(
         'product.brands',
@@ -84,9 +78,9 @@ class ProductTemplate(models.Model):
         help='Select a brand for this product'
     )
     images = fields.One2many('biztech.product.images', 'product_tmpl_id',
-                             string='Product Multi Images')
+                             string='Images')
     multi_image = fields.Boolean(string="Add Multiple Images?")
-    biztech_tag_ids = fields.Many2many('biztech.product.tags', string="Products Tags")
+    biztech_tag_ids = fields.Many2many('biztech.product.tags', string="Tags")
     is_flip_image = fields. Boolean(
         string="Add flip image", help="Enable this checkbox for adding flip image on product website.")
     flip_image = fields.Binary(string='Flip image',
@@ -101,24 +95,19 @@ class ProductTemplate(models.Model):
 class ProductTags(models.Model):
     _name = 'biztech.product.tags'
     _order = "sequence"
-    _description = "Add Tags in Product"
 
-    name = fields.Char(string="Tag Name", help="Tag Name",
-                       required=True, translate=True)
+    name = fields.Char(string="Tag Name", help="Tag Name", required=True, translate=True)
     active = fields.Boolean(
         string="Active", help="Enable or Disable tag from website", default=True)
     sequence = fields.Integer(
         string='Sequence', help="You can define sequence of tags you want to show tags")
-    product_ids = fields.Many2many(
-        'product.template', string='Products', required=True)
+    product_ids = fields.Many2many('product.template', string='Products', required=True)
 
-    _sql_constraints = [('unique_tag_name', 'unique(name)',
-                         'Tag name should be unique..!'), ]
+    _sql_constraints = [('unique_tag_name', 'unique(name)', 'Tag name should be unique..!'), ]
 
 
 class ProductSortBy(models.Model):
     _name = 'biztech.product.sortby'
-    _description = "Add Sort product fields"
 
     name = fields.Char(string="Name", help='Name for sorting option',
                        required=True, translate=True)
@@ -131,7 +120,6 @@ class ProductSortBy(models.Model):
 
 class ProductCategory(models.Model):
     _inherit = 'product.public.category'
-    _description = "Add Mega menu in Product"
 
     include_in_megamenu = fields.Boolean(
         string="Include in mega menu", help="Include in mega menu")
@@ -143,7 +131,6 @@ class ProductCategory(models.Model):
 class ProductPerPageNo(models.Model):
     _name = "product.per.page.no"
     _order = 'name asc'
-    _description = "Product Per Page No"
 
     name = fields.Integer(string='Product per page')
     set_default_check = fields.Boolean(string="Set default")
@@ -153,8 +140,7 @@ class ProductPerPageNo(models.Model):
     def create(self, vals):
         res = super(ProductPerPageNo, self).create(vals)
         if vals.get('name') == 0:
-            raise Warning(
-                _("Warning! You cannot set 'zero' for product page."))
+            raise Warning(_("Warning! You cannot set 'zero' for product page."))
         if vals.get('set_default_check'):
             true_records = self.search(
                 [('set_default_check', '=', True), ('id', '!=', res.id)])
@@ -165,8 +151,7 @@ class ProductPerPageNo(models.Model):
     def write(self, vals):
         res = super(ProductPerPageNo, self).write(vals)
         if vals.get('name') == 0:
-            raise Warning(
-                _("Warning! You cannot set 'zero' for product page."))
+            raise Warning(_("Warning! You cannot set 'zero' for product page."))
         if vals.get('set_default_check'):
             true_records = self.search(
                 [('set_default_check', '=', True), ('id', '!=', self.id)])
@@ -176,7 +161,6 @@ class ProductPerPageNo(models.Model):
 
 class ProductPerPage(models.Model):
     _name = "product.per.page"
-    _description = "Product per page display"
 
     name = fields.Char(string="Label Name", translate=True)
     no_ids = fields.One2many(
@@ -185,11 +169,9 @@ class ProductPerPage(models.Model):
     @api.multi
     def write(self, vals):
         res = super(ProductPerPage, self).write(vals)
-        default_pg = self.env['product.per.page.no'].search(
-            [('set_default_check', '=', True)])
+        default_pg = self.env['product.per.page.no'].search([('set_default_check', '=', True)])
         if default_pg.name:
             main.PPG = int(default_pg.name)
         else:
-            raise Warning(
-                _("Warning! You have to set atleast one default value."))
+            raise Warning(_("Warning! You have to set atleast one default value."))
         return res

+ 0 - 3
models/slider.py

@@ -6,7 +6,6 @@ from odoo import api, fields, models
 
 class ProductCategorySlider(models.Model):
     _name = 'product.category.slider.config'
-    _description = "Configration of product category slider"
 
     name = fields.Char(string="Slider name", default='Trending', required=True, translate=True,
                        help="Slider title to be displayed on website like Best products, Latest and etc...")
@@ -29,7 +28,6 @@ class ProductCategorySlider(models.Model):
 class BlogSlider(models.Model):
 
     _name = 'blog.slider.config'
-    _description = "Configration of Blogs slider"
 
     name = fields.Char(string="Slider name", default='Blogs', translate=True,
                        help="Slider title to be displayed on website like Our Blogs, Latest Blog Post and etc...",
@@ -46,7 +44,6 @@ class BlogSlider(models.Model):
 
 class MultiSlider(models.Model):
     _name = 'multi.slider.config'
-    _description = "Configration of Multi slider"
 
     name = fields.Char(string="Slider name", default='Trending',
                        required=True, translate=True,

+ 21 - 29
models/website.py

@@ -11,7 +11,6 @@ PPG = 18
 
 class WebsiteMenu(models.Model):
     _inherit = "website.menu"
-    _description = "Website mega menu settings"
 
     is_megamenu = fields.Boolean(string='Is megamenu...?')
     megamenu_type = fields.Selection([('2_col', '2 Columns'),
@@ -19,8 +18,7 @@ class WebsiteMenu(models.Model):
                                       ('4_col', '4 Columns')],
                                      default='3_col',
                                      string="Megamenu type")
-    megamenu_bg = fields.Boolean(
-        string='Want to set megamenu background', default=False)
+    megamenu_bg = fields.Boolean(string='Want to set megamenu background', default=False)
     megamenu_bg_img_color = fields.Selection([('bg_img', 'Background image'),
                                               ('bg_color', 'Background color')],
                                              default='bg_img',
@@ -29,24 +27,20 @@ class WebsiteMenu(models.Model):
     megamenu_bg_color = fields.Char(string="Background color for megamenu",
                                     default='#ccc',
                                     help="Background color for megamenu, for setting background color you have to pass hexacode here.")
-    category_slider = fields.Boolean(
-        string='Want to display category slider', default=False)
+    category_slider = fields.Boolean(string='Want to display category slider', default=False)
     carousel_header_name = fields.Char(string="Slider label",
                                        default="Latest", translate=True,
                                        help="Header name for carousel slider in megamenu")
     category_slider_position = fields.Selection([('left', 'Left'), ('right', 'Right')],
                                                 default='left', string="Category Slider Position")
-    menu_icon = fields.Boolean(
-        string='Want to display menu icon', default=False)
-    menu_icon_image = fields.Binary(
-        string="Menu Icon", help="Menu icon for your menu")
+    menu_icon = fields.Boolean(string='Want to display menu icon', default=False)
+    menu_icon_image = fields.Binary(string="Menu Icon", help="Menu icon for your menu")
 
     display_menu_footer = fields.Boolean(string="Display menu footer", default=False,
                                          help="For displaying footer in megamenu")
     menu_footer = fields.Text(string="Footer content",
                               help="Footer name for megamenu")
-    customize_menu_colors = fields.Boolean(
-        string='Want to customize menu colors', default=False)
+    customize_menu_colors = fields.Boolean(string='Want to customize menu colors', default=False)
     main_category_color = fields.Char(string='Main category color',
                                       help="Set color for main category in megamenu")
     sub_category_color = fields.Char(string='Sub category color',
@@ -55,7 +49,6 @@ class WebsiteMenu(models.Model):
 
 class website(models.Model):
     _inherit = 'website'
-    _description = "Website settings"
 
     # For Multi image
     thumbnail_panel_position = fields.Selection([
@@ -80,11 +73,11 @@ class website(models.Model):
     no_extra_options = fields.Boolean(string='Slider effects',
                                       default=True,
                                       help="Slider with all options for next, previous, play, pause, fullscreen, hide/show thumbnail panel.")
-    change_thumbnail_size = fields.Boolean(
-        string="Change thumbnail size", default=False)
+    change_thumbnail_size = fields.Boolean(string="Change thumbnail size", default=False)
     thumb_height = fields.Char(string='Thumb height', default=50)
     thumb_width = fields.Char(string='Thumb width', default=88)
 
+
     # For first last pager
     enable_first_last_pager = fields.Boolean(string="Enable First and Last Pager", default=True,
                                              help="Enable this checkbox to make 'First' and 'Last' button in pager on website.")
@@ -103,15 +96,14 @@ class website(models.Model):
         return values
 
     def get_current_pager_selection(self):
-        page_no = request.env['product.per.page.no'].search(
-            [('set_default_check', '=', True)])
+        page_no = request.env['product.per.page.no'].search([('set_default_check', '=', True)])
         if request.session.get('default_paging_no'):
             return int(request.session.get('default_paging_no'))
         elif page_no:
             return int(page_no.name)
         else:
             return PPG
-
+            
     @api.model
     def pager(self, url, total, page=1, step=30, scope=5, url_args=None):
         res = super(website, self). pager(url=url,
@@ -244,7 +236,6 @@ class website(models.Model):
 class ResConfigSettings(models.TransientModel):
 
     _inherit = 'res.config.settings'
-    _description = "Res Config settings "
 
     # For multi image
     thumbnail_panel_position = fields.Selection([
@@ -253,37 +244,38 @@ class ResConfigSettings(models.TransientModel):
         ('bottom', 'Bottom')],
         string='Thumbnails panel position',
         related='website_id.thumbnail_panel_position',
-        help="Select the position where you want to display the thumbnail panel in multi image.", readonly=False)
+        help="Select the position where you want to display the thumbnail panel in multi image.")
     interval_play = fields.Char(string='Play interval of slideshow',
                                 related='website_id.interval_play',
-                                help='With this field you can set the interval play time between two images.', readonly=False)
+                                help='With this field you can set the interval play time between two images.')
     enable_disable_text = fields.Boolean(string='Enable the text panel',
                                          related='website_id.enable_disable_text',
-                                         help='Enable/Disable text which is visible on the image in multi image.', readonly=False)
+                                         help='Enable/Disable text which is visible on the image in multi image.')
     color_opt_thumbnail = fields.Selection([
         ('default', 'Default'),
         ('b_n_w', 'B/W'),
         ('sepia', 'Sepia'),
         ('blur', 'Blur')],
         related='website_id.color_opt_thumbnail',
-        string="Thumbnail overlay effects", readonly=False)
+        string="Thumbnail overlay effects")
     no_extra_options = fields.Boolean(string='Slider effects',
                                       # default=True,
                                       related='website_id.no_extra_options',
-                                      help="Slider with all options for next, previous, play, pause, fullscreen, hide/show thumbnail panel.", readonly=False)
+                                      help="Slider with all options for next, previous, play, pause, fullscreen, hide/show thumbnail panel.")
     change_thumbnail_size = fields.Boolean(string="Change thumbnail size",
-                                           related="website_id.change_thumbnail_size", readonly=False)
+                                           related="website_id.change_thumbnail_size"
+                                           )
     thumb_height = fields.Char(string='Thumb height',
-                               related="website_id.thumb_height", readonly=False
+                               related="website_id.thumb_height"
                                )
     thumb_width = fields.Char(string='Thumb width',
-                              related="website_id.thumb_width", readonly=False
+                              related="website_id.thumb_width"
                               )
-
+    
     # For first last pager
     enable_first_last_pager = fields.Boolean(related='website_id.enable_first_last_pager',
                                              string="Enable First and Last Pager", default=True,
-                                             help="Enable this checkbox to make 'First' and 'Last' button in pager on website.", readonly=False)
+                                             help="Enable this checkbox to make 'First' and 'Last' button in pager on website.")
     # Product per grid
     product_display_grid = fields.Selection(related='website_id.product_display_grid',
-                                            default='3', string='Product per grid', help="Display no. of products per line in website product grid.", readonly=False)
+                                            default='3', string='Product per grid', help="Display no. of products per line in website product grid.")

+ 3 - 4
security/ir.model.access.csv

@@ -1,13 +1,13 @@
 id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
 access_product_category_slider_config,access_product_category_slider_config,model_product_category_slider_config,,1,0,0,0
 access_product_brands,access_product_brands,model_product_brands,,1,0,0,0
-access_blog_slider_config,access_blog_slider_config,model_blog_slider_config,,1,1,1,1
+access_blog_slider_config,access_blog_slider_config,model_blog_slider_config,,1,0,0,0
 access_biztech_product_images,access_biztech_product_images,model_biztech_product_images,,1,0,0,0
 access_biztech_product_tags,access_biztech_product_tags,model_biztech_product_tags,,1,0,0,0
 access_biztech_product_sortby,access_biztech_product_sortby,model_biztech_product_sortby,,1,0,0,0
 access_multi_slider_config,access_multi_slider_config,model_multi_slider_config,,1,0,0,0
-access_product_per_page_no,access_product_per_page_no,model_product_per_page_no,,1,1,1,1
-access_product_per_page,access_product_per_page,model_product_per_page,,1,1,1,1
+access_product_per_page_no,access_product_per_page_no,model_product_per_page_no,,1,0,0,0
+access_product_per_page,access_product_per_page,model_product_per_page,,1,0,0,0
 access_biztech_product_style_tag,access_biztech_product_style_tag,model_biztech_product_style_tag,,1,0,0,0
 access_biztech_product_brand,access_biztech_product_brand,model_product_brands,website.group_website_designer,1,1,1,1
 access_biztech_product_catagory_slider,access_biztech_product_catagory_slider,model_product_category_slider_config,website.group_website_designer,1,1,1,1
@@ -17,7 +17,6 @@ access_biztech_product_sorting,access_biztech_product_sorting,model_biztech_prod
 access_biztech_custom_product_tags,access_biztech_custom_product_tags,model_biztech_product_tags,website.group_website_designer,1,1,1,1
 access_biztech_product_multiple_images,access_biztech_product_multiple_images,model_biztech_product_images,website.group_website_designer,1,1,1,1
 access_biztech_website_product_paging,access_biztech_website_product_paging,model_product_per_page,website.group_website_designer,1,1,1,1
-access_biztech_theme_view_groups,access_theme_product_view_groups,website_theme_install.model_theme_ir_ui_view,,1,0,0,0
 
 
 

+ 10 - 1
static/description/index.html

@@ -420,11 +420,20 @@
             </div>
         </div>
     </section>
+   <!--  <section class="container oe_dark">
+        <div class="container">
+            <div class="col-md-12">
+                <h3 class="text-left" style="color:#FF5D5D;">Customizing Store Shop Page</h3>
+                <p class="text-muted">Admin can configure store shop page as per requirement by adding or removing things that are needed.</p>
+            </div>
+        </div>
+    </section> -->
+
     <section class="oe_container">
         <div class="oe_row oe_spaced">
             <div class="oe_span12">
                 <h2 class="oe_slogan" style="color:red;font-size:15px">
-                   <b>Note: All the new features of Kingfisher Pro Fashion v12 may not be available in older versions.</b>
+                   <b>Note: All the new features of Kingfisher Pro Fashion v11 may not be available in older versions.</b>
                 </h2>
             </div>
         </div>

+ 4 - 13
static/src/js/custom.js

@@ -11,15 +11,6 @@ $(document).ready(function($) {
  $( ".carousel" ).carousel();
 });
 $(document).ready(function($) {
-     $('a[data-action=customize_theme]').click(function() { 
-        setTimeout(function(){ 
-            if ($('.modal-body').hasClass('cstm-customized-theme') == true) 
-            { 
-                $('.modal-body').parent().parent().addClass('only-cstm-theme') 
-                $('.modal-body').parent().addClass('only-cstm-theme') 
-            } 
-        }, 100); 
-    });
     // browser window scroll (in pixels) after which the "back to top" link is shown
     var offset = 300,
         //browser window scroll (in pixels) after which the "back to top" link opacity is reduced
@@ -85,7 +76,7 @@ $(document).ready(function($) {
         $(".oe_website_sale .shift_grid_view").removeClass('active')
         $(this).addClass('active')
         $('#products_grid').addClass("list-view-box");
-        $('.oe_website_sale .oe_subdescription').addClass('o_hidden');
+        $('.oe_website_sale .oe_subdescription').addClass('hidden');
         localStorage.setItem("product_view", "list");
     });
 
@@ -93,21 +84,21 @@ $(document).ready(function($) {
         $(".oe_website_sale .shift_list_view").removeClass('active')
         $(this).addClass('active')
         $('#products_grid').removeClass("list-view-box");
-        $('.oe_website_sale .oe_subdescription').removeClass('o_hidden');
+        $('.oe_website_sale .oe_subdescription').removeClass('hidden');
         localStorage.setItem("product_view", "grid");
     });
 
     if (localStorage.getItem("product_view") == 'list') {
         $(".oe_website_sale .shift_grid_view").removeClass('active')
         $(".oe_website_sale .shift_list_view").addClass('active')
-        $('.oe_website_sale .oe_subdescription').addClass('o_hidden');
+        $('.oe_website_sale .oe_subdescription').addClass('hidden');
         $('#products_grid').addClass("list-view-box");
     }
 
     if (localStorage.getItem("product_view") == 'grid') {
         $(".oe_website_sale .shift_list_view").removeClass('active')
         $(".oe_website_sale .shift_grid_view").addClass('active')
-        $('.oe_website_sale .oe_subdescription').removeClass('o_hidden');
+        $('.oe_website_sale .oe_subdescription').removeClass('hidden');
         $('#products_grid').removeClass("list-view-box");
     }
     // Grid/List switching code ends

+ 0 - 0
static/src/scss/box-layout.scss → static/src/less/box-layout.less


+ 22 - 0
static/src/less/custom_theme.less

@@ -0,0 +1,22 @@
+@import url(https://fonts.googleapis.com/css?family=Open+Sans:700,400);
+
+
+/*Font*/
+@font-family:      'Open Sans', sans-serif;
+@font-size-base:	14px;
+@font-size-body:	14px;
+@title:				18px;
+
+/*Color*/
+@header-bg:			#fff;
+@theme:				#c38647;
+@light-color:		#ffffff;
+@dark-color:		#393939;;
+@body-color:		#393939;
+@footer-bg:			#161b1e;
+@footer-text:		#b3b3b3;
+@new-label-color:   #39b54a;
+@sale-label-color:  #f7941d;
+@text-muted		:	#9E9E9E;
+/*img*/
+ @img-path:			'../img/';

+ 38 - 59
static/src/scss/footer.scss → static/src/less/footer.less

@@ -1,14 +1,14 @@
 #wrapwrap footer {
-    background: $dark-color;
+    background: @dark-color;
 }
 footer {
     width: 100%;
     display: inline-block;
     vertical-align: top;
-    color: $footer-text;
+    color: @footer-text;
 
     a {
-        color: $footer-text;
+        color: @footer-text;
     }
     .socisl-link {
         margin: 0;
@@ -22,11 +22,11 @@ footer {
             a {
                 width: 30px;
                 height: 30px;
-                background: $theme;
+                background: @theme;
                 display: block;
                 text-align: center;
                 line-height: 30px;
-                color: $dark-color;
+                color: @dark-color;
             }
         }
     }
@@ -35,11 +35,11 @@ footer {
         padding: 0;
     }
     .footer-top {
-        background: $dark-color;
+        background: @dark-color;
         padding: 34px 0 20px 0px;
 
         .fa {
-            color:fade-out($light-color,0.65);
+            color:fade(@light-color,35);
         }
         .col-sm-4 {
             margin-bottom: 20px;
@@ -48,7 +48,7 @@ footer {
             margin-bottom: 20px;
         }
         .fot-col {
-            color: fade-out($light-color, 0.70);
+            color: fade(@light-color, 30);
             padding-top: 15px;
 
             @media (max-width:996px){
@@ -59,12 +59,12 @@ footer {
             
             
             a{
-                color: fade-out($light-color, 0.70);
+                color: fade(@light-color, 30);
                  .mail {
                 background: url(/kingfisher_pro/static/src/img/mail-footer.png)no-repeat left center;
                 padding-left: 25px;
             }
-            &:hover{color:$light-color; text-decoration: none;};
+            &:hover{color:@light-color; text-decoration: none;};
             }
            
             li {
@@ -74,10 +74,10 @@ footer {
                 padding: 0 0 8px;
 
                 a {
-                    color: fade($light-color, 30);
+                    color: fade(@light-color, 30);
 
                     &:hover {
-                        color: $light-color;
+                        color: @light-color;
                         text-decoration: none;
                     }
                 }
@@ -97,16 +97,6 @@ footer {
                 }
                 
             }
-            @media (min-width: 768px) and (max-width: 1023px){
-                .col-md-3 {
-                    flex: 0 0 35%;
-                    max-width: 35%;
-                }
-                .col-md-2 {
-                    flex: 0 0 20%;
-                    max-width: 20%;
-                }
-            }
             .newsletter-div {
                 float: none;
                 display: inline-block;
@@ -114,11 +104,8 @@ footer {
                 @media (max-width:996px) {
                     padding-left: 22px;
                 }
-                @media (min-width: 768px) and (max-width: 1023px){
-                    flex: 0 0 50%;
-                    max-width: 50%;
-                    margin-top:0;
-                }
+                
+
                 @media (max-width:768px) {
                     margin-top: 10px;
                     padding-left: 15px;
@@ -130,11 +117,11 @@ footer {
                     padding: 0;
                     font-weight:700;
                     text-transform: uppercase;
-                    color: $theme;
-                    font-size: $font-size-base;
+                    color: @theme;
+                    font-size: @font-size-base;
                 }
                 p {
-                    color: fade-out($light-color, 0.70%);
+                    color: fade(lighten(@dark-color, 60%), 34);
                     margin-bottom:7px;
                 }
                 input[type="email"] {
@@ -142,25 +129,25 @@ footer {
                     height: 36px;
                     padding: 10px;
                     border: none;
-                    background-color: lighten($dark-color, 10%);
-                    color: $light-color;
+                    background-color: lighten(@dark-color, 10%);
+                    color: @light-color;
                     margin: 4px 0px 17px 0px;
                     outline: none;
                     border-radius: 0px;
                 }
                 .btn-primary {
-                    background-color: $theme;
-                    color: $light-color;
+                    background-color: @theme;
+                    color: @light-color;
                     padding: 5px 20px;
                     border: none;
                     border: 1px solid transparent;
-                    @include transition(all, .3s, ease);
+                    .transition(all, .3s, ease);
 
                     
-                        color: $light-color;
+                        color: @light-color;
                         /*text-transform: uppercase;*/
                         font-weight: 400;
-                        font-size: $font-size-base - 1;
+                        font-size: @font-size-base - 1;
 
                         &:hover {
                             text-decoration: none;
@@ -171,33 +158,25 @@ footer {
                         }
                     
                     &:hover {
-                        background-color: $dark-color;
-                        border: 1px solid $theme;
+                        background-color: @dark-color;
+                        border: 1px solid @theme;
                     }
                 }
                 .form-control:focus {
-                    border-color: $theme;
+                    border-color: @theme;
                     outline: 0;
                     -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgb(195, 134, 71);
                     box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgb(195, 134, 71);
                 }
-                .newsletter {
-                    .input-group {
-                        -webkit-box-orient: vertical;
-                        -webkit-box-direction: normal;
-                        -ms-flex-flow: column;
-                        flex-flow: column;
-                    }
-                }
             }
         }
     }
     .footer-btm {
-        background: $dark-color;
-        color: fade-out($light-color, 0.70);
+        background: @dark-color;
+        color: fade(lighten(@dark-color, 60%), 34);
 
         .footer-bottom-div {
-            border-top: 1px solid fade-out($light-color, 0.70);
+            border-top: 1px solid fade(lighten(@dark-color, 60%), 19);
             padding: 20px 0;
 
             @media (max-width:768px) {
@@ -207,10 +186,10 @@ footer {
 
             p {
                 margin: 0;
-                font-size: $font-size-base - 1;
+                font-size: @font-size-base - 1;
 
                 span {
-                    color: $theme;
+                    color: @theme;
                 }
                 @media (max-width:1200px) {
                     padding: 0px 30px;
@@ -218,7 +197,7 @@ footer {
                 
 
                 @media (max-width:768px) {
-                    font-size: $font-size-base - 2;
+                    font-size: @font-size-base - 2;
                     text-align: left;
                     padding: 6px;
                 }
@@ -240,19 +219,19 @@ footer {
 
                     a {
                         text-decoration: none;
-                        color: fade-out($light-color, 0.70);
-                        font-size: $font-size-base - 1;
+                        color: fade(lighten(@dark-color, 60%), 34);
+                        font-size: @font-size-base - 1;
                         padding: 0px 8px;
-                        border-right: 1px solid fade-out($light-color, 0.70);
+                        border-right: 1px solid fade(lighten(@dark-color, 60%), 34);
 
                         @media (max-width:768px) {
-                            font-size: $font-size-base - 3;
+                            font-size: @font-size-base - 3;
                         }
                         
 
                         &:hover {
                             text-decoration: none;
-                            color: $light-color;
+                            color: @light-color;
                         }
                     }
                 }

+ 129 - 179
static/src/scss/header.scss → static/src/less/header.less

@@ -1,30 +1,30 @@
 #wrapwrap .caret{border-top:4px solid #000;
 	&:hover{
-		border-top:4px solid $light-color;
+		border-top:4px solid @light-color;
 	};
 }
 header {
-	background: $header-bg;
+	background: @header-bg;
 
 	* {
-		@include transition(all, 0.3s, ease);
+		.transition(all, 0.3s, ease);
 	}
 	.header-top {
 		width: 100%;
 		display: inline-block;
 		vertical-align: top;
-		color: lighten($dark-color, 10%);
+		color: lighten(@dark-color, 10%);
 		font-weight: 300;
 		z-index: 1000;
 		position: relative;
-		font-size: $font-size-base -2;
+		font-size: @font-size-base -2;
 
 
 		span {
 			margin-right: 3px;
 		}
 		.top-row {
-			border-bottom: 1px solid darken($header-bg, 8%);
+			border-bottom: 1px solid darken(@header-bg, 8%);
 		}
 		a {
 			display: block;
@@ -39,18 +39,14 @@ header {
 		.fa{
 			margin-top:-3px;
 		}
-		@media (min-width: 768px) and (max-width: 1023px){
-			flex: 0 0 70%;
-    		max-width: 70%;
-		}
 
 		@media (max-width:640px) {
 			text-align: left;
 			width: 100%;
-			text-align: center !important;
+			text-align: center;
 		}
 		a {
-			color:$dark-color;
+			color:@dark-color;
 			text-decoration: none;
 			float: left;
 
@@ -66,9 +62,9 @@ header {
 				text-decoration: none;
 			}
 			p {
-				color: lighten($dark-color, 10%);
+				color: lighten(@dark-color, 10%);
 				font-weight: 400;
-				font-size: $font-size-base - 1;
+				font-size: @font-size-base - 1;
 				margin: 0;
 				padding: 0px 11px 0 0;
 			}
@@ -76,16 +72,16 @@ header {
 		.call-us {
 			float: left;
 			margin: 0;
-			color: $dark-color;
+			color: @dark-color;
 
 			i {
-				color: $theme;
+				color: @theme;
 				vertical-align: middle;
-				font-size: $font-size-base * 2 - 4;
+				font-size: @font-size-base * 2 - 4;
 			}
 			span {
-				color: $dark-color;
-				@include transition(all, 0.1s, ease);
+				color: @dark-color;
+				.transition(all, 0.1s, ease);
 			}
 			@media (max-width:991px) {
 				float: none;
@@ -94,31 +90,25 @@ header {
 			}
 			&:hover {
 				span {
-					color: lighten($dark-color, 30%);
+					color: lighten(@dark-color, 30%);
 				}
 			}
 			;
 		}
 	}
-	.top-right {
-		@media (min-width: 768px) and (max-width: 1023px){
-			flex: 0 0 30%;
-    		max-width: 30%;
-    	}
-	}
 	.mail {
 		i {
-			color: $theme;
+			color: @theme;
 			vertical-align: middle;
-			font-size: $font-size-base + 2;
+			font-size: @font-size-base + 2;
 		}
 		span {
-			color: $dark-color;
-			@include transition(all, 0.1s, ease);
+			color: @dark-color;
+			.transition(all, 0.1s, ease);
 		}
 		&:hover {
 			span {
-				color: lighten($dark-color, 30%);
+				color: lighten(@dark-color, 30%);
 			}
 		}
 		;
@@ -126,7 +116,7 @@ header {
 	.top-right {
 		@media (max-width:640px) {
 			width: 100%;
-			text-align: center !important;
+			text-align: center;
 		}
 	}
 	.links {
@@ -159,14 +149,14 @@ header {
 			}
 			.top-link-checkout {
 				padding-right: 0;
-				font-size: $font-size-base - 2;
+				font-size: @font-size-base - 2;
 
 				>a {
-					font-size: $font-size-base - 2;
+					font-size: @font-size-base - 2;
 				}
 				> .fa {
 					margin-right: 8px;
-					font-size: $font-size-base + 5;
+					font-size: @font-size-base + 5;
 					vertical-align: middle;
 				}
 			}
@@ -175,15 +165,15 @@ header {
 				height: 40px;
 				line-height: 40px;
 				padding: 0 5px;
-				font-size: $font-size-base + 2;
+				font-size: @font-size-base + 2;
 				font-weight: 600;
-				color: $theme;
+				color: @theme;
 				vertical-align: middle;
 				border-bottom: 1px solid transparent;
 
 				&:hover {
 					text-decoration: none;
-					color: $dark-color;
+					color: @dark-color;
 				}
 				> .fa {
 					display: inline-block;
@@ -195,13 +185,13 @@ header {
 	.configuration {
 		position: relative;
 		.fa-cog{
-			font-size:$font-size-base + 4;
+			font-size:@font-size-base + 4;
 			margin-top:-1px;
 		}
 
 		.toggle-config {
 			z-index: 1;
-			border: 1px solid $theme;
+			border: 1px solid @theme;
 			width: 174px;
 			text-align: left;
 			padding: 0;
@@ -211,7 +201,7 @@ header {
 			display: none;
 			opacity: 0;
 			top: 100%;
-			@include transition(all, 0.5s, ease);
+			.transition(all, 0.5s, ease);
 		
 
 			@media (max-width:768px){
@@ -220,7 +210,7 @@ header {
 			}
 
 			.options {
-				border-bottom: 1px solid lighten($dark-color, 70%);
+				border-bottom: 1px solid lighten(@dark-color, 70%);
 				padding:12px 0px;
 				margin:0px 12px;
 
@@ -234,7 +224,7 @@ header {
 						}
 						&.active {
 							a {
-								background-color: $theme;
+								background-color: @theme;
 							}
 						}
 					}
@@ -244,8 +234,8 @@ header {
 					margin-bottom:12px;
 
 					label {
-						font-size: $font-size-base - 2;
-						color: $dark-color;
+						font-size: @font-size-base - 2;
+						color: @dark-color;
 						font-weight: bold;
 						
 						margin: 0;
@@ -255,7 +245,7 @@ header {
 					.dropdown-toggle {
 						
 						float: right;
-						border: 1px solid lighten($dark-color, 70%);
+						border: 1px solid lighten(@dark-color, 70%);
 						outline: none;
 						background-color: transparent;
 						text-transform:uppercase;
@@ -270,8 +260,8 @@ header {
 					padding: 6px 0px 11px 0px;
 
 					li {
-						color: $dark-color;
-						font-size: $font-size-base - 2;
+						color: @dark-color;
+						font-size: @font-size-base - 2;
 						font-weight: 400;
 					line-height: 8px;
   					  padding: 9px 12px;
@@ -280,20 +270,20 @@ header {
 							
 						}
 						a {
-							color: $dark-color;
+							color: @dark-color;
 							font-weight: 400;
 							
-							font-size: $font-size-base - 2;
+							font-size: @font-size-base - 2;
 
 							&:hover {
 								text-decoration: none;
-								color: $theme;
+								color: @theme;
 							}
 						}
 						&:hover {
 							a {
 								text-decoration: none;
-								color: $theme;
+								color: @theme;
 							}
 						}
 						&:first-child{
@@ -309,7 +299,7 @@ header {
 		}
 		&:hover, &:focus, &:active {
 			>a {
-				border-bottom: 1px solid $theme;
+				border-bottom: 1px solid @theme;
 			}
 			.toggle-config {
 				opacity: 1;
@@ -328,13 +318,13 @@ header {
 			opacity: 0;
 			top: 100%;
 			display: none;
-			@include transition(all, 0.5s, ease);
+			.transition(all, 0.5s, ease);
 			position: absolute;
 			width: 265px;
 			padding: 12px;
 			right: 0;
 			text-align: left;
-			border: 1px solid $theme;
+			border: 1px solid @theme;
 			background-color: #fff;
 
 			.block-subtitle {
@@ -383,9 +373,9 @@ header {
 						.product-name {
 							a {
 								text-transform: uppercase;
-								color: $dark-color;
+								color: @dark-color;
 								font-weight:600;
-								font-size: $font-size-base - 1;
+								font-size: @font-size-base - 1;
 							}
 							&:hover {
 								a {
@@ -408,56 +398,41 @@ header {
 						h3 {
 							margin: 0;
 							padding: 0;
-							font-size: $font-size-base;
+							font-size: @font-size-base;
 						}
 						p {
-							font-size: $font-size-base + 3;
+							font-size: @font-size-base + 3;
 							font-weight: bold;
 						}
-						#order_total {
-							margin-left: 0;
-							margin-right: 0;
-
-							span{
-								width: 50%;
-								font-weight: 700;
-							}
-
-							span.h4 {
-								font-weight: normal;
-							    font-size: 18px;
-							    padding-right: 10px;
-							}
-						}
 					}
 					.button-box {
 						.view-all {
-							background-color: lighten($dark-color, 70%);
+							background-color: lighten(@dark-color, 70%);
 							border: none;
 							padding: 7px 10px;
-							color: $dark-color;
+							color: @dark-color;
 							outline: none;
 							display: inline-block;
 							border-radius: 0px;
 
 							&:hover {
-								background-color: $theme;
+								background-color: @theme;
 								text-decoration: none;
-								color: $light-color;
+								color: @light-color;
 							}
 						}
 						.proceed {
-							background-color: $dark-color;
+							background-color: @dark-color;
 							float: right;
 							outline: none;
 							display: inline-block;
 							border-radius: 0px;
 						}
 						a {
-							font-size: $font-size-base;
+							font-size: @font-size-base;
 							font-weight: 400;
 							
-							color: $light-color;
+							color: @light-color;
 						}
 					}
 				}
@@ -472,7 +447,7 @@ header {
 		}
 		&:hover {
 			>a {
-				border-bottom: 1px solid $theme;
+				border-bottom: 1px solid @theme;
 			}
 			.toggle-config {
 				visibility: visible;
@@ -524,12 +499,12 @@ header {
 					padding: 0;
 
 					> a {
-						background: $theme;
+						background: @theme;
 						padding: 10px 25px;
 						border-radius: 25px;
 						display: block;
-						color: $light-color;
-						@include transition(all, 0.5s, ease);
+						color: @light-color;
+						.transition(all, 0.5s, ease);
 
 						&:hover {
 							text-decoration: none;
@@ -541,10 +516,10 @@ header {
 						opacity: 0;
 						top: 120%;
 						width: 250px;
-						background: $light-color;
+						background: @light-color;
 						right: 0;
 						padding: 15px;
-						@include transition(all, 0.5s, ease);
+						.transition(all, 0.5s, ease);
 
 						@media (max-width:767px) {
 							right: -50%;
@@ -556,7 +531,7 @@ header {
 							width: 100%;
 							display: inline-block;
 							vertical-align: top;
-							border-bottom: 1px solid darken($light-color, 10%);
+							border-bottom: 1px solid darken(@light-color, 10%);
 							margin-bottom: 10px;
 							padding-bottom: 10px;
 							position: relative;
@@ -573,7 +548,7 @@ header {
 							}
 							.hc-cart-info {
 								a {
-									color: $dark-color;
+									color: @dark-color;
 									line-height: normal;
 								}
 								label {
@@ -599,10 +574,10 @@ header {
 
 								a {
 									padding: 5px 10px;
-									background: $theme;
+									background: @theme;
 									display: inline-block;
 									vertical-align: top;
-									color: $light-color;
+									color: @light-color;
 								}
 							}
 						}
@@ -626,9 +601,6 @@ header {
 		background: transparent;
 		position: relative;
 		z-index: 99;
-		@media (max-width: 767px){
-			padding: 8px 15px 10px !important;
-		}
 
 		.container {
 			position: relative;
@@ -638,7 +610,7 @@ header {
 			float: left;
 
 			.icon-bar {
-				background: $light-color;
+				background: @light-color;
 			}
 			span:first-child {
 				display: none;
@@ -662,47 +634,47 @@ header {
 				float: left;
 				text-align: center;
 				line-height: 60px;
-				background: darken($theme, 15%);
+				background: darken(@theme, 15%);
 				cursor: pointer;
-				color: $light-color;
+				color: @light-color;
 
 				.fa {
-					font-size: $font-size-base + 6;
+					font-size: @font-size-base + 6;
 				}
 			}
 			.hsearch-block {
 				visibility: hidden;
 				opacity: 0;
 				position: absolute;
-				@include transition(all, 0.5s, ease);
+				.transition(all, 0.5s, ease);
 				top: 120%;
 				width: 250px;
 				right: 0;
 				padding: 20px;
-				background: $light-color;
-				box-shadow: 0px 3px 5px 0px darken($light-color, 30%);
+				background: @light-color;
+				box-shadow: 0px 3px 5px 0px darken(@light-color, 30%);
 
 				.form-control {
 					border-radius: 0;
 					height: 45px;
 					line-height: 45px;
-					font-size: $font-size-base + 2;
+					font-size: @font-size-base + 2;
 				}
 				.btn {
 					position: absolute;
 					top: 20px;
 					right: 20px;
-					background: $theme;
+					background: @theme;
 					border-radius: 0;
 					border: none;
 					height: 45px;
 					line-height: 45px;
 					padding: 0;
 					width: 45px;
-					color: $light-color;
+					color: @light-color;
 
 					.fa {
-						font-size: $font-size-base + 2;
+						font-size: @font-size-base + 2;
 					}
 				}
 			}
@@ -721,7 +693,7 @@ header {
 			@media (max-width:767px) {
 				display: none !important;
 
-				&.show {
+				&.in {
 					display: block !important;
 					position: absolute;
 					top: 99%;
@@ -736,15 +708,15 @@ header {
 					.navbar-nav {
 						float: none;
 						margin: 0;
-						background: $theme;
-						border-bottom:1px solid $theme;
+						background: @theme;
+						border-bottom:1px solid @theme;
 
 						> li {
 							width: 100%;
 							display: inline-block;
 
 							+ li {
-								border-top: 1px solid darken($theme, 7%);
+								border-top: 1px solid darken(@theme, 7%);
 							}
 						}
 					}
@@ -758,24 +730,22 @@ header {
 				}
 				> li {
 					> a {
-						font-size: $font-size-base;
+						font-size: @font-size-base;
 						padding: 10px 15px;
 						line-height: 55px;
 						
 						font-weight: bold;
-						@include transition(all, 0.3s, ease);
+						.transition(all, 0.3s, ease);
 						text-decoration: none;
-						color: $dark-color;
-						display: block;
+						color: @dark-color;
 
 						@media (max-width:767px) {
 							line-height: normal;
-							color: $light-color;
-							text-align: left;
+							color: @light-color;
 						}
 						&:hover, &:focus, &:active {
 							background: transparent;
-							color: $theme;
+							color: @theme;
 
 							&:before {
 								visibility: visible;
@@ -792,26 +762,23 @@ header {
 							height: 2px;
 							bottom: 0;
 							left: 0;
-							background-color: $theme;
+							background-color: @theme;
 							visibility: hidden;
 							-moz-transform: scaleX(0);
 							-webkit-transform: scaleX(0);
 							-o-transform: scaleX(0);
 							transform: scaleX(0);
-							@include transition(all, 0.3s, ease-in-out);
-						}
-						&:after {
-							display: none;
+							.transition(all, 0.3s, ease-in-out);
 						}
 					}
-					> a {
-						&.active {
+					&.active {
+						> a {
 							background: transparent;
-							color: $theme;
+							color: @theme;
 
 							@media (max-width:767px) {
-								color: $light-color;
-								background: darken($theme, 5%);
+								color: @light-color;
+								background: darken(@theme, 5%);
 							}
 						}
 					}
@@ -821,11 +788,11 @@ header {
 
 							&:hover, &:focus, &:active {
 								background: transparent;
-								color: $theme;
+								color: @theme;
 
 								@media (max-width:767px) {
-									color: $light-color;
-									background: darken($theme, 5%);
+									color: @light-color;
+									background: darken(@theme, 5%);
 								}
 							}
 						}
@@ -838,7 +805,7 @@ header {
 					margin-top: 8px;
 
 					a {
-						color: $theme;
+						color: @theme;
 						padding: 5px 9px;
 						text-transform: uppercase;
 					}
@@ -855,12 +822,12 @@ header {
 				width: 100%;
 				left: 0;
 				top: 120%;
-				background: $light-color;
+				background: @light-color;
 				margin: 0;
 				padding: 0;
 				letter-spacing: -0.31em;
-				@include transition(all, 0.5s, ease);
-				box-shadow: 0px 3px 5px 0px darken($light-color, 30%);
+				.transition(all, 0.5s, ease);
+				box-shadow: 0px 3px 5px 0px darken(@light-color, 30%);
 
 				@media (max-width:991px) {
 					visibility: visible;
@@ -877,8 +844,8 @@ header {
 					h4 {
 						margin: 0 0 10px;
 						padding: 0 0 10px;
-						font-size: $font-size-base + 2;
-						border-bottom: 1px dotted darken($light-color, 20%);
+						font-size: @font-size-base + 2;
+						border-bottom: 1px dotted darken(@light-color, 20%);
 					}
 					ul {
 						margin: 0;
@@ -888,7 +855,7 @@ header {
 							list-style-type: none;
 							padding: 3px 0 3px 15px;
 							position: relative;
-							@include transition(all, 0.5s, ease);
+							.transition(all, 0.5s, ease);
 
 							&:before {
 								content: "\f105";
@@ -897,21 +864,21 @@ header {
 								position: absolute;
 								left: 0;
 								top: 0;
-								@include transition(all, 0.5s, ease);
+								.transition(all, 0.5s, ease);
 							}
 							a {
-								color: $theme;
+								color: @theme;
 							}
 							&:hover {
 								padding-left: 20px;
 
 								&:before {
 									left: 5px;
-									color: $theme;
+									color: @theme;
 								}
 								a {
 									text-decoration: none;
-									color: $theme;
+									color: @theme;
 								}
 							}
 							&.mm-img {
@@ -960,7 +927,7 @@ header {
 		}
 	}
 	header {
-		background: $header-bg;
+		background: @header-bg;
 		position: fixed;
 		top: -42px;
 		left: 0;
@@ -1014,36 +981,36 @@ header {
 	}
 }
 .label-primary {
-	background-color: $theme;
+	background-color: @theme;
 }
 footer {
 	.fa-angle-right {
-		color: $light-color;
+		color: @light-color;
 	}
 }
 @media (max-width:767px) {
-	header {
-		.navbar {
+	.navbar-default {
+		.navbar-header {
 			position: relative;
 		}
-		.navbar-toggler {
+		.navbar-toggle {
 			display: block;
 			position: absolute;
-			right: 15px;
+			right: 0;
 			top: 0;
-			padding: 7px;
+			padding: 10px;
 			border-radius: 0;
 			bottom: 0;
 			height: 40px;
 			margin: auto;
 			border: none;
-			background-color: $theme;
+			background-color: @theme;
 
 			.icon-bar {
-				background: $light-color;
+				background: @light-color;
 			}
 			&:hover, &:focus, &:active {
-				background-color: $theme;
+				background-color: @theme;
 			}
 			&.collapsed {
 			}
@@ -1052,14 +1019,14 @@ footer {
 }
 
 		#only_categories{
-		border-top:1px solid $theme;
-		background:$theme;
-		color:$light-color;
+		border-top:1px solid @theme;
+		background:@theme;
+		color:@light-color;
 		.pwpi-title {
 			a{
-			color: $light-color;
+			color: @light-color;
 			&:hover{
-				color:$light-color;
+				color:@light-color;
 			};
 		}
 		}
@@ -1073,22 +1040,22 @@ footer {
 	label{
 		padding:7px;
 		margin:0px 3px 6px 0px;
-		background-color: $theme;
-		color:$light-color;
+		background-color: @theme;
+		color:@light-color;
 		display:inline-block;
 		font-weight: normal;
 		span{
 			margin-right:10px;
 		}
 		#clear{
-			color:$light-color;
+			color:@light-color;
 		}
 	}
 }
 .services{
 	.fa{
 		font-size: 40px;
-		color:$theme;
+		color:@theme;
 	}
 }
 /*checkout page */
@@ -1112,19 +1079,6 @@ footer {
 	.dropdown-menu {
     	padding: 18px;
 	}
-	a{
-		font-size: 14px;
-	}
-	@media (min-width: 768px) and (max-width: 1023px){
-		.col-md-3 {
-			flex: 0 0 100%;
-    		max-width: 100%;
-		}
-		.col-md-9 {
-			flex: 0 0 100%;
-    		max-width: 100%;
-		}
-	}
 }
 header {
 	.header-top{
@@ -1134,12 +1088,12 @@ header {
 		}
 		.price{
 			a{
-				color:$theme;
+				color:@theme;
 		}
 		}
 		#order_total{
 			.text-left{
-				color: $theme;
+				color: @theme;
 				font-weight: 700;
 			}
 		}
@@ -1148,7 +1102,3 @@ header {
 		}
 	}
 }
-
-.navbar {
-	padding: 0;
-}

+ 28 - 0
static/src/less/mixins.less

@@ -0,0 +1,28 @@
+/*BG micin*/
+.bg-img(@img-name){
+	background-image: url('@{img-path}@{img-name}');
+}
+.bg-size(@cover){
+  background-size: @cover;
+  -moz-background-size: @cover;
+  -webkit-background-size: @cover;
+  -o-background-size: @cover;
+}
+
+
+/* Transition */
+.transition(@all, @s, @ease){
+   		transition: @all @s @ease;
+-webkit-transition: @all @s @ease;
+   -moz-transition: @all @s @ease;
+     -o-transition: @all @s @ease;
+}
+
+/*Responsive*/
+/*.media(@maxwidth; @rules) {
+    @media only screen and (max-width: @maxwidth) {
+        @rules();
+    }
+}*/
+
+

+ 0 - 0
static/src/scss/mobile.scss → static/src/less/mobile.less


+ 1 - 0
static/src/less/options/bg_patterns/bg-pattern-1.less

@@ -0,0 +1 @@
+body {background: @box-body-bg1;}

+ 1 - 0
static/src/less/options/bg_patterns/bg-pattern-2.less

@@ -0,0 +1 @@
+body {background: @box-body-bg2;}

+ 1 - 0
static/src/less/options/bg_patterns/bg-pattern-3.less

@@ -0,0 +1 @@
+body {background: @box-body-bg3;}

+ 1 - 0
static/src/less/options/bg_patterns/bg-pattern-4.less

@@ -0,0 +1 @@
+body {background: @box-body-bg4;}

+ 1 - 0
static/src/less/options/bg_patterns/bg-pattern-5.less

@@ -0,0 +1 @@
+body {background: @box-body-bg5;}

+ 1 - 0
static/src/less/options/bg_patterns/bg-pattern-6.less

@@ -0,0 +1 @@
+body {background: @box-body-bg6;}

+ 22 - 0
static/src/less/options/colors/colors.less

@@ -0,0 +1,22 @@
+@import url(https://fonts.googleapis.com/css?family=Open+Sans:700,400);
+
+
+/*Font*/
+@font-family:      'Open Sans', sans-serif;
+@font-size-base:	14px;
+@font-size-body:	14px;
+@title:				18px;
+
+/*Color*/
+@header-bg:			#fff;
+@theme:				#c38647;
+@light-color:		#ffffff;
+@dark-color:		#393939;
+@body-color:		#393939;
+@footer-bg:			#161b1e;
+@footer-text:		#b3b3b3;
+@new-label-color:   #39b54a;
+@sale-label-color:  #f7941d;
+@text-muted		:	#9E9E9E;
+/*img*/
+ @img-path:			'../img/';

+ 22 - 0
static/src/less/options/colors/theme_aqua.less

@@ -0,0 +1,22 @@
+@import url(https://fonts.googleapis.com/css?family=Open+Sans:700,400);
+
+
+/*Font*/
+@font-family:      'Open Sans', sans-serif;
+@font-size-base:	14px;
+@font-size-body:	14px;
+@title:				18px;
+
+/*Color*/
+@header-bg:			#fff;
+@theme:				#80af9b;
+@light-color:		#ffffff;
+@dark-color:		#393939;
+@body-color:		#393939;
+@footer-bg:			#161b1e;
+@footer-text:		#b3b3b3;
+@new-label-color:   #39b54a;
+@sale-label-color:  #f7941d;
+@text-muted		:	#9E9E9E;
+/*img*/
+ @img-path:			'../img/';

+ 22 - 0
static/src/less/options/colors/theme_blue.less

@@ -0,0 +1,22 @@
+@import url(https://fonts.googleapis.com/css?family=Open+Sans:700,400);
+
+
+/*Font*/
+@font-family:      'Open Sans', sans-serif;
+@font-size-base:	14px;
+@font-size-body:	14px;
+@title:				18px;
+
+/*Color*/
+@header-bg:			#fff;
+@theme:				#62d2ea;
+@light-color:		#ffffff;
+@dark-color:		#393939;
+@body-color:		#393939;
+@footer-bg:			#161b1e;
+@footer-text:		#b3b3b3;
+@new-label-color:   #39b54a;
+@sale-label-color:  #f7941d;
+@text-muted		:	#9E9E9E;
+/*img*/
+ @img-path:			'../img/';

+ 22 - 0
static/src/less/options/colors/theme_brown.less

@@ -0,0 +1,22 @@
+@import url(https://fonts.googleapis.com/css?family=Open+Sans:700,400);
+
+
+/*Font*/
+@font-family:      'Open Sans', sans-serif;
+@font-size-base:	14px;
+@font-size-body:	14px;
+@title:				18px;
+
+/*Color*/
+@header-bg:			#fff;
+@theme:				#73503c;
+@light-color:		#ffffff;
+@dark-color:		#393939;
+@body-color:		#393939;
+@footer-bg:			#161b1e;
+@footer-text:		#b3b3b3;
+@new-label-color:   #39b54a;
+@sale-label-color:  #f7941d;
+@text-muted		:	#9E9E9E;
+/*img*/
+ @img-path:			'../img/';

+ 22 - 0
static/src/less/options/colors/theme_orange.less

@@ -0,0 +1,22 @@
+@import url(https://fonts.googleapis.com/css?family=Open+Sans:700,400);
+
+
+/*Font*/
+@font-family:      'Open Sans', sans-serif;
+@font-size-base:	14px;
+@font-size-body:	14px;
+@title:				18px;
+
+/*Color*/
+@header-bg:			#fff;
+@theme:				#ff6801;
+@light-color:		#ffffff;
+@dark-color:		#393939;
+@body-color:		#393939;
+@footer-bg:			#161b1e;
+@footer-text:		#b3b3b3;
+@new-label-color:   #39b54a;
+@sale-label-color:  #f7941d;
+@text-muted		:	#9E9E9E;
+/*img*/
+ @img-path:			'../img/';

+ 22 - 0
static/src/less/options/colors/theme_pink.less

@@ -0,0 +1,22 @@
+@import url(https://fonts.googleapis.com/css?family=Open+Sans:700,400);
+
+
+/*Font*/
+@font-family:      'Open Sans', sans-serif;
+@font-size-base:	14px;
+@font-size-body:	14px;
+@title:				18px;
+
+/*Color*/
+@header-bg:			#fff;
+@theme:				#ff5d5d;
+@light-color:		#ffffff;
+@dark-color:		#393939;
+@body-color:		#393939;
+@footer-bg:			#161b1e;
+@footer-text:		#b3b3b3;
+@new-label-color:   #39b54a;
+@sale-label-color:  #f7941d;
+@text-muted		:	#9E9E9E;
+/*img*/
+ @img-path:			'../img/';

+ 2 - 2
static/src/scss/options/fonts/font-style-lato-font.scss → static/src/less/options/fonts/font-style-lato-font.less

@@ -1,4 +1,4 @@
 @import url(https://fonts.googleapis.com/css?family=Lato:400,700,300,900);
 
-$font-family: 'Lato', sans-serif;
-body { font-family: $font-family;}
+@font-family: 'Lato', sans-serif;
+body { font-family: @font-family;}

+ 2 - 2
static/src/scss/options/fonts/font-style-open-sans-font.scss → static/src/less/options/fonts/font-style-open-sans-font.less

@@ -1,4 +1,4 @@
 @import url(https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800);
 
-$font-family: 'Open Sans', sans-serif;
-body { font-family: $font-family;}
+@font-family: 'Open Sans', sans-serif;
+body { font-family: @font-family;}

+ 2 - 2
static/src/scss/options/fonts/font-style-raleway-font.scss → static/src/less/options/fonts/font-style-raleway-font.less

@@ -1,4 +1,4 @@
 @import url(https://fonts.googleapis.com/css?family=Raleway:400,500,600,700,800);
 
-$font-family: 'Raleway', sans-serif;
-body { font-family: $font-family;}
+@font-family: 'Raleway', sans-serif;
+body { font-family: @font-family;}

+ 2 - 2
static/src/scss/options/fonts/font-style-source-sans-pro-font.scss → static/src/less/options/fonts/font-style-source-sans-pro-font.less

@@ -1,4 +1,4 @@
 @import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700);
 
-$font-family: 'Source Sans Pro', sans-serif;
-body { font-family: $font-family;}
+@font-family: 'Source Sans Pro', sans-serif;
+body { font-family: @font-family;}

+ 2 - 2
static/src/scss/options/fonts/font-style-source-serif-pro-font.scss → static/src/less/options/fonts/font-style-source-serif-pro-font.less

@@ -1,4 +1,4 @@
 @import url(https://fonts.googleapis.com/css?family=Source+Serif+Pro:400,600,700);
 
-$font-family: 'Source Serif Pro', serif;
-body { font-family: $font-family;}
+@font-family: 'Source Serif Pro', serif;
+body { font-family: @font-family;}

+ 4 - 0
static/src/less/options/fonts/font-style-varela-round-font.less

@@ -0,0 +1,4 @@
+@import url(https://fonts.googleapis.com/css?family=Varela+Round);
+
+@font-family: 'Varela Round', sans-serif;
+body { font-family: @font-family;}

+ 1 - 1
static/src/scss/options/layout/boxed.scss → static/src/less/options/layout/boxed.less

@@ -5,7 +5,7 @@
 	width: 1170px;
 	max-width: 100%;
 	margin: 0 auto;
-	background: $light-color;
+	background: @light-color;
 	box-shadow: 1px 1px 4px 4px rgba(0,0,0,0.1);
 	@media(max-width: 1170px){
 		width:100%;

+ 81 - 135
static/src/scss/product.scss → static/src/less/product.less

@@ -4,7 +4,7 @@
 	}
 }
 .product-blog {
-	border-top: 1px solid lighten($dark-color, 70%);
+	border-top: 1px solid lighten(@dark-color, 70%);
 	padding-top: 56px
 }
 .list-items {
@@ -36,7 +36,7 @@
 				top: 0;
 				bottom: 0;
 				margin: auto;
-				background: $dark-color;
+				background: @dark-color;
 			}
 			.owl-prev {
 				left: 0px;
@@ -54,8 +54,8 @@
 				&:before {
 					content: "\f104";
 					font-family: "FontAwesome";
-					font-size: $font-size-base * 2;
-					color: darken($light-color, 20%);
+					font-size: @font-size-base * 2;
+					color: darken(@light-color, 20%);
 				}
 			}
 			.owl-next {
@@ -74,8 +74,8 @@
 				&:before {
 					content: "\f105";
 					font-family: "FontAwesome";
-					font-size: $font-size-base * 2;
-					color: darken($light-color, 20%);
+					font-size: @font-size-base * 2;
+					color: darken(@light-color, 20%);
 				}
 			}
 		}
@@ -85,7 +85,7 @@
 	padding-bottom: 30px;
 }
 .products-slider-section {
-	padding: 30px 25px 20px 25px;
+	padding: 0px 25px 20px 25px;
 
 	@media (max-width:1200px){
 		padding: 0px 30px;
@@ -109,7 +109,7 @@
 		.add-to-cart {
 			position: absolute;
 			left: 100%;
-			@include transition(all, 0.4s, ease);
+			.transition(all, 0.4s, ease);
 			bottom: 0;
 			width: 100%;
 
@@ -118,14 +118,14 @@
 				float: left;
 				text-align: center;
 				text-transform: uppercase;
-				font-size: $font-family;
-				background: $theme;
+				font-size: @font-family;
+				background: @theme;
 				padding: 10px;
-				color: $light-color;
+				color: @light-color;
 
 				&:hover {
 					text-decoration: none;
-					background: fade($theme, 90);
+					background: fade(@theme, 90);
 				}
 			}
 		}
@@ -142,15 +142,15 @@
 		.pwpi-title {
 			margin: 0;
 			padding: 0 0 5px;
-			font-size: $font-size-base + 1;
+			font-size: @font-size-base + 1;
 			
 
 			a {
-				color: $dark-color;
+				color: @dark-color;
 
 				&:hover {
 					text-decoration: none;
-					color: $theme;
+					color: @theme;
 				}
 			}
 		}
@@ -159,14 +159,14 @@
 			padding: 0;
 
 			.price {
-				font-size: $font-size-base + 1;
+				font-size: @font-size-base + 1;
 				font-weight: 700;
-				color:$theme;
+				color:@theme;
 			}
 			.old-price {
 				text-decoration: line-through;
-				color: lighten($theme, 40%);
-				font-size: $font-size-base + 1;
+				color: lighten(@theme, 40%);
+				font-size: @font-size-base + 1;
 			}
 		}
 		@media  (min-width:320px) and (max-width:767px) {
@@ -176,10 +176,10 @@
 	}
 	.pink-box {
 		width: 100%;
-		background-color: fade-in($theme, 0.9);		/*display: inline-block;*/
+		background-color: fade(@theme, 95);		/*display: inline-block;*/
 		padding: 0px 19px;		/*position: absolute;*/
 		position: relative;
-		@include transition(all, 0.6s, ease);
+		.transition(all, 0.6s, ease);
 
 		/*bottom: 61px;
 		left: 0;*/
@@ -260,7 +260,7 @@
 		}
 		.stars {
 			float: left;
-			color: $light-color;
+			color: @light-color;
 
 			i {
 				margin-right: 3px;
@@ -268,7 +268,7 @@
 		}
 	}
 	.pwp-info {
-		border: 1px solid $theme;
+		border: 1px solid @theme;
 		border-top: none;
 	}
 }
@@ -282,15 +282,15 @@
 	width: 100%;
 	display: inline-block;
 	vertical-align: top;
-	padding: 0px 15px 25px 15px;
+	padding: 0 0 25px;
 
 	.toolbar-pager {
 		.pager_left {
-			float: right;
+			float: left;
 		}
 		.pager_right {
-			float: left;
-			text-align: left;
+			float: right;
+			text-align: right;
 
 			.sort-by {
 				display: inline-block;
@@ -298,18 +298,10 @@
 
 				.dropdown {
 					button {
-						background: $light-color;
-						border: 1px solid darken($light-color, 10%);
+						background: @light-color;
+						border: 1px solid darken(@light-color, 10%);
 						padding: 6px 15px;
-						cursor: pointer;
-						&:focus {
-							outline:none;
-						}
-					}
-					.caret{
-						&:hover{
-							border-top-color:#000000;
-						}
+						border-radius: none;
 					}
 				}
 			}
@@ -318,12 +310,12 @@
 	.view-mode {
 		button {
 			background: none;
-			border: 1px solid darken($light-color, 10%);
+			border: 1px solid darken(@light-color, 10%);
 			padding: 5px 10px;
 
 			&:hover {
-				background: $theme;
-				color: $light-color;
+				background: @theme;
+				color: @light-color;
 			}
 		}
 	}
@@ -334,7 +326,7 @@
 .product-view {
 	.product-shop-info {
 		.product-title {
-			border-bottom: 1px solid lighten($dark-color, 70%);
+			border-bottom: 1px solid lighten(@dark-color, 70%);
 
 			@media (max-width:767px){
 				margin-top: 10px;
@@ -342,10 +334,10 @@
 			
 
 			h1 {
-				font-size: $font-size-base + 6;
+				font-size: @font-size-base + 6;
 				margin: 0;
 				padding: 0 0 12px 0;
-				color: $dark-color;
+				color: @dark-color;
 				font-weight: bold;
 			}
 			.ratings {
@@ -373,13 +365,13 @@
 				}
 			}
 			.review {
-				float: none;
+				float: right;
 				width: 70%;
 
 				a {
-					font-size: $font-size-base - 2;
+					font-size: @font-size-base - 2;
 					font-weight: 400;
-					color: lighten($dark-color, 20%);
+					color: lighten(@dark-color, 20%);
 				}
 				&:hover a {
 					text-decoration: none;
@@ -388,15 +380,15 @@
 		}
 		.details {
 			padding: 0px 0px 15px 0px;
-			border-bottom: 1px solid lighten($dark-color, 70%);
+			border-bottom: 1px solid lighten(@dark-color, 70%);
 
 			.pro-desc {
 				width: 100%;
 				display: inline-block;
 				vertical-align: top;
-				font-size: $font-size-base + 1;
+				font-size: @font-size-base + 1;
 				font-weight: 400;
-				color: $dark-color;
+				color: @dark-color;
 			}
 			.price-box {
 				width: 100%;
@@ -413,15 +405,15 @@
 
 						.price {
 							text-decoration: line-through;
-							color: lighten($dark-color, 50%);
-							font-size: $font-size-base + 6;
+							color: lighten(@dark-color, 50%);
+							font-size: @font-size-base + 6;
 							font-weight: bold;
 						}
 					}
 					&.special-price {
 						.price {
-							font-size: $font-size-base  + 6;
-							color: $theme;
+							font-size: @font-size-base  + 6;
+							color: @theme;
 							font-weight: bold;
 						}
 					}
@@ -449,51 +441,40 @@
 			display: inline-block;
 			vertical-align: top;
 			padding: 0px 0px 29px 0px;
-			border-bottom: 1px solid lighten($dark-color, 70%);
+			border-bottom: 1px solid lighten(@dark-color, 70%);
 		}
 		.css_quantity {
 			width: 146px;
 			height: 44px;
-			margin-top: 25px;
 			
 
 			.input-group-addon {
 				border-radius: 0;
 				width: 46px;
-				background: $theme;
-				color: $light-color;
-				border-color: $theme;
-				margin-bottom: 0 !important;
-				display: -webkit-box;
-    			display: -ms-flexbox;
-    			display: flex;
-    			-webkit-box-pack: center;
-    			-ms-flex-pack: center;
-    			justify-content: center;
-    			-webkit-box-align: center;
-    			-ms-flex-align: center;
-    			align-items: center;
+				background: @theme;
+				color: @light-color;
+				border-color: @theme;
 
 				&:hover {
-					background: darken($theme, 5%);
+					background: darken(@theme, 5%);
 				}
 			}
 			.form-control {
 				height: 44px;
 				text-align: center;
-				border-color: $theme;
-				color: $dark-color;
+				border-color: @theme;
+				color: @dark-color;
 			}
 		}
 
 			.cart-btn {
-				background:$dark-color;
+				background:@dark-color;
 				width: 176px;
 				padding: 12px 0px 11px 0px;
 				text-align: center;
 				border-radius: 0;
-				color: $light-color;
-				font-size: $font-size-base + 1;
+				color: @light-color;
+				font-size: @font-size-base + 1;
 				font-weight: bolder;
 				transition:all 0.1s ease;
 				margin-top: 8px;
@@ -504,13 +485,14 @@
 					margin-right: 8px;
 				}
 				&:hover {
-					border-color: $theme;
-					background: $theme;
-					color: $light-color;
+					border-color: @theme;
+					background: @theme;
+					color: @light-color;
 				}
 				@media (max-width:1200px) {
 					width: auto;
 					padding: 10px;
+					margin-top: 0px !important;
 				}
 				
 			}
@@ -531,20 +513,20 @@
 				padding-right: 5px;
 
 				a {
-					color: lighten($dark-color, 50%);
+					color: lighten(@dark-color, 50%);
 					padding: 3px 7px;
-					border: 1px solid lighten($dark-color, 50%);
+					border: 1px solid lighten(@dark-color, 50%);
 					display: block;
 					border-radius: 2px;
-					font-size: $font-size-base - 2;
+					font-size: @font-size-base - 2;
 
 					.fa {
 						margin-right: 3px;
 					}
 					&:hover {
-						background: lighten($dark-color, 50%);
+						background: lighten(@dark-color, 50%);
 						text-decoration: none;
-						color: $light-color;
+						color: @light-color;
 					}
 				}
 			}
@@ -558,7 +540,7 @@
 	padding: 15px;
 }
 .sidebar-slider {
-	background: darken($light-color, 3%);
+	background: darken(@light-color, 3%);
 
 	.carousel-control {
 		width: 25px;
@@ -567,24 +549,24 @@
 		right: 0;
 		left: auto;
 		text-shadow: none;
-		color: $light-color;
+		color: @light-color;
 		line-height: normal;
 		opacity: 1;
 
 		&.right {
 			right: 0;
-			background: $theme;
+			background: @theme;
 
 			&:hover {
-				background: $dark-color;
+				background: @dark-color;
 			}
 		}
 		&.left {
 			right: 26px;
-			background: $theme;
+			background: @theme;
 
 			&:hover {
-				background: $dark-color;
+				background: @dark-color;
 			}
 		}
 	}
@@ -603,7 +585,7 @@
 	.rlp-img {
 		max-width: 65px;
 		float: left;
-		border: 1px solid darken($light-color, 8%);
+		border: 1px solid darken(@light-color, 8%);
 	}
 	.rlp-desc {
 		text-align: left;
@@ -613,27 +595,27 @@
 			margin: 0;
 		}
 		.rlp-title {
-			font-size: $font-size-base + 3;
+			font-size: @font-size-base + 3;
 			padding: 0 0 5px;
 
 			a {
-				color: lighten($dark-color, 20%);
+				color: lighten(@dark-color, 20%);
 			}
 		}
 		.price {
 			padding-bottom: 5px;
 
 			.price {
-				font-size: $font-size-base + 3;
+				font-size: @font-size-base + 3;
 			}
 			.old-price {
 				text-decoration: line-through;
-				color: lighten($theme, 40%);
-				font-size: $font-size-base + 1;
+				color: lighten(@theme, 40%);
+				font-size: @font-size-base + 1;
 			}
 		}
 		.wishlist-link {
-			color: darken($light-color, 40%);
+			color: darken(@light-color, 40%);
 		}
 	}
 }
@@ -647,18 +629,18 @@
 			.btn {
 				line-height: 28px;
 				.fa {
-					color: $light-color;
+					color: @light-color;
 				}
 				&:hover {
 					.fa {
-						color: $theme;
+						color: @theme;
 					}
 				}
 			}
 		}
 		.oe_subdescription{
 			text-align: center;
-			color: lighten($dark-color, 20%);
+			color: lighten(@dark-color, 20%);
 			text-align: center;
 			padding: 10px 0;
 		}
@@ -673,40 +655,4 @@
 			vertical-align: top;
 		}
 	}
-}
-
-.shop-by {
-	.nav {
-		-webkit-box-orient: vertical;
-		-webkit-box-direction: normal;
-		-ms-flex-direction: column;
-		flex-direction: column;
-	}
-}
-
-.list-view-box {
-	.list-items {
-		-webkit-box-flex: 0;
-		-ms-flex: 0 0 100%;
-		flex: 0 0 100%;
-    	max-width: 100%;
-	}
-}
-.toolbar-pager {
-	button {
-		cursor: pointer;
-	}
-}
-#description_reviews_tabs {
-	li{
-		a {
-			padding: 10px 15px;
-			display: inline-block;
-		}	
-	}
-}
-.oe_website_spinner {
-	input.quantity {
-		min-width: 50px; 
-	}
 }

+ 25 - 37
static/src/scss/style.scss → static/src/less/style.less

@@ -5,7 +5,7 @@ li.divider {
     display: none;
 }
 .mega-dropdown-menu {
-    background-color: $light-color !important;
+    background-color: @light-color !important;
 
     &.dropdown-menu {
         padding: 15px;
@@ -21,9 +21,7 @@ li.divider {
     }
     .footer {
         padding: 0 15px;
-        border-top: 1px solid darken($light-color, 10%);
-        display: block;
-        width: 100%;
+        border-top: 1px solid darken(@light-color, 10%);
     }
 }
 header {
@@ -88,7 +86,7 @@ header {
             }
             ;
         }
-        /*.dropdown-header {
+        .dropdown-header {
             margin: 0 0 15px 0;
             padding: 0 0 8px;
             font-size: 16px;
@@ -101,17 +99,17 @@ header {
             a {
                 padding-left: 0;
             }
-        }*/
+        }
         li a:hover {
             text-decoration: none;
         }
         .slider_header {
-            width: 100%;
+            width: 80%;
             white-space: normal;
             display: inline-block;
         }
     }
-    .carousel-control-prev, .carousel-control-next {
+    .carousel-control {
         background: none;
         height: 30px;
         width: 30px;
@@ -135,7 +133,7 @@ header {
         &:hover {
             opacity: 1;
         }
-        &.carousel-control-next {
+        &.right {
             left: auto;
             right: 27px;
         }
@@ -144,7 +142,6 @@ header {
         text-align: center;
         font-size: 20px;
         text-transform: capitalize;
-        width: 100%;
     }
 }
 .carousel-inner {
@@ -173,18 +170,18 @@ header {
 }
 
 /*theme_customize_modal*/
-body .o_theme_customize_modal {
+body #theme_customize_modal {
 
     .modal-dialog {
-        width: 300px !important;
-        /*box-shadow: 0px 0px 0px 1px rgba(144, 141, 141, 0.38);*/
+        width: 300px;
+        box-shadow: 0px 0px 0px 1px rgba(144, 141, 141, 0.38);
 
         .modal-content {
 
             /*box-shadow: none;*/
             border-radius: 0;
             background: #212d41;
-            border: 1px solid $dark-color;
+            border: 1px solid @dark-color;
 
             .modal-header {
                 width: 100%;
@@ -197,24 +194,16 @@ body .o_theme_customize_modal {
                 .close {
                     color: #fff;
                     text-shadow: none;
-                    padding: 0;
-                    margin: 0;
                 }
                 .modal-title {
                     color: #fff;
-                    font-family: $font-family;
+                    font-family: @font-family;
                     padding: 0;
                     font-size: 14px;
                     text-transform: uppercase;
                     font-weight: 600;
-                    margin-top: 0;
-                    display: inline-block;
                 }
             }
-
-            .modal-body{
-               background-color: transparent; 
-            }
             .modal-h5 {
                 width: 100%;
                 display: inline-block;
@@ -222,11 +211,10 @@ body .o_theme_customize_modal {
                 text-align: center;
                 background: none;
                 color: #fff;
-                font-family: $font-family;
+                font-family: @font-family;
                 position: relative;
                 padding: 0 0px 10px;
-                margin: 0 0 20px 0;
-                font-size: 15px;
+                margin: 20px 0;
 
                 &:after {
                     width: 50px;
@@ -241,8 +229,7 @@ body .o_theme_customize_modal {
                 }
             }
             label {
-                font-family: $font-family;
-                width: 100%;
+                font-family: @font-family;
             }
             table[name="layout"] {
                 .center-block {
@@ -293,7 +280,7 @@ body .o_theme_customize_modal {
             table[name="font"] {
                 label {
                     span {
-                        color: $light-color;
+                        color: @light-color;
                         display: block;
                         cursor: pointer;
                         padding: 5px;
@@ -316,7 +303,6 @@ body .o_theme_customize_modal {
                 }
             }
             table[name="bg_patterns"]{
-                margin-bottom: 10px;
                 td{
                     padding: 5px;
                 }
@@ -347,22 +333,22 @@ body .o_theme_customize_modal {
                         vertical-align: top;
                     }
                     .pf-color1{
-                        background: $box-body-bg1;
+                        background: @box-body-bg1;
                     }
                     .pf-color2{
-                        background: $box-body-bg2;
+                        background: @box-body-bg2;
                     }
                     .pf-color3{
-                        background: $box-body-bg3;
+                        background: @box-body-bg3;
                     }
                     .pf-color4{
-                        background: $box-body-bg4;
+                        background: @box-body-bg4;
                     }
                     .pf-color5{
-                        background: $box-body-bg5;
+                        background: @box-body-bg5;
                     }
                     .pf-color6{
-                        background: $box-body-bg6;
+                        background: @box-body-bg6;
                     }
                 }
             }
@@ -372,4 +358,6 @@ body .o_theme_customize_modal {
 
 
 
-/**/
+/**/
+
+

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 181 - 208
static/src/less/web.less


+ 7 - 0
static/src/less/website.less

@@ -0,0 +1,7 @@
+@import "mixins.less";
+@import "variable.less";
+@import "box-layout.less";
+@import "header.less";
+@import "footer.less";
+@import "product.less";
+@import "custom.less";

+ 0 - 22
static/src/scss/custom_theme.scss

@@ -1,22 +0,0 @@
-@import url(https://fonts.googleapis.com/css?family=Open+Sans:700,400);
-
-
-/*Font*/
-$font-family:      'Open Sans', sans-serif;
-$font-size-base:	14px;
-$font-size-body:	14px;
-$title:				18px;
-
-/*Color*/
-$header-bg:			#fff;
-$theme:				#c38647;
-$light-color:		#ffffff;
-$dark-color:		#393939;;
-$body-color:		#393939;
-$footer-bg:			#161b1e;
-$footer-text:		#b3b3b3;
-$new-label-color:   #39b54a;
-$sale-label-color:  #f7941d;
-$text-muted		:	#9E9E9E;
-/*img*/
- $img-path:			'../img/';

+ 0 - 27
static/src/scss/mixins.scss

@@ -1,27 +0,0 @@
-/*BG micin*/
-@mixin bg-img($img-name){
-  background-image: url('${img-path}${img-name}');
-}
-@mixin bg-size($cover){
-  background-size: $cover;
-  -moz-background-size: $cover;
-  -webkit-background-size: $cover;
-  -o-background-size: $cover;
-}
-
-
-/* Transition */
-@mixin transition($all, $s, $ease){
-      transition: $all $s $ease;
--webkit-transition: $all $s $ease;
-   -moz-transition: $all $s $ease;
-     -o-transition: $all $s $ease;
-}
-
-/*Responsive*/
-/*@mixin media($maxwidth; $rules){
-    @media only screen and (max-width: $maxwidth) {
-        $rules();
-    }
-}*/
-

+ 0 - 1
static/src/scss/options/bg_patterns/bg-pattern-1.scss

@@ -1 +0,0 @@
-body {background: $box-body-bg1;}

+ 0 - 1
static/src/scss/options/bg_patterns/bg-pattern-2.scss

@@ -1 +0,0 @@
-body {background: $box-body-bg2;}

+ 0 - 1
static/src/scss/options/bg_patterns/bg-pattern-3.scss

@@ -1 +0,0 @@
-body {background: $box-body-bg3;}

+ 0 - 1
static/src/scss/options/bg_patterns/bg-pattern-4.scss

@@ -1 +0,0 @@
-body {background: $box-body-bg4;}

+ 0 - 1
static/src/scss/options/bg_patterns/bg-pattern-5.scss

@@ -1 +0,0 @@
-body {background: $box-body-bg5;}

+ 0 - 1
static/src/scss/options/bg_patterns/bg-pattern-6.scss

@@ -1 +0,0 @@
-body {background: $box-body-bg6;}

+ 0 - 22
static/src/scss/options/colors/colors.scss

@@ -1,22 +0,0 @@
-@import url(https://fonts.googleapis.com/css?family=Open+Sans:700,400);
-
-
-/*Font*/
-$font-family:      'Open Sans', sans-serif;
-$font-size-base:	14px;
-$font-size-body:	14px;
-$title:				18px;
-
-/*Color*/
-$header-bg:			#fff;
-$theme:				#c38647;
-$light-color:		#ffffff;
-$dark-color:		#393939;
-$body-color:		#393939;
-$footer-bg:			#161b1e;
-$footer-text:		#b3b3b3;
-$new-label-color:   #39b54a;
-$sale-label-color:  #f7941d;
-$text-muted		:	#9E9E9E;
-/*img*/
- $img-path:			'../img/';

+ 0 - 22
static/src/scss/options/colors/theme_aqua.scss

@@ -1,22 +0,0 @@
-@import url(https://fonts.googleapis.com/css?family=Open+Sans:700,400);
-
-
-/*Font*/
-$font-family:      'Open Sans', sans-serif;
-$font-size-base:	14px;
-$font-size-body:	14px;
-$title:				18px;
-
-/*Color*/
-$header-bg:			#fff;
-$theme:				#80af9b;
-$light-color:		#ffffff;
-$dark-color:		#393939;
-$body-color:		#393939;
-$footer-bg:			#161b1e;
-$footer-text:		#b3b3b3;
-$new-label-color:   #39b54a;
-$sale-label-color:  #f7941d;
-$text-muted		:	#9E9E9E;
-/*img*/
- $img-path:			'../img/';

+ 0 - 22
static/src/scss/options/colors/theme_blue.scss

@@ -1,22 +0,0 @@
-@import url(https://fonts.googleapis.com/css?family=Open+Sans:700,400);
-
-
-/*Font*/
-$font-family:      'Open Sans', sans-serif;
-$font-size-base:	14px;
-$font-size-body:	14px;
-$title:				18px;
-
-/*Color*/
-$header-bg:			#fff;
-$theme:				#62d2ea;
-$light-color:		#ffffff;
-$dark-color:		#393939;
-$body-color:		#393939;
-$footer-bg:			#161b1e;
-$footer-text:		#b3b3b3;
-$new-label-color:   #39b54a;
-$sale-label-color:  #f7941d;
-$text-muted		:	#9E9E9E;
-/*img*/
- $img-path:			'../img/';

+ 0 - 22
static/src/scss/options/colors/theme_brown.scss

@@ -1,22 +0,0 @@
-@import url(https://fonts.googleapis.com/css?family=Open+Sans:700,400);
-
-
-/*Font*/
-$font-family:      'Open Sans', sans-serif;
-$font-size-base:	14px;
-$font-size-body:	14px;
-$title:				18px;
-
-/*Color*/
-$header-bg:			#fff;
-$theme:				#73503c;
-$light-color:		#ffffff;
-$dark-color:		#393939;
-$body-color:		#393939;
-$footer-bg:			#161b1e;
-$footer-text:		#b3b3b3;
-$new-label-color:   #39b54a;
-$sale-label-color:  #f7941d;
-$text-muted		:	#9E9E9E;
-/*img*/
- $img-path:			'../img/';

+ 0 - 22
static/src/scss/options/colors/theme_orange.scss

@@ -1,22 +0,0 @@
-@import url(https://fonts.googleapis.com/css?family=Open+Sans:700,400);
-
-
-/*Font*/
-$font-family:      'Open Sans', sans-serif;
-$font-size-base:	14px;
-$font-size-body:	14px;
-$title:				18px;
-
-/*Color*/
-$header-bg:			#fff;
-$theme:				#ff6801;
-$light-color:		#ffffff;
-$dark-color:		#393939;
-$body-color:		#393939;
-$footer-bg:			#161b1e;
-$footer-text:		#b3b3b3;
-$new-label-color:   #39b54a;
-$sale-label-color:  #f7941d;
-$text-muted		:	#9E9E9E;
-/*img*/
- $img-path:			'../img/';

+ 0 - 22
static/src/scss/options/colors/theme_pink.scss

@@ -1,22 +0,0 @@
-@import url(https://fonts.googleapis.com/css?family=Open+Sans:700,400);
-
-
-/*Font*/
-$font-family:      'Open Sans', sans-serif;
-$font-size-base:	14px;
-$font-size-body:	14px;
-$title:				18px;
-
-/*Color*/
-$header-bg:			#fff;
-$theme:				#ff6801;
-$light-color:		#ffffff;
-$dark-color:		#393939;
-$body-color:		#393939;
-$footer-bg:			#161b1e;
-$footer-text:		#b3b3b3;
-$new-label-color:   #39b54a;
-$sale-label-color:  #f7941d;
-$text-muted		:	#9E9E9E;
-/*img*/
- $img-path:			'../img/';

+ 0 - 4
static/src/scss/options/fonts/font-style-varela-round-font.scss

@@ -1,4 +0,0 @@
-@import url(https://fonts.googleapis.com/css?family=Varela+Round);
-
-$font-family: 'Varela Round', sans-serif;
-body { font-family: $font-family;}

+ 0 - 290
static/src/scss/theme_common.scss

@@ -1,290 +0,0 @@
-h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small {
-	    font-weight: normal;
-    	line-height: 1;
-	    color: #777777;
-}
-h1, .h1, h2, .h2, h3, .h3 {
-	margin-top: 20px;
-}
-h4, .h4, h5, .h5, h6, .h6{
-	margin-top: 10px;
-    margin-bottom: 10px;
-}
-.btn {
-	border-radius: 2px;
-}
-.coupon_form{
-	.form-control {
-		padding: 1.175rem 0.75rem;
-	}
-}
-.col-md-offset-6 {
-	@media (min-width:992px){
-    	margin-left: 50%;
-	}
-}
-.list-inline > li {
-    display: inline-block;
-    padding-left: 5px;
-    padding-right: 5px;
-}
-.s_theme_crafito_product_slider{
-	.carousel-item { 
-		display: unset;
-	}
-}
-a:hover{
-	text-decoration: none;
-}
-.nav > li {
-	display: block;
-}
-.navbar-light{
-	.navbar-toggler-icon {
-		background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CgogPGc+CiAgPHRpdGxlPmJhY2tncm91bmQ8L3RpdGxlPgogIDxyZWN0IGZpbGw9Im5vbmUiIGlkPSJjYW52YXNfYmFja2dyb3VuZCIgaGVpZ2h0PSI0MDIiIHdpZHRoPSI1ODIiIHk9Ii0xIiB4PSItMSIvPgogPC9nPgogPGc+CiAgPHRpdGxlPkxheWVyIDE8L3RpdGxlPgogIDxwYXRoIGZpbGw9IiNmZmZmZmYiIGlkPSJzdmdfMSIgZD0ibTQsMTBsMjQsMGMxLjEwNCwwIDIsLTAuODk2IDIsLTJzLTAuODk2LC0yIC0yLC0ybC0yNCwwYy0xLjEwNCwwIC0yLDAuODk2IC0yLDJzMC44OTYsMiAyLDJ6bTI0LDRsLTI0LDBjLTEuMTA0LDAgLTIsMC44OTYgLTIsMnMwLjg5NiwyIDIsMmwyNCwwYzEuMTA0LDAgMiwtMC44OTYgMiwtMnMtMC44OTYsLTIgLTIsLTJ6bTAsOGwtMjQsMGMtMS4xMDQsMCAtMiwwLjg5NiAtMiwyczAuODk2LDIgMiwybDI0LDBjMS4xMDQsMCAyLC0wLjg5NiAyLC0ycy0wLjg5NiwtMiAtMiwtMnoiLz4KIDwvZz4KPC9zdmc+);
-	}
-}
-.header-top{
-	.currency-options {
-		.dropdown {
-			.btn {
-				background: none;
-				border-color: transparent;
-				border:none;
-				color: darken($light-color, 50%);
-				padding: 0;
-				line-height: 30px;
-				&:hover{
-					color:$theme;
-				}
-			}
-			.dropdown-menu {
-				padding: 0;
-				.dropdown-item {
-					padding: 0 8px;
-					line-height: 30px;
-					font-size: 12px;
-					color: darken($light-color, 50%);
-					&:hover, &:focus{
-						background-color: $theme;
-						color: $light-color;
-					}
-				}
-			}
-		}
-	}
-}
-
-
-.header-top {
-	.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus
-	{
-		box-shadow: none;
-	}
-}
-.header-top {
-	.btn-secondary:focus, .btn-secondary.focus {
-    	box-shadow: none;
-	}
-}
-.card-body { padding: 15px; }
-.card-header {
-	padding-top: 0;
-	padding-bottom: 0;
-}
-
-.crafito_blog_slider{
-	.carousel-item {
-		display: block;
-	}
-}
-.our-team {
-	.owl-item {
-		.carousel-item {
-			display: block;
-		}
-	}
-	.owl-nav {
-		display: none;
-	}
-}
-.caret {
-    display: inline-block;
-    width: 0;
-    height: 0;
-    margin-left: 2px;
-    vertical-align: middle;
-    border-top: 4px dashed;
-    border-top: 4px solid \9;
-    border-right: 4px solid transparent;
-    border-left: 4px solid transparent;
-}
-
-
-
-#skill_model, #fact_model{
-	.modal-content {
-		.modal-body{
-			.form-group.mb0{
-				display: -webkit-box;
-				display: -ms-flexbox;
-				display: flex;
-				-ms-flex-wrap: wrap;
-				flex-wrap: wrap;
-				margin-top: 30px;
-
-				.col-sm-6, .col-sm-4 {
-					margin-bottom: 5px;
-					label {
-						margin-bottom: 0;
-					}
-				}
-			}
-		}
-	}
-}
-#s_media_block_modal, #s_media_block_modal_prod, #s_media_block_modal_feature {
-	.modal-body{
-		.form-horizontal {
-			display: block;
-			width: 100%;
-			.col-sm-12.form-group {
-				display: -webkit-box;
-				display: -ms-flexbox;
-				display: flex;
-				-ms-flex-wrap: wrap;
-				flex-wrap: wrap;
-				-webkit-box-align: center;
-				-ms-flex-align: center;
-				align-items: center;
-				.col-sm-3.control-label{
-					text-align: right;
-					margin-bottom: 0;
-				}
-			}
-		}
-	}
-}
-#userlist {
-	.modal-header{
-		.modal-title {
-			margin-top: 0;
-		}
-	}
-	.modal-body{
-		.form-group.mb0{
-			width: 100%;
-			display: -webkit-box;
-			display: -ms-flexbox;
-			display: flex;
-			-ms-flex-wrap: wrap;
-			flex-wrap: wrap;
-
-			.col-sm-9 {
-				margin-bottom: 5px;
-			}
-		}
-	}
-}
-
-.oe_login_buttons {
-	.small, a {
-		font-size: 14px;
-	}
-}
-.input-group-addon {
-	padding: 6px 12px;
-}
-
-.page-item.active{
-	.page-link {
-		background-color: $theme;
-    	border-color: $theme;
-    }
-}
-
-.website_blog {
-	ul.nav {
-		.nav-item{
-			margin-top: 2px;
-			.badge {
-				background-color: #777777;
-				padding: 4px 7px;
-				color: $light-color;
-			}
-		}
-	}
-	.blog_tags {
-		ul{
-			.nav-item + .nav-item {
-				margin-left: 5px;
-			}
-		}
-	}
-}
-
-.progress-wizard .progress-wizard-step.active .progress-wizard-dot, .progress-wizard .progress-wizard-step.complete .progress-wizard-dot:after {
-	background: $theme;
-}
-.progress-wizard .progress-wizard-step.complete .progress-wizard-steplabel, .btn-link {
-	color: $theme;
-}
-.progress-wizard .progress-wizard-step.complete .progress-wizard-dot:after, .progress-wizard .progress-wizard-step.complete:hover:not(.disabled) .progress-wizard-dot:after {
-	color: $light-color;
-}
-.oe_website_sale {
-	margin-bottom: 30px;
-}
-.border_primary {
-	border:1px solid;
-	border-color: $theme;
-}
-
-.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus {
-	box-shadow: lighten($theme, 0.5);
-}
-.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle { 
-	background-color: $theme;
-    border-color: $theme;
-}
-
-.dropdown-item{
-	&.active{
-		background-color: $theme;
-	}
-	&:active {
-		background-color: $theme;
-	}
-}
-.badge-secondary {
-	background-color: $theme;
-}
-
-/*theme customizer scss*/
-.o_theme_customize_modal {
-	label {
-		input {
-			display: none;
-		}
-	}
-	label{
-		>div, > img{
-			border: 1px solid #fff;
-		    line-height: 30px;
-		    font-size: 0.9em;
-		    margin: 2px 4px;
-		}
-	}
-}
-
-.o_portal_wrap .list-group .list-group-item .flex_grow_rmv {
-	-webkit-box-flex: 0.2 !important;
-    -ms-flex-positive: 0.2 !important;
-    flex-grow: 0.2 !important;
-}
-.o_portal_wrap .o_portal_navbar, .o_portal .breadcrumb { padding-left: 10px; padding-right: 10px; }
-.o_portal .record_pager { padding-right: 10px; }
-
-.o_theme_customize_modal .modal-content .modal-footer {
-    display: none;
-}

+ 0 - 7
static/src/scss/website.scss

@@ -1,7 +0,0 @@
-@import "mixins.scss";
-@import "variable.scss";
-@import "box-layout.scss";
-@import "header.scss";
-@import "footer.scss";
-@import "product.scss";
-@import "custom.scss";

+ 8 - 13
views/assets.xml

@@ -18,20 +18,15 @@
 
             <!-- Custom -->
             <!-- Theme -->
+            <link href="/kingfisher_pro/static/src/less/options/colors/colors.less" rel="stylesheet" type="text/less"/>
+            <link href="/kingfisher_pro/static/src/less/mixins.less" rel="stylesheet" type="text/less"/>
+            <link href="/kingfisher_pro/static/src/less/box-layout.less" rel="stylesheet" type="text/less"/>
+            <link href="/kingfisher_pro/static/src/less/header.less" rel="stylesheet" type="text/less"/>
+            <link href="/kingfisher_pro/static/src/less/footer.less" rel="stylesheet" type="text/less"/>
+            <link href="/kingfisher_pro/static/src/less/product.less" rel="stylesheet" type="text/less"/>
+            <link href="/kingfisher_pro/static/src/less/style.less" rel="stylesheet" type="text/less"/>
+            <link href="/kingfisher_pro/static/src/less/web.less" rel="stylesheet" type="text/less"/> 
 
-            <link href="/kingfisher_pro/static/src/scss/options/colors/colors.scss" rel="stylesheet" type="text/scss"/>
-
-            
-            <link href="/kingfisher_pro/static/src/scss/mixins.scss" rel="stylesheet" type="text/scss"/>
-            <link href="/kingfisher_pro/static/src/scss/web.scss" rel="stylesheet" type="text/scss"/> 
-             
-            <link href="/kingfisher_pro/static/src/scss/header.scss" rel="stylesheet" type="text/scss"/>
-            <link href="/kingfisher_pro/static/src/scss/footer.scss" rel="stylesheet" type="text/scss"/>
-            <link href="/kingfisher_pro/static/src/scss/product.scss" rel="stylesheet" type="text/scss"/>
-            <link href="/kingfisher_pro/static/src/scss/style.scss" rel="stylesheet" type="text/scss"/>
-           <link href="/kingfisher_pro/static/src/scss/theme_common.scss" rel="stylesheet" type="text/scss"/>
-           
-            <link href="/kingfisher_pro/static/src/scss/box-layout.scss" rel="stylesheet" type="text/scss"/>
             <script type="text/javascript" src="/kingfisher_pro/static/src/js/owl.carousel.min.js"></script>
             <script type="text/javascript" src="/kingfisher_pro/static/src/js/carousel-swipe.js"></script>
 

+ 3 - 3
views/product_view.xml

@@ -20,8 +20,8 @@
                                widget="image" class="oe_avatar"
                                height="90" width="90" options='{"preview_image":"cover_image"}'
                                attrs="{'invisible': ['|', ('attach_type', '=', 'image'), ('video_type', '=', 'youtube')]}"/>
-                        <!-- <label string="It is required"
-                            attrs="{'invisible': ['|', ('attach_type', '=', 'image'), ('video_type', '=', 'youtube')]}"/> -->
+                        <label string="It is required"
+                            attrs="{'invisible': ['|', ('attach_type', '=', 'image'), ('video_type', '=', 'youtube')]}"/>
                     </group>
                     <group>
                         <field name="video_id"
@@ -78,7 +78,7 @@
                 </xpath>
                 <xpath expr="//notebook" position="inside">
                     <page attrs="{'invisible':[('multi_image','!=',True)]}" name="product multi image" string="Product Multiple Images">
-                        <field name="images" nolabel="1" context="{'default_product_id': id, 'tree_view_ref':'kingfisher_pro.kingfisher_pro_list_view_for_biz_product_images', 'form_view_ref':'kingfisher_pro_structure.kingfisher_pro_form_view_for_biz_product_images'}"/>
+                        <field name="images" nolabel="1" context="{'default_product_id': id, 'tree_view_ref':'kingfisher_pro.kingfisher_pro_list_view_for_biz_product_images', 'form_view_ref':'kingfisher_pro.kingfisher_pro_form_view_for_biz_product_images'}"/>
                     </page>
                     <page attrs="{'invisible':[('is_flip_image','!=',True)]}" name="flip_image_page" string="Product Flip Image">
                         <h4>Add flip image which will be visible on product hover in website</h4>

+ 1 - 1
views/slider_view.xml

@@ -163,7 +163,7 @@
                     <t t-name="kanban-box">
                         <div class="oe_kanban_global_click">
                             <div class="o_kanban_image">
-                                <img t-att-src="kanban_image('product.brand', 'brand_logo')"  t-att-alt="brand_description"/>
+                                <img t-att-src="kanban_image('product.brand', 'brand_logo')"/>
                             </div>
                             <div class="oe_kanban_details">
                                 <strong class="o_kanban_record_title"><field name="name"/></strong>

+ 44 - 49
views/snippets.xml

@@ -11,7 +11,7 @@
             </ol>
             <!-- Wrapper for slides -->
             <div class="carousel-inner">
-                <div class="carousel-item item1 active">
+                <div class="item item1 active">
                     <div class="container">
                         <div class="row content">
                             <blockquote class="col-md-6 col-sm-6 col-xs-6">
@@ -28,10 +28,10 @@
                         </div>
                     </div>
                 </div>
-                <div class="carousel-item item2">
+                <div class="item item2">
                     <div class="container">
-                        <div class="flex-row-reverse row content">
-                            <blockquote class=" col-md-5 col-sm-6 col-xs-6">
+                        <div class="row content">
+                            <blockquote class="pull-right col-md-5 col-sm-6 col-xs-6">
                                 <p>Western Wear</p>
                                 <h2>Women Tops</h2>
                                 <h5>Save <span>20%</span></h5>
@@ -47,14 +47,14 @@
                 </div>
             </div>
             <!-- Controls -->
-            <a class="carousel-control-prev" data-target="#myCarousel" data-slide="prev" role="button">
-                <span class="previous-icon">
+            <a class="left carousel-control" data-target="#myCarousel" data-slide="prev" role="button">
+                <span aria-hidden="true" class="previous-icon">
                     <img src="/kingfisher_pro/static/src/img/prev-slide.png"/>
                 </span>
                 <span class="sr-only">Previous</span>
             </a>
-            <a class="carousel-control-next" data-slide="next" data-target="#myCarousel" role="button">
-                <span class="next-icon">
+            <a class="right carousel-control" data-slide="next" data-target="#myCarousel" role="button">
+                <span aria-hidden="true" class="next-icon">
                     <img src="/kingfisher_pro/static/src/img/next-slide.png"/>
                 </span>
                 <span class="sr-only">Next</span>
@@ -160,7 +160,7 @@
                 <div class="row">
                     <div class="col-sm-4">
                         <a href="#">
-                             <i class="fa fa-shopping-cart"  alt="Free Shipping"></i>
+                             <i class="fa fa-shopping-cart" aria-hidden="true" alt="Free Shipping"></i>
                         </a>
                         <h4 class="">
                             <b>FREE SHIPPING WORLDWIDE</b>
@@ -169,7 +169,7 @@
                     </div>
                     <div class="col-sm-4">
                         <a href="#">
-                            <i class="fa fa-phone"  Title="Customer Service" alt="Customer Service"></i>
+                            <i class="fa fa-phone" aria-hidden="true" Title="Customer Service" alt="Customer Service"></i>
                         </a>
                         <h4 class="">
                             <b>24/7 CUSTOMER SERVICE</b>
@@ -178,7 +178,7 @@
                     </div>
                     <div class="col-sm-4">
                         <a href="#">
-                            <i class="fa fa-money"  Title="Money Back" alt="Money Back"></i>
+                            <i class="fa fa-money" aria-hidden="true" Title="Money Back" alt="Money Back"></i>
                         </a>
                         <h4 class="">
                             <b>MONEY BACK GUARANTEE !</b>
@@ -430,7 +430,7 @@
                             <ul id="multi_dynamic_slider_tabs" class="nav nav-tabs">
 
                                 <t t-if="slider_details.no_of_collection == '2'">
-                                    <li class="my-test">
+                                    <li class="active my-test">
                                         <a href="#multi-collection1" data-toggle="tab">
                                             <t t-esc='slider_details.label_collection_1'/>
                                         </a>
@@ -443,7 +443,7 @@
                                 </t>
 
                                 <t t-if="slider_details.no_of_collection == '3'">
-                                    <li class="">
+                                    <li class="active">
                                         <a href="#multi-collection1" data-toggle="tab">
                                             <t t-esc='slider_details.label_collection_1'/>
                                         </a>
@@ -461,7 +461,7 @@
                                 </t>
 
                                 <t t-if="slider_details.no_of_collection == '4'">
-                                    <li class="">
+                                    <li class="active">
                                         <a href="#multi-collection1" data-toggle="tab">
                                             <t t-esc='slider_details.label_collection_1'/>
                                         </a>
@@ -484,7 +484,7 @@
                                 </t>
 
                                 <t t-if="slider_details.no_of_collection == '5'">
-                                    <li class="">
+                                    <li class="active">
                                         <a href="#multi-collection1" data-toggle="tab">
                                             <t t-esc='slider_details.label_collection_1'/>
                                         </a>
@@ -659,8 +659,8 @@
                                                         <p class="price">
                                                             <span class="price">
                                                                 <t t-if="(compute_currency(product.lst_price) - product.website_price) &gt; 0.1  and website.get_current_pricelist().discount_policy=='without_discount'">
-                                                                    <del class="text-danger mr8" style="white-space: nowrap;" t-esc="compute_currency(product.website_public_price)" t-options="{'widget': 'monetary', 'display_currency': website.get_current_pricelist().currency_id, 'from_currency': website.currency_id}"/>
-                                                                </t>
+                                                                                            <del class="text-danger mr8" style="white-space: nowrap;" t-esc="compute_currency(product.website_public_price)" t-options="{'widget': 'monetary', 'display_currency': website.get_current_pricelist().currency_id, 'from_currency': website.currency_id}"/>
+                                                                                        </t>
                                                                 <span t-esc="product.website_price" t-options="{'widget': 'monetary', 'display_currency': website.currency_id}"/>
                                                             </span>
                                                         </p>
@@ -1339,7 +1339,7 @@
 
                         <div id="myQuoteCarousel" class="psb-inner carousel quotecarousel slide s_kingfisher_pro_testimonials_slider" data-interval="10000">
                             <div class="carousel-inner">
-                                <div class="carousel-item text_only active">
+                                <div class="item text_only active">
                                     <div class="container">
                                         <div class="row content">
                                             <blockquote>
@@ -1355,7 +1355,7 @@
                                         </div>
                                     </div>
                                 </div>
-                                <div class="carousel-item text_only">
+                                <div class="item text_only">
                                     <div class="container">
                                         <div class="row content">
                                             <blockquote>
@@ -1372,10 +1372,10 @@
                                     </div>
                                 </div>
                             </div>
-                            <a class= "carousel-control-prev" data-target= "#myQuoteCarousel" data-slide= "prev">
+                            <a class= "carousel-control left" data-target= "#myQuoteCarousel" data-slide= "prev">
                                 <i class='fa fa-angle-left'/>
                             </a>
-                            <a class= "carousel-control-next" data-target= "#myQuoteCarousel" data-slide= "next">
+                            <a class= "carousel-control right" data-target= "#myQuoteCarousel" data-slide= "next">
                                 <i class='fa fa-angle-right'/>
                             </a>
                         </div>
@@ -1386,34 +1386,29 @@
     </template>
 
     <template id="kingfisher_pro_extra_snippet" inherit_id="website.snippets" name="Kingfisher Pro Extra Snippet">
-        <xpath expr="//div[@id='o_scroll']" position="inside">
-            <div class="o_panel" id="snippet_theme_crafito">
-                <div class="o_panel_header">
-                    <span class="fa-stack">
-                        <i class="fa fa-circle-o-notch fa-stack-1x"/>
-                    </span>Kingfisher Pro
-                </div>
-                <div class="o_panel_body">
-                    <t t-snippet="kingfisher_pro.s_kingfisher_pro_home_slider"
-                       t-thumbnail="/kingfisher_pro/static/src/img/icons/home-slider-icon.png"/>
-                    <t t-snippet="kingfisher_pro.s_kingfisher_pro_promo_snippet"
-                       t-thumbnail="/kingfisher_pro/static/src/img/icons/promo-snippet.png"/>
-                    <t t-snippet="kingfisher_pro.s_kingfisher_pro_single_banner_snippet"
-                       t-thumbnail="/kingfisher_pro/static/src/img/icons/banner-without-slider.png"/>
-                    <t t-snippet="kingfisher_pro.s_kingfisher_pro_service_snippet"
-                       t-thumbnail="/kingfisher_pro/static/src/img/icons/service.png"/>
-                    <t t-snippet="kingfisher_pro.s_kingfisher_pro_testimonials_slider"
-                       t-thumbnail="/kingfisher_pro/static/src/img/icons/testimonials.png"/>
-                    <t t-snippet="kingfisher_pro.s_kingfisher_pro_product_category_slider"
-                       t-thumbnail="/kingfisher_pro/static/src/img/icons/product-category-slider.png"/>
-                    <t t-snippet="kingfisher_pro.s_kingfisher_pro_brand_custom_slider"
-                       t-thumbnail="/kingfisher_pro/static/src/img/icons/brand.png"/>
-                    <t t-snippet="kingfisher_pro.s_kingfisher_pro_blog_custom_snippet"
-                       t-thumbnail="/kingfisher_pro/static/src/img/icons/blog.png"/>
-                    <t t-snippet="kingfisher_pro.s_kingfisher_pro_multi_cat_custom_snippet"
-                       t-thumbnail="/kingfisher_pro/static/src/img/icons/tabs.png"/>
-                </div>
-            </div>
+        <xpath expr="//div[@id='snippet_structure']/div[hasclass('o_panel_body')]" position="inside">
+            <t t-snippet="kingfisher_pro.s_kingfisher_pro_home_slider"
+               t-thumbnail="/kingfisher_pro/static/src/img/icons/home-slider-icon.png"/>
+            <t t-snippet="kingfisher_pro.s_kingfisher_pro_promo_snippet"
+               t-thumbnail="/kingfisher_pro/static/src/img/icons/promo-snippet.png"/>
+            <t t-snippet="kingfisher_pro.s_kingfisher_pro_single_banner_snippet"
+               t-thumbnail="/kingfisher_pro/static/src/img/icons/banner-without-slider.png"/>
+            <t t-snippet="kingfisher_pro.s_kingfisher_pro_service_snippet"
+               t-thumbnail="/kingfisher_pro/static/src/img/icons/service.png"/>
+        </xpath>
+        <xpath expr="//div[@id='snippet_feature']/div[hasclass('o_panel_body')]" position="inside">
+            <t t-snippet="kingfisher_pro.s_kingfisher_pro_testimonials_slider"
+               t-thumbnail="/kingfisher_pro/static/src/img/icons/testimonials.png"/>
+            <t t-snippet="kingfisher_pro.s_kingfisher_pro_product_category_slider"
+               t-thumbnail="/kingfisher_pro/static/src/img/icons/product-category-slider.png"/>
+            <t t-snippet="kingfisher_pro.s_kingfisher_pro_brand_custom_slider"
+               t-thumbnail="/kingfisher_pro/static/src/img/icons/brand.png"/>
+            <t t-snippet="kingfisher_pro.s_kingfisher_pro_blog_custom_snippet"
+               t-thumbnail="/kingfisher_pro/static/src/img/icons/blog.png"/>
+            <t t-snippet="kingfisher_pro.s_kingfisher_pro_multi_cat_custom_snippet"
+               t-thumbnail="/kingfisher_pro/static/src/img/icons/tabs.png"/>
+        </xpath>
+        <xpath expr="//div[@id='snippet_effect']" position="inside">
         </xpath>
     </template>
 

+ 62 - 95
views/theme.xml

@@ -34,7 +34,7 @@
                         <span class="product-img">
                             <a t-attf-href="/shop/product/#{ slug(line.product_id.product_tmpl_id) }">
                                 <span t-field="line.product_id.image_small" 
-                                    t-options='{"widget": "image", "class": "img-rounded", "alt-field": "name"}'/>
+                                    t-field-options='{"widget": "image", "class": "img-rounded", "alt-field": "name"}'/>
                             </a>
                         </span>
                         <div class="product-detail">
@@ -93,7 +93,7 @@
             <attribute name="class">container header-middle header-nav</attribute>
         </xpath>
       
-        <xpath expr="//div[@id='wrapwrap']//header//nav[hasclass('navbar','navbar-expand-md','navbar-light','bg-light')]" position="before">
+        <xpath expr="//div[@id='wrapwrap']//header//div[hasclass('container', 'header-middle', 'header-nav')]" position="before">
             <div class="header-top">
                 <div class="top-header">
                     <div class="container">
@@ -147,7 +147,7 @@
                                                                         <t t-esc="lgs[0].split('_')[0]"/>
                                                                     </t>
                                                                 </t>
-                                                                <span />
+                                                                <span class="caret"/>
                                                             </button>
                                                             <ul class="dropdown-menu dropdown-menu-right js_language_selector" role="menu">
                                                                 <t t-as="lg" t-foreach="languages">
@@ -275,10 +275,10 @@
         </xpath>
         
         <!-- Product detail page right side design -->
-        <xpath expr="//section[@id='product_detail']//div[hasclass('row')]//div[hasclass('col-md-6','col-xl-4','offset-xl-2')]" position="attributes">
+        <xpath expr="//section[@id='product_detail']//div[hasclass('row')]//div[hasclass('col-sm-5', 'col-lg-4', 'col-lg-offset-1')]" position="attributes">
             <attribute name="style">display:none;</attribute>
         </xpath>
-        <xpath expr="//section[@id='product_detail']//div[hasclass('row')]//div[hasclass('col-md-6','col-xl-4','offset-xl-2')]" position="replace">
+        <xpath expr="//section[@id='product_detail']//div[hasclass('row')]//div[hasclass('col-sm-5', 'col-lg-4', 'col-lg-offset-1')]" position="before">
             <div id="product_details" class="col-xs-12 col-md-5 col-lg-5 col-sm-5 product-detail">
                 <div class="product-shop-info">
                     <div class="product-title">
@@ -308,22 +308,18 @@
                                         </div>
                                     </t>
                                 </div>
-                                <div class='js_main_product'>
-                                    <t t-placeholder="select">
-                                        <input type="hidden" class="product_id" name="product_id" t-att-value="product.product_variant_id.id if len(product.product_variant_ids) == 1 else '0'" />
-                                        <input type="hidden" class="product_template_id" name="product_template_id" t-att-value="product.id" />
-                                        <t t-call="sale.variants">
-                                            <t t-set="ul_class" t-value="'nav-stacked'"/>
-                                            <t t-set="parent_combination" t-value="None" />
-                                        </t>
+                                <t t-placeholder="select">
+                                    <input class="product_id" name="product_id" t-att-value="int(product.product_variant_ids[0]) if len(product.product_variant_ids) == 1 else '0'" type="hidden"/>
+                                    <t t-call="website_sale.variants">
+                                        <t t-set="ul_class" t-value="'nav-stacked'"/>
                                     </t>
-                                    <p class="css_not_available_msg bg-danger" style="padding: 15px;" t-if="len(product.product_variant_ids) &gt; 1">Product not available</p>
-                                    <!-- <div class="add-to-cart"> -->
-                                        <a class="btn cart-btn btn-lg js_check_product a-submit" href="#" id="add_to_cart">
-                                            <i class="fa fa-shopping-cart"/>Add to Cart</a>
-                                    <!-- </div> -->
-                                    <div class='availability_messages'/>
-                                </div>
+                                </t>
+                                <p class="css_not_available_msg bg-danger" style="padding: 15px;" t-if="len(product.product_variant_ids) &gt; 1">Product not available</p>
+                                <!-- <div class="add-to-cart"> -->
+                                    <a class="btn cart-btn btn-lg js_check_product a-submit" href="#" id="add_to_cart">
+                                        <i class="fa fa-shopping-cart"/>Add to Cart</a>
+                                <!-- </div> -->
+                                <div class='availability_messages'/>
                             </div>
                         </form>
                     </div>
@@ -339,8 +335,8 @@
                 <div class="pd-more-info">
                     <!-- Nav tabs -->
                     <ul id="description_reviews_tabs" class="nav nav-tabs" role="tablist">
-                        <li role="presentation" >
-                            <a href="#description" aria-controls="more_info" class="active show" role="tab" data-toggle="tab">Description</a>
+                        <li role="presentation" class="active">
+                            <a href="#description" aria-controls="more_info" role="tab" data-toggle="tab">Description</a>
                         </li>
                     </ul>
 
@@ -370,11 +366,11 @@
     <template id="website_sale.search count" inherit_id="website.website_search_box" active="False" customize_show="False" name="Show # found"/>
 
     <!-- Custom Footer -->
-    <template id="kingfisher_pro_footer_customize" inherit_id="website.footer_custom">
-        <xpath expr="//div[hasclass('oe_structure', 'oe_structure_solo')]" position="attributes">
+    <template id="kingfisher_pro_footer_customize" inherit_id="website.footer_default">
+        <xpath expr="//div[hasclass('container', 'hidden-print')]" position="attributes">
             <attribute name="style">display:none;</attribute>
         </xpath>
-        <xpath expr="//div[hasclass('oe_structure', 'oe_structure_solo')]" position="before">
+        <xpath expr="//div[hasclass('container', 'hidden-print')]" position="before">
             <div class="footer-top hidden-print">
                 <div class="container">
                     <div class="row">
@@ -475,9 +471,9 @@
                                             <input class="js_subscribe_email form-control" name="email" placeholder="your email..." type="email"/>
                                             <span class="btn-box">
                                                 <a class="btn btn-primary js_subscribe_btn" href="#">SUBSCRIBE NOW <i class="fa fa-angle-right"></i></a>
-                                                <a class="btn btn-success js_subscribed_btn o_hidden" disabled="disabled" href="#">Thanks</a>
+                                                <a class="btn btn-success js_subscribed_btn hidden" disabled="disabled" href="#">Thanks</a>
                                             </span>
-                                            <div class="alert alert-success o_hidden">Thanks for your subscription!</div>
+                                            <div class="alert alert-success hidden">Thanks for your subscription!</div>
                                         </div>
                                     </div>
                                 </section>
@@ -491,16 +487,16 @@
 
     <!-- Copyright Footer -->
     <template id="footer_copyright" inherit_id="website.layout_footer_copyright" name="Kingfisher Pro Footer">
-        <xpath expr="//div[hasclass('o_footer_copyright')]" position="attributes">
+        <xpath expr="//div[hasclass('container', 'mt16', 'mb8')]" position="attributes">
             <attribute name="style">display:none;</attribute>
         </xpath>
-        <xpath expr="//div[hasclass('o_footer_copyright')]" position="before">
+        <xpath expr="//div[hasclass('container', 'mt16', 'mb8')]" position="before">
             <div class="footer-btm">
                 <div class="container">
                     <div class="footer-bottom-div">
                         <div class="row">
                             <div class="col-md-6 col-sm-6">
-                                <p>© 2019 By 
+                                <p>© 2016 By 
                                     <span>Kingfisher Pro Fashion.</span>
                                     All Rights Reserved.</p>
                             </div>
@@ -530,8 +526,8 @@
         </xpath>
     </template>
 
-    <!-- odoo12 is remove payment icon from footer -->
-    <!-- <template id="kingfisher_pro_header_footer_custom_payment" inherit_id="kingfisher_pro.footer_copyright" customize_show="True" active="False" name="Payment Icons">
+    <!-- odoo11 -->
+    <template id="kingfisher_pro_header_footer_custom_payment" inherit_id="kingfisher_pro.footer_copyright" customize_show="True" active="False" name="Payment Icons">
         <xpath expr="//div[hasclass('payment-icons')]" position="replace">
             <div class="payment-icons">
                 <t t-foreach="request.website.payment_icons()" t-as="icon">
@@ -539,10 +535,10 @@
                 </t>
             </div>
         </xpath>
-    </template> -->
+    </template>
 
     <!-- hide default payment icons -->
-<!--     <template id="website_payment.header_footer_custom_payment" inherit_id="website.footer_default" customize_show="False" active="False" name="Payment Icons"/> -->
+    <template id="website_payment.header_footer_custom_payment" inherit_id="website.footer_default" customize_show="False" active="False" name="Payment Icons"/>
 
 
     <!-- Multi image feature for products -->
@@ -551,13 +547,11 @@
             <attribute name="style">display:none;</attribute>
         </xpath>
 
-        <xpath expr="//section[@id='product_detail']//t[@t-set='variant_img']" position="attributes">
+        <xpath expr="//section[@id='product_detail']//span[@itemprop='image']" position="attributes">
             <attribute name="style">display:none;</attribute>
         </xpath>
 
-        <!-- <xpath expr="//section[@id='product_detail']//t[@t-set='variant_img']" position="before"> -->
-         <xpath expr="//section[@id='product_detail']//div[hasclass('col-md-6')]" position="replace">
-            <div class="col-md-6">
+        <xpath expr="//section[@id='product_detail']//span[@itemprop='image']" position="before">
                 <t t-if="not product.multi_image and not product.is_flip_image">
                     <span itemprop="image" t-attf-content="{{request.httprequest.url_root}}web/image/product.template/{{product.id}}/image" t-field="product.image" t-options="{'widget': 'image', 'class': 'product_detail_img', 'alt-field': 'name', 'zoom': 'image'}" />
                 </t>
@@ -669,7 +663,6 @@
                         </div>
                     </span>
                 </t>
-            </div>
         </xpath>
     </template>
 
@@ -810,7 +803,7 @@
     </template>
 
     <!-- Products Items -->
-    <template id="king_pro_products_item" name="Kingfisher Product item" 
+    <template id="king_pro_products_item" name="Kingfisher Product item" customize_show="False" active="True"
         inherit_id="website_sale.products_item">
 
         <xpath expr="//form" position="attributes">
@@ -846,7 +839,7 @@
                                     </b>
                                 </span>
                             </p>
-                            <div id='list_add_to_cart' class="o_hidden">
+                            <div id='list_add_to_cart' class="hidden">
                                 <ul class='ratings' t-if="request.env.ref('website_sale.product_comment').active">
                                     <t t-set='rates' t-value="product.rating_get_stats([('website_published', '=', True)])"/> 
                                     <t t-call="portal.message_thread">
@@ -860,15 +853,12 @@
                                 <span t-field="product.description_sale"
                                       t-if="request.env.ref('kingfisher_pro.kingfisher_pro_products_description').active" />
                                 <input name="product_id" t-att-value="product.product_variant_id.id" type="hidden"/>
-                                <div class='product_price'>
-                                    <t t-if="len(product.product_variant_ids) == 1 and request.env.ref('kingfisher_pro.kingfisher_pro_products_add_to_cart').active">
-                                        <a class="a-submit btn btn-primary">Add to cart</a>
-                                    </t>
-                                    <t t-if="len(product.product_variant_ids) &gt; 1 and request.env.ref('kingfisher_pro.kingfisher_pro_products_add_to_cart').active">
-                                        <a class="btn btn-primary" t-att-href="keep('/shop/product/%s' % slug(product), page=(pager['page']['num'] if pager['page']['num']&gt;1 else None))"> Add to cart</a>
-                                    </t>
-                                </div>
-
+                                <t t-if="len(product.product_variant_ids) == 1 and request.env.ref('kingfisher_pro.kingfisher_pro_products_add_to_cart').active">
+                                    <a class="a-submit btn btn-primary">Add to cart</a>
+                                </t>
+                                <t t-if="len(product.product_variant_ids) &gt; 1 and request.env.ref('kingfisher_pro.kingfisher_pro_products_add_to_cart').active">
+                                    <a class="btn btn-primary" t-att-href="keep('/shop/product/%s' % slug(product), page=(pager['page']['num'] if pager['page']['num']&gt;1 else None))"> Add to cart</a>
+                                </t>
                             </div>
                         </div>
                     </div>
@@ -974,9 +964,9 @@
                                 <!-- Product paging -->
                                 <t t-if="products and website.get_pager_selection()">
                                     <t t-set="website_ppp" t-value="website.get_pager_selection()"/>
-                                    <span t-attf-class="#{website_ppp and len(website_ppp['page_no'])>1 and 'simple_name' or 'o_hidden'}">
+                                    <span t-attf-class="#{website_ppp and len(website_ppp['page_no'])>1 and 'simple_name' or 'hidden'}">
                                         <t t-esc="website_ppp['name']"/>
-                                        <div t-attf-class="#{website_ppp and len(website_ppp['page_no'])>1 and 'dropdown' or 'o_hidden'} btn-group">
+                                        <div t-attf-class="#{website_ppp and len(website_ppp['page_no'])>1 and 'dropdown' or 'hidden'} btn-group">
                                             <t t-set="curr_ppp" t-value="website.get_current_pager_selection()"/>
                                             <a href="#" class="dropdown-toggle btn btn-default" data-toggle="dropdown">
                                                 <t t-esc="curr_ppp or ' - '" />
@@ -1081,7 +1071,7 @@
                         <t t-set="disable_composer" t-value="True"/>
                     </t>
                 </ul>
-                <div class="view product_price">
+                <div class="view">
                     <div class="shopping-cart">
                         <input name="product_id" t-att-value="product.product_variant_id.id" type="hidden"/>
                         <t t-if="len(product.product_variant_ids) == 1">
@@ -1356,7 +1346,7 @@
                             </t>
                             <t t-if="product_categories">
                                 <div t-att-class="'col-md-4 col-xs-12' if submenu.category_slider else ''"
-                                     t-att-style="'order: 2' if submenu.category_slider and submenu.category_slider_position=='right' else ''">
+                                     t-att-style="'float: %s' % submenu.category_slider_position if submenu.category_slider and submenu.category_slider_position else 'float:left;'">
                                     <t t-if="submenu.category_slider">
                                         <li>
                                             <ul>
@@ -1367,7 +1357,7 @@
                                                     <div class="carousel-inner">
                                                         <t t-value='0' t-set='a'/>
                                                         <t t-foreach="product_categories" t-as="categ">
-                                                            <div t-att-class="'carousel-item active' if a == 0 else 'carousel-item'">
+                                                            <div t-att-class="'item active' if a == 0 else 'item'">
                                                                 <t t-value='a+1' t-set='a'/>
                                                                 <a t-att-href="'/shop/category/%s' % slug(categ)">
                                                                     <img t-att-src="website.image_url(categ, 'image', '300x250')"
@@ -1383,10 +1373,10 @@
                                                         </t>
                                                     </div>
                                                 </div>
-                                                <div class="carousel-control-prev" t-att-data-target="'#myCarousel-%s' % submenu.id" data-slide="prev" >
+                                                <div class="carousel-control left" t-att-data-target="'#myCarousel-%s' % submenu.id" data-slide="prev" >
                                                     <i class="fa fa-chevron-left"></i>
                                                 </div>
-                                                <div class="carousel-control-next" t-att-data-target="'#myCarousel-%s' % submenu.id" data-slide="next" >
+                                                <div class="carousel-control right" t-att-data-target="'#myCarousel-%s' % submenu.id" data-slide="next" >
                                                     <i class="fa fa-chevron-right"></i>
                                                 </div>
                                             </ul>
@@ -1436,7 +1426,7 @@
                             </t>
                             <t t-if="product_categories">
                                 <div t-att-class="'col-md-3 col-xs-12' if submenu.category_slider else ''"
-                                     t-att-style="'order: 2' if submenu.category_slider and submenu.category_slider_position=='right' else ''">
+                                     t-att-style="'float: %s' % submenu.category_slider_position if submenu.category_slider and submenu.category_slider_position else 'float:left;'">
                                     <t t-if="submenu.category_slider">
                                         <li class="margin">
                                             <ul>
@@ -1447,7 +1437,7 @@
                                                     <div class="carousel-inner">
                                                         <t t-value='0' t-set='a'/>
                                                         <t t-foreach="product_categories" t-as="categ">
-                                                            <div t-att-class="'carousel-item active' if a == 0 else 'carousel-item'">
+                                                            <div t-att-class="'item active' if a == 0 else 'item'">
                                                                 <t t-value='a+1' t-set='a'/>
                                                                 <a t-att-href="'/shop/category/%s' % slug(categ)">
                                                                     <img t-att-src="website.image_url(categ, 'image', '300x250')"
@@ -1463,10 +1453,10 @@
                                                         </t>
                                                     </div>
                                                 </div>
-                                                <div class="carousel-control-prev" t-att-data-target="'#myCarousel-%s' % submenu.id" data-slide="prev" >
+                                                <div class="carousel-control left" t-att-data-target="'#myCarousel-%s' % submenu.id" data-slide="prev" >
                                                     <i class="fa fa-chevron-left"></i>
                                                 </div>
-                                                <div class="carousel-control-next" t-att-data-target="'#myCarousel-%s' % submenu.id" data-slide="next" >
+                                                <div class="carousel-control right" t-att-data-target="'#myCarousel-%s' % submenu.id" data-slide="next" >
                                                     <i class="fa fa-chevron-right"></i>
                                                 </div>
                                             </ul>
@@ -1517,7 +1507,7 @@
                             </t>
                             <t t-if="product_categories">
                                 <div t-att-class="'col-md-3 col-xs-12' if submenu.category_slider else ''"
-                                     t-att-style="'order: 2' if submenu.category_slider and submenu.category_slider_position=='right' else ''">
+                                     t-att-style="'float: %s' % submenu.category_slider_position if submenu.category_slider and submenu.category_slider_position else 'float:left;'">
                                     <t t-if="submenu.category_slider">
                                         <li class="margin">
                                             <ul>
@@ -1528,7 +1518,7 @@
                                                     <div class="carousel-inner">
                                                         <t t-value='0' t-set='a'/>
                                                         <t t-foreach="product_categories" t-as="categ">
-                                                            <div t-att-class="'carousel-item active' if a == 0 else 'carousel-item'">
+                                                            <div t-att-class="'item active' if a == 0 else 'item'">
                                                                 <t t-value='a+1' t-set='a'/>
                                                                 <a t-att-href="'/shop/category/%s' % slug(categ)">
                                                                     <img t-att-src="website.image_url(categ, 'image', '300x250')"
@@ -1544,10 +1534,10 @@
                                                         </t>
                                                     </div>
                                                 </div>
-                                                <div class="carousel-control-prev" t-att-data-target="'#myCarousel-%s' % submenu.id" data-slide="prev" >
+                                                <div class="carousel-control left" t-att-data-target="'#myCarousel-%s' % submenu.id" data-slide="prev" >
                                                     <i class="fa fa-chevron-left"></i>
                                                 </div>
-                                                <div class="carousel-control-next" t-att-data-target="'#myCarousel-%s' % submenu.id" data-slide="next" >
+                                                <div class="carousel-control right" t-att-data-target="'#myCarousel-%s' % submenu.id" data-slide="next" >
                                                     <i class="fa fa-chevron-right"></i>
                                                 </div>
                                             </ul>
@@ -1593,15 +1583,15 @@
     <template id="website_pager_addition" inherit_id="website.pager">
         <xpath expr="//ul/li" position='before'>
             <t t-if="website.enable_first_last_pager and pager['page_count'] &gt; 2">
-                <li t-att-class=" 'page-item disabled' if pager['page']['num'] == 1 else 'page-item' ">
-                    <a class='page-link' t-att-href=" pager['page_first']['url'] if pager['page']['num'] != 1 else ''">First</a>
+                <li t-att-class=" 'disabled' if pager['page']['num'] == 1 else '' ">
+                    <a t-att-href=" pager['page_first']['url'] if pager['page']['num'] != 1 else ''">First</a>
                 </li>
             </t>
         </xpath>
         <xpath expr="//ul/li[last()]" position='after'>
             <t t-if="website.enable_first_last_pager and pager['page_count'] &gt; 2">
-                <li t-att-class=" 'page-item disabled' if pager['page']['num'] == pager['page_count'] else 'page-item' ">
-                    <a class='page-link' t-att-href="pager['page_last']['url'] if pager['page']['num'] != pager['page_count'] else ''">Last</a>
+                <li t-att-class=" 'disabled' if pager['page']['num'] == pager['page_count'] else '' ">
+                    <a t-att-href="pager['page_last']['url'] if pager['page']['num'] != pager['page_count'] else ''">Last</a>
                 </li>
             </t>
         </xpath>
@@ -1609,9 +1599,9 @@
 
     <!-- Payment table layout -->
     <template id="kingfisher_pro_website_sale_payment" inherit_id="website_sale.payment">
-        <!-- <xpath expr="//table/thead/tr/th" position='replace'>
+        <xpath expr="//table/thead/tr/th" position='replace'>
             <th width="100">Product</th>
-        </xpath> -->
+        </xpath>
     </template>
 
     <!-- 404 page -->
@@ -1634,28 +1624,5 @@
             </div>
         </xpath>
     </template>
-    <!-- Remove sticky Header view option -->
-    <record id="website.affix_top_menu" model="ir.ui.view"> 
-        <field eval="False" name="customize_show"/> 
-        <field eval="False" name="active"/> 
-    </record>
-    <!-- <template active="False" id="website.affix_top_menu" inherit_id="website_sale.products" name="Affix top menu"/> -->
-    <!-- Add publish non publish block add attribute -->
-    <template id="biztech_opt_blog_rc_status" inherit_id="website_blog.opt_blog_rc_status">
-        <xpath expr="//ul[hasclass('nav','nav-pills','flex-column')]" position="attributes">
-            <attribute name='class'>nav nav-pills flex-column blog_color</attribute>
-        </xpath>
-    </template>
-    <!-- for sale Tempalte -->
-    <template id="crafito_sale_quate_temp" inherit_id="sale.sale_order_portal_template">
-        <xpath expr="//div[hasclass('col','flex-grow-0','pr-2')]" position="attributes">
-            <attribute name='class'>col flex-grow-0 pr-2 flex_grow_rmv</attribute>
-        </xpath>
-    </template>
-    <!-- for Invoice Tempalte -->
-    <template id="crafito_invoice_temp" inherit_id="account.portal_invoice_page">
-        <xpath expr="//div[hasclass('col','flex-grow-0','pr-2')]" position="attributes">
-            <attribute name='class'>col flex-grow-0 pr-2 flex_grow_rmv</attribute>
-        </xpath>
-    </template>
+
 </odoo>

+ 49 - 49
views/theme_customize.xml

@@ -1,115 +1,115 @@
 <?xml version="1.0" encoding="utf-8"?>
 <odoo>
 
-        <template active="False" customize_show="True" id="option_primary_color_aqua_theme" inherit_id="kingfisher_pro.asset_frontend" name="option_primary_color_aqua_theme">
-            <xpath expr="link[@href='/kingfisher_pro/static/src/scss/options/colors/colors.scss']" position="after">
-                <link href="/kingfisher_pro/static/src/scss/options/colors/theme_aqua.scss" rel="stylesheet" type="text/scss"/>
+        <template active="False" customize_show="True" id="option_primary_color_aqua_theme" inherit_id="website.assets_frontend" name="primary-color-aqua-theme">
+            <xpath expr="." position="inside">
+                <link href="/kingfisher_pro/static/src/less/options/colors/theme_aqua.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
-        <template active="False" customize_show="True" id="option_primary_color_blue_theme" inherit_id="kingfisher_pro.asset_frontend" name="option_primary_color_blue_theme">
-            <xpath expr="link[@href='/kingfisher_pro/static/src/scss/options/colors/colors.scss']" position="after">
-                <link href="/kingfisher_pro/static/src/scss/options/colors/theme_blue.scss" rel="stylesheet" type="text/scss"/>
+        <template active="False" customize_show="True" id="option_primary_color_blue_theme" inherit_id="website.assets_frontend" name="primary-color-blue-theme">
+            <xpath expr="." position="inside">
+                <link href="/kingfisher_pro/static/src/less/options/colors/theme_blue.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
-        <template active="False" customize_show="True" id="option_primary_color_brown_theme" inherit_id="kingfisher_pro.asset_frontend" name="option_primary_color_brown_theme">
-           <xpath expr="link[@href='/kingfisher_pro/static/src/scss/options/colors/colors.scss']" position="after">
-                <link href="/kingfisher_pro/static/src/scss/options/colors/theme_brown.scss" rel="stylesheet" type="text/scss"/>
+        <template active="False" customize_show="True" id="option_primary_color_brown_theme" inherit_id="website.assets_frontend" name="primary-color-brown-theme">
+            <xpath expr="." position="inside">
+                <link href="/kingfisher_pro/static/src/less/options/colors/theme_brown.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
-        <template active="False" customize_show="True" id="option_primary_color_orange" inherit_id="kingfisher_pro.asset_frontend" name="option_primary_color_orange">
-           <xpath expr="link[@href='/kingfisher_pro/static/src/scss/options/colors/colors.scss']" position="after">
-                <link href="/kingfisher_pro/static/src/scss/options/colors/theme_orange.scss" rel="stylesheet" type="text/scss"/>
+        <template active="False" customize_show="True" id="option_primary_color_orange" inherit_id="website.assets_frontend" name="primary-color-orange">
+            <xpath expr="." position="inside">
+                <link href="/kingfisher_pro/static/src/less/options/colors/theme_orange.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
-        <template active="False" customize_show="True" id="option_primary_color_pink" inherit_id="kingfisher_pro.asset_frontend" name="option_primary_color_pink">
-            <xpath expr="link[@href='/kingfisher_pro/static/src/scss/options/colors/colors.scss']" position="after">
-                <link href="/kingfisher_pro/static/src/scss/options/colors/theme_pink.scss" rel="stylesheet" type="text/scss"/>
+        <template active="False" customize_show="True" id="option_primary_color_pink" inherit_id="website.assets_frontend" name="primary-color-pink">
+            <xpath expr="." position="inside">
+                <link href="/kingfisher_pro/static/src/less/options/colors/theme_pink.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
 
         <!-- Option Primary Fonts -->
-        <template active="False" customize_show="True" id="option_font_style_open_sans" inherit_id="kingfisher_pro.asset_frontend" name="option_font_style_open_sans">
+        <template active="False" customize_show="True" id="option_font_style_open_sans" inherit_id="website.assets_frontend" name="option_font_style_open_sans">
             <xpath expr="." position="inside">
-                <link href="/kingfisher_pro/static/src/scss/options/fonts/font-style-open-sans-font.scss" rel="stylesheet" type="text/scss"/>
+                <link href="/kingfisher_pro/static/src/less/options/fonts/font-style-open-sans-font.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
-        <template active="False" customize_show="True" id="option_font_style_lato_font" inherit_id="kingfisher_pro.asset_frontend" name="option_font_style_lato_font">
+        <template active="False" customize_show="True" id="option_font_style_lato_font" inherit_id="website.assets_frontend" name="option_font_style_lato_font">
             <xpath expr="." position="inside">
-                <link href="/kingfisher_pro/static/src/scss/options/fonts/font-style-lato-font.scss" rel="stylesheet" type="text/scss"/>
+                <link href="/kingfisher_pro/static/src/less/options/fonts/font-style-lato-font.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
-        <template active="False" customize_show="True" id="option_font_style_raleway" inherit_id="kingfisher_pro.asset_frontend" name="option_font_style_raleway_font">
+        <template active="False" customize_show="True" id="option_font_style_raleway" inherit_id="website.assets_frontend" name="option_font_style_raleway_font">
             <xpath expr="." position="inside">
-                <link href="/kingfisher_pro/static/src/scss/options/fonts/font-style-raleway-font.scss" rel="stylesheet" type="text/scss"/>
+                <link href="/kingfisher_pro/static/src/less/options/fonts/font-style-raleway-font.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
-        <template active="False" customize_show="True" id="option_font_style_source_sans_pro" inherit_id="kingfisher_pro.asset_frontend" name="option_font_style_source_sans_pro">
+        <template active="False" customize_show="True" id="option_font_style_source_sans_pro" inherit_id="website.assets_frontend" name="option_font_style_source_sans_pro">
             <xpath expr="." position="inside">
-                <link href="/kingfisher_pro/static/src/scss/options/fonts/font-style-source-sans-pro-font.scss" rel="stylesheet" type="text/scss"/>
+                <link href="/kingfisher_pro/static/src/less/options/fonts/font-style-source-sans-pro-font.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
-        <template active="False" customize_show="True" id="option_font_style_source_serif_pro" inherit_id="kingfisher_pro.asset_frontend" name="option_font_style_source_serif_pro">
+        <template active="False" customize_show="True" id="option_font_style_source_serif_pro" inherit_id="website.assets_frontend" name="option_font_style_source_serif_pro">
             <xpath expr="." position="inside">
-                <link href="/kingfisher_pro/static/src/scss/options/fonts/font-style-source-serif-pro-font.scss" rel="stylesheet" type="text/scss"/>
+                <link href="/kingfisher_pro/static/src/less/options/fonts/font-style-source-serif-pro-font.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
-        <template active="False" customize_show="True" id="option_font_style_varela_round" inherit_id="kingfisher_pro.asset_frontend" name="option_font_style_varela_round">
+        <template active="False" customize_show="True" id="option_font_style_varela_round" inherit_id="website.assets_frontend" name="option_font_style_varela_round">
             <xpath expr="." position="inside">
-                <link href="/kingfisher_pro/static/src/scss/options/fonts/font-style-varela-round-font.scss" rel="stylesheet" type="text/scss"/>
+                <link href="/kingfisher_pro/static/src/less/options/fonts/font-style-varela-round-font.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
 
-        <template active="False" customize_show="True" id="boxed_layout" inherit_id="kingfisher_pro.asset_frontend" name="boxed_layout">
+        <template active="False" customize_show="True" id="boxed_layout" inherit_id="website.assets_frontend" name="boxed_layout">
             <xpath expr="." position="inside">
-                <link href="/kingfisher_pro/static/src/scss/options/layout/boxed.scss" rel="stylesheet" type="text/scss"/>
+                <link href="/kingfisher_pro/static/src/less/options/layout/boxed.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
 
         <!-- Background Pattern -->
-        <template id="option_bg_pattern_1" name="option_bg_pattern_1" inherit_id="kingfisher_pro.asset_frontend" active="False" customize_show="True">
+        <template id="option_bg_pattern_1" name="option_bg_pattern_1" inherit_id="website.assets_frontend" active="False" customize_show="True">
             <xpath expr="." position="inside">
-                <link href="/kingfisher_pro/static/src/scss/options/bg_patterns/bg-pattern-1.scss" rel="stylesheet" type="text/scss"/>
+                <link href="/kingfisher_pro/static/src/less/options/bg_patterns/bg-pattern-1.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
-        <template id="option_bg_pattern_2" name="option_bg_pattern_2" inherit_id="kingfisher_pro.asset_frontend" active="False" customize_show="True">
+        <template id="option_bg_pattern_2" name="option_bg_pattern_2" inherit_id="website.assets_frontend" active="False" customize_show="True">
             <xpath expr="." position="inside">
-                <link href="/kingfisher_pro/static/src/scss/options/bg_patterns/bg-pattern-2.scss" rel="stylesheet" type="text/scss"/>
+                <link href="/kingfisher_pro/static/src/less/options/bg_patterns/bg-pattern-2.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
-        <template id="option_bg_pattern_3" name="option_bg_pattern_3" inherit_id="kingfisher_pro.asset_frontend" active="False" customize_show="True">
+        <template id="option_bg_pattern_3" name="option_bg_pattern_3" inherit_id="website.assets_frontend" active="False" customize_show="True">
             <xpath expr="." position="inside">
-                <link href="/kingfisher_pro/static/src/scss/options/bg_patterns/bg-pattern-3.scss" rel="stylesheet" type="text/scss"/>
+                <link href="/kingfisher_pro/static/src/less/options/bg_patterns/bg-pattern-3.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
-        <template id="option_bg_pattern_4" name="option_bg_pattern_4" inherit_id="kingfisher_pro.asset_frontend" active="False" customize_show="True">
+        <template id="option_bg_pattern_4" name="option_bg_pattern_4" inherit_id="website.assets_frontend" active="False" customize_show="True">
             <xpath expr="." position="inside">
-                <link href="/kingfisher_pro/static/src/scss/options/bg_patterns/bg-pattern-4.scss" rel="stylesheet" type="text/scss"/>
+                <link href="/kingfisher_pro/static/src/less/options/bg_patterns/bg-pattern-4.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
-        <template id="option_bg_pattern_5" name="option_bg_pattern_5" inherit_id="kingfisher_pro.asset_frontend" active="False" customize_show="True">
+        <template id="option_bg_pattern_5" name="option_bg_pattern_5" inherit_id="website.assets_frontend" active="False" customize_show="True">
             <xpath expr="." position="inside">
-                <link href="/kingfisher_pro/static/src/scss/options/bg_patterns/bg-pattern-5.scss" rel="stylesheet" type="text/scss"/>
+                <link href="/kingfisher_pro/static/src/less/options/bg_patterns/bg-pattern-5.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
-        <template id="option_bg_pattern_6" name="option_bg_pattern_6" inherit_id="kingfisher_pro.asset_frontend" active="False" customize_show="True">
+        <template id="option_bg_pattern_6" name="option_bg_pattern_6" inherit_id="website.assets_frontend" active="False" customize_show="True">
             <xpath expr="." position="inside">
-                <link href="/kingfisher_pro/static/src/scss/options/bg_patterns/bg-pattern-6.scss" rel="stylesheet" type="text/scss"/>
+                <link href="/kingfisher_pro/static/src/less/options/bg_patterns/bg-pattern-6.less" rel="stylesheet" type="text/less"/>
             </xpath>
         </template>
 
         <!-- Customize Theme Template -->
-        <template id="kingfisher_pro_theme_customize" inherit_id="website_theme_install.customize_modal" name="Theme Kingfisher Pro Modal">
+        <template id="kingfisher_pro_theme_customize" inherit_id="website.theme_customize" name="Theme Kingfisher Pro Modal">
             <xpath expr="//div" position="replace">
-                <!-- <div class="modal fade" id="theme_customize_modal">
+                <div class="modal fade" id="theme_customize_modal">
                     <div class="modal-dialog">
-                        <div class="modal-content"> -->
+                        <div class="modal-content">
                             <!-- <input data-xmlid="website_less.option_bootstrap_less" id="less" style="display: none;"/> -->
-                        <!--     <div class="loading_backdrop"/>
+                            <div class="loading_backdrop"/>
                             <div class="modal-header">
                                 <button class="close" type="button">×</button>
                                 <h4 class="modal-title" id="mySmallModalLabel">Customize your theme</h4>
-                            </div> -->
-                            <div class="modal-body cstm-customized-theme">
+                            </div>
+                            <div class="modal-body">
                                 <h5 class="modal-h5">LAYOUT</h5>
                                 <table name="layout">
                                     <tr>
@@ -259,9 +259,9 @@
                                     </tr>
                                 </table>
                             </div>
-                       <!--  </div>
+                        </div>
                     </div>
-                </div> -->
+                </div>
             </xpath>
         </template>
 </odoo>

+ 1 - 1
views/website_config_view.xml

@@ -129,7 +129,7 @@
         </record>
 
         <!-- Website Menu Form view -->
-        <record id="website.website_menus_form_view" model="ir.ui.view">
+        <record id="view_website_menu_inherit" model="ir.ui.view">
             <field name="name">Website Menu Form View Inherited</field>
             <field name="model">website.menu</field>
             <field name="field_parent">child_id</field>

Vissa filer visades inte eftersom för många filer har ändrats