2 new modules, fix clarico theme
|  | @ -14,14 +14,14 @@ | |||
| 			<field name="website_meta_keywords"></field> | ||||
| 		</record> | ||||
| --> | ||||
| 		 | ||||
| 		<record id="clarico_product.clarico_product_product" model="ir.ui.view"> | ||||
| 		<!-- | ||||
| 		<record id="clarico_product_product" model="ir.ui.view"> | ||||
| 			<field name="website_meta_title">Clarico Product</field> | ||||
| 			<field name="website_meta_description"></field> | ||||
| 			<field name="website_meta_keywords"></field> | ||||
| 		</record> | ||||
| 		 | ||||
| 		<record id="clarico_shop.clarico_shop_products" model="ir.ui.view"> | ||||
| 		<record id="clarico_shop_products" model="ir.ui.view"> | ||||
| 			<field name="website_meta_title">Clarico Shop</field> | ||||
| 			<field name="website_meta_description"></field> | ||||
| 			<field name="website_meta_keywords"></field> | ||||
|  | @ -33,12 +33,12 @@ | |||
| 			<field name="website_meta_keywords"></field> | ||||
| 		</record> | ||||
| 		 | ||||
| 		<record id="clarico_cart.clarico_cart" model="ir.ui.view"> | ||||
| 		<record id="clarico_cart" model="ir.ui.view"> | ||||
| 			<field name="website_meta_title">Clarico Cart</field> | ||||
| 			<field name="website_meta_description"></field> | ||||
| 			<field name="website_meta_keywords"></field> | ||||
| 		</record> | ||||
| 		 | ||||
| 		--> | ||||
| 		<!--  <record id="clarico_wishlist.clarico_wishlist_wishlist_template" model="ir.ui.view"> | ||||
| 			<field name="website_meta_title">Clarico Wishlist</field> | ||||
| 			<field name="website_meta_description"></field> | ||||
|  |  | |||
|  | @ -0,0 +1,398 @@ | |||
| SOFTWARE LICENCE AGREEMENT | ||||
| ========================== | ||||
| 
 | ||||
| This AGREEMENT is made effective on the date of the purchase of the software | ||||
| between Webkul Software Pvt. Ltd.,Company incorporated under the Companies | ||||
| Act, 1956 (hereinafter referred to as “Licensor"), and the purchaser of the  | ||||
| software/ product (hereinafter referred to as "Licensee"). | ||||
| 
 | ||||
| 
 | ||||
| Preamble | ||||
| -------- | ||||
| 
 | ||||
| Licensor is a web and mobile product based organization engaged in the | ||||
| business of developing and marketing software for enterprise level e-commerce | ||||
| businesses. It is an ISO and NSR (NASSCOM) certified organization having a | ||||
| team of more than 150 creative engineers which come from different | ||||
| backgrounds. It has developed more than 700 web extensions and apps in the | ||||
| past few years for open source platforms which are used and trusted globally.  | ||||
| Licensee now wishes to obtain license, and Licensor wishes to grant a license,  | ||||
| to allow use of the software so purchased in developing the e-commerce  | ||||
| business website/ mobile app of the Licensee, subject to the terms and  | ||||
| conditions set forth herein. | ||||
| 
 | ||||
| THEREFORE, with the intent to be legally bound, the parties hereby agree as  | ||||
| follows: | ||||
| 
 | ||||
| 
 | ||||
| Agreement | ||||
| --------- | ||||
| 
 | ||||
| 1.DEFINITIONS. | ||||
| As used in this Agreement, the following capitalized terms  | ||||
| shall have the definitions set forth below: | ||||
| 
 | ||||
| "Derivative Works" are works developed by Licensee, its officers, agents,  | ||||
| contractors or employees, which are based upon, in whole or in part, the  | ||||
| Source Code and/or the Documentation and may also be based upon and/or  | ||||
| incorporate one or more other preexisting works of the Licensor. Derivative  | ||||
| Works may be any improvement, revision, modification, translation (including  | ||||
| compilation or recapitulation by computer), abridgment, condensation,  | ||||
| expansion, or any other form in which such a preexisting work may be recast,  | ||||
| transformed, or adapted.  For purposes hereof, a Derivative Work shall also  | ||||
| include any compilation that incorporates such a preexisting work. | ||||
| 
 | ||||
| "Documentation" is written, printed or otherwise recorded or stored (digital  | ||||
| or paper) material relating to the Software and/or Source Code, including  | ||||
| technical specifications and instructions for its use including Software/  | ||||
| Source Code annotations and other descriptions of the principles of its  | ||||
| operation and instructions for its use. | ||||
| 
 | ||||
| "Improvements" shall mean, with respect to the Software, all modifications and  | ||||
| changes made, developed, acquired or conceived after the date hereof and  | ||||
| during the entire term of this Agreement. | ||||
| 
 | ||||
| "Source Code" is the computer programming source code form of the Software in  | ||||
| the form maintained by the Licensor, and includes all non-third-party  | ||||
| executables, libraries, components, and Documentation created or used in the  | ||||
| creation, development, maintenance, and support of the Software as well as all  | ||||
| updates, error corrections and revisions thereto provided by Licensor, in  | ||||
| whole or in part. | ||||
| 
 | ||||
| 
 | ||||
| 2.SOFTWARE LICENSE.   | ||||
| 
 | ||||
| (a)Grant of License.  For the consideration set forth below, Licensor hereby  | ||||
| grants to Licensee, and Licensee hereby accepts the worldwide, non-exclusive,  | ||||
| perpetual, royalty-free rights and licenses set forth below:   | ||||
| 
 | ||||
| (i)The right and license to use and incorporate the software, in whole or in  | ||||
| part, to develop its website/ mobile app (including the integration of all or  | ||||
| part of the Licensor’s software into Licensee's own software) on one domain (   | ||||
| Except Joomla modules , listed on store are entitled to be used on unlimited  | ||||
| domain as per the standard guidelines ) only, solely for the own personal or  | ||||
| business use of the Licensee. However, the License does not authorize the  | ||||
| Licensee to compile, copy or distribute the said Software or its Derivative  | ||||
| Works. | ||||
| 
 | ||||
| (ii)The right and license does not authorize the Licensee to share any backup  | ||||
| or archival copies of the Software and / or the Source Code and Documentation  | ||||
| on any public internet space including github , stackoverflow etc . The  | ||||
| Licensee must ensure that the backup are not accessible to any other person  | ||||
| and the Licensee must prevent copying / use of source code by any unauthorized  | ||||
| persons. | ||||
| 
 | ||||
| (iii)The right and license does not authorize the Licensee to migrate the  | ||||
| domain license to another domain. | ||||
| 
 | ||||
| (iv)Our Joomla extensions are published under the GNU/GPL. | ||||
| 
 | ||||
| 
 | ||||
| (b)Scope; Rights and Responsibilities. | ||||
| 
 | ||||
| (i)Licensor shall enable the Licensee to download one complete copy of the  | ||||
| Software. | ||||
| 
 | ||||
| (ii)The Software is intended for the sole use of the Licensee in development | ||||
| of its own website/ mobile app. | ||||
| 
 | ||||
| (iii)Licensee does not have the right to hand over, sell, distribute,  | ||||
| sub-license, rent, lease or lend any portion of the Software or Documentation,  | ||||
| whether modified or unmodified, to anyone. Licensee should not place the  | ||||
| Software on a server so that it becomes accessible via a public network such  | ||||
| as the Internet for distribution purposes. In case the Licensee is using any  | ||||
| source code management system like github, it can use the code there only when  | ||||
| it has paid subscription from such management system. | ||||
| 
 | ||||
| (iv) In case the Licensee purchases the module and allow the third party  | ||||
| development agency to customize as per its need, it is at liberty to do so  | ||||
| subject to the condition that the Licensee as well as the Agency are not  | ||||
| authorized to sell the modified version of the extension. Except for the  | ||||
| required customization purposes, Licensee is not authorized to release the  | ||||
| Source Code, Derivative Work source code and/or Documentation to any third  | ||||
| party, which shall be considered as violation of the Agreement, inter-alia  | ||||
| entailing forthwith termination and legal action.  | ||||
| 
 | ||||
| 
 | ||||
| (c)Ownership. | ||||
| 
 | ||||
| (i)Software and Source Code.  All right, title, copyright, and interest in the  | ||||
| Software, Source Code, Software Modifications and Error corrections will be  | ||||
| and remain the property of Licensor. | ||||
| 
 | ||||
| (ii)Derivative Works. As creation of Derivative Works by the Licensee is  | ||||
| prohibited, thus, all right, title, copyright, and interest in any and/or all  | ||||
| Derivative Works and Improvements created by, or on behalf of, Licensee will  | ||||
| also be deemed to the property of Licensor. Licensor shall be entitled to  | ||||
| protect copyright / intellectual property in all such Derivative Works and  | ||||
| Improvements also in any country as it may deem fit including without  | ||||
| limitation seeking copyright and/or patent protection. | ||||
| 
 | ||||
| 
 | ||||
| 3.CONSIDERATION. | ||||
| 
 | ||||
| (a)Licensee shall pay to Licensor the amount as mentioned on the website from  | ||||
| where the order is placed, as one-time, upfront fees in consideration for the  | ||||
| licenses and rights granted hereunder (hereinafter referred to as the "License  | ||||
| Fee").  The License Fee to be paid by Licensee shall be paid upfront at the  | ||||
| time of placing the order, and no credit will be allowed under any  | ||||
| circumstances. | ||||
| 
 | ||||
| (b)Once paid, the License Fees shall be non-refundable. The Licensee has fully  | ||||
| satisfied itself about the Software and has seen the demonstration, and only  | ||||
| thereafter has placed the order. Thus, the License Fees or any part thereof is  | ||||
| non-refundable. No claim for refund of the Licence Fees shall be entertained  | ||||
| under any circumstances. | ||||
| 
 | ||||
| 
 | ||||
| 4.REPRESENTATIONS AND WARRANTIES. | ||||
| 
 | ||||
| (a)Mutual.  Each of the parties represents and warrants to the other as | ||||
| follows. | ||||
| 
 | ||||
| (i)such party is a legal entity duly organized, validly existing and in good  | ||||
| standing; | ||||
| 
 | ||||
| (ii)such party has the power and authority to conduct its business as  | ||||
| presently conducted and to enter into, execute, deliver and perform this  | ||||
| Agreement. | ||||
| 
 | ||||
| (iii)This Agreement has been duly and validly accepted by such party and  | ||||
| constitutes the legal, valid and binding obligations of such party  | ||||
| respectively, enforceable against such party in accordance with their  | ||||
| respective terms; | ||||
| 
 | ||||
| (iv)the acceptance, execution, delivery and performance of this Agreement does  | ||||
| not and will not violate such party's charter or by-laws; nor require any  | ||||
| consent, authorization, approval, exemption or other action by any third party  | ||||
| or governmental entity. | ||||
| 
 | ||||
| 
 | ||||
| (b)Licensor warrants that, at the time of purchase of the Software: | ||||
| 
 | ||||
| the Software will function materially as set forth in the website or published  | ||||
| functionality provided by Licensor to customers and potential customers  | ||||
| describing the Software; and | ||||
| 
 | ||||
| Software add-ons, if purchased by the Licensee from the Licensor, will not  | ||||
| materially diminish the features or functions of or the specifications of the  | ||||
| Software as they existed as of the execution of this Agreement. | ||||
| 
 | ||||
| 
 | ||||
| (c)Title.  Licensor represents and warrants that it is the exclusive owner of  | ||||
| all copyright/ intellectual property in the Software (including the Source  | ||||
| Code) and has good and marketable title to the Software (including the Source  | ||||
| Code) free and clear of all liens, claims and encumbrances of any nature  | ||||
| whatsoever (collectively, "Liens").  Licensor's grant of license and rights to  | ||||
| Licensee hereunder does not, and will not infringe any third party's property,  | ||||
| intellectual property or personal rights. | ||||
| 
 | ||||
| 
 | ||||
| 5.TERM. | ||||
| 
 | ||||
| (a)Subject to Licensee's payment obligations, this Agreement shall commence as  | ||||
| on the date of making payment of the Software by the Licensee to the Licensor,  | ||||
| and shall continue until terminated by either party. | ||||
| 
 | ||||
| (b)The Licensor retains the right to terminate the license at any time, if the  | ||||
| Licensee is not abiding by any of the terms of the Agreement. The Licensee may  | ||||
| terminate the Agreement at any time at its own discretion by uninstalling the  | ||||
| Software and /or by destroying the said Software (or any copies thereof).  | ||||
| However, the Licensee shall not be entitled to seek any refund of the amount  | ||||
| paid by it to the Licensor, under any circumstances. | ||||
| 
 | ||||
| (c)Survival.  In the event this Agreement is terminated for any reason, the  | ||||
| provisions set forth in Sections 2(a), 2(b), and 2(c) shall survive. | ||||
| 
 | ||||
| 
 | ||||
| 6.INDEMNIFICATION. | ||||
| 
 | ||||
| The Licensee release the Licensor from, and agree to indemnify, defend and  | ||||
| hold harmless the Licensor (and its officers, directors, employees, agents and  | ||||
| Affiliates) against, any claim, loss, damage, settlement, cost, taxes, expense  | ||||
| or other liability (including, without limitation, attorneys' fees) (each, a  | ||||
| "Claim") arising from or related to: (a) any actual or alleged breach of any  | ||||
| obligations in this Agreement; (b) any refund, adjustment, or return of  | ||||
| Software,(c) any claim for actual or alleged infringement of any Intellectual  | ||||
| Property Rights made by any third party or damages related thereto; or (d)  | ||||
| Taxes. | ||||
| 
 | ||||
| 
 | ||||
| 7.LIMITATION OF LIABILITY. | ||||
| 
 | ||||
| The Licensor will not be liable for any direct, indirect, incidental, special,  | ||||
| consequential or exemplary damages, including but not limited to, damages for  | ||||
| loss of profits, goodwill, use, data or other intangible losses arising out of  | ||||
| or in connection with the Software, whether in contract, warranty, tort etc. ( | ||||
| including negligence, software liability, any type of civil responsibility or  | ||||
| other theory or otherwise) to the Licensee or any other person for cost of  | ||||
| software, cover, recovery or recoupment of any investment made by the Licensee  | ||||
| or its affiliates in connection with this Agreement, or for any other loss of  | ||||
| profit, revenue, business, or data or punitive or consequential damages  | ||||
| arising out of or relating to this Agreement. Further, the aggregate liability  | ||||
| of the Licensor, arising out of or in connection with this Agreement or the  | ||||
| transactions contemplated hereby will not exceed at any time, or under any  | ||||
| circumstances, the total amounts received by the Licensor from the Licensee in  | ||||
| connection with the particular software giving rise to the claim. | ||||
| 
 | ||||
| 
 | ||||
| 8.FORCE MAJEURE. | ||||
| 
 | ||||
| The Licensor will not be liable for any delay or failure to perform any of its  | ||||
| obligations under this Agreement by reasons, events or other matters beyond  | ||||
| its reasonable control. | ||||
| 
 | ||||
| 
 | ||||
| 9.RELATIONSHIP OF PARTIES. | ||||
| 
 | ||||
| The Licensor and Licensee are independent legal entities, and nothing in this  | ||||
| Agreement will be construed to create a partnership, joint venture,  | ||||
| association of persons, agency, franchise, sales representative, or employment  | ||||
| relationship between the parties. The Licensee will have no authority to make  | ||||
| or accept any offers or representations on behalf of the Licensor. The  | ||||
| relationship between the parties is that of Licensor and Licensee only, and  | ||||
| the rights, duties, liabilities of each party shall be governed by this  | ||||
| Agreement. | ||||
| 
 | ||||
| 
 | ||||
| 10.MODIFICATION. | ||||
| 
 | ||||
| The Licensor may amend any of the terms and conditions contained in this  | ||||
| Agreement at any time and solely at its discretion. Any changes will be  | ||||
| effective upon the posting of such changes on the Portal/ website, and the  | ||||
| Licensee is responsible for reviewing these changes and informing itself of  | ||||
| all applicable changes or notices. The continued use of a software by the  | ||||
| Licensee after posting of any changes by the Licensor, will constitute the   | ||||
| acceptance of such changes or modifications by the Licensee. | ||||
| 
 | ||||
| 
 | ||||
| 11.MISCELLANEOUS. | ||||
| 
 | ||||
| (a)General Provisions.  This Agreement:  (i) may be amended only by a writing  | ||||
| signed by each of the parties; (ii) may be executed in several counterparts,  | ||||
| each of which shall be deemed an original but all of which shall constitute  | ||||
| one and the same instrument; (iii) contains the entire agreement of the  | ||||
| parties with respect to the transactions contemplated hereby and supersedes  | ||||
| all prior written and oral agreements, and all contemporaneous oral  | ||||
| agreements, relating to such transactions; (iv) shall be governed by, and  | ||||
| construed and enforced in accordance with, the laws of India; and (v) shall be  | ||||
| binding upon, and inure to the benefit of, the parties and their respective  | ||||
| successors and permitted assigns.  Each of the parties hereby irrevocably  | ||||
| submits to the jurisdiction of the Courts at Delhi, India, for the purposes of  | ||||
| any action or proceeding arising out of or relating to this Agreement or the  | ||||
| subject matter hereof and brought by any other party.   | ||||
| 
 | ||||
| (b)Assignment.  Except for the purpose of customization as mentioned in clause  | ||||
| 2(b)(iv) above, Licensee cannot assign, pledge or otherwise transfer, whether  | ||||
| by operation of law or otherwise, this Agreement, or any of its obligations  | ||||
| hereunder, without the prior written consent of Licensor, which consent shall  | ||||
| not be unreasonably withheld. | ||||
| 
 | ||||
| (c)Notices.  Unless otherwise specifically provided herein, all notices,  | ||||
| consents, requests, demands and other communications required or permitted  | ||||
| hereunder: | ||||
| 
 | ||||
| (i)shall be in writing; | ||||
| 
 | ||||
| (ii)shall be sent by messenger, certified or registered mail/email, or   | ||||
| reliable express delivery service, to the appropriate address(es) set forth  | ||||
| below; and | ||||
| 
 | ||||
| (iii)shall be deemed to have been given on the date of receipt by the  | ||||
| addressee, as evidenced by a receipt executed by the addressee (or a  | ||||
| responsible person in his or her office), the records of the Party delivering  | ||||
| such communication or a notice to the effect that such addressee refused to  | ||||
| claim or accept such communication, if sent by messenger, mail or express  | ||||
| delivery service. | ||||
| 
 | ||||
| All such communications shall be sent to the following addresses or numbers,  | ||||
| or to such other addresses or numbers as any party may inform the others by  | ||||
| giving five days' prior notice: | ||||
| 
 | ||||
| If to Webkul Software Pvt. Ltd.: | ||||
| 
 | ||||
| Webkul Software Pvt. Ltd. | ||||
| A-67, Sector 63, NOIDA – 201301, | ||||
| Uttar Pradesh, India | ||||
| 
 | ||||
| If to Licensee: | ||||
| At the address mentioned by the Licensee | ||||
| (at the time of placing order of generating Invoice) | ||||
| 
 | ||||
| (d)Severability.  It is the intent of the parties that the provisions of this  | ||||
| Agreement be enforced to the fullest extent permissible under the laws and  | ||||
| public policies of India in which enforcement hereof is sought.  In  | ||||
| furtherance of the foregoing, each provision hereof shall be severable from  | ||||
| each other provision, and any provision hereof which is/ becomes unenforceable  | ||||
| shall be subject to the following:  (i)  if such provision is contrary to or  | ||||
| conflicts with any requirement of any statute, rule or regulation in effect,  | ||||
| then such requirement shall be incorporated into, or substituted for, such  | ||||
| unenforceable provision to the minimum extent necessary to make such provision  | ||||
| enforceable;  (ii)  the court, agency or arbitrator considering the matter is  | ||||
| hereby authorized to (or, if such court, agency or arbitrator is unwilling or  | ||||
| fails to do so, then the parties shall) amend such provision to the minimum  | ||||
| extent necessary to make such provision enforceable, and the parties hereby  | ||||
| consent to the entry of an order so amending such provision; and  (iii)  if  | ||||
| any such provision cannot be or is not reformed and made enforceable pursuant  | ||||
| to clause (i) or (ii) above, then such provision shall be ineffective to the  | ||||
| minimum extent necessary to make the remainder of this Agreement enforceable.   | ||||
| Any application of the foregoing provisions to any provision hereof shall not   | ||||
| effect the validity or enforceability of any other provision hereof. | ||||
| 
 | ||||
| (e)By purchasing the Software, the Licensee acknowledge that it has read this  | ||||
| Agreement, and that it agrees to the content of the Agreement, its terms and  | ||||
| agree to use the Software in compliance with this Agreement. | ||||
| 
 | ||||
| (f)The Licensor holds the sole copyright of the Software. The Software or any  | ||||
| portion thereof is a copyrightable matter and is liable to be protected by the  | ||||
| applicable laws. Copyright infringement in any manner can lead to prosecution  | ||||
| according to the current law. The Licensor reserves the right to revoke the  | ||||
| license of any user who is not holding any license or is holding an invalid  | ||||
| license. | ||||
| 
 | ||||
| (g)This Agreement gives the right to use only one copy of the Software on one  | ||||
| domain solely for the own personal or business use of the Licensee, subject to  | ||||
| all the terms and conditions of this Agreement. A separate License has to be  | ||||
| purchased for each new Software installation. Any distribution of the Software  | ||||
| without the written consent of the Licensor (including non-commercial  | ||||
| distribution) is regarded as violation of this Agreement, and will entail  | ||||
| immediate termination of the Agreement and may invite liability, both civil  | ||||
| and criminal,  as per applicable laws. | ||||
| 
 | ||||
| (h)The Licensor reserves the rights to publish a selected list of users/ | ||||
| Licensees of its Software, and no permission of any Licensee is needed in this  | ||||
| regard. The Licensee agrees that the Licensor may, in its sole discretion,  | ||||
| disclose or make available any information provided or submitted by the  | ||||
| Licensee or related to it under this Agreement to any judicial,  | ||||
| quasi-judicial, governmental, regulatory or any other authority as may be  | ||||
| required by the Licensor to co-operate and / or comply with any of their  | ||||
| orders, instructions or directions or to fulfill any requirements under  | ||||
| applicable Laws. | ||||
| 
 | ||||
| (i)If the Licensee continues to use the Software even after the sending of the  | ||||
| notice by the Licensor for termination, the Licensee agree to accept an  | ||||
| injunction to restrain itself from its further use, and to pay all costs ( | ||||
| including but not limited to reasonable attorney fees) to enforce injunction  | ||||
| or to revoke the License, and any damages suffered by the Licensor because of  | ||||
| the misuse of the Software by the Licensee. | ||||
| 
 | ||||
| 
 | ||||
| 12.ARBITRATION. | ||||
| 
 | ||||
| If any dispute arises between the Licensor and the Licensee at any time, in  | ||||
| connection with the validity, interpretation, implementation or alleged breach  | ||||
| of any provision of this Agreement,  the same shall be referred to a sole  | ||||
| Arbitrator who shall be an independent and neutral third party appointed  | ||||
| exclusively by the Licensor. The Licensee shall not object to the appointment  | ||||
| of the Arbitrator so appointed by the Licensor. The place of arbitration shall  | ||||
| be Delhi, India. The Arbitration & Conciliation Act, 1996 as amended by The  | ||||
| Arbitration & Conciliation  (Amendment) Act, 2015, shall govern the  | ||||
| arbitration proceedings. The arbitration proceedings shall be held in the  | ||||
| English language. | ||||
| 
 | ||||
| 
 | ||||
| This document is an electronic record in terms of Information Technology Act,  | ||||
| 2000 and the amended provisions pertaining to electronic records in various  | ||||
| statutes as amended by the Information Technology Act, 2000. This electronic  | ||||
| record is generated by a computer system and does not require any physical or  | ||||
| digital signatures. | ||||
|  | @ -0,0 +1,29 @@ | |||
| # -*- coding: utf-8 -*- | ||||
| ################################################################################# | ||||
| # Author      : Webkul Software Pvt. Ltd. (<https://webkul.com/>) | ||||
| # Copyright(c): 2015-Present Webkul Software Pvt. Ltd. | ||||
| # License URL : https://store.webkul.com/license.html/ | ||||
| # All Rights Reserved. | ||||
| # | ||||
| # | ||||
| # | ||||
| # This program is copyright property of the author mentioned above. | ||||
| # You can`t redistribute it and/or modify it. | ||||
| # | ||||
| # | ||||
| # You should have received a copy of the License along with this program. | ||||
| # If not, see <https://store.webkul.com/license.html/> | ||||
| ################################################################################# | ||||
| 
 | ||||
| from . import models | ||||
| from . import controllers | ||||
| 
 | ||||
| def pre_init_check(cr): | ||||
|     from odoo.service import common | ||||
|     from odoo.exceptions import Warning | ||||
|     version_info = common.exp_version() | ||||
|     server_serie = version_info.get('server_serie') | ||||
|     if server_serie != '11.0': | ||||
|         raise Warning( | ||||
|             'Module support Odoo series 11.0 found {}.'.format(server_serie)) | ||||
|     return True | ||||
|  | @ -0,0 +1,52 @@ | |||
| # -*- coding: utf-8 -*- | ||||
| ################################################################################# | ||||
| # Author      : Webkul Software Pvt. Ltd. (<https://webkul.com/>) | ||||
| # Copyright(c): 2015-Present Webkul Software Pvt. Ltd. | ||||
| # License URL : https://store.webkul.com/license.html/ | ||||
| # All Rights Reserved. | ||||
| # | ||||
| # | ||||
| # | ||||
| # This program is copyright property of the author mentioned above. | ||||
| # You can`t redistribute it and/or modify it. | ||||
| # | ||||
| # | ||||
| # You should have received a copy of the License along with this program. | ||||
| # If not, see <https://store.webkul.com/license.html/> | ||||
| ################################################################################# | ||||
| 
 | ||||
| { | ||||
|   "name"                 :  "Website Product 360 View", | ||||
|   "summary"              :  "Manage product 360 degree view on your website.", | ||||
|   "category"             :  "Website", | ||||
|   "version"              :  "1.0", | ||||
|   "sequence"             :  65, | ||||
|   "author"               :  "Webkul Software Pvt. Ltd.", | ||||
|   "license"              :  "Other proprietary", | ||||
|   "website"              :  "https://store.webkul.com/Odoo-Website-360-Product-View.html", | ||||
|   "description"          :  """http://webkul.com/blog/odoo-website-360-degree-product-view/""", | ||||
|   "live_test_url"        :  "http://odoodemo.webkul.com/?module=website_360degree_view&version=11.0", | ||||
|   "depends"              :  [ | ||||
|                              'sale_management', | ||||
|                              'website_sale', | ||||
|                              'website_webkul_addons', | ||||
|                             ], | ||||
|   "data"                 :  [ | ||||
|                              'view/product_360_view.xml', | ||||
|                              'view/templates.xml', | ||||
|                              'view/res_config_view.xml', | ||||
|                              'view/webkul_addons_config_inherit_view.xml', | ||||
|                              'security/ir.model.access.csv', | ||||
|                              "data/product_360_data.xml", | ||||
|                             ], | ||||
|   "demo"                 :  [ | ||||
|                               "demo/product_360_demo_data.xml", | ||||
|                             ], | ||||
|   "images"               :  ['static/description/Banner.png'], | ||||
|   "application"          :  True, | ||||
|   "installable"          :  True, | ||||
|   "auto_install"         :  False, | ||||
|   "price"                :  76, | ||||
|   "currency"             :  "EUR", | ||||
|   "pre_init_hook"        :  "pre_init_check", | ||||
| } | ||||
|  | @ -0,0 +1,18 @@ | |||
| # -*- coding: utf-8 -*- | ||||
| ################################################################################# | ||||
| # Author      : Webkul Software Pvt. Ltd. (<https://webkul.com/>) | ||||
| # Copyright(c): 2015-Present Webkul Software Pvt. Ltd. | ||||
| # License URL : https://store.webkul.com/license.html/ | ||||
| # All Rights Reserved. | ||||
| # | ||||
| # | ||||
| # | ||||
| # This program is copyright property of the author mentioned above. | ||||
| # You can`t redistribute it and/or modify it. | ||||
| # | ||||
| # | ||||
| # You should have received a copy of the License along with this program. | ||||
| # If not, see <https://store.webkul.com/license.html/> | ||||
| ################################################################################# | ||||
| 
 | ||||
| from . import main | ||||
|  | @ -0,0 +1,34 @@ | |||
| # -*- coding: utf-8 -*- | ||||
| ################################################################################# | ||||
| # Author      : Webkul Software Pvt. Ltd. (<https://webkul.com/>) | ||||
| # Copyright(c): 2015-Present Webkul Software Pvt. Ltd. | ||||
| # License URL : https://store.webkul.com/license.html/ | ||||
| # All Rights Reserved. | ||||
| # | ||||
| # | ||||
| # | ||||
| # This program is copyright property of the author mentioned above. | ||||
| # You can`t redistribute it and/or modify it. | ||||
| # | ||||
| # | ||||
| # You should have received a copy of the License along with this program. | ||||
| # If not, see <https://store.webkul.com/license.html/> | ||||
| ################################################################################# | ||||
| 
 | ||||
| from odoo import SUPERUSER_ID | ||||
| from odoo import http | ||||
| from odoo.http import request | ||||
| from odoo.addons.website_sale.controllers.main import WebsiteSale | ||||
| from odoo.addons.website_sale.controllers.main import QueryURL | ||||
| 
 | ||||
| 
 | ||||
| class WebsiteSale(WebsiteSale): | ||||
| 
 | ||||
|     @http.route(['/shop/360view/'], type='json', auth="public", methods=['POST'], website=True) | ||||
|     def product_360view_modal(self, product_id, **kwargs): | ||||
|         product_obj = request.env['product.template'] | ||||
|         if product_id: | ||||
|             product = product_obj.sudo().browse(product_id) | ||||
|         return request.env['ir.ui.view'].render_template("website_360degree_view.modal_product_360degree_view", { | ||||
|             'product': product if product else request.env['product.template'], | ||||
|         }) | ||||
|  | @ -0,0 +1,14 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <!-- Copyright (c) 2016-Present Webkul Software Pvt. Ltd. (<https://webkul.com/>) --> | ||||
| <!-- See LICENSE file for full copyright and licensing details. --> | ||||
| <!-- License URL : https://store.webkul.com/license.html/ --> | ||||
| <odoo> | ||||
|     <data noupdate="0"> | ||||
| 
 | ||||
|         <function id="default_enable_360_view" | ||||
|                   model="ir.default" name="set" | ||||
|                   eval="('website.360.view.config', 'enable_360_view', True)" | ||||
|                   /> | ||||
| 
 | ||||
|     </data> | ||||
| </odoo> | ||||
|  | @ -0,0 +1,691 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <!-- Copyright (c) 2016-Present Webkul Software Pvt. Ltd. (<https://webkul.com/>) --> | ||||
| <!-- See LICENSE file for full copyright and licensing details. --> | ||||
| <!-- License URL : https://store.webkul.com/license.html/ --> | ||||
| <odoo> | ||||
|     <data noupdate="1"> | ||||
| 
 | ||||
|         <!-- 360 degree images for car1 --> | ||||
| 
 | ||||
|         <record id="product_360_demo_data1" model="product.template"> | ||||
|             <field name="name">Swift Dezire Car</field> | ||||
|             <field name="list_price">7150</field> | ||||
|             <field name="product_360_view">True</field> | ||||
|             <field name="number_of_images_for_360">36</field> | ||||
|             <field name="image_medium" type="base64" file="website_360degree_view/static/img/car1/23.jpg"/> | ||||
|             <field name="website_published" eval="True"/> | ||||
|         </record> | ||||
| 
 | ||||
|         <record id="360_car1_img1" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img1</field> | ||||
|             <field name="sequence">1</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/1.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img2" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img2</field> | ||||
|             <field name="sequence">2</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/2.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img3" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img3</field> | ||||
|             <field name="sequence">3</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/3.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img4" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img4</field> | ||||
|             <field name="sequence">4</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/4.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img5" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img5</field> | ||||
|             <field name="sequence">5</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/5.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img6" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img6</field> | ||||
|             <field name="sequence">6</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/6.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img7" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img7</field> | ||||
|             <field name="sequence">7</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/7.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img8" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img8</field> | ||||
|             <field name="sequence">8</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/8.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img9" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img9</field> | ||||
|             <field name="sequence">9</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/9.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img10" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img10</field> | ||||
|             <field name="sequence">10</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/10.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img11" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img11</field> | ||||
|             <field name="sequence">11</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/11.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img12" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img12</field> | ||||
|             <field name="sequence">12</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/12.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img13" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img13</field> | ||||
|             <field name="sequence">13</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/13.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img14" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img14</field> | ||||
|             <field name="sequence">14</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/14.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img15" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img15</field> | ||||
|             <field name="sequence">15</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/15.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img16" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img16</field> | ||||
|             <field name="sequence">16</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/16.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img17" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img17</field> | ||||
|             <field name="sequence">17</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/17.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img18" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img18</field> | ||||
|             <field name="sequence">18</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/18.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img19" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img19</field> | ||||
|             <field name="sequence">19</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/19.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img20" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img20</field> | ||||
|             <field name="sequence">20</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/20.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img21" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img21</field> | ||||
|             <field name="sequence">21</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/21.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img22" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img22</field> | ||||
|             <field name="sequence">22</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/22.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img23" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img23</field> | ||||
|             <field name="sequence">23</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/23.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img24" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img24</field> | ||||
|             <field name="sequence">24</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/24.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img25" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img25</field> | ||||
|             <field name="sequence">25</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/25.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img26" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img26</field> | ||||
|             <field name="sequence">26</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/26.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img27" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img27</field> | ||||
|             <field name="sequence">27</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/27.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img28" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img28</field> | ||||
|             <field name="sequence">28</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/28.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img29" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img29</field> | ||||
|             <field name="sequence">29</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/29.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img30" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img30</field> | ||||
|             <field name="sequence">30</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/30.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img31" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img31</field> | ||||
|             <field name="sequence">31</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/31.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img32" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img32</field> | ||||
|             <field name="sequence">32</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/32.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img33" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img33</field> | ||||
|             <field name="sequence">33</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/33.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img34" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img34</field> | ||||
|             <field name="sequence">34</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/34.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img35" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img35</field> | ||||
|             <field name="sequence">35</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/35.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_car1_img36" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data1"/> | ||||
|             <field name="name">img36</field> | ||||
|             <field name="sequence">36</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car1/36.jpg"/> | ||||
|         </record> | ||||
| 
 | ||||
| 
 | ||||
|         <!-- 360 images for car2  --> | ||||
| 
 | ||||
|         <record id="product_360_demo_data2" model="product.template"> | ||||
|             <field name="name">Honda Civic Car</field> | ||||
|             <field name="list_price">8520</field> | ||||
|             <field name="product_default_view">True</field> | ||||
|             <field name="product_360_view">False</field> | ||||
|             <field name="number_of_images_for_360">52</field> | ||||
|             <field name="image_medium" type="base64" file="website_360degree_view/static/img/car2/31.png"/> | ||||
|             <field name="website_published" eval="True"/> | ||||
|         </record> | ||||
| 
 | ||||
| 
 | ||||
|         <record id="360_car2_img1" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img1</field> | ||||
|             <field name="sequence">1</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/1.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img2" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img2</field> | ||||
|             <field name="sequence">2</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/2.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img3" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img3</field> | ||||
|             <field name="sequence">3</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/3.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img4" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img4</field> | ||||
|             <field name="sequence">4</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/4.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img5" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img5</field> | ||||
|             <field name="sequence">5</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/5.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img6" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img6</field> | ||||
|             <field name="sequence">6</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/6.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img7" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img7</field> | ||||
|             <field name="sequence">7</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/7.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img8" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img8</field> | ||||
|             <field name="sequence">8</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/8.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img9" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img9</field> | ||||
|             <field name="sequence">9</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/9.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img10" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img10</field> | ||||
|             <field name="sequence">10</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/10.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img11" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img11</field> | ||||
|             <field name="sequence">11</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/11.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img12" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img12</field> | ||||
|             <field name="sequence">12</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/12.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img13" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img13</field> | ||||
|             <field name="sequence">13</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/13.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img14" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img14</field> | ||||
|             <field name="sequence">14</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/14.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img15" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img15</field> | ||||
|             <field name="sequence">15</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/15.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img16" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img16</field> | ||||
|             <field name="sequence">16</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/16.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img17" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img17</field> | ||||
|             <field name="sequence">17</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/17.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img18" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img18</field> | ||||
|             <field name="sequence">18</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/18.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img19" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img19</field> | ||||
|             <field name="sequence">19</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/19.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img20" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img20</field> | ||||
|             <field name="sequence">20</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/20.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img21" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img21</field> | ||||
|             <field name="sequence">21</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/21.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img22" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img22</field> | ||||
|             <field name="sequence">22</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/22.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img23" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img23</field> | ||||
|             <field name="sequence">23</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/23.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img24" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img24</field> | ||||
|             <field name="sequence">24</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/24.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img25" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img25</field> | ||||
|             <field name="sequence">25</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/25.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img26" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img26</field> | ||||
|             <field name="sequence">26</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/26.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img27" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img27</field> | ||||
|             <field name="sequence">27</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/27.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img28" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img28</field> | ||||
|             <field name="sequence">28</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/28.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img29" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img29</field> | ||||
|             <field name="sequence">29</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/29.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img30" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img30</field> | ||||
|             <field name="sequence">30</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/30.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img31" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img31</field> | ||||
|             <field name="sequence">31</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/31.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img32" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img32</field> | ||||
|             <field name="sequence">32</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/32.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img33" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img33</field> | ||||
|             <field name="sequence">33</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/33.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img34" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img34</field> | ||||
|             <field name="sequence">34</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/34.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img35" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img35</field> | ||||
|             <field name="sequence">35</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/35.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img36" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img36</field> | ||||
|             <field name="sequence">36</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/36.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img37" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img37</field> | ||||
|             <field name="sequence">37</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/37.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img38" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img38</field> | ||||
|             <field name="sequence">38</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/38.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img39" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img39</field> | ||||
|             <field name="sequence">39</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/39.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img40" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img40</field> | ||||
|             <field name="sequence">40</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/40.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img41" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img41</field> | ||||
|             <field name="sequence">41</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/41.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img42" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img42</field> | ||||
|             <field name="sequence">42</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/42.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img43" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img43</field> | ||||
|             <field name="sequence">43</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/43.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img44" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img44</field> | ||||
|             <field name="sequence">44</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/44.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img45" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img45</field> | ||||
|             <field name="sequence">45</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/45.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img46" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img46</field> | ||||
|             <field name="sequence">46</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/46.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img47" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img47</field> | ||||
|             <field name="sequence">47</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/47.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img48" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img48</field> | ||||
|             <field name="sequence">48</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/48.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img49" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img49</field> | ||||
|             <field name="sequence">49</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/49.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img50" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img50</field> | ||||
|             <field name="sequence">50</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/50.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img51" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img51</field> | ||||
|             <field name="sequence">51</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/51.png"/> | ||||
|         </record> | ||||
|         <record id="360_car2_img52" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data2"/> | ||||
|             <field name="name">img52</field> | ||||
|             <field name="sequence">52</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/car2/52.png"/> | ||||
|         </record> | ||||
| 
 | ||||
| 
 | ||||
|         <!-- 360 images for shoe  --> | ||||
| 
 | ||||
|         <record id="product_360_demo_data3" model="product.template"> | ||||
|             <field name="name">White Shoe</field> | ||||
|             <field name="list_price">500</field> | ||||
|             <field name="product_360_view">True</field> | ||||
|             <field name="number_of_images_for_360">18</field> | ||||
|             <field name="image_medium" type="base64" file="website_360degree_view/static/img/shoe/image1_3.jpg"/> | ||||
|             <field name="website_published" eval="True"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img1" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img1</field> | ||||
|             <field name="sequence">1</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_1.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img2" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img2</field> | ||||
|             <field name="sequence">2</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_2.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img3" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img3</field> | ||||
|             <field name="sequence">3</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_3.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img4" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img4</field> | ||||
|             <field name="sequence">4</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_4.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img5" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img5</field> | ||||
|             <field name="sequence">5</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_5.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img6" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img6</field> | ||||
|             <field name="sequence">6</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_6.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img1" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img1</field> | ||||
|             <field name="sequence">1</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_1.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img7" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img7</field> | ||||
|             <field name="sequence">7</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_7.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img8" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img8</field> | ||||
|             <field name="sequence">8</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_8.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img9" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img9</field> | ||||
|             <field name="sequence">9</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_9.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img10" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img10</field> | ||||
|             <field name="sequence">10</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_10.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img11" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img11</field> | ||||
|             <field name="sequence">11</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_11.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img12" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img12</field> | ||||
|             <field name="sequence">12</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_12.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img13" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img13</field> | ||||
|             <field name="sequence">13</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_13.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img14" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img14</field> | ||||
|             <field name="sequence">14</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_14.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img15" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img15</field> | ||||
|             <field name="sequence">15</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_15.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img16" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img16</field> | ||||
|             <field name="sequence">16</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_16.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img17" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img17</field> | ||||
|             <field name="sequence">17</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_17.jpg"/> | ||||
|         </record> | ||||
|         <record id="360_shoe_img18" model="product.360.view"> | ||||
|             <field name="template_id" ref="website_360degree_view.product_360_demo_data3"/> | ||||
|             <field name="name">img18</field> | ||||
|             <field name="sequence">18</field> | ||||
|             <field name="image" type="base64" file="website_360degree_view/static/img/shoe/image1_18.jpg"/> | ||||
|         </record> | ||||
| 
 | ||||
| 
 | ||||
|     </data> | ||||
| </odoo> | ||||
|  | @ -0,0 +1,20 @@ | |||
| # -*- coding: utf-8 -*- | ||||
| ################################################################################# | ||||
| # Author      : Webkul Software Pvt. Ltd. (<https://webkul.com/>) | ||||
| # Copyright(c): 2015-Present Webkul Software Pvt. Ltd. | ||||
| # License URL : https://store.webkul.com/license.html/ | ||||
| # All Rights Reserved. | ||||
| # | ||||
| # | ||||
| # | ||||
| # This program is copyright property of the author mentioned above. | ||||
| # You can`t redistribute it and/or modify it. | ||||
| # | ||||
| # | ||||
| # You should have received a copy of the License along with this program. | ||||
| # If not, see <https://store.webkul.com/license.html/> | ||||
| ################################################################################# | ||||
| 
 | ||||
| from . import product_360_view | ||||
| from . import res_config | ||||
| from . import webkul_addons_config_inherit | ||||
|  | @ -0,0 +1,80 @@ | |||
| # -*- coding: utf-8 -*- | ||||
| ################################################################################# | ||||
| # Author      : Webkul Software Pvt. Ltd. (<https://webkul.com/>) | ||||
| # Copyright(c): 2015-Present Webkul Software Pvt. Ltd. | ||||
| # License URL : https://store.webkul.com/license.html/ | ||||
| # All Rights Reserved. | ||||
| # | ||||
| # | ||||
| # | ||||
| # This program is copyright property of the author mentioned above. | ||||
| # You can`t redistribute it and/or modify it. | ||||
| # | ||||
| # | ||||
| # You should have received a copy of the License along with this program. | ||||
| # If not, see <https://store.webkul.com/license.html/> | ||||
| ################################################################################# | ||||
| 
 | ||||
| from odoo import api, fields, models, tools, _ | ||||
| import logging | ||||
| _logger = logging.getLogger(__name__) | ||||
| 
 | ||||
| class Product360View(models.Model): | ||||
|     _name = 'product.360.view' | ||||
|     _description = "Product Images For 360 Degree View" | ||||
|     _order = 'sequence asc' | ||||
| 
 | ||||
|     name = fields.Char(string='Image Title', | ||||
|                        help="A Title shows when you mouse over an image.") | ||||
|     image = fields.Binary(string='Image', required=True) | ||||
|     template_id = fields.Many2one( | ||||
|         comodel_name='product.template', string='Product Template') | ||||
|     sequence = fields.Integer(string='Sequence', required=True) | ||||
| 
 | ||||
|     @api.depends('image') | ||||
|     def _compute_images(self): | ||||
|         for rec in self: | ||||
|             rec.image_small = tools.image_resize_image_small(rec.image) | ||||
| 
 | ||||
|     def _inverse_image_small(self): | ||||
|         for rec in self: | ||||
|             rec.image = tools.image_resize_image_big(rec.image_small) | ||||
| 
 | ||||
| 
 | ||||
| class ProductTemplate(models.Model): | ||||
|     _inherit = 'product.template' | ||||
| 
 | ||||
|     @api.depends('template_360_images') | ||||
|     def _get_number_of_images_for_360(self): | ||||
|         for self_obj in self: | ||||
|             if self_obj.template_360_images: | ||||
|                 self.number_of_images_for_360 = len( | ||||
|                     self_obj.template_360_images) | ||||
| 
 | ||||
|     template_360_images = fields.One2many( | ||||
|         comodel_name='product.360.view', inverse_name='template_id', string='Product 360 View Images') | ||||
|     product_360_view = fields.Boolean( | ||||
|         string="Show Product 360° View Only", help="Tick this field if you want to show product 360° view.") | ||||
|     product_default_view = fields.Boolean( | ||||
|         string="Show Product Default Image", help="Tick this field if you want to show product default(Odoo) view.", | ||||
|         default= True) | ||||
|     number_of_images_for_360 = fields.Integer( | ||||
|         compute='_get_number_of_images_for_360', string="Number Of Images") | ||||
| 
 | ||||
|     @api.onchange('product_360_view') | ||||
|     def on_change_product_360_view(self): | ||||
|         if self.product_360_view: | ||||
|             self.product_default_view = False | ||||
| 
 | ||||
|     @api.onchange('product_default_view') | ||||
|     def on_change_product_default_view(self): | ||||
|         if self.product_default_view: | ||||
|             self.product_360_view = False | ||||
| 
 | ||||
|     def get_360_view_config(self): | ||||
|         config_dict = self.env[ | ||||
|             "website.360.view.config"].get_default_product_360_view_fields() | ||||
|         if config_dict.get("enable_360_view"): | ||||
|             return config_dict["enable_360_view"] | ||||
|         else: | ||||
|             return False | ||||
|  | @ -0,0 +1,59 @@ | |||
| # -*- coding: utf-8 -*- | ||||
| ################################################################################# | ||||
| # Author      : Webkul Software Pvt. Ltd. (<https://webkul.com/>) | ||||
| # Copyright(c): 2015-Present Webkul Software Pvt. Ltd. | ||||
| # License URL : https://store.webkul.com/license.html/ | ||||
| # All Rights Reserved. | ||||
| # | ||||
| # | ||||
| # | ||||
| # This program is copyright property of the author mentioned above. | ||||
| # You can`t redistribute it and/or modify it. | ||||
| # | ||||
| # | ||||
| # You should have received a copy of the License along with this program. | ||||
| # If not, see <https://store.webkul.com/license.html/> | ||||
| ################################################################################# | ||||
| 
 | ||||
| from odoo import api, fields, models, _ | ||||
| from odoo.exceptions import Warning | ||||
| import logging | ||||
| _logger = logging.getLogger(__name__) | ||||
| 
 | ||||
| 
 | ||||
| class Website360ViewConfig(models.TransientModel): | ||||
|     _name = 'website.360.view.config' | ||||
|     _inherit = 'res.config.settings' | ||||
| 
 | ||||
|     enable_360_view = fields.Boolean( | ||||
|         string="Enable 360° view", help="Enable 360° view of product on you website.") | ||||
| 
 | ||||
|     @api.onchange('enable_360_view') | ||||
|     def on_change_enable_360_view(self): | ||||
|         product_temp_objs = self.env['product.template'].search([]) | ||||
|         if self.enable_360_view: | ||||
|             for obj in product_temp_objs: | ||||
|                 obj.write({"product_360_view": True, | ||||
|                            "product_default_view": False}) | ||||
|         else: | ||||
|             for obj in product_temp_objs: | ||||
|                 obj.write({"product_default_view": True, | ||||
|                            "product_360_view": False}) | ||||
| 
 | ||||
|     @api.multi | ||||
|     def set_values(self): | ||||
|         super(Website360ViewConfig, self).set_values() | ||||
|         IrDefault = self.env['ir.default'].sudo() | ||||
|         IrDefault.set('website.360.view.config', 'enable_360_view', self.enable_360_view or False) | ||||
|         return True | ||||
| 
 | ||||
|     @api.model | ||||
|     def get_values(self): | ||||
|         res = super(Website360ViewConfig, self).get_values() | ||||
|         IrDefault = self.env['ir.default'].sudo() | ||||
|         res.update( | ||||
|             { | ||||
|             'enable_360_view':IrDefault.get('website.360.view.config', 'enable_360_view'), | ||||
|             } | ||||
|         ) | ||||
|         return res | ||||
|  | @ -0,0 +1,25 @@ | |||
| # -*- coding: utf-8 -*- | ||||
| ################################################################################# | ||||
| # Author      : Webkul Software Pvt. Ltd. (<https://webkul.com/>) | ||||
| # Copyright(c): 2015-Present Webkul Software Pvt. Ltd. | ||||
| # License URL : https://store.webkul.com/license.html/ | ||||
| # All Rights Reserved. | ||||
| # | ||||
| # | ||||
| # | ||||
| # This program is copyright property of the author mentioned above. | ||||
| # You can`t redistribute it and/or modify it. | ||||
| # | ||||
| # | ||||
| # You should have received a copy of the License along with this program. | ||||
| # If not, see <https://store.webkul.com/license.html/> | ||||
| ################################################################################# | ||||
| 
 | ||||
| from odoo import api, fields, models, _ | ||||
| from odoo.exceptions import Warning | ||||
| 
 | ||||
| 
 | ||||
| class WebkulWebsiteAddons(models.TransientModel): | ||||
|     _inherit = 'webkul.website.addons' | ||||
| 
 | ||||
|     # inherit the module for adding config option in webkul_website_addons | ||||
|  | @ -0,0 +1,5 @@ | |||
| id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink | ||||
| ,,,,,,, | ||||
| access_product_website_360_view_public_user,product.extra.images,model_product_360_view,base.group_public,1,0,0,0 | ||||
| access_product_website_360_view_users,product.extra.images,model_product_360_view,,1,0,0,0 | ||||
| access_product_website_360_view_portal_user,product.extra.images,model_product_360_view,base.group_portal,1,0,0,0 | ||||
| 
 | 
| After Width: | Height: | Size: 4.6 MiB | 
| After Width: | Height: | Size: 227 KiB | 
| After Width: | Height: | Size: 27 KiB | 
| After Width: | Height: | Size: 93 KiB | 
| After Width: | Height: | Size: 7.0 KiB | 
| After Width: | Height: | Size: 36 KiB | 
| After Width: | Height: | Size: 163 KiB | 
| After Width: | Height: | Size: 128 KiB | 
| After Width: | Height: | Size: 36 KiB | 
| After Width: | Height: | Size: 99 KiB | 
| After Width: | Height: | Size: 20 KiB | 
							
								
								
									
										
											BIN
										
									
								
								ext/3rd-party-addons/website_360degree_view/static/description/icon-features.png
								
								
								
								
									Executable file
								
							
							
						
						| After Width: | Height: | Size: 341 B | 
| After Width: | Height: | Size: 469 B | 
| After Width: | Height: | Size: 315 B | 
| After Width: | Height: | Size: 4.9 KiB | 
|  | @ -0,0 +1,264 @@ | |||
| <!-- Copyright (c) 2016-Present Webkul Software Pvt. Ltd. (<https://webkul.com/>) --> | ||||
| <!-- See LICENSE file for full copyright and licensing details. --> | ||||
| <!-- License URL : https://store.webkul.com/license.html/ --> | ||||
| <section class="oe_container oe_dark lead"> | ||||
|   <h2><p class="text-primary text-center"><b>Website Product 360<sup>o</sup> View</b></p></h2> | ||||
|   <div class="oe_row"> | ||||
|       <div class='oe_span12' style="width: 828px;"> | ||||
|           <div class="panel panel-primary" id="wkid0"> | ||||
|             <div class="panel-heading"> | ||||
|               <h3 class="panel-title"><b> Basic Features</b></h3> | ||||
|             </div> | ||||
|             <div class="panel-body"> | ||||
|                 <div class="alert alert-info"> | ||||
|                     <i class="fa fa-arrow-circle-o-right"></i> | ||||
|                     <b> Benefits </b> | ||||
|                 </div> | ||||
|                 <div class="oe_row"> | ||||
|                     <ul class="list-unstyled oe_span6" style="width: 414px;"> | ||||
|                         <li><i class="fa fa-check text-primary"></i> Products 360 degree is a full Responsive and a Mobile Optimized Module.</li> | ||||
|                         <li><i class="fa fa-check text-primary"></i> Easy to configure module for 360 degree product view.</li> | ||||
|                         <li><i class="fa fa-check text-primary"></i> Auto spins the product once on product page.</li> | ||||
|                         <li><i class="fa fa-check text-primary"></i> User can replay the product spin to have 360 degree product view, also user can pause, start and stop in between. </li> | ||||
|                         <li><i class="fa fa-check text-primary"></i> User can view products moving left - right using the keyboard buttons, rotating the mouse wheel, also the gesture events are supportive on a single touch. </li> | ||||
|                         <li><i class="fa fa-check text-primary"></i> Users can have a complete product view by dragging the mouse click. </li> | ||||
|                         <li><i class="fa fa-check text-primary"></i> 360 degree view will influence sales by sharing the complete product view.</li> | ||||
|                     </ul> | ||||
|                     <div class="oe_span12" style="width: 414px;"> | ||||
|                         <div class=""> | ||||
|                             <a href="0.gif"><img class="oe_picture oe_screenshot" src="0.gif" style="width:400px;"></a> | ||||
|                         </div> | ||||
|                         <div class=""> | ||||
|                             <center><b>Demo 360<sup>o</sup> View</b></center> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </div> | ||||
|           </div> | ||||
|       </div> | ||||
|   </div> | ||||
| </section> | ||||
| <section class="oe_container"> | ||||
|     <ul class="nav nav-tabs"> | ||||
|     <li class="active "> | ||||
|         <a href="#odoo_website_360degree_product_view_tab2" data-toggle="tab"> | ||||
|             <h3 class="panel-title"><i class="fa fa-globe"></i> <b>Website View</b> </h3> | ||||
|         </a> | ||||
|     </li> | ||||
|         <li> | ||||
|             <a href="#odoo_website_360degree_product_view_tab1" data-toggle="tab"> | ||||
|                 <h3 class="panel-title"><i class="fa fa-cogs"></i> <b>Setup & Configure</b> </h3> | ||||
|             </a> | ||||
|         </li> | ||||
|     </ul> | ||||
| 
 | ||||
|     <div id="my-tab-content" class="tab-content"> | ||||
|         <div class="tab-pane " id="odoo_website_360degree_product_view_tab1"> | ||||
|             <section class="oe_container oe_dark"> | ||||
|                 <div class="oe_row"> | ||||
|                     <div class='oe_span12' style="width: 828px;"> | ||||
|                         <div class="panel panel-primary" id="wkid0"> | ||||
|                             <div class="panel-heading"> | ||||
|                               <h3 class="panel-title"><b>Product 360<sup>o</sup> View Configuration</b></h3> | ||||
|                             </div> | ||||
|                             <div class="panel-body"> | ||||
|                                 <h4 class="oe_slogan" style="margin-left:-25px;"> | ||||
|                                     Admin can configure default settings for 360<sup>o</sup> View. | ||||
|                                 </h4> | ||||
|                                 <div class='oe_span12' style="width: 828px;margin-left:-25px;"> | ||||
|                                     <div class="oe_row_img oe_centered"> | ||||
|                                         <a href="3.jpg"><img class="oe_picture oe_screenshot" src="3.jpg"></a> | ||||
|                                         <a href="4.png"><img class="oe_picture oe_screenshot" src="4.png"></a> | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </section> | ||||
| 
 | ||||
|             <section class="oe_container oe_dark"> | ||||
|                 <div class="oe_row"> | ||||
|                     <div class='oe_span12' style="width: 828px;"> | ||||
|                         <div class="panel panel-primary" id="wkid0"> | ||||
|                             <div class="panel-heading"> | ||||
|                               <h3 class="panel-title"><b>Product View</b></h3> | ||||
|                             </div> | ||||
|                             <div class="panel-body"> | ||||
|                                 <h4 class="oe_slogan" style="margin-left:-25px;"> | ||||
|                                     All the images of the product used in 360<sup>o</sup> view. | ||||
|                                 </h4> | ||||
|                                 <div class='oe_span12' style="width: 828px;margin-left:-25px;"> | ||||
|                                     <div class="oe_row_img oe_centered"> | ||||
|                                         <a href="5.png"><img class="oe_picture oe_screenshot" src="5.png"></a> | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </section> | ||||
| 
 | ||||
|             <section class="oe_container oe_dark"> | ||||
|                 <div class="oe_row"> | ||||
|                     <div class='oe_span12' style="width: 828px;"> | ||||
|                         <div class="panel panel-primary" id="wkid0"> | ||||
|                             <div class="panel-heading"> | ||||
|                               <h3 class="panel-title"><b>360<sup>o</sup> View Images</b></h3> | ||||
|                             </div> | ||||
|                             <div class="panel-body"> | ||||
|                                 <h4 class="oe_slogan" style="margin-left:-25px;"> | ||||
|                                     Upload Images For 360<sup>o</sup> View. | ||||
|                                 </h4> | ||||
|                                 <div class='oe_span12' style="width: 828px;margin-left:-25px;"> | ||||
|                                     <div class="oe_row_img oe_centered"> | ||||
|                                         <a href="6.png"><img class="oe_picture oe_screenshot" src="6.png"></a> | ||||
|                                         <a href="7.png"><img class="oe_picture oe_screenshot" src="7.png"></a> | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="panel panel-danger" id="wkid0"> | ||||
|                             <div class="list-unstyled oe_spdangeran12"> | ||||
|                                 <div class="alert alert-danger"> | ||||
|                                     <i class="fa fa-pencil-square-o"></i> | ||||
|                                     <b>Note: </b>Sequence number of the image is very important. Images will spin in the sequence according to sequence number. So be careful during assigning sequence number to image. | ||||
|                                 </div> | ||||
| 
 | ||||
|                                 <div class="alert alert-danger"> | ||||
|                                     <i class="fa fa-pencil-square-o"></i> | ||||
|                                     <b>Note: </b>For good result of 360<sup>o</sup> view, use at least 25 images. | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </section> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|             <section class="oe_container oe_dark"> | ||||
|                 <div class="oe_row"> | ||||
|                     <div class='oe_span12' style="width: 828px;"> | ||||
|                         <div class="panel panel-primary" id="wkid0"> | ||||
|                             <div class="panel-heading"> | ||||
|                               <h3 class="panel-title"><b>See All 360<sup>o</sup> View Images</b></h3> | ||||
|                             </div> | ||||
|                             <div class="panel-body"> | ||||
|                                 <h4 class="oe_slogan" style="margin-left:-25px;"> | ||||
|                                     View all uploaded images for 360<sup>o</sup> view at one place. | ||||
|                                 </h4> | ||||
|                                 <div class='oe_span12' style="width: 828px;margin-left:-25px;"> | ||||
|                                     <div class="oe_row_img oe_centered"> | ||||
|                                         <a href="8.png"><img class="oe_picture oe_screenshot" src="8.png"></a> | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </section> | ||||
|             <section class="oe_container oe_dark"> | ||||
|                 <div class="oe_row"> | ||||
|                     <div class='oe_span12' style="width: 828px;"> | ||||
|                         <div class="panel panel-primary" id="wkid0"> | ||||
|                             <div class="panel-heading"> | ||||
|                               <h3 class="panel-title"><b>Device Responsive View</b></h3> | ||||
|                             </div> | ||||
|                             <div class="panel-body"> | ||||
|                                 <h4 class="oe_slogan" style="margin-left:-25px;"> | ||||
|                                     Also responsive 360<sup>o</sup> view for many devices. | ||||
|                                 </h4> | ||||
|                                 <div class='oe_span12' style="width: 828px;margin-left:-25px;"> | ||||
|                                     <div class="oe_row_img oe_centered"> | ||||
|                                         <a href="2.jpg"><img class="oe_picture oe_screenshot" src="2.jpg" style="margin-left:32%;"></a> | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </section> | ||||
|         </div> | ||||
|         <div class="tab-pane active" id="odoo_website_360degree_product_view_tab2"> | ||||
|             <section class="oe_container oe_dark"> | ||||
|                 <div class='oe_span12' style="width: 828px;"> | ||||
|                         <div class="panel panel-primary" id="wkid0"> | ||||
|                             <div class="panel-heading"> | ||||
|                               <h3 class="panel-title"><b>Product 360<sup>o</sup> View On website</b></h3> | ||||
|                             </div> | ||||
|                             <div class="panel-body"> | ||||
|                                 <h4 class="oe_slogan" style="margin-left:-25px;"> | ||||
|                                     360<sup>o</sup> Degree view on website. | ||||
|                                 </h4> | ||||
|                                 <div class='oe_span12' style="width: 828px;margin-left:-25px;"> | ||||
|                                     <div class="oe_row_img oe_centered"> | ||||
|                                         <center> | ||||
|                                             <a href="1.png"><img class="oe_picture oe_screenshot" src="1.png"></a> | ||||
|                                         </center> | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|             </section> | ||||
| 
 | ||||
|             <section class="oe_container oe_dark"> | ||||
|                 <div class="oe_row"> | ||||
|                     <div class='oe_span12' style="width: 828px;"> | ||||
|                         <div class="panel panel-primary" id="wkid0"> | ||||
|                             <div class="panel-heading"> | ||||
|                               <h3 class="panel-title"><b>Device Responsive View</b></h3> | ||||
|                             </div> | ||||
|                             <div class="panel-body"> | ||||
|                                 <h4 class="oe_slogan"> | ||||
|                                     Also responsive 360<sup>o</sup> view for many devices. | ||||
|                                 </h4> | ||||
|                                 <div class='oe_span12' style="width: 828px;"> | ||||
|                                     <div class="oe_row_img oe_centered"> | ||||
|                                         <a href="2.jpg"><img class="oe_picture oe_screenshot" src="2.jpg" style="margin-left:32%;"></a> | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </section> | ||||
|         </div> | ||||
|     </div> | ||||
| </section> | ||||
| <section class="oe_container oe_dark"> | ||||
|     <div class="oe_row"> | ||||
|         <div class="oe_span12"> | ||||
|             <h2 class="oe_slogan">Complimentary Support</h2> | ||||
|             <p> | ||||
|             You will get 90 days free support for any doubt, queries, and bug fixing (excluding data recovery) or any type of issue related to this module. | ||||
|             </p> | ||||
|         </div> | ||||
|     </div> | ||||
| </section> | ||||
| 
 | ||||
| <div class="oe_row oe_spaced"> | ||||
|     <div class="oe_span12"> | ||||
|         <h2 class="oe_slogan">Help and Support</h2> | ||||
|     </div> | ||||
|      <div class="oe_slogan oe_spaced"> | ||||
|         <img src="icon-help.png"> | ||||
|         <span ><a onMouseOver="this.style.color='#AC1EE0'" | ||||
|             onMouseOut="this.style.color='#7c7bad'" style="color:#7c7bad;" target="_blank" href="https://webkul.uvdesk.com/en/customer/create-ticket">Help</a></span> | ||||
|         <img src="icon-support.png"> | ||||
|         <span ><a onMouseOver="this.style.color='#AC1EE0'" | ||||
|             onMouseOut="this.style.color='#7c7bad'" style="color:#7c7bad;" target="_blank" href="https://webkul.uvdesk.com/en/customer/create-ticket">Support</a></span> | ||||
|         <img src="icon-features.png"> | ||||
|         <span ><a onMouseOver="this.style.color='#AC1EE0'" | ||||
|             onMouseOut="this.style.color='#7c7bad'" style="color:#7c7bad;" target="_blank" href="https://webkul.uvdesk.com/en/customer/create-ticket">Request new Features</a></span> | ||||
|     </div> | ||||
| </div> | ||||
| 
 | ||||
| <section class="oe_container"> | ||||
|     <div class="oe_span12"> | ||||
|         <!-- Piwik Image Tracker--> | ||||
| <img src="http://odooimg.webkul.com/analytics/piwik/piwik.php?idsite=3&rec=1&action_name=WEBSITE-PRODUCT-360-VIEW&url=https://apps.openerp.com/apps/modules/11.0/website_360degree_view&uid=website_360degree_view" style="border:0" alt="" /> | ||||
| <!-- End Piwik --> | ||||
|     </div> | ||||
| </section> | ||||
| After Width: | Height: | Size: 229 KiB | 
|  | @ -0,0 +1,249 @@ | |||
| <section class="oe_container oe_dark lead"> | ||||
|   <h2><p class="text-primary text-center"><b>Website Product 360<sup>o</sup> View</b></p></h2>  | ||||
|   <div class="oe_row">     | ||||
|       <div class='oe_span12'> | ||||
|           <div class="panel panel-primary" id="wkid0"> | ||||
|             <div class="panel-heading"> | ||||
|               <h3 class="panel-title"><b> Basic Features</b></h3> | ||||
|             </div> | ||||
|             <div class="panel-body"> | ||||
|                 <div class="alert alert-info"> | ||||
|                     <i class="fa fa-arrow-circle-o-right"></i> | ||||
|                     <b> Benefit </b> | ||||
|                 </div> | ||||
|                 <ul class="list-unstyled oe_span6">                | ||||
|                     <li><i class="fa fa-check text-primary"></i> Auto-spin once.</li>            | ||||
|                     <li><i class="fa fa-check text-primary"></i> User can start, or stop auto spin.</li> | ||||
|                     <li><i class="fa fa-check text-primary"></i> User can see one by one image using next and previous button.</li> | ||||
|                     <li><i class="fa fa-check text-primary"></i> User can spin using mouse click & drag.</li>                           | ||||
|                     <li><i class="fa fa-check text-primary"></i>User can spin using touch events.</li>      | ||||
|                     <li><i class="fa fa-check text-primary"></i> User can spin product image using mousewheel.</li> | ||||
|                     <li><i class="fa fa-check text-primary"></i> Admin can easily manage 360<sup>o</sup> View in product.</li> | ||||
|                     <li><i class="fa fa-check text-primary"></i> Simplified configuration setup for product 360<sup>o</sup> View.</li> | ||||
|                     <li><i class="fa fa-check text-primary"></i> Admin can see all  360<sup>o</sup> View images at one place.</li> | ||||
|                 </ul> | ||||
|                 <div class=""> | ||||
|                     <img class="oe_picture oe_screenshot" src="main2.gif"> | ||||
|                 </div> | ||||
|             </div> | ||||
|             <!-- <div class="panel-body"> | ||||
|                 <div class="alert alert-info"> | ||||
|                     <i class="fa fa-arrow-circle-o-right"></i> | ||||
|                     <b>Admirable  Features </b> | ||||
|                 </div> | ||||
|                 <ul class="list-unstyled "> | ||||
|                     <li> <i class="fa fa-hand-o-right text-primary"></i> Handles direct payouts to your bank account.</li>    | ||||
|                     <li> <i class="fa fa-hand-o-right text-primary"></i> Manages refund directly from the admin account .</li> | ||||
|                     <li> <i class="fa fa-hand-o-right text-primary"></i> One of the faster payment processing methods.</li>  | ||||
|                 </ul> | ||||
|             </div> --> | ||||
|           </div> | ||||
|       </div> | ||||
|   </div> | ||||
| </section> | ||||
| <section class="oe_container"> | ||||
|     <ul class="nav nav-tabs "> | ||||
|         <li class="active "> | ||||
|             <a href="#odoo_website_360degree_product_view_tab1" data-toggle="tab"> | ||||
|                 <h3 class="panel-title"><i class="fa fa-cogs"></i> <b>Setup & Configure</b> </h3> | ||||
|             </a> | ||||
|         </li> | ||||
|         <li> | ||||
|             <a href="#odoo_website_360degree_product_view_tab2" data-toggle="tab"> | ||||
|                 <h3 class="panel-title"><i class="fa fa-globe"></i> <b>Website View</b> </h3> | ||||
|             </a> | ||||
|         </li> | ||||
|     </ul> | ||||
| 
 | ||||
|     <div id="my-tab-content" class="tab-content"> | ||||
|         <div class="tab-pane active" id="odoo_website_360degree_product_view_tab1"> | ||||
|             <section class="oe_container oe_dark"> | ||||
|                 <div class="oe_row">     | ||||
|                     <div class='oe_span12'> | ||||
|                         <div class="panel panel-primary" id="wkid0"> | ||||
|                             <div class="panel-heading"> | ||||
|                               <h3 class="panel-title"><b>Product 360<sup>o</sup> View Configuration</b></h3> | ||||
|                             </div> | ||||
|                             <div class="panel-body"> | ||||
|                                 <h4 class="oe_slogan"> | ||||
|                                     Admin can configure default settings for 360<sup>o</sup> View. | ||||
|                                 </h4> | ||||
|                                 <div class="oe_span12"> | ||||
|                                     <div class="oe_row_img oe_centered"> | ||||
|                                         <img class="oe_picture oe_screenshot" src="config.png"> | ||||
|                                         <img class="oe_picture oe_screenshot" src="config2.png"> | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div>                         | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </section>       | ||||
| 
 | ||||
|             <section class="oe_container oe_dark"> | ||||
|                 <div class="oe_row">     | ||||
|                     <div class='oe_span12'> | ||||
|                         <div class="panel panel-primary" id="wkid0"> | ||||
|                             <div class="panel-heading"> | ||||
|                               <h3 class="panel-title"><b>Product View</b></h3> | ||||
|                             </div> | ||||
|                             <div class="panel-body"> | ||||
|                                 <h4 class="oe_slogan"> | ||||
|                                     All the images of the product using in 360<sup>o</sup> view. | ||||
|                                 </h4> | ||||
|                                 <div class="oe_span12"> | ||||
|                                     <div class="oe_row_img oe_centered"> | ||||
|                                         <img class="oe_picture oe_screenshot" src="temp2.png"> | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div>                         | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </section> | ||||
| 
 | ||||
|             <section class="oe_container oe_dark"> | ||||
|                 <div class="oe_row">                    | ||||
|                     <div class="panel panel-primary" id="wkid0"> | ||||
|                         <div class="panel-heading"> | ||||
|                           <h3 class="panel-title"><b>360<sup>o</sup> View Images</b></h3> | ||||
|                         </div> | ||||
|                         <div class="panel-body"> | ||||
|                             <h4 class="oe_slogan"> | ||||
|                                 Upload Images For 360<sup>o</sup> View. | ||||
|                             </h4> | ||||
|                             <div class="oe_span12"> | ||||
|                                 <div class="oe_row_img oe_centered"> | ||||
|                                     <img class="oe_picture oe_screenshot" src="upload2.png"> | ||||
|                                     <img class="oe_picture oe_screenshot" src="seque.png"> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                     <div class="panel panel-primary" id="wkid0"> | ||||
|                         <div class="list-unstyled oe_span12"> | ||||
|                             <div class="alert alert-info"> | ||||
|                                 <i class="fa fa-pencil-square-o"></i> | ||||
|                                 <b>Note: </b>Sequence number of the image is very important. Images will spin in the sequence according to sequence number. So be careful during assigning sequence number to image. | ||||
|                             </div> | ||||
| 
 | ||||
|                             <div class="alert alert-info"> | ||||
|                                 <i class="fa fa-pencil-square-o"></i> | ||||
|                                 <b>Note: </b>Sequence number of the image is very important. Images will spin in the sequence according to sequence number. So be careful during assigning sequence number to image. | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </section> | ||||
| 
 | ||||
|                  | ||||
| 
 | ||||
|             <section class="oe_container oe_dark"> | ||||
|                 <div class="oe_row">     | ||||
|                     <div class='oe_span12'> | ||||
|                         <div class="panel panel-primary" id="wkid0"> | ||||
|                             <div class="panel-heading"> | ||||
|                               <h3 class="panel-title"><b>See All 360<sup>o</sup> View Images</b></h3> | ||||
|                             </div> | ||||
|                             <div class="panel-body"> | ||||
|                                 <h4 class="oe_slogan"> | ||||
|                                     View all uploaded images for 360<sup>o</sup> view at one place. | ||||
|                                 </h4> | ||||
|                                 <div class="oe_span12"> | ||||
|                                     <div class="oe_row_img oe_centered"> | ||||
|                                         <img class="oe_picture oe_screenshot" src="treeview.png"> | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div>                         | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </section> | ||||
|             <section class="oe_container oe_dark"> | ||||
|                 <div class="oe_row">     | ||||
|                     <div class='oe_span12'> | ||||
|                         <div class="panel panel-primary" id="wkid0"> | ||||
|                             <div class="panel-heading"> | ||||
|                               <h3 class="panel-title"><b>Device Responsive View</b></h3> | ||||
|                             </div> | ||||
|                             <div class="panel-body"> | ||||
|                                 <h4 class="oe_slogan"> | ||||
|                                     Also responsive 360<sup>o</sup> view for many devices. | ||||
|                                 </h4> | ||||
|                                 <div class="oe_span12"> | ||||
|                                     <div class="oe_row_img oe_centered"> | ||||
|                                         <img class="oe_picture oe_screenshot" src="mobile.png"> | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div>                         | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </section> | ||||
|         </div> | ||||
|         <div class="tab-pane" id="odoo_website_360degree_product_view_tab2"> | ||||
|             <section class="oe_container oe_dark"> | ||||
|                 <div class='oe_span12'> | ||||
|                         <div class="panel panel-primary" id="wkid0"> | ||||
|                             <div class="panel-heading"> | ||||
|                               <h3 class="panel-title"><b>Product 360<sup>o</sup> View On website</b></h3> | ||||
|                             </div> | ||||
|                             <div class="panel-body"> | ||||
|                                 <h4 class="oe_slogan"> | ||||
|                                     360<sup>o</sup> Degree view on website. | ||||
|                                 </h4> | ||||
|                                 <div class="oe_span12"> | ||||
|                                     <div class="oe_row_img oe_centered"> | ||||
|                                         <img class="oe_picture oe_screenshot" src="web1.png"> | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div>                         | ||||
|                     </div> | ||||
|             </section>       | ||||
| 
 | ||||
|             <section class="oe_container oe_dark"> | ||||
|                 <div class="oe_row">     | ||||
|                     <div class='oe_span12'> | ||||
|                         <div class="panel panel-primary" id="wkid0"> | ||||
|                             <div class="panel-heading"> | ||||
|                               <h3 class="panel-title"><b>Device Responsive View</b></h3> | ||||
|                             </div> | ||||
|                             <div class="panel-body"> | ||||
|                                 <h4 class="oe_slogan"> | ||||
|                                     Also responsive 360<sup>o</sup> view for many devices. | ||||
|                                 </h4> | ||||
|                                 <div class="oe_span12"> | ||||
|                                     <div class="oe_row_img oe_centered"> | ||||
|                                         <img class="oe_picture oe_screenshot" src="mobile.png"> | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div>                         | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </section> | ||||
|         </div> | ||||
|     </div> | ||||
| </section> | ||||
| 
 | ||||
| 
 | ||||
| <section class="oe_container"> | ||||
|     <div class="oe_row oe_spaced"> | ||||
|         <div class="oe_span12"> | ||||
|             <h2 class="oe_slogan">Help and Support</h2> | ||||
|         </div> | ||||
|         <div class="oe_slogan"> | ||||
|             <img src="icon-help.png"> | ||||
|             <span ><a onMouseOver="this.style.color='#AC1EE0'" | ||||
|    onMouseOut="this.style.color='#7c7bad'" target="_blank" style="color:#7c7bad;" href="https://webkul.com/ticket/open.php">Help</a></span> | ||||
|             <img src="icon-support.png"> | ||||
|             <span ><a onMouseOver="this.style.color='#AC1EE0'" | ||||
|    onMouseOut="this.style.color='#7c7bad'" target="_blank" style="color:#7c7bad;" href="https://webkul.com/ticket/open.php">Support</a></span> | ||||
|             <img src="icon-features.png"> | ||||
|             <span ><a onMouseOver="this.style.color='#AC1EE0'" | ||||
|    onMouseOut="this.style.color='#7c7bad'" target="_blank" style="color:#7c7bad;" href="https://webkul.com/ticket/open.php">Request new Features</a></span> | ||||
|         </div> | ||||
|     </div> | ||||
| </section> | ||||
| 
 | ||||
| After Width: | Height: | Size: 21 KiB | 
| After Width: | Height: | Size: 13 KiB | 
| After Width: | Height: | Size: 15 KiB | 
| After Width: | Height: | Size: 17 KiB | 
| After Width: | Height: | Size: 18 KiB | 
| After Width: | Height: | Size: 19 KiB | 
| After Width: | Height: | Size: 20 KiB | 
| After Width: | Height: | Size: 21 KiB | 
| After Width: | Height: | Size: 21 KiB | 
| After Width: | Height: | Size: 21 KiB | 
| After Width: | Height: | Size: 21 KiB | 
| After Width: | Height: | Size: 21 KiB | 
| After Width: | Height: | Size: 21 KiB | 
| After Width: | Height: | Size: 21 KiB | 
| After Width: | Height: | Size: 21 KiB | 
| After Width: | Height: | Size: 20 KiB | 
| After Width: | Height: | Size: 19 KiB | 
| After Width: | Height: | Size: 18 KiB | 
| After Width: | Height: | Size: 17 KiB | 
| After Width: | Height: | Size: 15 KiB | 
| After Width: | Height: | Size: 14 KiB | 
| After Width: | Height: | Size: 15 KiB | 
| After Width: | Height: | Size: 21 KiB | 
| After Width: | Height: | Size: 17 KiB | 
| After Width: | Height: | Size: 18 KiB | 
| After Width: | Height: | Size: 19 KiB | 
| After Width: | Height: | Size: 20 KiB | 
| After Width: | Height: | Size: 20 KiB | 
| After Width: | Height: | Size: 21 KiB | 
| After Width: | Height: | Size: 21 KiB | 
| After Width: | Height: | Size: 21 KiB | 
| After Width: | Height: | Size: 21 KiB | 
| After Width: | Height: | Size: 20 KiB | 
| After Width: | Height: | Size: 18 KiB | 
| After Width: | Height: | Size: 17 KiB | 
| After Width: | Height: | Size: 15 KiB | 
| After Width: | Height: | Size: 71 KiB | 
| After Width: | Height: | Size: 67 KiB | 
| After Width: | Height: | Size: 67 KiB | 
| After Width: | Height: | Size: 67 KiB | 
| After Width: | Height: | Size: 65 KiB | 
| After Width: | Height: | Size: 63 KiB | 
| After Width: | Height: | Size: 61 KiB | 
| After Width: | Height: | Size: 58 KiB | 
| After Width: | Height: | Size: 55 KiB | 
| After Width: | Height: | Size: 52 KiB | 
| After Width: | Height: | Size: 50 KiB | 
| After Width: | Height: | Size: 70 KiB | 
| After Width: | Height: | Size: 52 KiB | 
| After Width: | Height: | Size: 57 KiB | 
| After Width: | Height: | Size: 63 KiB | 
| After Width: | Height: | Size: 66 KiB | 
| After Width: | Height: | Size: 70 KiB | 
| After Width: | Height: | Size: 69 KiB | 
| After Width: | Height: | Size: 68 KiB | 
| After Width: | Height: | Size: 69 KiB | 
| After Width: | Height: | Size: 70 KiB | 
| After Width: | Height: | Size: 68 KiB | 
| After Width: | Height: | Size: 68 KiB | 
| After Width: | Height: | Size: 69 KiB | 
| After Width: | Height: | Size: 66 KiB | 
| After Width: | Height: | Size: 68 KiB | 
| After Width: | Height: | Size: 67 KiB | 
| After Width: | Height: | Size: 68 KiB | 
| After Width: | Height: | Size: 70 KiB | 
| After Width: | Height: | Size: 70 KiB | 
| After Width: | Height: | Size: 70 KiB | 
| After Width: | Height: | Size: 70 KiB | 
| After Width: | Height: | Size: 70 KiB |