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 |