theme addons clarico
|  | @ -0,0 +1,26 @@ | ||||||
|  | { | ||||||
|  |     # Theme information | ||||||
|  |     'name' : 'Clarico 404', | ||||||
|  |     'category' : 'Website', | ||||||
|  |     'version' : '1.0', | ||||||
|  |     'summary': 'Redirect to 404 Page when Targeted Page is not Found', | ||||||
|  |     'description': """""", | ||||||
|  | 
 | ||||||
|  |     # Dependencies | ||||||
|  |     'depends': [ | ||||||
|  |         'clarico_base' | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Views | ||||||
|  |     'data': [ | ||||||
|  |         'templates/template.xml', | ||||||
|  |         'templates/assets.xml', | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Author | ||||||
|  |     'author': 'Emipro Technologies Pvt. Ltd.', | ||||||
|  |     'website': 'http://www.emiprotechnologies.com', | ||||||
|  | 
 | ||||||
|  |     # Technical | ||||||
|  |     'installable': True, | ||||||
|  | } | ||||||
| After Width: | Height: | Size: 4.6 KiB | 
| After Width: | Height: | Size: 22 KiB | 
|  | @ -0,0 +1,56 @@ | ||||||
|  | .clarico_404_comman | ||||||
|  | { | ||||||
|  | 	.common-div; | ||||||
|  | } | ||||||
|  | .clarico_404_right{ | ||||||
|  | 	width:60%; | ||||||
|  | 	display:block; | ||||||
|  | 	 .left(); | ||||||
|  | 	 .center(); | ||||||
|  | 	.mt(0); | ||||||
|  | 	.mb(0); | ||||||
|  | 	.ml(auto); | ||||||
|  | 	.mr(auto); | ||||||
|  | 	 img{ | ||||||
|  | 		max-width:90%; | ||||||
|  | 			  | ||||||
|  | 	 } | ||||||
|  | } | ||||||
|  | .clarico_404_left{ | ||||||
|  | 	width:40%; | ||||||
|  | 	.left(); | ||||||
|  | 	.mt(12%); | ||||||
|  | } | ||||||
|  | .clarico_404_font | ||||||
|  | { | ||||||
|  | 	.size(100px); | ||||||
|  | 	.muli-bold; | ||||||
|  | 	color:#2b2b2b; | ||||||
|  | 	.center; | ||||||
|  | 	.mt(0); | ||||||
|  | 	.mb(0); | ||||||
|  | 	.ml(auto); | ||||||
|  | 	.mr(auto); | ||||||
|  | } | ||||||
|  | .clarico_404_page | ||||||
|  | { | ||||||
|  | 	color: #2b2b2b; | ||||||
|  | 	.size(14px); | ||||||
|  | 	.center(); | ||||||
|  | 	.mt(15px); | ||||||
|  | 	.mb(15px); | ||||||
|  | 	.ml(auto); | ||||||
|  | 	.mr(auto); | ||||||
|  | } | ||||||
|  | .clarico_404_ul | ||||||
|  | { | ||||||
|  | 	.center; | ||||||
|  | 	.size(13px); | ||||||
|  | 	color: @theme-color; | ||||||
|  | } | ||||||
|  | .clarico_404_li | ||||||
|  | { | ||||||
|  | 	list-style-type: none; | ||||||
|  | 	.mt(30px); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | @media (max-width:800px){ | ||||||
|  | 	.clarico_404_left{ | ||||||
|  | 		float:none; | ||||||
|  | 		width:100%; | ||||||
|  | 		.mb(10%); | ||||||
|  | 	} | ||||||
|  | 	.clarico_404_right{ | ||||||
|  | 		width:100%; | ||||||
|  | 		float:none; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8" ?> | ||||||
|  | <odoo> | ||||||
|  | 	<template id="errorpage_assets_frontend" inherit_id="web.assets_frontend"> | ||||||
|  | 		<xpath expr="." position="inside"> | ||||||
|  | 			<link rel="stylesheet" href="/clarico_404/static/src/less/clarico_404.less"></link> | ||||||
|  | 			<link rel="stylesheet" href="/clarico_404/static/src/less/responsive.less"></link> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,27 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8" ?> | ||||||
|  | <odoo> | ||||||
|  | 	<template id="clarico_404" inherit_id="website.404"> | ||||||
|  | 		<xpath expr="//div[hasclass('container')]" position="replace"> | ||||||
|  | 					<div class="container"> | ||||||
|  | 						<div class="clarico_404_left"> | ||||||
|  | 							<h1 class="mt32 clarico_404_font">404</h1> | ||||||
|  | 							<p class="clarico_404_page">THIS PAGE YOU REQUESTED COULD NOT BE FOUND</p> | ||||||
|  | 							<ul class="clarico_404_ul"> | ||||||
|  | 								<li class="clarico_404_li"> | ||||||
|  | 									<a class="common-btn" href="/">Homepage</a> | ||||||
|  | 									<a class="common-btn" href="/page/website.contactus/">Contact Us</a> | ||||||
|  | 								</li> | ||||||
|  | 							</ul> | ||||||
|  | 						</div> | ||||||
|  | 						<div class="clarico_404_right"> | ||||||
|  | 							<img src="/clarico_404/static/src/img/2.jpg"></img> | ||||||
|  | 						</div> | ||||||
|  | 					</div> | ||||||
|  | 			 | ||||||
|  | 				<t t-if="request.debug"> | ||||||
|  | 					<t t-call="website.http_error_debug" /> | ||||||
|  | 				</t> | ||||||
|  | 			 | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,26 @@ | ||||||
|  | { | ||||||
|  |     # Theme information | ||||||
|  |     'name' : 'Clarico Account', | ||||||
|  |     'category' : 'Website', | ||||||
|  |     'version' : '1.0', | ||||||
|  |     'summary': 'View Orders, Invoices, Account Details at Frontend', | ||||||
|  |     'description': """""", | ||||||
|  | 
 | ||||||
|  |     # Dependencies | ||||||
|  |     'depends': [ | ||||||
|  |         'clarico_layout','website_quote','sale','portal' | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Views | ||||||
|  |     'data': [ | ||||||
|  |         'templates/template.xml', | ||||||
|  |         'templates/assets.xml' | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Author | ||||||
|  |     'author': 'Emipro Technologies Pvt. Ltd.', | ||||||
|  |     'website': 'http://www.emiprotechnologies.com', | ||||||
|  | 
 | ||||||
|  |     # Technical | ||||||
|  |     'installable': True, | ||||||
|  | } | ||||||
| After Width: | Height: | Size: 4.6 KiB | 
|  | @ -0,0 +1,5 @@ | ||||||
|  | var my_account_address_el = document.querySelector('.div_class_my_account_address > address > div > div > i.fa-map-marker + span'); | ||||||
|  | my_account_address_el.innerHTML = my_account_address_el.innerHTML.replace(/ /g,''); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1,153 @@ | ||||||
|  | .container{ | ||||||
|  | 	.block; | ||||||
|  | } | ||||||
|  | /* Home */ | ||||||
|  | .account_home{ | ||||||
|  | 	& .clarico_portal_docs{ | ||||||
|  | 		 | ||||||
|  | 		& .list-group-item{ | ||||||
|  | 			border: none; | ||||||
|  | 			border-bottom : 1px solid #dddddd; | ||||||
|  | 			margin-bottom: 0; | ||||||
|  | 			padding: 15px 15px 5px 15px; | ||||||
|  | 			 | ||||||
|  | 			& span.badge{ | ||||||
|  | 				background: unset; | ||||||
|  | 				color: gray; | ||||||
|  | 				 | ||||||
|  | 				&:after{ | ||||||
|  | 					content:" )"; | ||||||
|  | 				} | ||||||
|  | 				&:before{ | ||||||
|  | 					content:"( "; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .my_details_div{ | ||||||
|  | 
 | ||||||
|  | 	& .your_details{ | ||||||
|  | 		.muli-regular; | ||||||
|  | 		.pb(5%); | ||||||
|  | 		 | ||||||
|  | 		& .your_details_change_btn{ | ||||||
|  | 			.muli-regular; | ||||||
|  | 			.size(11px); | ||||||
|  | 			.ml(10px); | ||||||
|  | 			border: 1px solid @theme-color; | ||||||
|  | 			padding: 2px 5px 2px 5px; | ||||||
|  | 			border-radius: 2px; | ||||||
|  | 			color : @theme-color; | ||||||
|  | 			 | ||||||
|  | 			&:hover{ | ||||||
|  | 				background: @theme-color; | ||||||
|  | 				color: #fff; | ||||||
|  | 				transition:0.5s; | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	& address span{ | ||||||
|  | 		line-height:185%; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* Quotation */ | ||||||
|  | 
 | ||||||
|  | .quotation_table{ | ||||||
|  | 	 | ||||||
|  | 	& thead{ | ||||||
|  | 		& tr th{ | ||||||
|  | 			background-color : #000 !important; | ||||||
|  | 			color:#fff; | ||||||
|  | 			.muli-regular; | ||||||
|  | 			.size(14px); | ||||||
|  | 			font-weight: normal; | ||||||
|  | 			padding : 15px 10px; | ||||||
|  | 			border-bottom : 2px solid #000; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	& tbody{ | ||||||
|  | 		& tr td{ | ||||||
|  | 			.muli-regular; | ||||||
|  | 			.size(14px); | ||||||
|  | 			padding : 10px 10px; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .order_details_div{ | ||||||
|  | 	.pt(2%); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .clarico_panel_main{ | ||||||
|  | 	.mt(2%); | ||||||
|  | 	 | ||||||
|  | 	& .panel-heading{ | ||||||
|  | 		background-color: #000; | ||||||
|  | 		 | ||||||
|  | 		& h4{ | ||||||
|  | 			color: #fff; | ||||||
|  | 		} | ||||||
|  | 		 | ||||||
|  | 		& #o_portal_order_actions{ | ||||||
|  | 			& a i{ | ||||||
|  | 				color : #fff; | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	& .address-div{ | ||||||
|  | 		.pt(2%); | ||||||
|  | 		 | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .order-details_div{ | ||||||
|  | 	.pt(1%); | ||||||
|  | 	.pb(1%); | ||||||
|  | } | ||||||
|  | .clarico_portal_details{ | ||||||
|  | 
 | ||||||
|  | 	& label.control-label{ | ||||||
|  | 		font-weight: normal; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	& input,select{ | ||||||
|  | 		border-radius: 0; | ||||||
|  | 		height: 40px; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .clarico_website_quote{ | ||||||
|  | 
 | ||||||
|  | 	& .bs-sidebar{ | ||||||
|  | 		background-color: #eceaea !important; | ||||||
|  | 		border-radius: 0 !important; | ||||||
|  | 		 | ||||||
|  | 		& a.btn{ | ||||||
|  | 			border-radius: 0 !important; | ||||||
|  | 		} | ||||||
|  | 		 | ||||||
|  | 		& .bs-sidenav{ | ||||||
|  | 			 | ||||||
|  | 			& li.active{ | ||||||
|  | 				& a{ | ||||||
|  | 					color : @theme-color; | ||||||
|  | 					border-right: 2px solid @theme-color; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		}		 | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .quotation-order-heading{ | ||||||
|  | 	font-size: 28px; | ||||||
|  |    .muli-semibold(); | ||||||
|  |     text-transform: uppercase; | ||||||
|  |     margin-bottom: 3%; | ||||||
|  |     color: #6c6b6b; | ||||||
|  |      | ||||||
|  |     & small{ | ||||||
|  |     	.capitalize; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -0,0 +1,37 @@ | ||||||
|  | @media (max-width:900px){ | ||||||
|  | 	.clarico_container, .section_quote{ | ||||||
|  | 		overflow-y: hidden; | ||||||
|  | 	} | ||||||
|  | 	.section_quote{ | ||||||
|  | 		& #quote_header_2{ | ||||||
|  | 			padding:0; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	.clarico_panel_main, .table_quote{ | ||||||
|  | 		overflow-x: auto; | ||||||
|  | 		max-width: 800px; | ||||||
|  | 		width: 800px; | ||||||
|  | 		margin: 0px; | ||||||
|  | 	} | ||||||
|  | 	.quotation-order-heading{ | ||||||
|  | 		 | ||||||
|  | 		& .css_editable_mode_hidden{ | ||||||
|  | 			.common-div; | ||||||
|  | 			.pt(2%); | ||||||
|  | 			.pb(2%); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	#introduction{ | ||||||
|  | 		border-bottom : none !important; | ||||||
|  | 	} | ||||||
|  | 	.full_width{ | ||||||
|  | 		.common-div; | ||||||
|  | 		.pt(2%); | ||||||
|  | 		.pb(4%); | ||||||
|  | 		 | ||||||
|  | 		& .row{ | ||||||
|  | 			.pt(2%); | ||||||
|  | 			.pb(2%);	 | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo>     | ||||||
|  | 	<template id="account_assets_frontend" inherit_id="website.assets_frontend" name="eCommerce Portal Sale"> | ||||||
|  |       <xpath expr="." position="inside"> | ||||||
|  |           <link rel='stylesheet' href='/clarico_account/static/src/less/account.less'/> | ||||||
|  |           <link rel='stylesheet' href='/clarico_account/static/src/less/account_responsive.less'/> | ||||||
|  |       </xpath> | ||||||
|  |     </template> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,146 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  | 	 | ||||||
|  | 	<!-- Add link into my account --> | ||||||
|  |  	<template id="clarico_account_clarico_layout" name="Link to e-Commerce frontend portal" | ||||||
|  | 		inherit_id="clarico_layout.clarico_header_main" priority="21"> | ||||||
|  |         <xpath expr="//ul[@id='logout_ul']//li[@id='o_logout']" | ||||||
|  |                position="before"> | ||||||
|  |             <li id="wishlist_id"></li> | ||||||
|  |             <div id="cart_id"></div> | ||||||
|  |             <li> | ||||||
|  |                 <p class="ul_class_admin_name"> | ||||||
|  |                     <i class="fa fa-pie-chart fa_common_style_header" style="padding-right: 9px;"></i><a href="/my/orders">My Orders</a> | ||||||
|  |                 </p> | ||||||
|  |             </li> | ||||||
|  |             <li> | ||||||
|  |                 <p class="ul_class_admin_name"> | ||||||
|  |                     <i class="fa fa-usd fa_common_style_header" style="padding-right: 9px;"></i><a href="/my/invoices">My Invoices</a> | ||||||
|  |                 </p> | ||||||
|  |             </li> | ||||||
|  |         </xpath> | ||||||
|  |     </template> | ||||||
|  | 	 | ||||||
|  |     <!-- Home page --> | ||||||
|  |     <template id="clarico_account_portal_my_home" inherit_id="portal.portal_my_home" name="My Portal"> | ||||||
|  |         <xpath expr="//div[hasclass('o_portal_my_home')]" position="attributes"> | ||||||
|  | 			<attribute name="class">o_portal_my_home account_home</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('o_portal_my_home')]//h3" position="attributes"> | ||||||
|  | 			<attribute name="class">common_heading</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//ul[hasclass('o_portal_docs')]" position="attributes"> | ||||||
|  | 			<attribute name="class">o_portal_docs list-group clarico_portal_docs</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<!-- Home page your details section --> | ||||||
|  | 	<template id="clarico_account_portal_layout_details" inherit_id="portal.portal_layout" name="Portal Layout"> | ||||||
|  | 		<xpath expr="//div[hasclass('o_portal_my_details')]" position="attributes"> | ||||||
|  | 			<attribute name="class">o_portal_my_details my_details_div</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('o_portal_my_details')]//h3" position="attributes"> | ||||||
|  | 			<attribute name="class">your_details</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('o_portal_my_details')]//h3/a" position="attributes"> | ||||||
|  | 			<attribute name="class">your_details_change_btn</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<!-- Quotation Home --> | ||||||
|  | 	<template id="clarico_account_portal_my_quotations" inherit_id="sale.portal_my_quotations" name="My Quotations">  | ||||||
|  | 		<xpath expr="//h3" position="attributes"> | ||||||
|  | 			<attribute name="class">common_heading</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//table[hasclass('o_portal_my_doc_table')]" position="attributes"> | ||||||
|  | 			<attribute name="class">table table-hover o_portal_my_doc_table quotation_table</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<!-- Quotataion orders --> | ||||||
|  |  	<template id="clarico_account_portal_order_page" inherit_id="sale.portal_order_page" name="Sales Order"> | ||||||
|  | 		<xpath expr="//div[hasclass('container')]" position="attributes"> | ||||||
|  | 			<attribute name="class">container clarico_container</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('panel-default')]" position="attributes"> | ||||||
|  | 			<attribute name="class">panel panel-default clarico_panel_main</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('panel-body')]/div[hasclass('row')]" position="attributes"> | ||||||
|  | 			<attribute name="class">row address-div</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('orders_vertical_align')]" position="attributes"> | ||||||
|  | 			<attribute name="class">row orders_vertical_align order_details_div</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('orders_vertical_align')]/div[@id='product_name']" position="replace"> | ||||||
|  | 			<div id='product_name' class="col-lg-4 col-sm-6 col-xs-3"> | ||||||
|  |                <span t-esc="ol.product_id.display_name"/> | ||||||
|  |              </div> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template>  | ||||||
|  | 	 | ||||||
|  | 	<!-- Sales Order Home --> | ||||||
|  |  	<template id="clarico_account_portal_my_orders" inherit_id="sale.portal_my_orders" name="My Sales Order">  | ||||||
|  | 		<xpath expr="//h3" position="attributes"> | ||||||
|  | 			<attribute name="class">common_heading</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//table[hasclass('o_portal_my_doc_table')]" position="attributes"> | ||||||
|  | 			<attribute name="class">table table-hover o_portal_my_doc_table quotation_table</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  |  	<template id="clarico_account_portal_my_details" inherit_id="portal.portal_my_details"> | ||||||
|  | 		<xpath expr="//h3" position="attributes"> | ||||||
|  | 			<attribute name="class">common_heading</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('o_portal_details')]" position="attributes"> | ||||||
|  | 			<attribute name="class">row o_portal_details clarico_portal_details</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template>	 | ||||||
|  | 	 | ||||||
|  | 	<template id="clarico_account_so_quotation" inherit_id="website_quote.so_quotation"> | ||||||
|  | 		<xpath expr="//div[hasclass('o_website_quote')]" position="attributes"> | ||||||
|  | 			<attribute name="class">container o_website_quote clarico_website_quote</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<!-- Accept Order quote --> | ||||||
|  | 	<template id="clarico_account_pricing" inherit_id="website_quote.pricing"> | ||||||
|  | 		<xpath expr="//section[@id='quote']" position="attributes"> | ||||||
|  | 			<attribute name="class">quote section_quote</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//table[hasclass('table')]" position="attributes"> | ||||||
|  | 			<attribute name="class">table wq-table table_quote</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<!-- Quotation content --> | ||||||
|  | 	<template id="clarico_account_so_quotation_content" inherit_id="website_quote.so_quotation_content"> | ||||||
|  | 		<xpath expr="//h1" position="attributes"> | ||||||
|  | 			<attribute name="class">quotation-order-heading</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('row')]//div[hasclass('col-md-6')]" position="attributes"> | ||||||
|  | 			<attribute name="class">col-md-6 col-xs-6 full_width</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('row')]//div[hasclass('col-md-6')]" position="attributes"> | ||||||
|  | 			<attribute name="class">col-md-6 col-xs-6 full_width</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<template id="clarico_account_portal_my_invoices" inherit_id="account.portal_my_invoices" name="My Quotations">  | ||||||
|  | 		<xpath expr="//h3" position="attributes"> | ||||||
|  | 			<attribute name="class">common_heading</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//table[hasclass('o_portal_my_doc_table')]" position="attributes"> | ||||||
|  | 			<attribute name="class">table table-hover o_portal_my_doc_table quotation_table</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<template id="clarico_account_portal_invoice_page" inherit_id="account.portal_invoice_page"> | ||||||
|  | 		<xpath expr="//div[hasclass('container')]" position="attributes"> | ||||||
|  | 			<attribute name="class">container clarico_container</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('panel-default')]" position="attributes"> | ||||||
|  | 			<attribute name="class">panel panel-default clarico_panel_main</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | </odoo>  | ||||||
|  | @ -0,0 +1,2 @@ | ||||||
|  | # -*- encoding: utf-8 -*- | ||||||
|  | # Part of Odoo. See LICENSE file for full copyright and licensing details. | ||||||
|  | @ -0,0 +1,26 @@ | ||||||
|  | { | ||||||
|  |     # Theme information | ||||||
|  |     'name' : 'Clarico Attribute Filter', | ||||||
|  |     'category' : 'Website', | ||||||
|  |     'version' : '1.0', | ||||||
|  |     'summary': 'Show Selected Attributes in Applied Filter Section', | ||||||
|  |     'description': """""", | ||||||
|  | 
 | ||||||
|  |     # Dependencies | ||||||
|  |     'depends': [ | ||||||
|  |         'clarico_shop' | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Views | ||||||
|  |     'data': [ | ||||||
|  |         'template/assets.xml', | ||||||
|  |         'template/template.xml', | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Author | ||||||
|  |     'author': 'Emipro Technologies Pvt. Ltd.', | ||||||
|  |     'website': 'http://www.emiprotechnologies.com', | ||||||
|  | 
 | ||||||
|  |     # Technical | ||||||
|  |     'installable': True, | ||||||
|  | } | ||||||
| After Width: | Height: | Size: 4.6 KiB | 
|  | @ -0,0 +1,124 @@ | ||||||
|  | $(document).ready(function() | ||||||
|  | { | ||||||
|  | 	/*view filter click */ | ||||||
|  | 	$(".apply-filter").click(function(){ | ||||||
|  | 		//$("#products_grid_before").css({"width":"0px","transition":"0.5s"});
 | ||||||
|  | 		//$("#wrapwrap").css({"margin-left":"0px","transition":"0.5s"});
 | ||||||
|  | 		$(".main-header-maxW").removeClass("transparent"); | ||||||
|  | 		$(".filter-main-div").css("display","block").addClass("zoom-fadein"); | ||||||
|  | 	}); | ||||||
|  | 	/*close button of view filter*/ | ||||||
|  | 	$(".filter-option-close-btn").click(function(){ | ||||||
|  | 		$(".filter-main-div").css("display","none"); | ||||||
|  | 	}) | ||||||
|  | 	 | ||||||
|  | 	/* filter-option class set center of screen */ | ||||||
|  | 	var winH = $(window).height(); | ||||||
|  | 	var winW = $(window).width(); | ||||||
|  | 	var $filter_option = $(".filter-option"); | ||||||
|  | 	$filter_option.css('top',  winH/2-$filter_option.height()/2); | ||||||
|  | 	$filter_option.css('left', winW/2-$filter_option.width()/2); | ||||||
|  | 	 | ||||||
|  | 	$("form.js_attributes input").each(function(){  | ||||||
|  | 		var curr=$(this)        	 | ||||||
|  | 		var curr_parent=curr.parent();        	 | ||||||
|  | 		var status=this.checked   | ||||||
|  | 		var val=this.value; | ||||||
|  | 		if(status==true){  | ||||||
|  | 			$(".no-any-variant").css("display","none"); | ||||||
|  | 			$(".clear-all-filter").css("display","block"); | ||||||
|  | 			 | ||||||
|  | 			var curr_att=curr_parent.find("label").html()  | ||||||
|  | 			if(curr_att){        		 | ||||||
|  | 				$(".filter-option").append("<div class='attribute'>" + curr_att + "<a data-id='"+val+"' class='close-btn'>X</a> </div>")        	 | ||||||
|  | 			} | ||||||
|  | 			if(!curr_att){        			 | ||||||
|  | 				val_name=$(this).attr("title")        			 | ||||||
|  | 				$(".filter-option").append("<div class='attribute'>" + val_name + "<a data-id='"+val+"' class='close-btn'>X</a> </div>")        		 | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		}); | ||||||
|  | 		 | ||||||
|  | 	// Pricefilter Attribute
 | ||||||
|  | 		var p_filter = "" | ||||||
|  | 		if($("input[name='min_val']").val()) | ||||||
|  | 		{ | ||||||
|  | 			p_filter = $("input[name='min_val']").val()  | ||||||
|  | 			if($("input[name='max_val']").val()) | ||||||
|  | 			{ | ||||||
|  | 				p_filter += "-"+$("input[name='max_val']").val(); | ||||||
|  | 				 | ||||||
|  | 				$(".no-any-variant").css("display","none"); | ||||||
|  | 				$(".clear-all-filter").css("display","block"); | ||||||
|  | 				$(".apply-filter").css("display","block"); | ||||||
|  | 				$(".clear-pricefilter").css("display","block"); | ||||||
|  | 				$(".filter-option").append("<div class='attribute'>" + p_filter + "<a data-id='price' class='close-btn'>X</a> </div>") | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 		//clear price filter
 | ||||||
|  | 		$(".clear-pricefilter").click(function(){ | ||||||
|  | 			$("input[name='min_val']").val(""); | ||||||
|  | 			$("input[name='max_val']").val(""); | ||||||
|  | 			$("form.js_attributes input").closest("form").submit(); | ||||||
|  | 		}) | ||||||
|  | 	 | ||||||
|  | 		/* clear particular selected attribute */ | ||||||
|  | 		$(".close-btn").click(function(){        			 | ||||||
|  | 			var id=$(this).attr("data-id")        			 | ||||||
|  | 			if(id){ | ||||||
|  | 				if(id == 'price') | ||||||
|  | 				{ | ||||||
|  | 					$("input[name='min_val']").val("") | ||||||
|  | 					$("input[name='max_val']").val("") | ||||||
|  | 					$("form.js_attributes input").closest("form").submit(); | ||||||
|  | 				} | ||||||
|  | 				else | ||||||
|  | 				{ | ||||||
|  | 				$("form.js_attributes input[value="+id+"]").removeAttr("checked");        			 | ||||||
|  | 				$("form.js_attributes input").closest("form").submit(); | ||||||
|  | 				} | ||||||
|  | 				 | ||||||
|  | 			} | ||||||
|  | 			if(!id){        				 | ||||||
|  | 				var id=$(this).attr("data-value")        				 | ||||||
|  | 				$("form.js_attributes input[value="+id+"]").removeAttr("checked");        				 | ||||||
|  | 				$("form.js_attributes input").closest("form").submit();        			 | ||||||
|  | 			} | ||||||
|  | 		}); | ||||||
|  | 		/*Clear all selected attribute*/ | ||||||
|  | 		$(".clear-all-filter").click(function(){ | ||||||
|  | 			$("form.js_attributes input").each(function(){        	 | ||||||
|  | 				var curr=$(this) | ||||||
|  | 				var status=this.checked | ||||||
|  | 				if(status==true)  { | ||||||
|  | 				curr.removeAttr("checked"); | ||||||
|  | 				 | ||||||
|  | 				} | ||||||
|  | 			}); | ||||||
|  | 			$("input[name='min_val']").val("") | ||||||
|  | 			$("input[name='max_val']").val("") | ||||||
|  | 			$(".clear-all-filter").css("display","none"); | ||||||
|  | 			$("form.js_attributes input").closest("form").submit(); | ||||||
|  | 			$(".no-any-variant").css("display","block"); | ||||||
|  | 		}); | ||||||
|  | 
 | ||||||
|  | }); | ||||||
|  | $(window).load(function(){ | ||||||
|  | 	$("form.js_attributes input").each(function(){  | ||||||
|  | 		var curr=$(this)        	 | ||||||
|  | 		var curr_parent=curr.parent();        	 | ||||||
|  | 		var status=this.checked   | ||||||
|  | 		var val=this.value; | ||||||
|  | 		if(status==true){  | ||||||
|  | 			$(".apply-filter").css("display","block"); | ||||||
|  | 		}else{ | ||||||
|  | 			$(".apply-filter").css("display","none;"); | ||||||
|  | 		} | ||||||
|  | 	}); | ||||||
|  | }); | ||||||
|  | /*esc close box*/ | ||||||
|  | $(document).on( 'keydown', function(e){ | ||||||
|  | 	if(e.keyCode === 27) { | ||||||
|  | 		$(".filter-main-div").css("display","none"); | ||||||
|  | 	} | ||||||
|  | }); | ||||||
|  | @ -0,0 +1,88 @@ | ||||||
|  | .filter-main-div{ | ||||||
|  | 	width: 100%; | ||||||
|  | 	position: fixed; | ||||||
|  |     z-index: 9999; | ||||||
|  |     height: 100%; | ||||||
|  |     top: 0; | ||||||
|  |     left: 0; | ||||||
|  |     bottom: 0; | ||||||
|  |     right: 0; | ||||||
|  |     background: rgba(255, 255, 255, 0.95) !important; | ||||||
|  |     display: none; | ||||||
|  |      | ||||||
|  | 
 | ||||||
|  | 	.filter-div-maxW{ | ||||||
|  | 		width: 60%; | ||||||
|  | 	    max-width: 1400px; | ||||||
|  | 	    .center; | ||||||
|  | 	     | ||||||
|  | 	     | ||||||
|  | 	    .filter-option{ | ||||||
|  | 	    	transition: opacity 1s; | ||||||
|  | 	    	height: 300px; | ||||||
|  | 		    position: fixed; | ||||||
|  |     		width: 700px; | ||||||
|  | 	    	 | ||||||
|  | 	    	 | ||||||
|  | 	    	.clear-all-filter{ | ||||||
|  | 	    		.right; | ||||||
|  | 			    .mr(10px); | ||||||
|  | 			    .size(12px); | ||||||
|  | 			    color: black; | ||||||
|  | 			    border-bottom: 1px solid; | ||||||
|  | 			    display:none; | ||||||
|  | 			     | ||||||
|  | 			    & span{ | ||||||
|  | 			    	.size(13px); | ||||||
|  | 			    } | ||||||
|  | 	    	} | ||||||
|  | 	    	.filter-option-h2{ | ||||||
|  | 	    		.size(30px); | ||||||
|  | 				color: #222; | ||||||
|  | 				.uppercase(); | ||||||
|  | 				line-height: 169%; | ||||||
|  | 				.oswald-light(); | ||||||
|  | 				letter-spacing: 2px; | ||||||
|  | 				word-spacing: 1px; | ||||||
|  | 			    .pb(10%); | ||||||
|  | 			    margin:0; | ||||||
|  | 			    width:100%; | ||||||
|  | 			    text-align:left; | ||||||
|  | 	    	} | ||||||
|  | 	    	 | ||||||
|  | 	    	.attribute{ | ||||||
|  | 	    		padding:4px 0px 4px 0px; | ||||||
|  | 			    .size(13px); | ||||||
|  | 			    .muli-regular; | ||||||
|  | 			    margin: 0 20px 10px 0; | ||||||
|  | 			    .capitalize; | ||||||
|  | 			     display: inline-block; | ||||||
|  | 			     border-bottom: 1px solid @theme-color; | ||||||
|  | 			     .left; | ||||||
|  | 			     | ||||||
|  | 			    & a{ | ||||||
|  | 			    	.right; | ||||||
|  | 				    padding: 0; | ||||||
|  | 				    margin: 0; | ||||||
|  | 				    .ml(9px); | ||||||
|  | 				    .size(9px); | ||||||
|  | 				    .pt(4px); | ||||||
|  | 				    cursor:pointer; | ||||||
|  | 			    } | ||||||
|  | 	    	} | ||||||
|  | 	    } | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .zoom-fadein { | ||||||
|  | 	-webkit-animation:animatezoomfade 0.6s; | ||||||
|  | 	animation:animatezoomfade 0.6s | ||||||
|  | } | ||||||
|  | @-webkit-keyframes animatezoomfade{ | ||||||
|  | 	from{-webkit-transform:scale(0); opacity:0;}  | ||||||
|  | 	to{-webkit-transform:scale(1); opacity:1;} | ||||||
|  | } | ||||||
|  | @keyframes animatezoomfade{ | ||||||
|  | 	from{transform:scale(0); opacity:0;}  | ||||||
|  | 	to{transform:scale(1); opacity:1;} | ||||||
|  | } | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  | 	<template id="json_filter_assets_frontend_js" inherit_id="web.assets_frontend"> | ||||||
|  | 		<xpath expr="." position="inside"> | ||||||
|  | 			<script type="text/javascript" src="/clarico_attribute_filter/static/src/js/filter.js"></script> | ||||||
|  | 			<link rel="stylesheet" type="text/less" href="/clarico_attribute_filter/static/src/less/filter.less"/> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,16 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  | 	<template id="clarico_attribute_filter_clarico_filter" inherit_id="clarico_shop.clarico_shop_shop_page"> | ||||||
|  | 		<xpath expr="//div[hasclass('main')]" position="after"> | ||||||
|  | 		<div class="filter-main-div"> | ||||||
|  |         	<div class="filter-div-maxW"> | ||||||
|  |         		<a class="filter-option-close-btn common-close-btn"><span>x</span></a>  | ||||||
|  |         		<div class="filter-option"> | ||||||
|  |         			<a class="clear-all-filter">Clear all <span>x</span></a> | ||||||
|  |         			<h2 class="filter-option-h2">Filter Option</h2> | ||||||
|  |         		</div> | ||||||
|  |         	</div> | ||||||
|  |     	</div> | ||||||
|  |     	</xpath> | ||||||
|  | 	</template> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | @ -0,0 +1,26 @@ | ||||||
|  | { | ||||||
|  |     # Theme information | ||||||
|  |     'name' : 'Clarico Base', | ||||||
|  |     'category' : 'Website', | ||||||
|  |     'version' : '1.0', | ||||||
|  |     'summary': 'Contains Common Design Styles for Theme Clarico', | ||||||
|  |     'description': """""", | ||||||
|  | 
 | ||||||
|  |     # Dependencies | ||||||
|  |     'depends': [ | ||||||
|  |         'website_sale','website_blog', 'auth_signup', | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Views | ||||||
|  |     'data': [ | ||||||
|  |         'template/assets.xml', | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Author | ||||||
|  |     'author': 'Emipro Technologies Pvt. Ltd.', | ||||||
|  |     'website': 'http://www.emiprotechnologies.com', | ||||||
|  | 
 | ||||||
|  |     # Technical | ||||||
|  |     'installable': True, | ||||||
|  |     'application': False, | ||||||
|  | } | ||||||
| After Width: | Height: | Size: 4.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								ext/3rd-party-addons/clarico_base/static/src/font/BarlowSemiCondensed-Medium.ttf
								
								
								
								
									Executable file
								
							
							
						
						|  | @ -0,0 +1,37 @@ | ||||||
|  | /* | ||||||
|  | @font-face { | ||||||
|  |     font-family: muli-Bold; | ||||||
|  |     src: url(https://fonts.gstatic.com/s/poppins/v5/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2); | ||||||
|  | } | ||||||
|  | @font-face { | ||||||
|  | 
 | ||||||
|  |     font-family: muli-Regular; | ||||||
|  |     src: url(https://fonts.gstatic.com/s/poppins/v5/pxiEyp8kv8JHgFVrJJfecg.woff2	); | ||||||
|  | } | ||||||
|  | @font-face { | ||||||
|  |     font-family: muli-semibold; | ||||||
|  |     src: url(https://fonts.gstatic.com/s/poppins/v5/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2); | ||||||
|  | } | ||||||
|  | @font-face { | ||||||
|  |     font-family: muli-light; | ||||||
|  |     src: url(https://fonts.gstatic.com/s/poppins/v5/pxiByp8kv8JHgFVrLDz8Z1xlFQ.woff2); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @font-face { | ||||||
|  |     font-family: oswald-bold; | ||||||
|  |     src: url(https://fonts.gstatic.com/s/barlowcondensed/v1/HTxwL3I-JCGChYJ8VI-L6OO_au7B46r2z3bWuQ.woff2); | ||||||
|  | } | ||||||
|  | @font-face { | ||||||
|  |     font-family: oswald-light; | ||||||
|  |     src: url(https://fonts.gstatic.com/s/barlowcondensed/v1/HTxwL3I-JCGChYJ8VI-L6OO_au7B47rxz3bWuQ.woff2); | ||||||
|  | } | ||||||
|  | @font-face { | ||||||
|  |     font-family: oswald-regular; | ||||||
|  |     src: url(https://fonts.gstatic.com/s/barlowcondensed/v1/HTx3L3I-JCGChYJ8VI-L6OO_au7B6xHT2g.woff2); | ||||||
|  | } | ||||||
|  | @font-face { | ||||||
|  |     font-family: oswald-semibold; | ||||||
|  |     src: url(https://fonts.gstatic.com/s/barlowcondensed/v1/HTxwL3I-JCGChYJ8VI-L6OO_au7B4873z3bWuQ.woff2); | ||||||
|  | } | ||||||
|  | */ | ||||||
|  | @ -0,0 +1,401 @@ | ||||||
|  | @font-face { | ||||||
|  |     font-family: muli-Bold; | ||||||
|  |     src: url(/clarico_base/static/src/font/Poppins-Bold.ttf); | ||||||
|  | } | ||||||
|  | @font-face { | ||||||
|  |     font-family: muli-Regular; | ||||||
|  |     src: url(/clarico_base/static/src/font/Poppins-Regular.ttf); | ||||||
|  | } | ||||||
|  | @font-face { | ||||||
|  |     font-family: muli-semibold; | ||||||
|  |     src: url(/clarico_base/static/src/font/Poppins-SemiBold.ttf); | ||||||
|  | } | ||||||
|  | @font-face { | ||||||
|  |     font-family: muli-light; | ||||||
|  |     src: url(/clarico_base/static/src/font/Poppins-Light.ttf); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @font-face { | ||||||
|  |     font-family: oswald-bold; | ||||||
|  |     src: url(/clarico_base/static/src/font/BarlowSemiCondensed-Bold.ttf); | ||||||
|  | } | ||||||
|  | @font-face { | ||||||
|  |     font-family: oswald-extralight; | ||||||
|  |     src: url(/clarico_base/static/src/font/BarlowSemiCondensed-Thin.ttf); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @font-face { | ||||||
|  |     font-family: oswald-light; | ||||||
|  |     src: url(/clarico_base/static/src/font/BarlowSemiCondensed-Light.ttf); | ||||||
|  | } | ||||||
|  | @font-face { | ||||||
|  |     font-family: oswald-medium; | ||||||
|  |     src: url(/clarico_base/static/src/font/BarlowSemiCondensed-Medium.ttf); | ||||||
|  | } | ||||||
|  | @font-face { | ||||||
|  |     font-family: oswald-regular; | ||||||
|  |     src: url(/clarico_base/static/src/font/BarlowSemiCondensed-Regular.ttf); | ||||||
|  | } | ||||||
|  | @font-face { | ||||||
|  |     font-family: oswald-semibold; | ||||||
|  |     src: url(/clarico_base/static/src/font/BarlowSemiCondensed-SemiBold.ttf); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .shop_now_button | ||||||
|  | { | ||||||
|  | 	display: inline-block; | ||||||
|  | 	.size(14px); | ||||||
|  | 	line-height: 46px; | ||||||
|  | 	height: 46px; | ||||||
|  | 	letter-spacing: 1px; | ||||||
|  | 	padding: 0 30px; | ||||||
|  | 	text-align:center; | ||||||
|  | 	.uppercase; | ||||||
|  | 	background: @theme-color; | ||||||
|  | 	border-radius: 25px; | ||||||
|  | 	border: none; | ||||||
|  | 	color: #fff; | ||||||
|  | 	transition: all 300ms; | ||||||
|  | 	text-decoration: none; | ||||||
|  | 	.oswald-regular; | ||||||
|  | 	cursor: pointer; | ||||||
|  | 	 | ||||||
|  | 	&:hover | ||||||
|  | 	{ | ||||||
|  | 		background:black; | ||||||
|  | 		color:#fff !important; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .maxW{ | ||||||
|  | 	width:90%; | ||||||
|  | 	max-width:1400px; | ||||||
|  | 	display:block; | ||||||
|  | 	margin:0px auto; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .oswald-regular() | ||||||
|  | { | ||||||
|  | 	font-family:oswald-regular; | ||||||
|  | } | ||||||
|  | .oswald-light() | ||||||
|  | { | ||||||
|  | 	font-family:oswald-light; | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | .oswald-semibold() | ||||||
|  | { | ||||||
|  | 	font-family:oswald-semibold; | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | .oswald-bold() | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	font-family:oswald-bold; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .muli-regular(){ | ||||||
|  | 	font-family:Muli-Regular; | ||||||
|  | } | ||||||
|  | .muli-bold(){ | ||||||
|  | 	font-family:Muli-Bold; | ||||||
|  | } | ||||||
|  | .muli-light(){ | ||||||
|  | 	font-family:muli-light; | ||||||
|  | } | ||||||
|  | .muli-semibold(){ | ||||||
|  | 	font-family:muli-semibold; | ||||||
|  | } | ||||||
|  | .size(@font_size){ | ||||||
|  | 	font-size:@font_size; | ||||||
|  | } | ||||||
|  | @m-regular:'muli-regular'; | ||||||
|  | @m-light:'muli-light'; | ||||||
|  | @m-semibold:'muli-semibold'; | ||||||
|  | @m-bold:'muli-bold'; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @color-black :black; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | body | ||||||
|  | { | ||||||
|  | 	.muli-regular(); | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | p | ||||||
|  | { | ||||||
|  |  	margin:0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .block | ||||||
|  | { | ||||||
|  | 	width:90%; | ||||||
|  | 	display:block; | ||||||
|  | 	margin:0px auto; | ||||||
|  | 	max-width:1400px; | ||||||
|  | } | ||||||
|  | .center | ||||||
|  | { | ||||||
|  | 	display:block; | ||||||
|  | 	margin:0px auto; | ||||||
|  | } | ||||||
|  | .common-div | ||||||
|  | { | ||||||
|  | 	display:inline-block; | ||||||
|  | 	width:100%; | ||||||
|  | } | ||||||
|  | .capitalize(){ | ||||||
|  | 	text-transform:capitalize; | ||||||
|  | } | ||||||
|  | .uppercase(){ | ||||||
|  | 	text-transform:uppercase; | ||||||
|  | } | ||||||
|  | .center(){ | ||||||
|  | 	text-align:center; | ||||||
|  | } | ||||||
|  | .left(){ | ||||||
|  | 	float: left; | ||||||
|  | } | ||||||
|  | .p(@padding) | ||||||
|  | { | ||||||
|  | 	padding:@padding; | ||||||
|  | } | ||||||
|  | .right(){ | ||||||
|  | 	float:right; | ||||||
|  | } | ||||||
|  | .pt(@top) | ||||||
|  | { | ||||||
|  | 	padding-top:@top; | ||||||
|  | } | ||||||
|  | .pb(@bottom) | ||||||
|  | { | ||||||
|  | 	padding-bottom:@bottom; | ||||||
|  | } | ||||||
|  | .mt(@top) | ||||||
|  | { | ||||||
|  | 	margin-top:@top; | ||||||
|  | } | ||||||
|  | .mb(@bottom) | ||||||
|  | { | ||||||
|  | 	margin-bottom:@bottom; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .ml(@left) | ||||||
|  | { | ||||||
|  | 	margin-left:@left; | ||||||
|  | } | ||||||
|  | .mr(@right) | ||||||
|  | { | ||||||
|  | 	margin-right:@right; | ||||||
|  | } | ||||||
|  | .pl(@left) | ||||||
|  | { | ||||||
|  | 	padding-left:@left; | ||||||
|  | } | ||||||
|  | .pr(@right) | ||||||
|  | { | ||||||
|  | 	padding-right:@right; | ||||||
|  | } | ||||||
|  | /*-=-= POSITION =-=-*/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .pos(@val){ | ||||||
|  | 	position:@val; | ||||||
|  | } | ||||||
|  | .left(@val){ | ||||||
|  | 	left:@val; | ||||||
|  | } | ||||||
|  | .right(@val){ | ||||||
|  | 	right:@val; | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | .top(@val){ | ||||||
|  | 	top:@val; | ||||||
|  | } | ||||||
|  | .bott(@val){ | ||||||
|  | 	bottom:@val; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @color-black :black; | ||||||
|  | @theme-color: #be4978; | ||||||
|  | @theme-btn-color :#be4978; | ||||||
|  | 
 | ||||||
|  | .btn-link | ||||||
|  | { | ||||||
|  | 	color:@theme-color; | ||||||
|  | } | ||||||
|  | .btn-primary | ||||||
|  | { | ||||||
|  | 	.bg(@theme-color) !important; | ||||||
|  | } | ||||||
|  | .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus | ||||||
|  | { | ||||||
|  | 	.bg(@theme-color); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* | ||||||
|  | button.btn,a.btn{ | ||||||
|  |     border-color:transparent !important; | ||||||
|  |     transition: all 0.3s ease-in-out; | ||||||
|  |    // opacity: 0.85 !important; | ||||||
|  |     color: #fff !important; | ||||||
|  |   //  border-radius: unset; | ||||||
|  |     .bg(@theme-color); | ||||||
|  |     .oswald-regular; | ||||||
|  |     text-transform: uppercase; | ||||||
|  |     letter-spacing: 2px; | ||||||
|  |      | ||||||
|  |      | ||||||
|  |     &:hover{ | ||||||
|  | 	     .bg(#000) !important; | ||||||
|  | 		color:#fff !important; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | */ | ||||||
|  | .btn{ | ||||||
|  |     border-color:transparent !important; | ||||||
|  |     transition: opacity 0.3s ease-in-out; | ||||||
|  |     opacity: 0.85 !important; | ||||||
|  |     color: #fff; | ||||||
|  |     border-radius: unset; | ||||||
|  |     .bg(@theme-color); | ||||||
|  |      | ||||||
|  |      | ||||||
|  |     &:hover{ | ||||||
|  |     	opacity: 1.0 !important; | ||||||
|  | 	    color: #fff !important; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .chs_heading | ||||||
|  | { | ||||||
|  | 	.size(30px); | ||||||
|  | 	color:#222; | ||||||
|  | 	.transform(uppercase); | ||||||
|  | 	line-height: 169%; | ||||||
|  | 	.oswald-regular(); | ||||||
|  | 	letter-spacing: 2px; | ||||||
|  | 	word-spacing: 1px; | ||||||
|  | } | ||||||
|  | .common-close-btn | ||||||
|  | { | ||||||
|  | 	position: absolute; | ||||||
|  | 	z-index: 2; | ||||||
|  | 	top: 6px; | ||||||
|  | 	right: 15px; | ||||||
|  | 	height: 34px; | ||||||
|  | 	width: 34px; | ||||||
|  | 	background-color: #fff; | ||||||
|  | 	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15); | ||||||
|  | 	border: solid 1px rgba(0, 0, 0, 0.06); | ||||||
|  | 	border-radius: 50%; | ||||||
|  | 	font-size: 15px; | ||||||
|  | 	line-height: 32px; | ||||||
|  | 	color: #878787; | ||||||
|  | 	display: block; | ||||||
|  | 	margin: 0px auto; | ||||||
|  | 	text-align: center; | ||||||
|  | 	cursor: pointer; | ||||||
|  | } | ||||||
|  | .bg(@color) | ||||||
|  | { | ||||||
|  | 	background-color:@color; | ||||||
|  | } | ||||||
|  | .transform(@text) | ||||||
|  | { | ||||||
|  | 	text-transform:@text; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /* Overflow ellipsis */ | ||||||
|  | .ellipsis(){ | ||||||
|  | 	white-space: nowrap; | ||||||
|  |     overflow: hidden; | ||||||
|  |     text-overflow: ellipsis; | ||||||
|  |     max-width: 175px; | ||||||
|  |     display: block; | ||||||
|  | } | ||||||
|  | a{ | ||||||
|  | 	color: @color-black; | ||||||
|  | 	cursor:pointer; | ||||||
|  | 	 | ||||||
|  | 	&:hover{ | ||||||
|  | 		text-decoration:none !important; | ||||||
|  | 		color: @color-black; | ||||||
|  | 		color: @color-black; | ||||||
|  | 	} | ||||||
|  | 	&:active{ | ||||||
|  | 		text-decoration:none; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /*------for owl-slider navigation------------*/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .owl-next | ||||||
|  | { | ||||||
|  | 	.size(25px); | ||||||
|  | 	position: absolute; | ||||||
|  | 	top: 45%; | ||||||
|  | 	right: -15px; | ||||||
|  | 	.oswald-light(); | ||||||
|  | } | ||||||
|  | .owl-prev | ||||||
|  | { | ||||||
|  | 	.size(25px); | ||||||
|  | 	position: absolute; | ||||||
|  | 	top: 45%; | ||||||
|  | 	left: -15px; | ||||||
|  | 	.oswald-light(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /*----------common image class ----------------*/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .s_image_common | ||||||
|  | { | ||||||
|  | 	display:block; | ||||||
|  | 	width:auto; | ||||||
|  | 	max-width:100%; | ||||||
|  | 	margin:0px auto; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /*-------- heading media-query ----------*/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @media (max-width:600px){ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	.chs_heading,.content_title | ||||||
|  | 	{ | ||||||
|  | 	.size(20px) !important; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1,6 @@ | ||||||
|  | /** | ||||||
|  |  * Owl Carousel v2.2.1 | ||||||
|  |  * Copyright 2013-2017 David Deutsch | ||||||
|  |  * Licensed under  () | ||||||
|  |  */ | ||||||
|  | .owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%} | ||||||
							
								
								
									
										6
									
								
								ext/3rd-party-addons/clarico_base/static/src/less/owl.theme.default.min.css
								
								
								
									vendored
								
								
									Executable file
								
							
							
						
						|  | @ -0,0 +1,6 @@ | ||||||
|  | /** | ||||||
|  |  * Owl Carousel v2.2.1 | ||||||
|  |  * Copyright 2013-2017 David Deutsch | ||||||
|  |  * Licensed under  () | ||||||
|  |  */ | ||||||
|  | .owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791} | ||||||
|  | @ -0,0 +1,21 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  | 	<template id="layout_assets_frontend" inherit_id="web.assets_frontend"> | ||||||
|  | 		<xpath expr="." position="inside"> | ||||||
|  | 		 	<link rel="stylesheet" type="text/less" | ||||||
|  | 				href="/clarico_base/static/src/less/fonts.less" />  | ||||||
|  | 			<link rel="stylesheet" type="text/less" | ||||||
|  | 				href="/clarico_base/static/src/less/mixin.less" /> | ||||||
|  | 			 | ||||||
|  | 			<!-- Owl-Carosel css --> | ||||||
|  | 			<link rel="stylesheet" type="text/less" | ||||||
|  | 				href="/clarico_base/static/src/less/owl.carousel.min.css" /> | ||||||
|  | 			<link rel="stylesheet" type="text/less" | ||||||
|  | 				href="/clarico_base/static/src/less/owl.theme.default.min.css" /> | ||||||
|  | 			 | ||||||
|  | 			<!-- Owl-Carosel Js --> | ||||||
|  | 			<script src="/clarico_base/static/src/js/owl.carousel.js" | ||||||
|  | 				type="text/javascript"></script> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,26 @@ | ||||||
|  | { | ||||||
|  |     # Theme information | ||||||
|  |     'name' : 'Clarico Blog', | ||||||
|  |     'category' : 'Website', | ||||||
|  |     'version' : '1.0', | ||||||
|  |     'summary': 'Easy & User Friendly Blogging Platform for your Online Store', | ||||||
|  |     'description': """""", | ||||||
|  | 
 | ||||||
|  |     # Dependencies | ||||||
|  |     'depends': [ | ||||||
|  |         'clarico_layout' | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Views | ||||||
|  |     'data': [ | ||||||
|  |         'templates/template.xml', | ||||||
|  |         'templates/assets.xml', | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Author | ||||||
|  |     'author': 'Emipro Technologies Pvt. Ltd.', | ||||||
|  |     'website': 'http://www.emiprotechnologies.com', | ||||||
|  | 
 | ||||||
|  |     # Technical | ||||||
|  |     'installable': True, | ||||||
|  | } | ||||||
| After Width: | Height: | Size: 4.6 KiB | 
|  | @ -0,0 +1,338 @@ | ||||||
|  | .full-width | ||||||
|  | { | ||||||
|  | 	background-color: #f5f5f5; | ||||||
|  | 	 | ||||||
|  | 	.breadcrumb | ||||||
|  | 	{ | ||||||
|  | 		margin-bottom: 0; | ||||||
|  | 		padding: 15px 15px; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | } | ||||||
|  | .catg_title_main_blog | ||||||
|  | { | ||||||
|  | 	.mb(10px); | ||||||
|  | 	.oswald-light(); | ||||||
|  | 	.pb(1%); | ||||||
|  | 	.mt(0); | ||||||
|  | } | ||||||
|  | .tag_margin | ||||||
|  | { | ||||||
|  | 	.mt(10px); | ||||||
|  | 	.mb(10px); | ||||||
|  | } | ||||||
|  | .fa-tags::before | ||||||
|  | 	{ | ||||||
|  | 		.size(11px); | ||||||
|  | 		color:@theme-color; | ||||||
|  | 	} | ||||||
|  | 	.lb_keywords,.l_blog_comments | ||||||
|  | 	{ | ||||||
|  | 		width:100%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .blogpost_left_main | ||||||
|  | { | ||||||
|  | 	width:70%; | ||||||
|  | 	display:inline-block; | ||||||
|  | 	.left(); | ||||||
|  | } | ||||||
|  | .blogpost_right_main | ||||||
|  | { | ||||||
|  | 	width:25%; | ||||||
|  | 	display:inline-block; | ||||||
|  | 	float:right; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ctg_subtitle_main | ||||||
|  | { | ||||||
|  | 	.muli-light(); | ||||||
|  | 	.size(16px); | ||||||
|  | 	margin:0; | ||||||
|  | 	color:#777; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .website_blog .o_blog_post_title{ | ||||||
|  | 	.size(20px) !important; | ||||||
|  | 	.muli-regular; | ||||||
|  | 	color: #000; | ||||||
|  | 	.capitalize(); | ||||||
|  | } | ||||||
|  | .blog_post_div{ | ||||||
|  | 	.pb(6%); | ||||||
|  | } | ||||||
|  | .blog_post_div{ | ||||||
|  | 	.pb(6%); | ||||||
|  | } | ||||||
|  | .blog_post_data_more{ | ||||||
|  | 	.pt(1%); | ||||||
|  | 		 | ||||||
|  | 	& .blog_post_tabs_a{ | ||||||
|  | 		.mr(10px); | ||||||
|  | 		color: @theme-color; | ||||||
|  | 		.size(12px); | ||||||
|  | 		border-left: 1px solid;     | ||||||
|  | 		.pl(7px); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	& .seprater{ | ||||||
|  | 		.ml(5px); | ||||||
|  | 		.mr(5px); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	& .blog_post_date{ | ||||||
|  | 		.size(12px); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	& .blog_post_author-static{ | ||||||
|  | 		color:@color-black; | ||||||
|  | 		.size(12px); | ||||||
|  | 		 | ||||||
|  | 		& .blog_post_author{ | ||||||
|  | 			color: @theme-color !important; | ||||||
|  | 			.ml(3px); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .blog-post-image-div{ | ||||||
|  | 	width: auto!important; | ||||||
|  |     height: 250px!important; | ||||||
|  | } | ||||||
|  | .blog-post-subtitle-div{ | ||||||
|  | 	.pt(2%); | ||||||
|  | 
 | ||||||
|  | 	& .blog-post-subtitle{ | ||||||
|  | 		.size(14px); | ||||||
|  | 		color:#777; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .o_sharing_links{ | ||||||
|  | 	.mt(15px) !important; | ||||||
|  | 
 | ||||||
|  | 	& a{ | ||||||
|  | 		color:black !important; | ||||||
|  | 		.size(15px) !important; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .tagline_hr{ | ||||||
|  | 	padding: 0; | ||||||
|  | 	.mb(0); | ||||||
|  | 	.mt(10px); | ||||||
|  | } | ||||||
|  | .blog_post_tags .nav-pills > li.active > a{ | ||||||
|  | 	color:@theme-color; | ||||||
|  | 	background-color:white; | ||||||
|  | 	border-radius: 2px; | ||||||
|  | 	 | ||||||
|  | 	&:hover{ | ||||||
|  | 		color:@theme-color; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .blog_post_tags .nav-pills{ | ||||||
|  | 	.pt(2%); | ||||||
|  | 	.pl(10px); | ||||||
|  | } | ||||||
|  | .blog_post_tags .nav-pills > li > a{ | ||||||
|  | 	.size(12px); | ||||||
|  | 	padding: 2px 12px 2px 12px !important; | ||||||
|  | } | ||||||
|  | .website_blog .o_blog_cover_container.cover > .blog_title, .website_blog .o_blog_cover_container.cover_footer > .blog_title { | ||||||
|  |     color: white; | ||||||
|  |     position: absolute; | ||||||
|  |     top: 20%; | ||||||
|  |     left: 30px; | ||||||
|  |     bottom: auto; | ||||||
|  |     right: 30px; | ||||||
|  | } | ||||||
|  | .blog_post_tags .nav-pills > li { | ||||||
|  | 	display:inline-block; | ||||||
|  |     border: 1px solid #ccc; | ||||||
|  |     margin:10px 2px 0 2px; | ||||||
|  |      | ||||||
|  |     &:hover{ | ||||||
|  |     	border: 1px solid @theme-color; | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     &.active{ | ||||||
|  |     	border: 1px solid @theme-color; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 	& a:hover{ | ||||||
|  | 		background-color:white; | ||||||
|  | 		color:@theme-color; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	&.active > a{ | ||||||
|  | 		color:@theme-color; | ||||||
|  | 		background-color:white; | ||||||
|  | 		border-radius: 2px; | ||||||
|  | 		 | ||||||
|  | 		&:hover{ | ||||||
|  | 			color:@theme-color; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .blog_post_catge .nav-pills > li > a:hover{ | ||||||
|  | 	background-color:white; | ||||||
|  | 	color:@theme-color; | ||||||
|  | } | ||||||
|  | .blog_post_catge{ | ||||||
|  | 	.pt(1%); | ||||||
|  | 	 | ||||||
|  | 	& .nav-pills > li{ | ||||||
|  | 		.mt(5px); | ||||||
|  | 		 | ||||||
|  | 		& a{ | ||||||
|  | 			.size(14px); | ||||||
|  | 			padding: 2px 15px !important; | ||||||
|  | 			 | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	& .nav-pills > li.active > a{ | ||||||
|  | 		color:@theme-color; | ||||||
|  | 		background-color:white; | ||||||
|  | 		border-radius: 2px; | ||||||
|  | 		.capitalize(); | ||||||
|  | 		 | ||||||
|  | 		&:hover{ | ||||||
|  | 			color:@theme-color; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .blog_complete_tag_icon | ||||||
|  | { | ||||||
|  | 	color:#fff; | ||||||
|  | } | ||||||
|  | .blog_complete_tag | ||||||
|  | { | ||||||
|  | 	.bg(@theme-color); | ||||||
|  | 	 | ||||||
|  | 	&:hover | ||||||
|  | 	{ | ||||||
|  | 		.bg(@theme-color); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .blog_complete_subtitle,.read_next_blog_subtitle | ||||||
|  | { | ||||||
|  | 	max-width: 800px; | ||||||
|  | 	.size(16px); | ||||||
|  | 	.center(); | ||||||
|  | 	.center; | ||||||
|  | 	.mt(2%); | ||||||
|  | 	.oswald-light(); | ||||||
|  | 	line-height: 190%; | ||||||
|  | 	letter-spacing: 1px; | ||||||
|  | 	.mb(2%); | ||||||
|  | } | ||||||
|  | .blog_complete_name,.read_next_blog_name | ||||||
|  | { | ||||||
|  | 	max-width: 800px; | ||||||
|  | 	.center; | ||||||
|  | 	.oswald-regular(); | ||||||
|  | 	line-height:160%; | ||||||
|  | } | ||||||
|  | .blog_share_icons | ||||||
|  | { | ||||||
|  | 	.o_sharing_links | ||||||
|  | 	{ | ||||||
|  | 		position: fixed; | ||||||
|  | 		top: 50%; | ||||||
|  | 		right: 1%; | ||||||
|  | 		 | ||||||
|  | 		a | ||||||
|  | 		{ | ||||||
|  | 			display: block; | ||||||
|  | 			box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.1); | ||||||
|  | 			background: #FFF; | ||||||
|  | 			border-radius: 100%; | ||||||
|  | 			.center(); | ||||||
|  | 			.pt(10px); | ||||||
|  | 			margin: 10px 0 !important; | ||||||
|  | 			width: 38px; | ||||||
|  | 			height: 38px;   	 | ||||||
|  | 			 | ||||||
|  | 			>i | ||||||
|  | 			{ | ||||||
|  | 				color:#555 !important; | ||||||
|  | 				transition: color 0.3s ease-in-out; | ||||||
|  | 				.size(17px); | ||||||
|  | 				vertical-align: middle; | ||||||
|  | 				 | ||||||
|  | 				&:hover | ||||||
|  | 				{ | ||||||
|  | 					color:@theme-color !important; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .blog_share_icons .o_sharing_links | ||||||
|  | { | ||||||
|  | 	>a::before | ||||||
|  | 	{ | ||||||
|  | 		content: ""; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .blog_read_next_link | ||||||
|  | { | ||||||
|  | 	color:@theme-color; | ||||||
|  | } | ||||||
|  | .blog_complete_max_width | ||||||
|  | { | ||||||
|  | 	max-width:1000px !important; | ||||||
|  | 	.block; | ||||||
|  | } | ||||||
|  | .participate_social a{ | ||||||
|  | 	.size(15px); | ||||||
|  | 	.mr(5px); | ||||||
|  | } | ||||||
|  | .stay-update input.js_follow_email{ | ||||||
|  | 	height: 40px; | ||||||
|  | 	border-radius: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .status-ul{ | ||||||
|  | 	& li a{ | ||||||
|  | 		padding: 4px 15px !important; | ||||||
|  | 		.size(13px) !important; | ||||||
|  | 		 | ||||||
|  | 		&:hover{ | ||||||
|  | 			background : unset !important; | ||||||
|  | 			color : @theme-color !important; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	& li.active > a{ | ||||||
|  | 		background : unset !important; | ||||||
|  | 		color : @theme-color !important; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .archives-ul{ | ||||||
|  | 	padding: 4px 15px !important; | ||||||
|  | 	 | ||||||
|  | 	& li{ | ||||||
|  | 		width: auto; | ||||||
|  | 		display: inline-block; | ||||||
|  | 						 | ||||||
|  | 		& a{ | ||||||
|  | 			.size(13px) !important; | ||||||
|  | 			 | ||||||
|  | 				&:hover{ | ||||||
|  | 				background : unset !important; | ||||||
|  | 				color : @theme-color !important; | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	& li.active > a{ | ||||||
|  | 		background : unset !important; | ||||||
|  | 		color : @theme-color !important; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .lb_name | ||||||
|  | { | ||||||
|  | 	.capitalize(); | ||||||
|  | } | ||||||
|  | .ch_h1_class_new{ | ||||||
|  | 	.mb(0) !important; | ||||||
|  | } | ||||||
|  | @ -0,0 +1,59 @@ | ||||||
|  | @media (min-width: 900px) and (max-width: 1199px) { | ||||||
|  |    	#main_column{ | ||||||
|  | 		width:80% !important; | ||||||
|  | 	} | ||||||
|  | 	#blog_right_column{ | ||||||
|  | 		width:20% !important; | ||||||
|  | 	} | ||||||
|  | 	.blog_post_catge{ | ||||||
|  | 		.pl(0); | ||||||
|  | 		 | ||||||
|  | 		& ul.nav-stacked > li > a{ | ||||||
|  | 			padding: 2px 0; | ||||||
|  | 			.size(13px); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	.blog_post_tags{ | ||||||
|  | 		.nav-stacked > li + li{ | ||||||
|  | 			.mt(5px); | ||||||
|  | 		} | ||||||
|  | 		.nav > li > a{ | ||||||
|  | 			.size(13px); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	.website_blog .o_blog_post_title | ||||||
|  | 	{ | ||||||
|  | 		.size(18px); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | @media (max-width: 900px)  | ||||||
|  | { | ||||||
|  | 	#main_column,#blog_right_column | ||||||
|  | 	{ | ||||||
|  | 		width:100%; | ||||||
|  | 		float:none; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | @media (max-width: 800px)  | ||||||
|  | { | ||||||
|  | 	#main_column,#blog_right_column | ||||||
|  | 	{ | ||||||
|  | 		width:100%; | ||||||
|  | 		float:none; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | @media (max-width: 600px) | ||||||
|  | { | ||||||
|  | 	  .website_blog .o_blog_post_title { | ||||||
|  |     .size(16px) !important; | ||||||
|  |     line-height: 160%; | ||||||
|  |     } | ||||||
|  |     .blog-post-subtitle-div .blog-post-subtitle { | ||||||
|  |     .size(13px); | ||||||
|  |     line-height: 170%; | ||||||
|  | 	} | ||||||
|  | 	     .cc_content_class { | ||||||
|  | 	      | ||||||
|  | 	   .size(13px) !important; | ||||||
|  | 	     } | ||||||
|  | }  | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8" ?> | ||||||
|  | <odoo> | ||||||
|  | <template id="blogs_assets_frontend" inherit_id="web.assets_frontend"> | ||||||
|  | 		<xpath expr="." position="inside"> | ||||||
|  | 			  <link rel="stylesheet" href="/clarico_blog/static/src/less/clarico_blog.less"></link>  | ||||||
|  | 			  <link rel="stylesheet" href="/clarico_blog/static/src/less/responsive_blog.less"></link> | ||||||
|  | 		</xpath> | ||||||
|  | </template> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,237 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  | 	<template id="clarico_blog_latest_blogs" inherit_id="website_blog.latest_blogs"> | ||||||
|  | 		<xpath expr="//div[hasclass('col-md-12')]/h1" position="attributes"> | ||||||
|  | 			<attribute name="class">chs_heading lb_heading</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//span[hasclass('fa-calendar')]" position="replace"> | ||||||
|  | 			   <span class="mr8">	<span class="blog_post_date" t-field="post.post_date" | ||||||
|  | 							t-options='{"format": "MMMM, yyyy"}' /></span> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('fa-tags')]" position="attributes"> | ||||||
|  | 			<attribute name="class">text-muted fa fa-tags tag_margin</attribute> | ||||||
|  |         </xpath> | ||||||
|  |         <xpath expr="//span[hasclass('fa-folder-open')]" position="replace"> | ||||||
|  |             <span> - | ||||||
|  |                 <a class="mr8 l_catg" t-attf-href="#{blog_url(blog=post.blog_id)}"> | ||||||
|  |                     <span t-field="post.blog_id"/> | ||||||
|  |                 </a> | ||||||
|  |             </span> | ||||||
|  |         </xpath> | ||||||
|  |         <xpath expr="//div[hasclass('col-md-4')]/h4" position="attributes"> | ||||||
|  |             <attribute name="class">lb_name</attribute> | ||||||
|  |         </xpath> | ||||||
|  | 	</template> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	<template id="clarico_blogs_post_complete" inherit_id="website_blog.blog_post_complete"> | ||||||
|  | 		<xpath expr="//p[2][@class='post-meta text-muted text-center']" | ||||||
|  | 			position="replace"> | ||||||
|  | 			<span class="fa fa-tags blog_complete_tag_icon" /> | ||||||
|  | 			<t t-foreach="blog_post.tag_ids" t-as="one_tag"> | ||||||
|  | 				<a class="label label-primary mr8 blog_complete_tag" t-attf-href="#{blog_url(tag=one_tag.id)}" | ||||||
|  | 					t-esc="one_tag.name" /> | ||||||
|  | 			</t> | ||||||
|  | 		</xpath> | ||||||
|  | 
 | ||||||
|  | 		<xpath expr="//div[@class='o_blog_post_complete o_sharing_links']" | ||||||
|  | 			position="replace"> | ||||||
|  | 			<div class="blog_share_icons"> | ||||||
|  | 				<div class="o_blog_post_complete o_sharing_links"> | ||||||
|  | 					<a class="fa fa-twitter-square o_twitter_complete " id="o_twitter_complete"> | ||||||
|  | 						<i class="fa fa-twitter"></i> | ||||||
|  | 					</a> | ||||||
|  | 					<a class="fa fa-facebook-square o_facebook_complete" id="o_facebook_complete"> | ||||||
|  | 						<i class="fa fa-facebook"></i> | ||||||
|  | 					</a> | ||||||
|  | 					<a class="fa fa-linkedin-square o_linkedin_complete" id="o_linkedin_complete"> | ||||||
|  | 						<i class="fa fa-linkedin"></i> | ||||||
|  | 					</a> | ||||||
|  | 					<a class="fa fa-google-plus-square o_google_complete" id="o_google_complete"> | ||||||
|  | 						<i class="fa fa-google-plus"></i> | ||||||
|  | 					</a> | ||||||
|  | 				</div> | ||||||
|  | 			</div> | ||||||
|  | 		</xpath> | ||||||
|  | 
 | ||||||
|  | 		<xpath expr="//h2[@t-field='blog_post.subtitle']" position="replace"> | ||||||
|  | 			<h2 t-field="blog_post.subtitle" class="blog_complete_subtitle" | ||||||
|  | 				placeholder="Subtitle" /> | ||||||
|  | 		</xpath> | ||||||
|  | 
 | ||||||
|  | 		<xpath expr="//h1[@t-field='blog_post.name']" position="replace"> | ||||||
|  | 			<h1 t-field="blog_post.name" id="blog_post_name" class="blog_complete_name" | ||||||
|  | 				t-att-data-blog-id="blog_post.id" placeholder="Blog Post Title" /> | ||||||
|  | 		</xpath> | ||||||
|  | 
 | ||||||
|  | 		<xpath expr="//div[@id='blog_content']" position="replace"> | ||||||
|  | 			<div id="blog_content" t-field="blog_post.content" | ||||||
|  | 				class="blog_content mt32 blog_complete_max_width" /> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<template id="clarico_blog_opt_blog_rc_about_us" inherit_id="website_blog.opt_blog_rc_about_us"> | ||||||
|  | 		<xpath expr="//section[hasclass('mt32')]" position="replace"> | ||||||
|  | 		 | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	 | ||||||
|  | 	<template id="clarico_blog_opt_blog_rc_status" inherit_id="website_blog.opt_blog_rc_status"> | ||||||
|  | 		<xpath expr="//section[@groups='website.group_website_designer']" position="replace"> | ||||||
|  | 		 | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<template id="website_blog.opt_blog_rc_blogs" name="Our Blogs" priority="6" | ||||||
|  |         inherit_id="website_blog.index_right" active="True" customize_show="True"> | ||||||
|  | 		<xpath expr="//div[@id='main_column']" position="attributes"> | ||||||
|  |         <attribute name="class">col-sm-8</attribute> | ||||||
|  |     </xpath> | ||||||
|  |     <xpath expr="//div[@id='blog_right_column']" position="inside"> | ||||||
|  |       <section class="mt32 mb32 blog_categ"> | ||||||
|  | 				<h4>Category</h4> | ||||||
|  | 				<hr class="tagline_hr"></hr> | ||||||
|  | 				<div class="blog_post_catge"> | ||||||
|  | 					<ul class="nav nav-pills nav-stacked"> | ||||||
|  | 						<t t-foreach="blogs" t-as="nav_blog"> | ||||||
|  | 							<li t-att-class="nav_blog.id == blog.id and 'active' or None"> | ||||||
|  | 								<a | ||||||
|  | 									t-attf-href="#{blog_url(blog=nav_blog, tag=False, date_begin=False, date_end=False)}"> | ||||||
|  | 									<span t-field="nav_blog.name" /> | ||||||
|  | 								</a> | ||||||
|  | 							</li> | ||||||
|  | 						</t> | ||||||
|  | 					</ul> | ||||||
|  | 				</div> | ||||||
|  | 			</section> | ||||||
|  |     </xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	 | ||||||
|  | 	<template id="website_blog.opt_blog_rc_history" name="Archives" | ||||||
|  |         inherit_id="website_blog.index_right" active="True" customize_show="True"> | ||||||
|  | 	 <xpath expr="//div[@id='main_column']" position="attributes"> | ||||||
|  |         <attribute name="class">col-sm-8</attribute> | ||||||
|  |     </xpath> | ||||||
|  |     <xpath expr="//div[@id='blog_right_column']" position="inside"> | ||||||
|  |         <section class="blog_archives_replaced_section"></section> | ||||||
|  |     </xpath> | ||||||
|  | 	 | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	 | ||||||
|  | 	<template id="clarico_blog_opt_blog_rc_tags" name="Tags" | ||||||
|  | 		inherit_id="website_blog.opt_blog_rc_tags" active="True" | ||||||
|  | 		customize_show="True"> | ||||||
|  | 		<xpath expr="//section[@class='mt32']" position="replace"> | ||||||
|  | 			<section class="mt32 blog_tags_main"> | ||||||
|  | 				<h4>Tags</h4> | ||||||
|  | 				<hr class="tagline_hr"></hr> | ||||||
|  | 				<div class="blog_post_tags"> | ||||||
|  | 					<ul class="nav nav-pills nav-stacked"> | ||||||
|  | 						<t t-foreach="tags" t-as="nav_tag"> | ||||||
|  | 							<li t-att-class="nav_tag.id in active_tag_ids and 'active' or None"> | ||||||
|  | 								<a t-attf-href="#{blog_url(tag=tags_list(active_tag_ids, nav_tag.id))}"> | ||||||
|  | 									<span t-field="nav_tag.name" /> | ||||||
|  | 								</a> | ||||||
|  | 							</li> | ||||||
|  | 						</t> | ||||||
|  | 					</ul> | ||||||
|  | 				</div> | ||||||
|  | 			</section> | ||||||
|  | 			 | ||||||
|  | 				<section class="mt32 mb32"> | ||||||
|  | 				<h4>Stay updated</h4> | ||||||
|  | 				<hr class="tagline_hr"></hr> | ||||||
|  | 				<div class="mt16 stay-update"> | ||||||
|  | 					<t t-if="blog"> | ||||||
|  | 						<t t-call="website_mail.follow"> | ||||||
|  | 							<t t-set="email" t-value="user_id.email" /> | ||||||
|  | 							<t t-set="object" t-value="blog" /> | ||||||
|  | 						</t> | ||||||
|  | 					</t> | ||||||
|  | 				</div> | ||||||
|  | 				<p class="text-muted mb0 mt16"> | ||||||
|  | 					Participate on our social stream. | ||||||
|  | 				</p> | ||||||
|  | 				<h2 class="mt4 participate_social"> | ||||||
|  | 					<a t-att-href="website.social_facebook" t-if="website.social_facebook"> | ||||||
|  | 						<i class="fa fa-facebook" /> | ||||||
|  | 					</a> | ||||||
|  | 					<a t-att-href="website.social_twitter" t-if="website.social_twitter"> | ||||||
|  | 						<i class="fa fa-twitter" /> | ||||||
|  | 					</a> | ||||||
|  | 					<a t-att-href="website.social_linkedin" t-if="website.social_linkedin"> | ||||||
|  | 						<i class="fa fa-linkedin" /> | ||||||
|  | 					</a> | ||||||
|  | 					<a t-att-href="website.social_youtube" t-if="website.social_youtube"> | ||||||
|  | 						<i class="fa fa-youtube-play" /> | ||||||
|  | 					</a> | ||||||
|  | 					<a t-att-href="website.social_googleplus" t-if="website.social_googleplus"> | ||||||
|  | 						<i class="fa fa-google-plus" /> | ||||||
|  | 					</a> | ||||||
|  | 					<a t-att-href="website.social_github" t-if="website.social_github"> | ||||||
|  | 						<i class="fa fa-github" /> | ||||||
|  | 					</a> | ||||||
|  | 					<a t-att-href="'/blog/%s/feed' % (blog.id)"> | ||||||
|  | 						<i class="fa fa-rss" /> | ||||||
|  | 					</a> | ||||||
|  | 				</h2> | ||||||
|  | 			</section> | ||||||
|  | 			</xpath> | ||||||
|  | 	</template> | ||||||
|  | 
 | ||||||
|  | 	 | ||||||
|  | 	<template id="clarico_blog_opt_blog_rc_follow_us" inherit_id="website_blog.opt_blog_rc_follow_us"> | ||||||
|  | 		<xpath expr="//section[hasclass('mt32')]" position="replace">  | ||||||
|  | 			 | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 
 | ||||||
|  | 	 | ||||||
|  | 
 | ||||||
|  | 	<template id="clarico_blogs_blog_breadcrumb" inherit_id="website_blog.blog_breadcrumb"> | ||||||
|  | 		<xpath expr="//div[@class='container']" position="attributes"> | ||||||
|  | 			<attribute name="class">full-width</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[@class='col-sm-9']" position="attributes"> | ||||||
|  | 			<attribute name="class">block</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[@class='row']" position="attributes"> | ||||||
|  | 			<attribute name="class">breadcrumb-main</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 
 | ||||||
|  | 	<template id="clarico_blogs_post_complete_read_next" inherit_id="website_blog.opt_blog_post_complete_read_next"> | ||||||
|  | 		<xpath expr="//h1[@t-field='next_post.name']" position="replace"> | ||||||
|  | 
 | ||||||
|  | 			<h1 t-field="next_post.name" class="read_next_blog_name" | ||||||
|  | 				placeholder="Blog Post Title" /> | ||||||
|  | 
 | ||||||
|  | 		</xpath> | ||||||
|  | 
 | ||||||
|  | 		<xpath expr="//h2[@t-field='next_post.subtitle']" position="replace"> | ||||||
|  | 			<h2 t-field="next_post.subtitle" class="read_next_blog_subtitle" | ||||||
|  | 				placeholder="Subtitle" /> | ||||||
|  | 		</xpath> | ||||||
|  | 
 | ||||||
|  | 		<xpath expr="//p[@class='mt32']" position="replace"> | ||||||
|  | 			<p class="mt32 blog_read_next_link"> | ||||||
|  | 				Read Next | ||||||
|  | 				<span class="fa fa-long-arrow-right" /> | ||||||
|  | 			</p> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 
 | ||||||
|  | 	<template id="clarico_blog_index_right" inherit_id="website_blog.index_right"> | ||||||
|  | 		<xpath expr="//div[@id='blog_right_column']" position="attributes"> | ||||||
|  | 			<attribute name="class">blogpost_right_main</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,2 @@ | ||||||
|  | from . import controller | ||||||
|  | from . import model | ||||||
|  | @ -0,0 +1,28 @@ | ||||||
|  | { | ||||||
|  |     # Theme information | ||||||
|  |     'name' : 'Clarico Brand', | ||||||
|  |     'category' : 'Website', | ||||||
|  |     'version' : '1.0', | ||||||
|  |     'summary': 'Filter Products By Brand at Category Page', | ||||||
|  |     'description': """""", | ||||||
|  | 
 | ||||||
|  |     # Dependencies | ||||||
|  |     'depends': [ | ||||||
|  |         'clarico_shop' | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Views | ||||||
|  |     'data': [ | ||||||
|  |         'security/ir.model.access.csv',   | ||||||
|  |         'template/template.xml', | ||||||
|  |         'view/product_template_brand.xml', | ||||||
|  |         'view/brand.xml', | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Author | ||||||
|  |     'author': 'Emipro Technologies Pvt. Ltd.', | ||||||
|  |     'website': 'http://www.emiprotechnologies.com', | ||||||
|  | 
 | ||||||
|  |     # Technical | ||||||
|  |     'installable': True, | ||||||
|  | } | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | from . import main | ||||||
|  | @ -0,0 +1,56 @@ | ||||||
|  | import odoo | ||||||
|  | from odoo import http | ||||||
|  | from odoo import fields | ||||||
|  | from odoo.http import request | ||||||
|  | from odoo.addons.clarico_shop.controllers.main import claricoShop | ||||||
|  | 
 | ||||||
|  | class claricoBrand(claricoShop): | ||||||
|  |      | ||||||
|  |     def _get_search_domain(self, search, category, attrib_values, price_vals = {}):         | ||||||
|  |         domain = request.website.sale_product_domain() | ||||||
|  |         if search: | ||||||
|  |             for srch in search.split(" "): | ||||||
|  |                 domain += [ | ||||||
|  |                     '|', '|', '|','|', ('name', 'ilike', srch), ('description', 'ilike', srch), | ||||||
|  |                     ('description_sale', 'ilike', srch), ('product_variant_ids.default_code', 'ilike', srch), | ||||||
|  |                     ('brand_ept_id.name','ilike', srch)] | ||||||
|  |   | ||||||
|  |         if category: | ||||||
|  |             domain += [('public_categ_ids', 'child_of', int(category))] | ||||||
|  |   | ||||||
|  |         if price_vals : | ||||||
|  |         #if price_vals & (int(price_vals.get('min_val',0)) != 0 & int(price_vals.get('max_val',0)) !=0) : | ||||||
|  |             domain += [('list_price','>=',price_vals.get('min_val')),('list_price','<=',price_vals.get('max_val'))] | ||||||
|  |          | ||||||
|  |         if attrib_values: | ||||||
|  |             attrib = None | ||||||
|  |             ids = [] | ||||||
|  |             for value in attrib_values: | ||||||
|  |                 if value[0] == 0 : | ||||||
|  |                     ids.append(value[1]) | ||||||
|  |                     domain += [('brand_ept_id.id', 'in', ids)] | ||||||
|  |                 elif not attrib: | ||||||
|  |                     attrib = value[0] | ||||||
|  |                     ids.append(value[1]) | ||||||
|  |                 elif value[0] == attrib: | ||||||
|  |                     ids.append(value[1]) | ||||||
|  |                 else: | ||||||
|  |                     domain += [('attribute_line_ids.value_ids', 'in', ids)] | ||||||
|  |                     attrib = value[0] | ||||||
|  |                     ids = [value[1]] | ||||||
|  |             if attrib: | ||||||
|  |                 domain += [('attribute_line_ids.value_ids', 'in', ids)]      | ||||||
|  |         return domain | ||||||
|  |      | ||||||
|  |     @http.route([ | ||||||
|  |         '/shop', | ||||||
|  |         '/shop/page/<int:page>', | ||||||
|  |         '/shop/category/<model("product.public.category"):category>', | ||||||
|  |         '/shop/category/<model("product.public.category"):category>/page/<int:page>' | ||||||
|  |     ], type='http', auth="public", website=True) | ||||||
|  |     def shop(self, page=0, category=None, search='', ppg=False, **post): | ||||||
|  |         response = super(claricoBrand, self).shop(page=page, category=category, search=search,ppg=ppg, **post) | ||||||
|  |         brand_object = request.env['brand'] | ||||||
|  |         brand_rec=brand_object.sudo().search([('is_website_publish','=',True)]) | ||||||
|  |         response.qcontext['brand_list'] = brand_rec | ||||||
|  |         return response  | ||||||
|  | @ -0,0 +1,2 @@ | ||||||
|  | from . import product_template | ||||||
|  | from . import brand | ||||||
|  | @ -0,0 +1,8 @@ | ||||||
|  | from odoo import fields, models | ||||||
|  |      | ||||||
|  | class Brand(models.Model): | ||||||
|  |     _name="brand" | ||||||
|  |      | ||||||
|  |     name=fields.Char("Brand Name",required=True) | ||||||
|  |     brand_image=fields.Binary("brand_image", attachment=True) | ||||||
|  |     is_website_publish=fields.Boolean("is_website_publish") | ||||||
|  | @ -0,0 +1,6 @@ | ||||||
|  | from odoo import api, fields, models | ||||||
|  |      | ||||||
|  | class product_template(models.Model): | ||||||
|  |     _inherit = ["product.template"] | ||||||
|  |      | ||||||
|  |     brand_ept_id=fields.Many2one("brand","Sale Brand",ondelete='cascade') | ||||||
|  | @ -0,0 +1,2 @@ | ||||||
|  | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink | ||||||
|  | access_brand,brand,model_brand,,1,0,0,0 | ||||||
| 
 | 
| After Width: | Height: | Size: 4.6 KiB | 
|  | @ -0,0 +1,39 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  | 	<template id="clarico_brand_form" inherit_id="clarico_shop.clarico_shop_shop_page"> | ||||||
|  | 		<xpath expr="//form/ul[@class='nav nav-pills nav-stacked mt16']" | ||||||
|  | 			position="inside"> | ||||||
|  | 			<t t-if="brand_list"> | ||||||
|  | 				<li> | ||||||
|  | 					<div class="attribut-main-div"> | ||||||
|  | 						<div class="filter-by-div"> | ||||||
|  | 							<i class="down-arrow fa fa-caret-down" aria-hidden="true"></i> | ||||||
|  | 							<h5 class="refined-by-attr">Filter By </h5> | ||||||
|  | 							<h5 class="refined-by-attr refined-by-dynamic">Brands</h5> | ||||||
|  | 						</div> | ||||||
|  | 						<a class="clear-all-variant">(Clear all)</a> | ||||||
|  | 						<div class="attr-val mCustomScrollbar" data-mcs-theme="dark"> | ||||||
|  | 							<div> | ||||||
|  | 								<ul class="nav nav-pills nav-stacked type-radio nav-overflow-scroll"> | ||||||
|  | 									<t t-foreach="brand_list" t-as="brand"> | ||||||
|  | 										<li class="nav-stacked-li"> | ||||||
|  | 											<div class="nav-stacked-div"> | ||||||
|  | 												<label class="type-checkbox"> | ||||||
|  | 													<input class="checkbox-custom" type="checkbox" name="attrib" | ||||||
|  | 														t-att-value="'0-%s' % (brand.id)" | ||||||
|  | 														t-att-checked="'checked' if brand.id in attrib_set else None" /> | ||||||
|  | 													<label class="checkbox-custom-label" style="font-weight: normal" | ||||||
|  | 														t-field="brand.name" /> | ||||||
|  | 												</label> | ||||||
|  | 											</div> | ||||||
|  | 										</li> | ||||||
|  | 									</t>	 | ||||||
|  | 								</ul> | ||||||
|  | 							</div> | ||||||
|  | 						</div> | ||||||
|  | 					</div> | ||||||
|  | 				</li> | ||||||
|  | 			</t> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,43 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8" ?> | ||||||
|  | <odoo> | ||||||
|  | 	<data> | ||||||
|  | 		<record id="brand_tree_view" model="ir.ui.view"> | ||||||
|  | 			<field name="name">brand.tree.view</field> | ||||||
|  | 			<field name="model">brand</field> | ||||||
|  | 			<field name="arch" type="xml"> | ||||||
|  | 				<tree string="Brand"> | ||||||
|  | 					<field name="name" string="Name" /> | ||||||
|  | 					<field name="is_website_publish" string="Website Publish" /> | ||||||
|  | 				</tree> | ||||||
|  | 			</field> | ||||||
|  | 		</record> | ||||||
|  | 		 | ||||||
|  | 		<record id="brand_from_view" model="ir.ui.view"> | ||||||
|  | 			<field name="name">brand.from.view</field> | ||||||
|  | 			<field name="model">brand</field> | ||||||
|  | 			<field name="arch" type="xml"> | ||||||
|  | 				<form string="Brand"> | ||||||
|  | 				<sheet> | ||||||
|  | 				<group> | ||||||
|  | 					<field name="name" string="Name" /> | ||||||
|  | 					<field name="brand_image" string="Image" widget="image" class="oe_avatar" options="{'preview_image': 'image_medium', 'size': [150,150]}" /> | ||||||
|  | 					<field name="is_website_publish" string="Website Publish" /> | ||||||
|  | 				</group> | ||||||
|  | 				</sheet> | ||||||
|  | 				</form> | ||||||
|  | 			</field> | ||||||
|  | 		</record> | ||||||
|  | 		 | ||||||
|  | 		 | ||||||
|  | 		<record id="brand_action" model="ir.actions.act_window"> | ||||||
|  | 			<field name="name">Brand</field> | ||||||
|  | 			<field name="type">ir.actions.act_window</field> | ||||||
|  | 			<field name="res_model">brand</field> | ||||||
|  | 			<field name="view_mode">tree,form</field> | ||||||
|  | 			<field name="view_id" eval="False" /> | ||||||
|  | 		</record> | ||||||
|  | 
 | ||||||
|  | 		<menuitem action="brand_action" id="brand_menu" parent="website.menu_website_global_configuration" | ||||||
|  | 			sequence="0" /> | ||||||
|  | 	</data> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,18 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8" ?> | ||||||
|  | <odoo> | ||||||
|  | 	<data> | ||||||
|  | 		<!-- Form View --> | ||||||
|  | 		<record id="productbrand_form_view" model="ir.ui.view"> | ||||||
|  | 			<field name="name">productbrand.form.view</field> | ||||||
|  | 			<field name="model">product.template</field> | ||||||
|  | 			<field name="inherit_id" ref="product.product_template_form_view" /> | ||||||
|  | 			<field name="arch" type="xml"> | ||||||
|  | 				<group name="email_template_and_project" position="before"> | ||||||
|  | 					<group name="brand"> | ||||||
|  | 						<field name="brand_ept_id" title="Brand" domain="[('is_website_publish', '=', True)]"></field> | ||||||
|  | 					</group> | ||||||
|  | 				</group> | ||||||
|  | 			</field> | ||||||
|  | 		</record> | ||||||
|  | 	</data> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,23 @@ | ||||||
|  | { | ||||||
|  |     # Theme information | ||||||
|  |     'name' : 'Clarico Business Carousel', | ||||||
|  |     'category' : 'Website', | ||||||
|  |     'version' : '1.0', | ||||||
|  |     'summary': 'Contains Employee,Customer and Portfolio Carousels', | ||||||
|  |     'description': """""", | ||||||
|  | 
 | ||||||
|  |     # Dependencies | ||||||
|  |     'depends': [ | ||||||
|  | 	    'clarico_employee_carousel', | ||||||
|  | 	    'clarico_customer_carousel', | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     # Author | ||||||
|  |     'author': 'Emipro Technologies Pvt. Ltd.', | ||||||
|  |     'website': 'http://www.emiprotechnologies.com', | ||||||
|  | 
 | ||||||
|  |     # Technical | ||||||
|  |     'installable': True, | ||||||
|  | } | ||||||
|  | 
 | ||||||
| After Width: | Height: | Size: 4.6 KiB | 
|  | @ -0,0 +1,25 @@ | ||||||
|  | { | ||||||
|  |     # Theme information | ||||||
|  |     'name' : 'Clarico Carousel Editor', | ||||||
|  |     'category' : 'Website', | ||||||
|  |     'version' : '1.0', | ||||||
|  |     'summary': 'Carousel RTE Editor', | ||||||
|  |     'description': """""", | ||||||
|  | 
 | ||||||
|  |     # Dependencies | ||||||
|  |     'depends': [ | ||||||
|  | 					'clarico_snippets', | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Views | ||||||
|  |     'data': [ | ||||||
|  |         'templates/assets.xml', | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Author | ||||||
|  |     'author': 'Emipro Technologies Pvt. Ltd.', | ||||||
|  |     'website': 'http://www.emiprotechnologies.com', | ||||||
|  | 
 | ||||||
|  |     # Technical | ||||||
|  |     'installable': True, | ||||||
|  | } | ||||||
| After Width: | Height: | Size: 4.6 KiB | 
|  | @ -0,0 +1,82 @@ | ||||||
|  | odoo.define('clarico_carousel.editor', function (require) { | ||||||
|  | "use strict"; | ||||||
|  | var core = require('web.core'); | ||||||
|  | var weContext = require('web_editor.context'); | ||||||
|  | var v11_rte = require('web_editor.rte'); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /*----------- Emipro Ept Rte ----------*/ | ||||||
|  | var rteEPT = v11_rte.Class.include({  | ||||||
|  | 		 | ||||||
|  | 	_saveElement: function ($el, context, withLang) { | ||||||
|  |     	var tag = this._getEscapedElement($el).prop('outerHTML'); | ||||||
|  |         var $tag = $(tag); | ||||||
|  |         $tag.find("[data-isemipro='true']").empty(); | ||||||
|  |         tag = $tag[0].outerHTML; | ||||||
|  |         return this._rpc({ | ||||||
|  |             model: 'ir.ui.view', | ||||||
|  |             method: 'save', | ||||||
|  |             args: [ | ||||||
|  |                 $el.data('oe-id'), | ||||||
|  |                 tag, | ||||||
|  |                 $el.data('oe-xpath') || null, | ||||||
|  |                 withLang ? context : _.omit(context, 'lang') | ||||||
|  |             ], | ||||||
|  |         }); | ||||||
|  |     }, | ||||||
|  | 	 | ||||||
|  | 	save : function (context) { | ||||||
|  |     var self = this; | ||||||
|  |     var $dirty = $('.o_dirty'); | ||||||
|  |     $dirty | ||||||
|  |         .removeAttr('contentEditable') | ||||||
|  |         .removeClass('o_dirty oe_carlos_danger o_is_inline_editable'); | ||||||
|  |     	var defs = _.map($dirty, function (el) { | ||||||
|  |         var $el = $(el); | ||||||
|  |         $el.find('[class]').filter(function () { | ||||||
|  |             if (!this.className.match(/\S/)) { | ||||||
|  |                 this.removeAttribute('class'); | ||||||
|  |             } | ||||||
|  |         }); | ||||||
|  | 
 | ||||||
|  |         // TODO: Add a queue with concurrency limit in webclient
 | ||||||
|  |         // https://github.com/medikoo/deferred/blob/master/lib/ext/function/gate.js
 | ||||||
|  |         return self.saving_mutex.exec(function () { | ||||||
|  |             return self._saveElement($el, context || weContext.get()) | ||||||
|  |             .then(function () { | ||||||
|  |                 $el.removeClass('o_dirty'); | ||||||
|  |             }, function (response) { | ||||||
|  |                 // because ckeditor regenerates all the dom, we can't just
 | ||||||
|  |                 // setup the popover here as everything will be destroyed by
 | ||||||
|  |                 // the DOM regeneration. Add markings instead, and returns a
 | ||||||
|  |                 // new rejection with all relevant info
 | ||||||
|  |                 var id = _.uniqueId('carlos_danger_'); | ||||||
|  |                 $el.addClass('o_dirty oe_carlos_danger ' + id); | ||||||
|  |                 var html = (response.data.exception_type === 'except_osv'); | ||||||
|  |                 if (html) { | ||||||
|  |                     var msg = $('<div/>', {text: response.data.message}).html(); | ||||||
|  |                     var data = msg.substring(3, msg.length  -2).split(/', u'/); | ||||||
|  |                     response.data.message = '<b>' + data[0] + '</b>' + data[1]; | ||||||
|  |                 } | ||||||
|  |                 $('.o_editable.' + id) | ||||||
|  |                     .removeClass(id) | ||||||
|  |                     .popover({ | ||||||
|  |                         html: html, | ||||||
|  |                         trigger: 'hover', | ||||||
|  |                         content: response.data.message, | ||||||
|  |                         placement: 'auto top', | ||||||
|  |                     }) | ||||||
|  |                     .popover('show'); | ||||||
|  |             }); | ||||||
|  |         }); | ||||||
|  |     }); | ||||||
|  |     return $.when.apply($, defs).then(function () { | ||||||
|  |         window.onbeforeunload = null; | ||||||
|  |     }, function (failed) { | ||||||
|  |         ret.cancel(); | ||||||
|  |         ret.start(); | ||||||
|  |     }); | ||||||
|  |     | ||||||
|  | } | ||||||
|  | }); | ||||||
|  | }); | ||||||
|  | @ -0,0 +1,8 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  | 	<template id="assets_editor_js" name="carousel snippets RTE assets" inherit_id="website.assets_editor">		 | ||||||
|  | 		<xpath expr="." position="inside"> | ||||||
|  | 		<script type="text/javascript" src="/clarico_carousel/static/src/js/rte_widget.js" ></script> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | from . import controllers | ||||||
|  | @ -0,0 +1,26 @@ | ||||||
|  | { | ||||||
|  |     # Theme information | ||||||
|  |     'name' : 'Clarico Cart', | ||||||
|  |     'category' : 'Website', | ||||||
|  |     'version' : '1.0', | ||||||
|  |     'summary': 'Total Number of Products added to Cart', | ||||||
|  |     'description': """""", | ||||||
|  | 
 | ||||||
|  |     # Dependencies | ||||||
|  |     'depends': [ | ||||||
|  |         'clarico_account','website_sale_delivery','website_sale_options','clarico_shop' | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Views | ||||||
|  |     'data': [ | ||||||
|  |         'templates/template.xml', | ||||||
|  |         'templates/assets.xml', | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Author | ||||||
|  |     'author': 'Emipro Technologies Pvt. Ltd.', | ||||||
|  |     'website': 'http://www.emiprotechnologies.com', | ||||||
|  | 
 | ||||||
|  |     # Technical | ||||||
|  |     'installable': True, | ||||||
|  | } | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | from . import main | ||||||
|  | @ -0,0 +1,29 @@ | ||||||
|  | from odoo import http | ||||||
|  | from odoo.http import request | ||||||
|  | from odoo import SUPERUSER_ID | ||||||
|  | from odoo import models, fields, api | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class ClearCart(http.Controller): | ||||||
|  | 
 | ||||||
|  |     @http.route(['/shop/clear_cart'], type='json', auth="public", methods=['POST'], website=True) | ||||||
|  |     def clear_cart(self, **kw): | ||||||
|  |         order = request.website.sale_get_order(force_create=1) | ||||||
|  |         order_line = request.env['sale.order.line'].sudo() | ||||||
|  |         line_ids = order_line.search([('order_id','=',order.id)]) | ||||||
|  |         for line in line_ids : | ||||||
|  |             line_obj = order_line.browse([int(line)]) | ||||||
|  |             if line_obj : | ||||||
|  |                 line_obj.unlink() | ||||||
|  |                  | ||||||
|  |     @http.route(['/shop/cart/total_count'], type='json', auth="public", methods=['POST'], website=True, csrf=False) | ||||||
|  |     def cart_total_count(self): | ||||||
|  |          | ||||||
|  |         order=request.website.sale_get_order() | ||||||
|  |         values={ | ||||||
|  |             'cart_qty_total'   : order.cart_quantity, | ||||||
|  |             'cart_total_amount'   : order.amount_total, | ||||||
|  |             'cart_subtotal_amount'   : order.amount_untaxed, | ||||||
|  |             'currency_symbol': order.currency_id.symbol | ||||||
|  |             } | ||||||
|  |         return values  | ||||||
| After Width: | Height: | Size: 4.6 KiB | 
| After Width: | Height: | Size: 155 KiB | 
|  | @ -0,0 +1,144 @@ | ||||||
|  | odoo.define('clarico_cart.cart', function (require) { | ||||||
|  |     "use strict"; | ||||||
|  | 
 | ||||||
|  |     require('web.dom_ready'); | ||||||
|  |     var core = require('web.core'); | ||||||
|  |     var ajax = require('web.ajax'); | ||||||
|  |     var _t = core._t; | ||||||
|  |      | ||||||
|  |     if ($(window).width() > 1200) { | ||||||
|  |     var shopping_cart_link = $('.cart_style_2, .cart-update-icon'); | ||||||
|  |     var shopping_cart_link_counter; | ||||||
|  |     shopping_cart_link.popover({ | ||||||
|  |         trigger: 'manual', | ||||||
|  |         animation: true, | ||||||
|  |         html: true, | ||||||
|  |         title: function () { | ||||||
|  |             return _t("My Cart"); | ||||||
|  |         }, | ||||||
|  |         container: 'body', | ||||||
|  |         placement: 'auto', | ||||||
|  |         template: '<div class="popover mycart-popover" role="tooltip"><div class="arrow"></div><div class="popover-content"></div></div>' | ||||||
|  |     }).on("mouseenter",function () { | ||||||
|  |         var self = this; | ||||||
|  |         clearTimeout(shopping_cart_link_counter); | ||||||
|  |         shopping_cart_link.not(self).popover('hide'); | ||||||
|  |         shopping_cart_link_counter = setTimeout(function(){ | ||||||
|  |             if($(self).is(':hover') && !$(".mycart-popover:visible").length) | ||||||
|  |             { | ||||||
|  |                 $.get("/shop/cart", {'type': 'popover'}) | ||||||
|  |                     .then(function (data) { | ||||||
|  |                         $(self).data("bs.popover").options.content =  data; | ||||||
|  |                         $(self).popover("show"); | ||||||
|  |                         $(".popover").on("mouseleave", function () { | ||||||
|  |                             $(self).trigger('mouseleave'); | ||||||
|  |                         }); | ||||||
|  | 
 | ||||||
|  |                         //Remove product 
 | ||||||
|  |                         $(".remove-product-popover").click(function(){ | ||||||
|  |                         	var order_id = $(this).attr("data-order"); | ||||||
|  |                         	var product_id = $(this).attr("data-product"); | ||||||
|  |                         	$('.cus_theme_loader_layout').removeClass('hidden'); | ||||||
|  |                         	 | ||||||
|  |                         	ajax.jsonRpc("/shop/cart/update_json", 'call', { | ||||||
|  |                         		'line_id': parseInt(order_id,10), | ||||||
|  |                                 'product_id': parseInt(product_id, 10), | ||||||
|  |                                 'set_qty': 0	 | ||||||
|  |                             }).then(function (data){ | ||||||
|  |                             	$(".row.cart_line[data-id='"+product_id+"']").css("display","none"); | ||||||
|  |                             	$('.cus_theme_loader_layout').addClass('hidden'); | ||||||
|  |                             	               				 | ||||||
|  |                             	//cart total count json
 | ||||||
|  |                             	ajax.jsonRpc("/shop/cart/total_count", 'call', { | ||||||
|  |                             	}).then(function (values){ | ||||||
|  |                             		if (values.cart_qty_total){ | ||||||
|  |                             			var total_amount=values.cart_total_amount; | ||||||
|  |                             			var subtotal_amount = values.cart_subtotal_amount; | ||||||
|  |                             			if($(".cart-update-text").length > 0){ | ||||||
|  |                             				var total_amount = values.cart_total_amount; | ||||||
|  |                             				$(".my_cart_quantity").replaceWith('<span class="my_cart_quantity">'+values.cart_qty_total+'</span>'); | ||||||
|  |                             				$(".cart-header-total").replaceWith('<span class="cart-header-total">'+total_amount.toFixed(2)+' '+ values.currency_symbol +'</span>'); | ||||||
|  |                             				$("#order_total_untaxed span.oe_currency_value").replaceWith('<span class="oe_currency_value">'+subtotal_amount.toFixed(2)+'</span>'); | ||||||
|  |                             				$("#order_total span.oe_currency_value").replaceWith('<span class="oe_currency_value">'+total_amount.toFixed(2)+'</span>'); | ||||||
|  |                             				$(".view-cart-btn").replaceWith('<a class="view-cart-btn btn btn-primary" href="/shop/cart">View Cart ('+ values.cart_qty_total +' items)</a>'); | ||||||
|  |                             			} | ||||||
|  |                             		} | ||||||
|  |                             		else{ | ||||||
|  |                             			$(".my_cart_quantity").replaceWith('<span class="my_cart_quantity label"> 0 </span>'); | ||||||
|  |                             			$(".cart-header-total").replaceWith('<span class="cart-header-total">0.00 '+ values.currency_symbol +'</span>'); | ||||||
|  |                             			$(".popover-content").replaceWith('<div class="popover-content"><div class="well well-lg">Your cart is empty!</div></div>'); | ||||||
|  |                             		} | ||||||
|  |                             	}); | ||||||
|  |                         }) | ||||||
|  |                     }); | ||||||
|  |                 }) | ||||||
|  |             } | ||||||
|  |         }, 100); | ||||||
|  |     }).on("mouseleave", function () { | ||||||
|  |         var self = this; | ||||||
|  |         setTimeout(function () { | ||||||
|  |             if (!$(".popover:hover").length) { | ||||||
|  |                 if(!$(self).is(':hover')) { | ||||||
|  | //                   $(self).popover('hide');
 | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         }, 1000); | ||||||
|  |     }) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	/*var total_cartId = $('#cart_total'); | ||||||
|  | 	var cartBox = $('#cart_total').parent('.js_cart_lines'); | ||||||
|  | 	if($("#cart_total").parent('.js_cart_lines').length > 0) | ||||||
|  | 	{ | ||||||
|  | 		var x = cartBox.offset(); | ||||||
|  | 		var navPos = x.top; | ||||||
|  | 		if(total_cartId) | ||||||
|  | 		{ | ||||||
|  | 			$(window).scroll(function() { | ||||||
|  | 				var scrollPosition = $(this).scrollTop(); | ||||||
|  | 				if (scrollPosition >= navPos) { | ||||||
|  | 					cartBox.addClass("header-stick"); | ||||||
|  | 					cartBox.css({"right":"5%","float":"right","z-index":"9999","background":"#fff"}); | ||||||
|  | 				} else { | ||||||
|  | 					cartBox.removeClass("header-stick"); | ||||||
|  | 					$('.navbar-brand img').removeClass("logo-stick"); | ||||||
|  | 					cartBox.css({"margin-top":"10px"}); | ||||||
|  | 				} | ||||||
|  | 			}); | ||||||
|  | 		}else{ | ||||||
|  | 			cartBox.css({"top": "0"}); | ||||||
|  | 		} | ||||||
|  | 	}*/ | ||||||
|  | }); | ||||||
|  | 
 | ||||||
|  | odoo.define('website_sale.clear_cart', function (require) { | ||||||
|  | 	"use strict"; | ||||||
|  | 	 | ||||||
|  | 	require('web.dom_ready'); | ||||||
|  | 	var ajax = require('web.ajax'); | ||||||
|  | 	 | ||||||
|  | 	$(".clear_shopping_cart").click(function (event) { | ||||||
|  | 		event.preventDefault(); | ||||||
|  | 	 	ajax.jsonRpc("/shop/clear_cart", 'call', {}) | ||||||
|  |             .then(function (data) { | ||||||
|  |             	window.location.reload(true); | ||||||
|  |         }); | ||||||
|  | 	}); | ||||||
|  | 	 | ||||||
|  | 	if($('#hiddencount').val() == "0"){ | ||||||
|  | 		$("#cart_total, .cart-total-heading").css("display","none"); | ||||||
|  | 		$("#right_column").css("display","none"); | ||||||
|  | 		$(".wizard-main-ul").css("display","none"); | ||||||
|  | 		$('.cart_margin_class').css("margin-top","0px"); | ||||||
|  | 	} | ||||||
|  | 	$('#cart_total').removeClass('col-sm-4 col-sm-offset-8 col-xs-12'); | ||||||
|  | 	$('button.btn-primary').addClass('common-btn'); | ||||||
|  | 	//$('button.btn-primary > span').css('font-family','oswald-regular');
 | ||||||
|  | 	$('#cart_total').removeClass('col-sm-4 col-sm-offset-8 col-xs-12'); | ||||||
|  | 	 | ||||||
|  | 	if($('div').hasClass('extra-step-option')){ | ||||||
|  | 		$("#step40").find(".step_no").replaceWith('<a class="step_no">4</a>'); | ||||||
|  | 		$("#step50").find(".step_no").replaceWith('<a class="step_no">5</a>'); | ||||||
|  | 	} | ||||||
|  | }); | ||||||
|  | @ -0,0 +1,256 @@ | ||||||
|  | @media (max-width:1000px){ | ||||||
|  | 	.div-full-width{ | ||||||
|  | 		width:100%; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | @media (max-width:1000px){ | ||||||
|  | 	.cart-total-heading{ | ||||||
|  | 		text-align: left; | ||||||
|  | 	} | ||||||
|  | 	#cart_total{ | ||||||
|  | 		 | ||||||
|  | 		& div.row{ | ||||||
|  | 			& span:first-child{ | ||||||
|  | 				text-align: left !important; | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	.cart-thead-th-detail | ||||||
|  | 	{ | ||||||
|  | 		    min-width: 300px !important; | ||||||
|  | 	} | ||||||
|  | 	#coupon_box { | ||||||
|  | 	 | ||||||
|  | 		.right(); | ||||||
|  | 		text-align:right; | ||||||
|  | 		 | ||||||
|  | 		form | ||||||
|  | 		{ | ||||||
|  | 			.right(); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	.suggested-product-table{  | ||||||
|  | 		display: block; | ||||||
|  | 		overflow-x: auto; | ||||||
|  | 		padding-top: 10%; | ||||||
|  | 		max-width: unset; | ||||||
|  | 	 | ||||||
|  | 		.td-product_name | ||||||
|  | 		{ | ||||||
|  | 			min-width: 250px; | ||||||
|  | 		} | ||||||
|  | 		td | ||||||
|  | 		{ | ||||||
|  | 			min-width:150px; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	.cart-product-table | ||||||
|  | 	{	 | ||||||
|  | 		display: block; | ||||||
|  | 		overflow-x: auto; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	& .cart-thead-tr , .confirmation-thead-tr{ | ||||||
|  | 		//loat: none !important; | ||||||
|  | 		//display: inline-flex !important; | ||||||
|  | 		 | ||||||
|  | 		& th{ | ||||||
|  | 			min-width: 150px; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	.oe_website_sale .td-qty { | ||||||
|  | 		max-width: unset !important; | ||||||
|  | 		width:auto; | ||||||
|  | 		} | ||||||
|  | 	 | ||||||
|  | 		.cart-product-table td | ||||||
|  | 		{ | ||||||
|  | 			//min-width:150px; | ||||||
|  | 			//padding:25px 5px 25px 5px !important; | ||||||
|  | 		} | ||||||
|  | 		.cart-product-table td:last-child | ||||||
|  | 		{ | ||||||
|  | 			border-right:none ; | ||||||
|  | 		} | ||||||
|  | 		 | ||||||
|  | 		 | ||||||
|  | 	/*& .cart-tbody-tr , .confirmation-tbody-tr{ | ||||||
|  | 		float: none !important; | ||||||
|  | 		display: inline-flex !important; | ||||||
|  | 		 | ||||||
|  | 		& td{ | ||||||
|  | 			border-top-style: none !important; | ||||||
|  | 			border-top-width: 0 !important; | ||||||
|  | 			min-width: 144px !important; | ||||||
|  | 			padding:25px 0 0 0 !important; | ||||||
|  | 		} | ||||||
|  | 		& td:first-child{ | ||||||
|  | 			display:block !important; | ||||||
|  | 		} | ||||||
|  | 		& .thumbnail-img{ | ||||||
|  | 			display:block !important; | ||||||
|  | 			 | ||||||
|  | 			& img{ | ||||||
|  | 				width:100px !important; | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	}*/ | ||||||
|  | 	.order-table-main-div , .confirmation-bill-ship-div , .payment-table-main-div , #right_column , .address-row-main-div{ | ||||||
|  | 		width:100%; | ||||||
|  | 		float:none; | ||||||
|  | 	} | ||||||
|  | 	.address-main-div{ | ||||||
|  | 		width:100%; | ||||||
|  | 	} | ||||||
|  | 	.oe_website_sale .td-img { | ||||||
|  |     	display:table-cell !important; | ||||||
|  | 	} | ||||||
|  | 	.shopping-cart-table | ||||||
|  | 	{ | ||||||
|  | 		tr | ||||||
|  | 		{ | ||||||
|  | 			float: none !important; | ||||||
|  | 			display: inline-flex !important; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	.cart-empty-msg | ||||||
|  | 	{ | ||||||
|  | 		.size(22px); | ||||||
|  | 		padding:5%; | ||||||
|  | 	} | ||||||
|  | 	.div_class_whole_recent_view_product | ||||||
|  | 	{ | ||||||
|  | 		overflow:hidden; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | @media (max-width:800px){ | ||||||
|  | 
 | ||||||
|  | 	#cart_products , .order-detail-table{ | ||||||
|  | 		display: block; | ||||||
|  | 		overflow-x: auto; | ||||||
|  | 	} | ||||||
|  | 	.cart-thead-th-img,.sugg-thead-th-img | ||||||
|  | 	{ | ||||||
|  | 		min-width:100px !important; | ||||||
|  | 	} | ||||||
|  | 	#modal_optional_products | ||||||
|  | 	{ | ||||||
|  | 			table > thead{ | ||||||
|  | 			display: none; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	#modal_optional_products td.td-price | ||||||
|  | 	{ | ||||||
|  | 		text-align: left; | ||||||
|  | 		padding: 0 10px; | ||||||
|  | 		margin-top: 2%; | ||||||
|  | 		.mb(3%); | ||||||
|  | 	} | ||||||
|  | 	#product_confirmation .td-product_name strong | ||||||
|  | 	{ | ||||||
|  | 		margin-bottom: 2%; | ||||||
|  | 		display: inline-block; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	#products_grid table, #products_grid tbody, #products_grid tr, #products_grid td  | ||||||
|  | 	{ | ||||||
|  | 		float: left; | ||||||
|  | 		width: 100%; | ||||||
|  | 		display: inline-block; | ||||||
|  | 		text-align:left; | ||||||
|  | 	} | ||||||
|  | 	#products_grid table #product_confirmation .td-qty .css_quantity | ||||||
|  | 	{ | ||||||
|  | 		margin:unset; | ||||||
|  | 		.mt(2%); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | @media (max-width:600px){ | ||||||
|  | 	#cart_total | ||||||
|  | 	{ | ||||||
|  | 		width: 100%; | ||||||
|  | 		margin: 5% 0; | ||||||
|  | 	} | ||||||
|  | 	.cont_shop_btn | ||||||
|  | 	{ | ||||||
|  | 		.size(12px); | ||||||
|  | 	} | ||||||
|  | 	.cart_suggested_main_section .suggested-product-table .td-product_name .sugg_name strong | ||||||
|  | 	{ | ||||||
|  | 		.size(13px); | ||||||
|  | 	} | ||||||
|  | 	.cart-product-table .cart_product_name a,.cart-product-table .remove-cart-product-icon | ||||||
|  | 	{ | ||||||
|  | 		.size(13px); | ||||||
|  | 	} | ||||||
|  | 	.cart-product-table .td-price span, .cart-product-table #td-price span | ||||||
|  | 	{ | ||||||
|  | 		.size(14px); | ||||||
|  | 	} | ||||||
|  | 	.suggested-product-table | ||||||
|  | 	{ | ||||||
|  | 		.pt(3%); | ||||||
|  | 	} | ||||||
|  | 	.cart_suggested_main_section | ||||||
|  | 	{ | ||||||
|  | 		.mt(5%); | ||||||
|  | 	} | ||||||
|  | 	.cart_suggested_main_section .cart_sugg_name | ||||||
|  | 	{ | ||||||
|  | 		.size(15px); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media (max-width:500px){ | ||||||
|  | 	.wizard-main-ul{ | ||||||
|  | 		& li.text-primary{ | ||||||
|  | 			&:after{ | ||||||
|  | 				right:-15px; | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	.order-detail-table tbody{  | ||||||
|  | 		& td:nth-child(2){ | ||||||
|  | 			border-top-width:1px !important; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	.payment-information-tbody-tr{ | ||||||
|  | 		& td:first-child{ | ||||||
|  | 			display:block !important; | ||||||
|  | 		} | ||||||
|  | 		& td:nth-child(2){ | ||||||
|  | 			border-top-width:1px !important; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	.wizard-main-ul .text-primary{ | ||||||
|  | 		color: @theme-color !important; | ||||||
|  | 		background: none !important; | ||||||
|  | 		 | ||||||
|  | 		&:before{ | ||||||
|  | 			display:none; | ||||||
|  | 		} | ||||||
|  | 		&:after{ | ||||||
|  | 			display:none; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	.cart-empty-msg | ||||||
|  | 	{ | ||||||
|  | 		.size(20px); | ||||||
|  | 		padding:10%; | ||||||
|  | 	} | ||||||
|  | 	.cart-thead-tr th | ||||||
|  | 	{ | ||||||
|  | 		padding: 10px 10px !important; | ||||||
|  | 	} | ||||||
|  | 	.cont_shop_btn | ||||||
|  | 	{ | ||||||
|  | 		padding: 10px 15px; | ||||||
|  | 	} | ||||||
|  | 	#cart_products | ||||||
|  | 	{ | ||||||
|  | 		thead{ | ||||||
|  |    			 display: table-header-group; | ||||||
|  | 		} | ||||||
|  | 	 | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | @ -0,0 +1,10 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  | 	<template id="cart_assets_frontend" inherit_id="web.assets_frontend"> | ||||||
|  | 		<xpath expr="." position="inside"> | ||||||
|  | 			<link rel="stylesheet" type="text/less" href="/clarico_cart/static/src/less/clarico_cart.less" /> | ||||||
|  | 			<link rel="stylesheet" type="text/less" href="/clarico_cart/static/src/less/cart_responsive.less" /> | ||||||
|  | 			<script type="text/javascript" src="clarico_cart/static/src/js/clarico_cart.js"></script> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,679 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  | 	  <template id="clarico_cart_header_icon" inherit_id="clarico_layout.clarico_header_main"> | ||||||
|  | 		<xpath expr="//div[hasclass('header_cart_main')]" | ||||||
|  | 			position="inside"  priority="25"> | ||||||
|  | 			<div class="cart_style_2"> | ||||||
|  | 			<t t-set="website_sale_order" t-value="website.sale_get_order()" /> | ||||||
|  | 			<a href="/shop/cart"> | ||||||
|  | 				<i class="fa fa-shopping-bag" aria-hidden="true"></i> | ||||||
|  | 				<sup t-attf-class="my_cart_quantity label label-primary" | ||||||
|  | 					t-esc="website_sale_order and website_sale_order.cart_quantity or ''" /> | ||||||
|  | 				<input type="hidden" id="hiddencount" t-att-value="website_sale_order and website_sale_order.cart_quantity or '0'" /> | ||||||
|  | 			</a> | ||||||
|  | 			</div> | ||||||
|  | 				<div class="cart-update"> | ||||||
|  | 				<span class="cart-update-text"> | ||||||
|  | 				<t t-set="website_sale_order" t-value="website.sale_get_order()" /> | ||||||
|  | 					<span class="my_cart_quantity label" | ||||||
|  | 						t-esc="website_sale_order and website_sale_order.cart_quantity or '0'" > | ||||||
|  | 					</span> | ||||||
|  | 					<t t-if="website_sale_order.cart_quantity > 1" > | ||||||
|  | 						<span>items : </span> | ||||||
|  | 						<span class="cart-header-total" t-field="website_sale_order.amount_total" | ||||||
|  | 						t-options="{'widget': 'monetary','from_currency': website_sale_order.pricelist_id.currency_id,'display_currency': website.currency_id}" /> | ||||||
|  | 					</t> | ||||||
|  | 					<t t-if="website_sale_order.cart_quantity == 1" > | ||||||
|  | 						<span>item :</span> | ||||||
|  | 						<span class="cart-header-total" t-field="website_sale_order.amount_total" | ||||||
|  | 						t-options="{'widget': 'monetary','from_currency': website_sale_order.pricelist_id.currency_id,'display_currency': website.currency_id}" /> | ||||||
|  | 					</t> | ||||||
|  | 					<t t-if="website_sale_order.cart_quantity == 0" > | ||||||
|  | 						<span>item </span> | ||||||
|  | 					</t> | ||||||
|  | 			</span> | ||||||
|  | 			<span id="cart-update-icon" class="cart-update-icon"> | ||||||
|  | 				<t t-set="website_sale_order" t-value="website.sale_get_order()" /> | ||||||
|  | 	            <a href="/shop/cart"> | ||||||
|  | 	                <i class="fa fa-shopping-bag"></i> | ||||||
|  | 	                <input type="hidden" id="hiddencount" t-att-value="website_sale_order and website_sale_order.cart_quantity or '0'" /> | ||||||
|  | 	            </a> | ||||||
|  | 			</span> | ||||||
|  | 			</div> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 
 | ||||||
|  | 	<!-- Cart in Account--> | ||||||
|  |     <template id="clarico_account_cart" inherit_id="clarico_account.clarico_account_clarico_layout"> | ||||||
|  |         <xpath expr="//div[@id='cart_id']" position="inside"> | ||||||
|  |             <li> | ||||||
|  |                 <p class="ul_class_admin_name"> | ||||||
|  |                     <i class="fa fa-shopping-cart fa_common_style_header" style="padding-right: 9px;"></i><a href="/shop/cart">My Cart</a> | ||||||
|  |                 </p> | ||||||
|  |             </li> | ||||||
|  |         </xpath> | ||||||
|  |     </template> | ||||||
|  | 
 | ||||||
|  |     <!-- Cart --> | ||||||
|  |     <template id="clarico_cart" inherit_id="website_sale.cart"> | ||||||
|  |         <xpath expr="//div[hasclass('oe_website_sale')]" | ||||||
|  |                position="before"> | ||||||
|  |             <div class="cart-cover-img-div"> | ||||||
|  |                 <section><img class="cart-cover-img" src="/clarico_cart/static/src/img/cart_cover.jpg"></img></section> | ||||||
|  |             </div> | ||||||
|  |         </xpath> | ||||||
|  |         <xpath expr="//div[hasclass('oe_website_sale')]" position="attributes"> | ||||||
|  | 			<attribute name="class">container oe_website_sale clarico_container</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('o_website_sale_rightfit')]//h2" position="attributes"> | ||||||
|  | 			<attribute name="class">chs_heading shopping-cart</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('col-md-8')]" position="attributes"> | ||||||
|  | 			<attribute name="class">cart-main-div-full oe_cart</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//a[hasclass('btn-primary')]" position="attributes"> | ||||||
|  | 			<attribute name="class">shop_now_button pull-right mb32 mr8 common-btn</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template>	 | ||||||
|  | 	 | ||||||
|  | 	<!-- Cart Lines --> | ||||||
|  | 	<template id="clarico_cart_lines" inherit_id="website_sale.cart_lines"> | ||||||
|  | 		 | ||||||
|  | 		 <xpath expr="//table[@id='cart_products']" position="attributes"> | ||||||
|  | 			<attribute name="class">js_cart_lines table table-striped table-condensed cart-product-table</attribute> | ||||||
|  | 		</xpath>  | ||||||
|  | 		 | ||||||
|  | 		<xpath expr="//table[@id='cart_products']/thead" position="replace"> | ||||||
|  | 			 <thead> | ||||||
|  |                 <tr class="cart-thead-tr"> | ||||||
|  |                    <th width="70" class="cart-thead-th-img">Product</th> | ||||||
|  |                     <th width="200" class="cart-thead-th-detail"></th> | ||||||
|  |                     <th class="text-left td-price">Price</th> | ||||||
|  |                     <th class="text-center td-qty">Quantity</th> | ||||||
|  |                  	<th width="100" class="text-right">total</th> | ||||||
|  |                 </tr> | ||||||
|  |             </thead> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//table[@id='cart_products']/tbody" position="replace"> | ||||||
|  | 				<tbody> | ||||||
|  |                 <t t-foreach="website_sale_order.website_order_line" t-as="line"> | ||||||
|  |                     <tr> | ||||||
|  |                         <td colspan="2" t-if="not line.product_id.product_tmpl_id" class='td-img'></td> | ||||||
|  |                         <td align="center" t-if="line.product_id.product_tmpl_id" class='td-img'> | ||||||
|  |                             <span t-field="line.product_id.image_small" t-options="{'widget': 'image', 'class': 'img-rounded'}" /> | ||||||
|  |                         </td> | ||||||
|  |                         <td t-if="line.product_id.product_tmpl_id"> | ||||||
|  | 			                 <div class="cart_product_name"> | ||||||
|  | 			                     <a t-attf-href="/shop/product/#{ slug(line.product_id.product_tmpl_id) }"> | ||||||
|  | 			                         <strong t-esc="line.product_id.with_context(display_default_code=False).name" /> | ||||||
|  | 			                     </a> | ||||||
|  | 			                 </div> | ||||||
|  | 			                 <div class="cart_product_attr_main"> | ||||||
|  | 								<t t-if="len(line.product_id.attribute_value_ids)"> | ||||||
|  | 									<div class="para_attrib_class_name cart_view_para_attrib_class_name"> | ||||||
|  | 										<!-- <div class="attr-bracket">(</div> --> | ||||||
|  | 										<t t-set="total_attribute" t-value="0"></t> | ||||||
|  | 										<t t-foreach="line.product_id.attribute_value_ids" | ||||||
|  | 											t-as="val_vart"> | ||||||
|  | 											<label class="cart_view_para_class_attrib_name_value product-attr-p"> | ||||||
|  | 												<t t-if="total_attribute">,</t> | ||||||
|  | 												<span class="cart_view_span_class_atrib_value_cart product-attr-span"> | ||||||
|  | 													<t t-esc="val_vart.attribute_id.name"></t> | ||||||
|  | 												</span> | ||||||
|  | 												: | ||||||
|  | 												<span class="cart_view_span_class_atrib_value_val_cart product-attr-span"> | ||||||
|  | 													<t t-esc="val_vart.name"></t> | ||||||
|  | 												</span> | ||||||
|  | 												<t t-set="total_attribute" t-value="total_attribute + 1"></t> | ||||||
|  | 											</label> | ||||||
|  | 										</t> | ||||||
|  | 									<!-- 	<div class="attr-bracket">)</div> --> | ||||||
|  | 									</div> | ||||||
|  | 								</t> | ||||||
|  | 							</div> | ||||||
|  | 							<a href='#' class='js_delete_product no-decoration remove-cart-product-icon'>  | ||||||
|  | 								Remove item | ||||||
|  | 							</a> | ||||||
|  |             			</td> | ||||||
|  |                          | ||||||
|  |                         <td class="text-center td-price" name="price"> | ||||||
|  |                             <t t-if="(compute_currency(line.product_id.lst_price) - line.price_reduce ) > 0.01  and website.get_current_pricelist().discount_policy=='without_discount'"> | ||||||
|  |                                 <del t-attf-class="#{'text-danger mr8'}" style="white-space: nowrap;" t-esc="compute_currency(line.product_id.website_public_price)" t-options="{'widget': 'monetary', 'display_currency': website.get_current_pricelist().currency_id, 'from_currency': website.currency_id}" /> | ||||||
|  |                             </t> | ||||||
|  |                             <span t-field="line.price_reduce_taxexcl" style="white-space: nowrap;" t-options="{'widget': 'monetary', 'from_currency': website_sale_order.pricelist_id.currency_id, 'display_currency': website.currency_id}" groups="sale.group_show_price_subtotal" /> | ||||||
|  |                             <span t-field="line.price_reduce_taxinc" style="white-space: nowrap;" t-options="{'widget': 'monetary', 'from_currency': website_sale_order.pricelist_id.currency_id, 'display_currency': website.currency_id}" groups="sale.group_show_price_total" /> | ||||||
|  |                         </td> | ||||||
|  |                         <td class="text-center td-qty"> | ||||||
|  |                             <div class="css_quantity input-group oe_website_spinner"> | ||||||
|  |                                 <a t-attf-href="#" class="mb8 input-group-addon js_add_cart_json hidden-xs"> | ||||||
|  |                                     <i class="fa fa-minus"></i> | ||||||
|  |                                 </a> | ||||||
|  |                                 <input type="text" class="js_quantity form-control quantity" t-att-data-line-id="line.id" t-att-data-product-id="line.product_id.id" t-att-value="int(line.product_uom_qty) == line.product_uom_qty and int(line.product_uom_qty) or line.product_uom_qty" /> | ||||||
|  |                                 <a t-attf-href="#" class="mb8 input-group-addon float_left js_add_cart_json hidden-xs"> | ||||||
|  |                                     <i class="fa fa-plus"></i> | ||||||
|  |                                 </a> | ||||||
|  |                             </div> | ||||||
|  |                         </td> | ||||||
|  |                         <td class="table-content-td text-center" id="td-price" name="totalprice"> | ||||||
|  | 			              	<span t-field="line.price_subtotal" style="white-space: nowrap;" t-options="{'widget': 'monetary', 'from_currency': website_sale_order.pricelist_id.currency_id, 'display_currency': website.currency_id}" /> | ||||||
|  | 			            </td> | ||||||
|  |                     </tr> | ||||||
|  |                 </t> | ||||||
|  |             </tbody>		 | ||||||
|  | 		</xpath> | ||||||
|  | 		 | ||||||
|  | 		<xpath expr="//div[hasclass('js_cart_lines')]" position="attributes"> | ||||||
|  | 			<attribute name="class">js_cart_lines cart-empty-msg</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<!--  <xpath expr="//table[@id='cart_products']" position="after"> | ||||||
|  | 			<section class="common-div coupon_cont_shopping_section"> | ||||||
|  | 				<div class="cont_shopping_main"> | ||||||
|  | 				</div> | ||||||
|  | 				<div class="coupon_code_main">  | ||||||
|  | 				</div> | ||||||
|  | 			</section> | ||||||
|  | 		</xpath>  --> | ||||||
|  | 		<!-- <xpath expr="//div[@class='js_cart_lines well well-lg']" position="attributes"> | ||||||
|  | 			<attribute name="class">js_cart_lines well well-lg cart-empty-msg</attribute> | ||||||
|  | 		</xpath> --> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<!-- Continue Shopping Button--> | ||||||
|  |     <template id="website_sale.continue_shopping" inherit_id="website_sale.cart" customize_show="True" name="Continue Shopping Button"> | ||||||
|  |          <xpath expr="//a[@href='/shop/checkout']" position="before"> | ||||||
|  |             <a href="/shop" class="cont_shop_btn"> | ||||||
|  |                 <!-- <span class="fa fa-long-arrow-left" /> --> | ||||||
|  |                 <span class="hidden-xs">Continue Shopping</span> | ||||||
|  |                 <span class="visible-xs-inline">Continue</span> | ||||||
|  |             </a> | ||||||
|  |         </xpath> | ||||||
|  |     </template> | ||||||
|  |      | ||||||
|  | 	<!-- Reduction Code--> | ||||||
|  | 	 <template id="website_sale.reduction_code" inherit_id="website_sale.total" active="False" customize_show="True" name="Promo Code"> | ||||||
|  |          <xpath expr="//div[@id='cart_total']" position="before"> | ||||||
|  |             <div class='text-muted' t-if="not hide_coupon and website_sale_order and website_sale_order.website_order_line" id="coupon_box"> | ||||||
|  |               <!--   <p> | ||||||
|  |                   Have a promo code? Fill in this field and apply. | ||||||
|  |                 </p> --> | ||||||
|  |                 <t t-call='website_sale.coupon_form'/> | ||||||
|  |             </div> | ||||||
|  |         </xpath> | ||||||
|  |     </template> | ||||||
|  | 	 | ||||||
|  | 	<!-- Checkout --> | ||||||
|  | 	<template id="clarico_checkout" inherit_id="website_sale.checkout"> | ||||||
|  | 		<xpath expr="//div[hasclass('oe_website_sale')]" position="attributes"> | ||||||
|  | 			<attribute name="class">container oe_website_sale clarico_container</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('row')]" position="attributes"> | ||||||
|  | 			<attribute name="class">checkout-row-main</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[@class='row']/div[@class='col-md-12']" position="attributes"> | ||||||
|  | 			<attribute name="class">bill-heading</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[@class='row']/div[@class='bill-heading']//h2" position="attributes"> | ||||||
|  | 			<attribute name="class">chs_heading checkout_heading</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//t[@t-if='not only_services']//div[hasclass('col-md-12')]" position="attributes"> | ||||||
|  | 			<attribute name="class"></attribute> | ||||||
|  | 		</xpath> | ||||||
|  |  		<xpath expr="//div[hasclass('all_shipping')]" position="attributes"> | ||||||
|  | 			<attribute name="class">row-main-div all_shipping</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('row')]/div[hasclass('one_kanban')]" position="attributes"> | ||||||
|  | 			<attribute name="class">one_kanban address-main-div </attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//t[@t-if='not only_services']/div/div/h2" position="attributes"> | ||||||
|  | 			<attribute name="class">chs_heading checkout_heading mt16</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//a[hasclass('a-submit')]" position="attributes"> | ||||||
|  | 			<attribute name="class">a-submit btn btn-default mb16  </attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//a[@href='/shop/cart']" position="attributes"> | ||||||
|  | 			<attribute name="class">btn btn-default mb32 </attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//a[@href='/shop/confirm_order']" position="attributes"> | ||||||
|  | 			<attribute name="class">btn btn-default pull-right mb32 </attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('col-md-6')]" position="attributes"> | ||||||
|  | 			<attribute name="class">one_kanban address-main-div</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 			<xpath expr="//div[hasclass('col-sm-12')]" position="attributes"> | ||||||
|  | 			<attribute name="class">one_kanban</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('col-md-8')]" position="attributes"> | ||||||
|  | 			<attribute name="class">oe_cart div-full-width</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('col-md-12')]" position="attributes"> | ||||||
|  | 			<attribute name="class">one_kanban</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<template id="clarico_cart_address_kanban" inherit_id="website_sale.address_kanban"> | ||||||
|  | 		<xpath expr="//a" position="attributes"> | ||||||
|  | 			<attribute name="class">btn-link pull-right fa fa-edit js_edit_address no-decoration</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	<!-- Payment --> | ||||||
|  | 	<template id="clarico_payment" inherit_id="website_sale.payment"> | ||||||
|  | 		<xpath expr="//div[hasclass('oe_website_sale')]" position="attributes"> | ||||||
|  | 			<attribute name="class">container oe_website_sale clarico_container</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('col-md-8')]" position="attributes"> | ||||||
|  | 			<attribute name="class">oe_cart payment-main-div</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//td[hasclass('td-product_name')]/div[hasclass('text-muted')]" position="replace"> | ||||||
|  | 		 | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[@id='payment_method']/h3" position="attributes"> | ||||||
|  | 			<attribute name="class">sub-heading</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//table[hasclass('table-condensed')]/thead/tr/th[1]" position="replace"> | ||||||
|  | 			<th width="100">Image</th> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//table[hasclass('table-condensed')]/thead/tr/th[2]" position="replace"> | ||||||
|  | 			<th width="100">Product</th> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//table[@id='cart_products']" position="attributes"> | ||||||
|  | 			<attribute name="class">payment-page-table table table-striped table-condensed</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//table[@id='cart_products']/thead/tr" position="attributes"> | ||||||
|  | 			<attribute name="class">cart-thead-tr</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//table[@id='cart_products']/tbody/tr" position="attributes"> | ||||||
|  | 			<attribute name="class">cart-tbody-tr</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('o_website_sale_rightfit')]//h2" position="attributes"> | ||||||
|  | 			<attribute name="class">chs_heading</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('row')]" position="attributes"> | ||||||
|  | 			<attribute name="class">row-main-div</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<!-- Payment Delivery --> | ||||||
|  |  	<template id="clarico_cart_payment_delivery" inherit_id="website_sale_delivery.payment_delivery"> | ||||||
|  | 		<xpath expr="//div[@t-if='deliveries']/h3" position="attributes"> | ||||||
|  | 			<attribute name="class">sub-heading</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template>  | ||||||
|  | 	 | ||||||
|  | 	<!-- BillTo ShipTo --> | ||||||
|  | 	<template id="clarico_bill_to" inherit_id="website_sale.bill_to"> | ||||||
|  | 		<xpath expr="//div[hasclass('panel-heading')]" position="attributes"> | ||||||
|  | 			<attribute name="class">bill-ship-heading panel-heading</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//t[@t-if='not order.only_services']/div/div[hasclass('panel-heading')]" position="attributes"> | ||||||
|  | 			<attribute name="class">bill-ship-heading panel-heading</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('panel-info')]" position="attributes"> | ||||||
|  | 			<attribute name="class">panel panel-info bill-panel</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//t[@t-if='not order.only_services']/div[hasclass('panel-info')]" position="attributes"> | ||||||
|  | 			<attribute name="class">panel panel-info break-word ship-panel</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 
 | ||||||
|  |     <template id="clarico_cart_extra_info" inherit_id="website_sale.extra_info_option"> | ||||||
|  |         <xpath expr="//li[@id='step30']" position="replace"> | ||||||
|  |             <li t-att-class="(step==30 and 'text-primary') or 'text-muted'" id="step30"> | ||||||
|  |                 <div class="stepwizard-step extra-step-option"> | ||||||
|  |                     <t t-if="step>30 and step<50"> | ||||||
|  |                         <a href="/shop/extra_info" class="text-success">3</a> | ||||||
|  |                         <p>Extra Info</p> | ||||||
|  |                         <span class="chevron"></span> | ||||||
|  |                     </t> | ||||||
|  |                     <t t-if="not (step>30 and step<50)"> | ||||||
|  |                         <a href="/shop/extra_info" class="text-success">3</a> | ||||||
|  |                         <p>Extra Info</p> | ||||||
|  |                         <span class="chevron"></span> | ||||||
|  |                     </t> | ||||||
|  |                 </div> | ||||||
|  |             </li> | ||||||
|  |         </xpath> | ||||||
|  |     </template> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     <!-- Confirmation --> | ||||||
|  |     <template id="clarico_cart_confirmation"  inherit_id="website_sale.confirmation"> | ||||||
|  |         <xpath expr="//div[@class='container oe_website_sale']" position="attributes"> | ||||||
|  | 			<attribute name="class">container oe_website_sale totus_container</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[@class='container oe_website_sale totus_container']//h1" position="attributes"> | ||||||
|  | 			<attribute name="class">chs_heading mb16</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[@class='thanks_msg']/h2" position="attributes"> | ||||||
|  | 			<attribute name="class">sub-heading</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[@class='oe_cart']/h3[@class='mt32 text-left']" position="replace"> | ||||||
|  | 			<h3 class="sub-heading mt32 text-left">Order Details:</h3> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//table[@class='table table-striped table-condensed']" position="attributes"> | ||||||
|  | 			<attribute name="class">order-detail-table table</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[@class='oe_cart']//table[@class='order-detail-table table']//thead/tr" position="attributes"> | ||||||
|  | 			<attribute name="class">confirmation-thead-tr</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[@class='oe_cart']//table[@class='order-detail-table table']//tbody/tr" position="attributes"> | ||||||
|  | 			<attribute name="class">confirmation-tbody-tr</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//h3[@class='text-left']" position="replace"> | ||||||
|  | 			<h3 class="sub-heading text-left">Payment information:</h3> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//table[@class='table']" position="attributes"> | ||||||
|  | 			<attribute name="class">table confirmation_table_total</attribute> | ||||||
|  | 		</xpath>	 | ||||||
|  | 		<xpath expr="//td[hasclass('td-product_name')]/div[hasclass('text-muted')]" position="replace"> | ||||||
|  | 		 | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//table[@class='table']/tbody/tr" position="attributes"> | ||||||
|  | 			<attribute name="class">payment-information-tbody-tr table</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('row')]" position="attributes"> | ||||||
|  | 			<attribute name="class">row-main-div</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//table[hasclass('table')]" position="attributes"> | ||||||
|  | 			<attribute name="class">subtotal-table order-detail-table table</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<template id="clarico_cart_payment_confirmation_status"  inherit_id="website_sale.payment_confirmation_status"> | ||||||
|  | 		<xpath expr="//div[hasclass('panel-heading')]" position="attributes"> | ||||||
|  | 			<attribute name="class">panel-heading payment-confirmation-status-div</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('oe_website_sale_tx_status')]//div" position="attributes"> | ||||||
|  | 			<attribute name="class">panel custom-panel-info</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<!-- Wizard Checkout --> | ||||||
|  |     <template id="clarico_wizard_checkout"  inherit_id="website_sale.wizard_checkout"> | ||||||
|  |         <xpath expr="//ul[hasclass('wizard')]" position="attributes"> | ||||||
|  |             <attribute name="class">wizard pull-right hidden-xs wizard-main-ul</attribute> | ||||||
|  |         </xpath> | ||||||
|  |         <xpath expr="//li[@id='step10']" position="replace"> | ||||||
|  |             <li t-att-class="step==10 and 'text-primary' or 'text-muted'" id="step10"> | ||||||
|  |                 <t t-set="step_review_order" t-value="step>10 and step<50"/> | ||||||
|  |                 <div class="stepwizard-step"> | ||||||
|  |                     <a t-att-href="step_review_order and '/shop/cart' or '#'" t-att-class="step_review_order and 'text-success' or 'o_link_disable'">1</a> | ||||||
|  |                     <p>Review Order</p> | ||||||
|  |                 </div> | ||||||
|  |             </li> | ||||||
|  |         </xpath> | ||||||
|  |         <xpath expr="//li[@id='step20']" position="replace"> | ||||||
|  |             <li t-att-class="(step==20 and 'text-primary') or 'text-muted'" id="step20"> | ||||||
|  |                 <!-- why website_sale_order is not set here ? --> | ||||||
|  |                 <t t-set="step_billing" t-value="step>20 and step<50"/> | ||||||
|  |                 <div class="stepwizard-step"> | ||||||
|  |                     <a t-att-href="step_billing and '/shop/checkout' or '#'" t-att-class="step_billing and 'text-success' or ('o_link_disable' + ('' if step == 20 else ' text-muted'))">2</a> | ||||||
|  |                     <p><t t-set="website_sale_order" t-value="website.sale_get_order()" /> | ||||||
|  |                         <span>Billing</span> | ||||||
|  |                         <t t-if="not website_sale_order or not website_sale_order.website_order_line or not website_sale_order.only_services"><span> & Shipping</span></t> | ||||||
|  |                         <span class="chevron"/> | ||||||
|  |                     </p> | ||||||
|  |                 </div> | ||||||
|  |             </li> | ||||||
|  |         </xpath> | ||||||
|  |         <xpath expr="//li[@id='step40']" position="replace"> | ||||||
|  |             <li t-att-class="(step==40 and 'text-primary') or 'text-muted'" id="step40"> | ||||||
|  |                 <div class="stepwizard-step"> | ||||||
|  |                     <a class="step_no">3</a> | ||||||
|  |                     <p>Payment</p> | ||||||
|  |                     <span class="chevron"></span> | ||||||
|  |                 </div> | ||||||
|  |             </li> | ||||||
|  |         </xpath> | ||||||
|  |         <xpath expr="//li[@id='step50']" position="replace"> | ||||||
|  |             <li t-att-class="(step==50 and 'text-primary') or 'text-muted'" id="step50"> | ||||||
|  |                 <div class="stepwizard-step"> | ||||||
|  |                     <a class="step_no">4</a> | ||||||
|  |                     <p>Confirmation</p> | ||||||
|  |                     <span class="chevron"></span> | ||||||
|  |                 </div> | ||||||
|  |             </li> | ||||||
|  |         </xpath> | ||||||
|  |     </template> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	<!-- Reduction Code Coupon Form --> | ||||||
|  | 	<template id="clarico_cart_coupon_form"  inherit_id="website_sale.coupon_form"> | ||||||
|  | 		<xpath expr="//input[hasclass('form-control')]" position="attributes"> | ||||||
|  | 			<attribute name="class">coupon-code-textbox form-control</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//form[@name='coupon_code']" position="attributes"> | ||||||
|  | 			<attribute name="class"></attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//input[hasclass('form-control')]" position="attributes"> | ||||||
|  | 			<attribute name="placeholder">Coupon code</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//a[hasclass('a-submit')]" position="replace"> | ||||||
|  | 			 <a class="btn a-submit coupon_code_submit"><span class="fa fa-long-arrow-right" /></a> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<!-- Clear Cart --> | ||||||
|  | 	<template id="clarico_clear_cart" name="Clear Cart" inherit_id="website_sale.cart">  | ||||||
|  | 		<xpath expr="//h2" position="after">  | ||||||
|  | 			<a class="clear_shopping_cart" t-if="website_sale_order and website_sale_order.website_order_line">( Clear cart )</a>  | ||||||
|  | 		</xpath>  | ||||||
|  | 	</template>	 | ||||||
|  | 	 | ||||||
|  | 	<!-- Cart Total--> | ||||||
|  | 	 <template id="clarico_total" name="Clear Cart Total" inherit_id="website_sale.total">  | ||||||
|  | 		<xpath expr="//div[@id='order_total_untaxed']/span[1]" position="attributes"> | ||||||
|  | 			<attribute name="class">col-xs-6 text-left subtotal_span_left text-muted</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[@id='order_total_untaxed']/span[2]" position="attributes"> | ||||||
|  | 			<attribute name="class">col-xs-6 text-right subtotal_span_right text-muted</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		 <xpath expr="//div[@id='order_total_taxes']/span[1]" position="attributes"> | ||||||
|  | 			<attribute name="class">col-xs-6 text-left text-muted</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		 <xpath expr="//div[@id='order_total_taxes']/span[2]" position="attributes"> | ||||||
|  | 			<attribute name="class">col-xs-6 text-right text-muted</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[@id='order_total']/span[2]" position="attributes"> | ||||||
|  | 			<attribute name="class">col-xs-6 text-right final-total</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[@id='order_total']/span[1]" position="attributes"> | ||||||
|  | 			<attribute name="class">col-xs-6 text-left final-total</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//hr" position="replace"> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	 | ||||||
|  | 	<!-- Address --> | ||||||
|  | 	<template id="clarico_address" inherit_id="website_sale.address">  | ||||||
|  | 		<xpath expr="//div[hasclass('oe_website_sale')]" position="attributes"> | ||||||
|  |             <attribute name="class">container oe_website_sale clarico_container</attribute> | ||||||
|  |         </xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('col-md-offset-2')]" position="attributes"> | ||||||
|  | 			<attribute name="class">oe_cart address-row-main-div</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('row')]/t/h2[hasclass('page-header')]" position="attributes"> | ||||||
|  | 			<attribute name="class">page-header mt8 ml16 sub-heading</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('row')]/t[2]/h2" position="replace"> | ||||||
|  | 			   <h2 class="page-header mt8 ml16 sub-heading">Your Address</h2> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('row')]/t[3]/h2" position="replace"> | ||||||
|  | 			   <h2 class="page-header mt8 ml16 sub-heading">Shipping Address</h2> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	 | ||||||
|  | 	<!-- Suggested Products List --> | ||||||
|  | 	<!-- <template id="clarico_suggested_products_list" inherit_id="website_sale.suggested_products_list">  | ||||||
|  | 		<xpath expr="//table[hasclass('js_cart_lines')]" position="attributes"> | ||||||
|  | 			<attribute name="class">js_cart_lines table table-striped table-condensed cart-product-table</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//table[@t-if='suggested_products']" position="attributes"> | ||||||
|  | 			<attribute name="class">js_cart_lines table table-striped table-condensed suggested-product-table</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//h5" position="attributes"> | ||||||
|  | 			<attribute name="class">js_cart_lines chs_heading suggested_accessories</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[@t-field='product.description_sale']" position="replace"></xpath> | ||||||
|  | 		<xpath expr="//a[hasclass('js_add_suggested_products')]" position="attributes"> | ||||||
|  | 			<attribute name="class">btn btn-link js_add_suggested_products </attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> --> | ||||||
|  | 	 <template id="website_sale.suggested_products_list" inherit_id="website_sale.cart_lines" customize_show="True" name="Alternative Products in my cart"> | ||||||
|  |          <xpath expr="//table[@id='cart_products']" position="after"> | ||||||
|  |             <section class="common-div cart_suggested_main_section" t-if="suggested_products"> | ||||||
|  |             <h5 class='text-muted js_cart_lines cart_sugg_name'>Suggested Accessories:</h5> | ||||||
|  |             <table t-if="suggested_products" class="js_cart_lines table table-striped table-condensed suggested-product-table"> | ||||||
|  |                 <thead> | ||||||
|  | 	                <tr class="cart-thead-tr"> | ||||||
|  | 	                   <th class="sugg-thead-th-img">Product</th> | ||||||
|  | 	                    <th></th> | ||||||
|  | 	                    <th width="150" class="td-price">Price</th> | ||||||
|  | 	                </tr> | ||||||
|  | 	            </thead> | ||||||
|  |                 | ||||||
|  |                 <tbody> | ||||||
|  |                     <tr t-foreach="suggested_products" t-as="product"> | ||||||
|  |                         <td class='td-img'> | ||||||
|  |                             <a t-attf-href="/shop/product/#{ slug(product.product_tmpl_id) }"> | ||||||
|  |                                 <span t-field="product.image_small" t-options="{'widget': 'image', 'class': 'img-rounded'}" /> | ||||||
|  |                             </a> | ||||||
|  |                         </td> | ||||||
|  |                         <td class='td-product_name'> | ||||||
|  |                             <div class="sugg_name"> | ||||||
|  |                                 <a t-attf-href="/shop/product/#{ slug(product.product_tmpl_id) }"> | ||||||
|  |                                     <strong t-field="product.name" /> | ||||||
|  |                                 </a> | ||||||
|  |                             </div> | ||||||
|  |                           <!--   <div class="text-muted hidden-xs" t-field="product.description_sale" /> --> | ||||||
|  |                         </td> | ||||||
|  |                         <td class='td-price'> | ||||||
|  |                             <t t-if="product.website_price_difference  and website.get_current_pricelist().discount_policy=='without_discount'"> | ||||||
|  |                                 <del class="text-danger mr8" style="white-space: nowrap;" t-field="product.lst_price" t-options="{'widget': 'monetary','from_currency': product.currency_id, 'display_currency': website.currency_id}" /> | ||||||
|  |                             </t> | ||||||
|  |                             <span t-field="product.website_price" style="white-space: nowrap;" t-options="{'widget': 'monetary','display_currency': website.currency_id}" /> | ||||||
|  |                         </td> | ||||||
|  |                         <td class="col-md-2 col-sm-3 col-xs-4 text-center"> | ||||||
|  |                             <input class="js_quantity" name="product_id" t-att-data-product-id="product.id" type="hidden" /> | ||||||
|  |                             <a class="sugg_add2cart_link js_add_suggested_products"> | ||||||
|  |                                 <strong>Add to Cart</strong> | ||||||
|  |                             </a> | ||||||
|  |                         </td> | ||||||
|  |                     </tr> | ||||||
|  |                 </tbody> | ||||||
|  |             </table> | ||||||
|  |             </section> | ||||||
|  |         </xpath> | ||||||
|  |     </template> | ||||||
|  | 	 | ||||||
|  | 	<!-- cart_popover --> | ||||||
|  | 	<template id="clarico_cart_popover" inherit_id="website_sale.cart_popover">  | ||||||
|  | 	 | ||||||
|  | 		<xpath expr="//div[hasclass('cart_line')]" position="attributes"> | ||||||
|  | 			<attribute name="class">row cart_line</attribute> | ||||||
|  | 			<attribute name="t-att-data-id">'%s' % line.product_id.id</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('cart_line')]//div[hasclass('col-xs-3')]" position="attributes"> | ||||||
|  | 			<attribute name="class">popover-img-div</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('cart_line')]//div//span" position="attributes"> | ||||||
|  | 			<attribute name="class">popover-img</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('cart_line')]//small" position="replace"> | ||||||
|  | 			  <small><t t-esc="int(line.product_uom_qty) == line.product_uom_qty and int(line.product_uom_qty) or line.product_uom_qty" /></small> | ||||||
|  | 		</xpath> | ||||||
|  | 		 | ||||||
|  | 		<xpath expr="//div[hasclass('cart_line')]//small" position="after"> | ||||||
|  | 			<p class="cart_price mt4"> | ||||||
|  | 			x | ||||||
|  | 			<t t-if="(compute_currency(line.product_id.lst_price) - line.price_reduce ) > 0.01  and website.get_current_pricelist().discount_policy=='without_discount'"> | ||||||
|  | 				<del t-attf-class="#{'strick-price'}" style="white-space: nowrap;" t-esc="compute_currency(line.product_id.website_public_price)" t-options="{'widget': 'monetary', 'display_currency': website.get_current_pricelist().currency_id, 'from_currency': website.currency_id}" /> | ||||||
|  | 			</t> | ||||||
|  | 			<span class="cart_p_original_price" t-field="line.price_reduce_taxexcl" style="white-space: nowrap;" t-options="{'widget': 'monetary', 'from_currency': website_sale_order.pricelist_id.currency_id, 'display_currency': website.currency_id}" groups="sale.group_show_price_subtotal" /> | ||||||
|  | 			<span t-field="line.price_reduce_taxinc" style="white-space: nowrap;" t-options="{'widget': 'monetary', 'from_currency': website_sale_order.pricelist_id.currency_id, 'display_currency': website.currency_id}" groups="sale.group_show_price_total" /> | ||||||
|  | 			</p>	 | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('cart_line')]//div[hasclass('col-xs-9')]" position="attributes"> | ||||||
|  | 			<attribute name="class">col-xs-8</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('cart_line')]//div[hasclass('col-xs-8')]" position="after"> | ||||||
|  | 			<a class="cp_goto_product" t-attf-href="/shop/product/#{ slug(line.product_id.product_tmpl_id) }"><i class="fa fa-long-arrow-right"></i></a> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('cart_line')]//div[hasclass('col-xs-8')]//a" position="replace"> | ||||||
|  | 			<a class="popover-name-a" t-attf-href="/shop/product/#{ slug(line.product_id.product_tmpl_id) }"> | ||||||
|  |                             <span t-esc="line.product_id.with_context(display_default_code=False).name" class="h6" /> | ||||||
|  |                         </a> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//a[@href='/shop/cart']" position="replace"> | ||||||
|  | 		 | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//t[@t-call='website_sale.total']" position="replace"> | ||||||
|  | 			<section class="cart_popver_total"> | ||||||
|  | 				<div class="cp_total_left"> | ||||||
|  | 					<span class="cp_total_text">Total: <span t-field="website_sale_order.amount_total" t-options="{'widget': 'monetary','from_currency': website_sale_order.pricelist_id.currency_id,'display_currency': website.currency_id}"></span></span> | ||||||
|  | 				</div> | ||||||
|  | 				<div class="cart_redirect_right"> | ||||||
|  | 					<a href="/shop/cart" class="shop_now_button">Go to cart</a> | ||||||
|  | 				</div> | ||||||
|  | 			</section> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<!-- Recently Viewed for cart --> | ||||||
|  | 	<template id="clarico_cart_recently_viewed" inherit_id="website_sale.cart"> | ||||||
|  | 		<xpath expr="//div[hasclass('row')][2]" position="after"> | ||||||
|  | 			<div id="recently_viewed_for_cart"></div> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<!-- cart icon in shop -->	 | ||||||
|  | 	<template id="clarico_shop_cart" inherit_id="clarico_shop.clarico_shop_products_item"  active="true" customize_show="True" name="Add to Cart" priority="28"> | ||||||
|  |     	 <xpath expr="//div[@id='quick_view_shop']" position="after"> | ||||||
|  |             <hr class="product-hover-hr"></hr> | ||||||
|  |             <div id="addtocart_shop" class="c_icon_common"> | ||||||
|  |             <input name="product_id" t-att-value="product.product_variant_id.id" type="hidden" /> | ||||||
|  |             | ||||||
|  |             <t t-if="len(product.product_variant_ids) == 1"> | ||||||
|  |                 <a class="btn-xs a-submit"> | ||||||
|  |                     <i class="fa fa-shopping-cart" /> | ||||||
|  |                 </a> | ||||||
|  |             </t> | ||||||
|  |             <t t-if="len(product.product_variant_ids) > 1"> | ||||||
|  |                 <a class="btn-xs a-submit"> | ||||||
|  |                     <i class="fa fa-shopping-cart" /> | ||||||
|  |                 </a> | ||||||
|  |             </t> | ||||||
|  |             </div> | ||||||
|  |         </xpath> | ||||||
|  |     </template> | ||||||
|  | 
 | ||||||
|  | 	<!-- cart quick view --> | ||||||
|  | 	<template id="clarico_cart_modal" inherit_id="website_sale_options.modal"> | ||||||
|  | 		<xpath expr="//h4" position="attributes"> | ||||||
|  | 			<attribute name="class">modal-title ps_product_name</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//tr[@t-if='product.optional_product_ids']/td/h4" position="attributes"> | ||||||
|  | 			<attribute name="class">select_heding</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//th[hasclass('td-img')]" position="attributes"> | ||||||
|  | 			<attribute name="class">td-img modal_th_style</attribute>		 | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//th[hasclass('td-qty')]" position="attributes"> | ||||||
|  | 			<attribute name="class">text-center td-qty modal_th_style</attribute>		 | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//th[hasclass('td-price')]" position="attributes"> | ||||||
|  | 			<attribute name="class">text-center td-price modal_th_style</attribute>		 | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//tr[3]/td[hasclass('td-price')]" position="attributes"> | ||||||
|  | 			<attribute name="class">td-price text-center</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//tr[3]/td[hasclass('td-product_name')]/div/div" position="attributes"> | ||||||
|  | 			<attribute name="class">text-muted small cart_p_desc</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 		<xpath expr="//div[hasclass('mt8')]" position="attributes"> | ||||||
|  | 			<attribute name="class">mt16</attribute> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | from . import controllers | ||||||
|  | @ -0,0 +1,26 @@ | ||||||
|  | { | ||||||
|  |     # Theme information | ||||||
|  |     'name' : 'Clarico Category', | ||||||
|  |     'category' : 'Website', | ||||||
|  |     'version' : '1.0', | ||||||
|  |     'summary': 'Website Category Carousel', | ||||||
|  |     'description': """""", | ||||||
|  | 
 | ||||||
|  |     # Dependencies | ||||||
|  |     'depends': [ | ||||||
|  |         'clarico_carousel' | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Views | ||||||
|  |     'data': [ | ||||||
|  |         'template/assets.xml', | ||||||
|  |         'template/template.xml', | ||||||
|  |     ], | ||||||
|  | 
 | ||||||
|  |     # Author | ||||||
|  |     'author': 'Emipro Technologies Pvt. Ltd.', | ||||||
|  |     'website': 'http://www.emiprotechnologies.com', | ||||||
|  | 
 | ||||||
|  |     # Technical | ||||||
|  |     'installable': True, | ||||||
|  | } | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | from . import main | ||||||
|  | @ -0,0 +1,28 @@ | ||||||
|  | from odoo import http | ||||||
|  | from odoo.http import request | ||||||
|  | 
 | ||||||
|  | class claricoCategory(http.Controller): | ||||||
|  |       | ||||||
|  |     @http.route(['/showcase_data'],type='json', auth='public', website=True , csrf=False, cache=30) | ||||||
|  |     def category_data(self,template,limit=10): | ||||||
|  |         data=request.env['product.public.category'].search([['parent_id','=',False]],limit=limit) | ||||||
|  |         values = {'object':data} | ||||||
|  |         return request.env.ref(template).render(values) | ||||||
|  | 
 | ||||||
|  |      | ||||||
|  |      | ||||||
|  |      | ||||||
|  |         | ||||||
|  | 
 | ||||||
|  |      | ||||||
|  |       | ||||||
|  |      | ||||||
|  |      | ||||||
|  |      | ||||||
|  |      | ||||||
|  |      | ||||||
|  |      | ||||||
|  |      | ||||||
|  |      | ||||||
|  |      | ||||||
|  |      | ||||||
| After Width: | Height: | Size: 4.6 KiB | 
| After Width: | Height: | Size: 1.6 KiB | 
|  | @ -0,0 +1,26 @@ | ||||||
|  | odoo.define('clarico_category.snippets.editor', function (require) { | ||||||
|  | 'use strict'; | ||||||
|  | 
 | ||||||
|  | var animation = require('website.content.snippets.animation'); | ||||||
|  | var options = require('web_editor.snippets.options'); | ||||||
|  | var snippet_editor = require('web_editor.snippet.editor'); | ||||||
|  | var website = require('website.website'); | ||||||
|  | 
 | ||||||
|  | snippet_editor.Class.include({ | ||||||
|  |     _get_snippet_url: function () { | ||||||
|  |         return '/website/snippets'; | ||||||
|  |     } | ||||||
|  | }); | ||||||
|  | 
 | ||||||
|  |  options.registry.js_get_category = options.Class.extend({ | ||||||
|  | 	drop_and_build_snippet: function(){ | ||||||
|  | 	      var self = this; | ||||||
|  | 	      if (!self.$target.data('snippet-view')) {  	   | ||||||
|  | 	        this.$target.data("snippet-view", new website.snippet.animationRegistry.js_get_category(this.$target)); | ||||||
|  | 	      } | ||||||
|  | 	    }, | ||||||
|  | 	    clean_for_save:function(){ | ||||||
|  | 		      this.$target.empty(); | ||||||
|  | 	    }	 | ||||||
|  | }); | ||||||
|  | }); | ||||||
|  | @ -0,0 +1,50 @@ | ||||||
|  | odoo.define('clarico_category.snippets.animation', function (require) { | ||||||
|  | 'use strict'; | ||||||
|  | var ajax = require('web.ajax'); | ||||||
|  | var base = require('web_editor.base'); | ||||||
|  | var animation = require('website.content.snippets.animation'); | ||||||
|  | var no_of_product; | ||||||
|  | 
 | ||||||
|  | animation.registry.js_get_category = animation.Class.extend({ | ||||||
|  |     selector : ".js_get_category", | ||||||
|  | 
 | ||||||
|  |     start: function(){ | ||||||
|  |       this.redrow(); | ||||||
|  |     }, | ||||||
|  |     stop: function(){ | ||||||
|  |       this.clean(); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     redrow: function(debug){ | ||||||
|  |       this.clean(debug); | ||||||
|  |       this.build(debug); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     clean:function(debug){ | ||||||
|  |       this.$target.empty(); | ||||||
|  |     }, | ||||||
|  |      | ||||||
|  |     build: function(debug) | ||||||
|  |     { | ||||||
|  |       var self = this, | ||||||
|  |       limit    = self.$target.data("objects_limit"), | ||||||
|  |       template = self.$target.data("template"); | ||||||
|  |       if(!template) template="category_image_showcase_snippent.clarico_category_category_showcase"; | ||||||
|  |       if(!limit)limit = 10; | ||||||
|  | 	  var rpc_end_point = '/showcase_data'; | ||||||
|  |       ajax.jsonRpc(rpc_end_point, 'call', { | ||||||
|  |         'template': template, | ||||||
|  |         'limit': limit, | ||||||
|  |       }).then(function(data)  | ||||||
|  |     	{ | ||||||
|  |     	  $(data).appendTo(self.$target); | ||||||
|  |       }).then(function() | ||||||
|  |     		  { | ||||||
|  |     	   | ||||||
|  |       }).fail(function(e) { | ||||||
|  |         return; | ||||||
|  |       }); | ||||||
|  |     },	 | ||||||
|  | }); | ||||||
|  | 
 | ||||||
|  | }); | ||||||
|  | @ -0,0 +1,81 @@ | ||||||
|  | .ss_container{ | ||||||
|  | 	.block; | ||||||
|  | 	.center(); | ||||||
|  | } | ||||||
|  | .ss_inline | ||||||
|  | { | ||||||
|  | 	display:inline-block; | ||||||
|  | 	text-align:center; | ||||||
|  | 	width:85%; | ||||||
|  | } | ||||||
|  | .cat_showcase_heading | ||||||
|  | { | ||||||
|  | .common-div; | ||||||
|  | .center(); | ||||||
|  | 	 | ||||||
|  | 	.cat_title | ||||||
|  | 	{ | ||||||
|  | 		.size(30px); | ||||||
|  | 		color: #222; | ||||||
|  | 		.uppercase();	 | ||||||
|  | 		line-height: 169%; | ||||||
|  | 		.oswald-light(); | ||||||
|  | 		letter-spacing: 2px; | ||||||
|  | 		word-spacing: 1px | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .cat_name | ||||||
|  | {	 | ||||||
|  | 	.center(); | ||||||
|  | 	.pt(20%); | ||||||
|  | 	.pb(20%); | ||||||
|  | 	border-bottom: 3px solid transparent; | ||||||
|  | } | ||||||
|  | .c_pc_image | ||||||
|  | { | ||||||
|  | 	display: inline-block; | ||||||
|  | 	margin:1%; | ||||||
|  | 	padding:1%; | ||||||
|  | 	 | ||||||
|  | 	img | ||||||
|  | 	{ | ||||||
|  | 		max-height: 100px; | ||||||
|  | 		margin:0px auto; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	&:hover | ||||||
|  | 	{ | ||||||
|  | 		.cat_name | ||||||
|  | 		{ | ||||||
|  | 			border-bottom: 3px solid @theme-color; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | @media (max-width: 800px) { | ||||||
|  |    | ||||||
|  |   .cat_showcase_heading .cat_title | ||||||
|  | 	{ | ||||||
|  | 		.size(28px) !important; | ||||||
|  | 	} | ||||||
|  |   | ||||||
|  |   } | ||||||
|  | @media (max-width: 600px) { | ||||||
|  | 
 | ||||||
|  | 	.cat_showcase_heading .cat_title | ||||||
|  | 	{ | ||||||
|  | 		.size(20px) !important; | ||||||
|  | 	} | ||||||
|  | 	.product_carousel_slider a | ||||||
|  | 	{ | ||||||
|  | 		.size(11px) !important; | ||||||
|  | 	} | ||||||
|  | 	.c_pc_image:hover .cat_name { | ||||||
|  |     	border-bottom: 2px solid @theme-color !important; | ||||||
|  | 	} | ||||||
|  | 	.c_pc_image { | ||||||
|  | 	 | ||||||
|  | 		margin: 2% !important; | ||||||
|  | 		padding: 3% !important; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | @ -0,0 +1,26 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  | 	<template id="assets_frontend_showcase_js" | ||||||
|  | 		name="E-commerce product carousel snippets JS frontend assets" | ||||||
|  | 		inherit_id="website.assets_frontend"> | ||||||
|  | 		<xpath expr="//script[last()]" position="after"> | ||||||
|  | 			<script type="text/javascript" src="clarico_category/static/src/js/showcase_snippet_frontend.js"></script> | ||||||
|  | 		</xpath>  | ||||||
|  | 	</template> | ||||||
|  | 
 | ||||||
|  | 	<template id="assets_editor_showcase" | ||||||
|  | 		name="E-commerce product carousel snippets JS editor assets" | ||||||
|  | 		inherit_id="website.assets_editor"> | ||||||
|  | 		<xpath expr="." position="inside"> | ||||||
|  | 			<script type="text/javascript" | ||||||
|  | 				src="/clarico_category/static/src/js/showcase_snippet_editor.js"></script> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 	 | ||||||
|  | 	<template id="category_assets_frontend" inherit_id="web.assets_frontend"> | ||||||
|  |         <xpath expr="." position="inside"> | ||||||
|  |             <link rel="stylesheet" type="text/less" href="/clarico_category/static/src/less/showcase_snippet.less"/> | ||||||
|  |         </xpath> | ||||||
|  |     </template> | ||||||
|  |      | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,50 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  | 	<template id="showcase_snippets" inherit_id="clarico_snippets.clarico_carousel_snippets"> | ||||||
|  | 		<xpath | ||||||
|  | 			expr="//div[@id='clarico_carousel_structure']/div[hasclass('o_panel_body')]" | ||||||
|  | 			position="inside"> | ||||||
|  | 			<t t-snippet="clarico_category.clarico_category_showcase_snippet_body" | ||||||
|  | 				t-thumbnail="/clarico_category/static/src/img/clarico_category.jpg" /> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | 
 | ||||||
|  | 	<!-- ======== E-Commerce Product Carousel Snippets ======== E-Commerce Product  | ||||||
|  | 		Carousel Snippet's Body --> | ||||||
|  | 	<template id="clarico_category_showcase_snippet_body" name="Category"> | ||||||
|  | 		<section class="s_image"> | ||||||
|  | 			<div class="ss_container"> | ||||||
|  | 				<div class="cat_showcase_heading"> | ||||||
|  | 					<h3 class="cat_title">Our Featured Categories</h3> | ||||||
|  | 				</div> | ||||||
|  | 				<div class="js_get_category" data-isemipro="true" data-loading="true" | ||||||
|  | 					data-objects_limit="10" data-template="clarico_category.clarico_category_category_showcase" /> | ||||||
|  | 			</div> | ||||||
|  | 		</section> | ||||||
|  | 	</template> | ||||||
|  | 	<template id="clarico_category_category_showcase"> | ||||||
|  | 		<div class="product_carousel_slider"> | ||||||
|  | 			<t t-foreach="object" t-as="category"> | ||||||
|  | 				<t t-call="clarico_category.clarico_category_category_show" /> | ||||||
|  | 			</t> | ||||||
|  | 		</div> | ||||||
|  | 	</template> | ||||||
|  | 	<template id="clarico_category_category_show" name="Category_image_with_name"> | ||||||
|  | 		<div class="c_pc_image"> | ||||||
|  | 			<span itemprop="image" /> | ||||||
|  | 			<div class="c_sub_pc_image"> | ||||||
|  | 				<a t-att-href="'/shop/category/%s' %slug(category)"> | ||||||
|  | 				<span itemprop="image" t-field="category.image" t-options="{'widget': 'image'}" | ||||||
|  | 					t-att-alt="category.name" /> | ||||||
|  | 					</a> | ||||||
|  | 			</div> | ||||||
|  | 			<a t-field="category.name" class="cat_name" | ||||||
|  | 				t-att-href="'/shop/category/%s' %slug(category)"></a> | ||||||
|  | 		</div> | ||||||
|  | 	</template> | ||||||
|  | 	<template id="clarico_category_product_carousel_snippets_option" inherit_id="website.snippet_options"> | ||||||
|  | 		<xpath expr="//div[@data-js='background']" position="after"> | ||||||
|  | 			<div data-js="js_get_category" data-selector=".js_get_category" /> | ||||||
|  | 		</xpath> | ||||||
|  | 	</template> | ||||||
|  | </odoo> | ||||||