Neues Addon mobikul
|  | @ -0,0 +1 @@ | ||||||
|  | *.pyc | ||||||
|  | @ -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,16 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | ################################################################################# | ||||||
|  | # | ||||||
|  | #    Copyright (c) 2015-Present Webkul Software Pvt. Ltd. (<https://webkul.com/>) | ||||||
|  | # | ||||||
|  | ################################################################################# | ||||||
|  | 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,51 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | ################################################################################# | ||||||
|  | # Author      : Webkul Software Pvt. Ltd. (<https://webkul.com/>) | ||||||
|  | # Copyright(c): 2015-Present Webkul Software Pvt. Ltd. | ||||||
|  | # 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"                 :  "Mobikul: Mobile App Builder", | ||||||
|  |   "summary"              :  "This module allows you to convert your shop sales very easily with a native mobile application.", | ||||||
|  |   "category"             :  "Sales", | ||||||
|  |   "version"              :  "1.2.0", | ||||||
|  |   "sequence"             :  1, | ||||||
|  |   "author"               :  "Webkul Software Pvt. Ltd.", | ||||||
|  |   "license"              :  "Other proprietary", | ||||||
|  |   "website"              :  "", | ||||||
|  |   "description"          :  """""", | ||||||
|  |   "live_test_url"        :  "http://demo.webkul.com/web/login", | ||||||
|  |   "depends"              :  [ | ||||||
|  |                             'website_sale'], | ||||||
|  |   "data"                 :  [ | ||||||
|  |                              'security/mobikul_security.xml', | ||||||
|  |                              'security/ir.model.access.csv', | ||||||
|  |                              'data/mobikul_data.xml', | ||||||
|  |                              'views/product_view.xml', | ||||||
|  |                              'views/order_view.xml', | ||||||
|  |                              'views/mobikul_views.xml', | ||||||
|  |                              'views/res_config_view.xml', | ||||||
|  |                              'views/menus.xml', | ||||||
|  |                              'views/sync_cat_view.xml', | ||||||
|  | 
 | ||||||
|  |                             ], | ||||||
|  |   "demo"                 :  ['data/demo_data_view.xml'], | ||||||
|  |   "css"                  :  [], | ||||||
|  |   "js"                   :  [], | ||||||
|  |   "images"               :  ['static/description/Banner.png'], | ||||||
|  |   "application"          :  True, | ||||||
|  |   "installable"          :  True, | ||||||
|  |   "auto_install"         :  False, | ||||||
|  |   "price"                :  599, | ||||||
|  |   "currency"             :  "EUR", | ||||||
|  |   "pre_init_hook"        :  "pre_init_check", | ||||||
|  | } | ||||||
|  | @ -0,0 +1,211 @@ | ||||||
|  | apis={ | ||||||
|  |     'homepage':{ | ||||||
|  | 				'description':'HomePage API', | ||||||
|  | 				'uri':'/mobikul/homepage', | ||||||
|  |                 'request':['POST'] | ||||||
|  | 			}, | ||||||
|  | 
 | ||||||
|  |     'splashPageData':{ | ||||||
|  |                 'description':'Default data to saved at app end.', | ||||||
|  |                 'uri':'/mobikul/splashPageData', | ||||||
|  |                 'request':['POST'] | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |     'sliderProducts':{ | ||||||
|  |                 'description':'Product(s) of given Product Slider Record', | ||||||
|  |                 'uri':'/mobikul/sliderProducts/<int:product_slider_id>;', | ||||||
|  |                 'request':['POST'] | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |     'sliderProducts':{ | ||||||
|  |                 'description':'Product(s) of given Product Slider Record', | ||||||
|  |                 'uri':'/mobikul/search', | ||||||
|  |                 'request':['POST'], | ||||||
|  |                 'body':{ | ||||||
|  |                         "search":"l", | ||||||
|  |                          "offset":25 | ||||||
|  |                         } | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |     'MyOrders':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/my/orders', | ||||||
|  |                 'request':['POST'], | ||||||
|  | 
 | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |     'MyOrderDetail':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/my/order/<int:order_id>', | ||||||
|  |                 'request':['POST'], | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     'MyAddress':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/my/addresses', | ||||||
|  |                 'request':['POST'], | ||||||
|  |             }, | ||||||
|  |              | ||||||
|  |     'setMyDefaultAddress':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/my/address/default/<int:addressId>', | ||||||
|  |                 'request':['PUT'], | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |     'addMyNewAddress':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/my/address/new', | ||||||
|  |                 'request':['POST'], | ||||||
|  |                 'body':{ | ||||||
|  |                     "name":"acdef", | ||||||
|  |                     "city":"xyz", | ||||||
|  |                     "zip":"0987456", | ||||||
|  |                     "street":"lmno", | ||||||
|  |                     "phone":"1236547890", | ||||||
|  |                     "county_id":"3", | ||||||
|  |                     "state_id" :"5" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |     'editAddressDetail':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/my/address/<int:address_id>', | ||||||
|  |                 'request':['POST','PUT','DELETE'], | ||||||
|  |                 'body':{ | ||||||
|  |                     "name":"acdef", | ||||||
|  |                     "city":"xyz", | ||||||
|  |                     "zip":"0987456", | ||||||
|  |                     "street":"lmno", | ||||||
|  |                     "phone":"1236547890", | ||||||
|  |                     "county_id":"3", | ||||||
|  |                     "state_id" :"5" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |     'myAccount':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/my/account', | ||||||
|  |                 'request':['POST'], | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |              | ||||||
|  |     'localizationData':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/localizationData', | ||||||
|  |                 'request':['POST'], | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |     'myCartDetails':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/mycart', | ||||||
|  |                 'request':['POST'], | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |     'editCartDetail':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/mycart/<int:line_id>', | ||||||
|  |                 'request':['POST','PUT','DELETE'], | ||||||
|  |                 'body':{ | ||||||
|  |                     'set_qty':"3", | ||||||
|  |                     'add_qty':"3" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |     'emptyCart':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/mycart/setToEmpty', | ||||||
|  |                 'request':['DELETE'], | ||||||
|  |                 'body':{ | ||||||
|  |                     'set_qty':"3", | ||||||
|  |                     'add_qty':"3" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |     'addToCart':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/mycart/addToCart', | ||||||
|  |                 'request':['POST'], | ||||||
|  |                 'body':{ | ||||||
|  |                     'productId':"16", | ||||||
|  |                     'set_qty':"3", | ||||||
|  |                     'add_qty':"3" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |     'paymentAcquirers':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/paymentAcquirers', | ||||||
|  |                 'request':['POST'], | ||||||
|  |                  | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |     'orderReviewData':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/orderReviewData', | ||||||
|  |                 'request':['POST'], | ||||||
|  |                 'body':{ | ||||||
|  |                         "acquirerId":"1", | ||||||
|  |                         "shippingAddressId":"5" | ||||||
|  |                     } | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |     'placeMyOrders':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/placeMyOrder', | ||||||
|  |                 'request':['POST'], | ||||||
|  |                  | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |              | ||||||
|  |     'signUp':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/customer/signUp', | ||||||
|  |                 'request':['POST'], | ||||||
|  |                 'body':{ | ||||||
|  |                     "name":"Saurabh Gupta", | ||||||
|  |                     "login":"saurabh.gupta781@webkul.com", | ||||||
|  |                     "password":"123" | ||||||
|  |                 } | ||||||
|  |                  | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |     'login':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/customer/login', | ||||||
|  |                 'request':['POST'], | ||||||
|  |             }, | ||||||
|  |      | ||||||
|  |     'signOut':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/customer/signOut', | ||||||
|  |                 'request':['POST'], | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |      | ||||||
|  |     'resetPassword':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/customer/resetPassword', | ||||||
|  |                 'request':['POST'], | ||||||
|  |                 'body':{ | ||||||
|  |                     "name":"Saurabh Gupta", | ||||||
|  |                     "login":"saurabh.gupta781@webkul.com", | ||||||
|  |                     "password":123 | ||||||
|  |                     } | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |     'signUp':{ | ||||||
|  |                 'description':'', | ||||||
|  |                 'uri':'/mobikul/customer/signUp', | ||||||
|  |                 'request':['POST'], | ||||||
|  |                 'body':{ | ||||||
|  |                     "name":"Saurabh Gupta", | ||||||
|  |                     "login":"saurabh.gupta781@webkul.com", | ||||||
|  |                     "password":123 | ||||||
|  |                     } | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1,41 @@ | ||||||
|  | module name : Mobikul: Mobile App Builder | ||||||
|  | technical name : mobikul | ||||||
|  | 
 | ||||||
|  | ## v[1.0.0] - 2017-10-26 | ||||||
|  | ### Added | ||||||
|  | - | ||||||
|  | ### Changed | ||||||
|  | - migrate version mobikul v1.0.5 from oddo v10.0 to odoo v11.0 | ||||||
|  | ### Removed | ||||||
|  | - | ||||||
|  | ### Fix | ||||||
|  | - | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ## v[1.0.1] - 2017-11-21 | ||||||
|  | ### Added | ||||||
|  | - Add email_verification api in mobikul app  compatible to odoo v11.0 | ||||||
|  | - Add marketplace api in mobikul app  compatible to odoo v11.0 | ||||||
|  | - Add wk_review api in mobikul app  compatible to odoo v11.0 | ||||||
|  | 
 | ||||||
|  | ### Changed | ||||||
|  | - migrate version mobikul v1.0.0 to v1.0.1 | ||||||
|  | ### Removed | ||||||
|  | - | ||||||
|  | ### Fix | ||||||
|  | - | ||||||
|  | 
 | ||||||
|  | ## v[1.2.0] - 2018-3-28 | ||||||
|  | ### Added | ||||||
|  | migrate changes that done in mobikul v 10.0  to mobikul 11.0 like: | ||||||
|  | -shipping methods | ||||||
|  | -payment methods | ||||||
|  | -some issues like translation etc. | ||||||
|  | ### Changed | ||||||
|  | - migrate version mobikul v1.0.1 to v1.2.0 | ||||||
|  | ### Removed | ||||||
|  | - | ||||||
|  | ### Fix | ||||||
|  | - | ||||||
|  | [NOTE] supported wishlist module is website_sale_wishlist | ||||||
|  | @ -0,0 +1,7 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | ################################################################################# | ||||||
|  | # | ||||||
|  | #    Copyright (c) 2015-Present Webkul Software Pvt. Ltd. (<https://webkul.com/>) | ||||||
|  | # | ||||||
|  | ################################################################################# | ||||||
|  | from . import main | ||||||
|  | @ -0,0 +1,70 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  |     <data noupdate="1"> | ||||||
|  |         <record id="mobikul_banner_image_1" model="mobikul.banners"> | ||||||
|  |             <field name="image" type="base64" file="mobikul/static/src/img/Demo-Banner-1.png"/> | ||||||
|  |             <field name="name">Banner1</field> | ||||||
|  |             <field name="banner_action">product</field> | ||||||
|  |             <field name="product_id">16</field> | ||||||
|  |         </record> | ||||||
|  | 
 | ||||||
|  |         <record id="mobikul_banner_image_2" model="mobikul.banners"> | ||||||
|  |             <field name="image" type="base64" file="mobikul/static/src/img/Demo-Banner-2.png"/> | ||||||
|  |             <field name="name">Banner2</field> | ||||||
|  |             <field name="banner_action">none</field> | ||||||
|  |         </record> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         <record id="mobikul_push_notification_1" model="mobikul.push.notification.template"> | ||||||
|  |             <field name="name">signupNotify</field> | ||||||
|  |             <field name="image" type="base64" file="mobikul/static/src/img/Sign-up.png"/> | ||||||
|  |             <field name="condition">signup</field> | ||||||
|  |             <field name="notification_title">Congrats...you have successfully created your account.</field> | ||||||
|  |             <field name="notification_body">Feel free to contact us in case of any doubts.</field> | ||||||
|  |             <field name="banner_action">none</field> | ||||||
|  |         </record> | ||||||
|  | 
 | ||||||
|  |         <record id="mobikul_push_notification_2" model="mobikul.push.notification.template"> | ||||||
|  |             <field name="name">OrderNotify</field> | ||||||
|  |             <field name="image" type="base64" file="mobikul/static/src/img/Order-Placed.png"/> | ||||||
|  |             <field name="condition">orderplaced</field> | ||||||
|  |             <field name="notification_title">Thank you for your purchase !</field> | ||||||
|  |             <field name="notification_body">Your Order has been placed, successfully.</field> | ||||||
|  |             <field name="banner_action">none</field> | ||||||
|  |         </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_product_slider_1" model="mobikul.product.slider"> | ||||||
|  |             <field name="name">Discount for You</field> | ||||||
|  |             <field name="product_selection">automatic</field> | ||||||
|  |             <field name="product_based_on">new</field> | ||||||
|  |             <field name="slider_mode">default</field> | ||||||
|  |             <field name="item_limit">5</field> | ||||||
|  |             <field name="item_display_limit">5</field> | ||||||
|  |             <field name="product_image_position">center</field> | ||||||
|  |         </record> | ||||||
|  |         <record id="mobikul_product_slider_2" model="mobikul.product.slider"> | ||||||
|  |             <field name="name">Deal of the day</field> | ||||||
|  |             <field name="product_selection">manual</field> | ||||||
|  |             <field name="product_ids" eval="[(6,0,[ref('product.product_product_4_product_template')])]"/> | ||||||
|  |                    <!--eval="[(6,0,[ref('product.product_product_4_product_template')])]"/>--> | ||||||
|  |                    <!--eval="[(4,ref('product.product_product_4_product_template'))]"/>--> | ||||||
|  | 
 | ||||||
|  |             <!--product_product_4c--> | ||||||
|  | 
 | ||||||
|  |             <field name="slider_mode">fixed</field> | ||||||
|  |             <field name="item_limit">5</field> | ||||||
|  |             <field name="item_display_limit">5</field> | ||||||
|  |             <field name="product_image_position">center</field> | ||||||
|  |         </record> | ||||||
|  |         <record id="mobikul_product_slider_3" model="mobikul.product.slider"> | ||||||
|  |             <field name="name">New </field> | ||||||
|  |             <field name="product_selection">automatic</field> | ||||||
|  |             <field name="product_based_on">wCategory</field> | ||||||
|  |             <field name="wcategory_id">13</field> | ||||||
|  |             <field name="slider_mode">fixed</field> | ||||||
|  |             <field name="item_limit">5</field> | ||||||
|  |             <field name="item_display_limit">5</field> | ||||||
|  |             <field name="product_image_position">center</field> | ||||||
|  |         </record> | ||||||
|  |     </data> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,45 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  |     <data noupdate="1"> | ||||||
|  | 
 | ||||||
|  |         <record model="crm.team" id="mobikul.salesteam_mobikul_sales"> | ||||||
|  |             <field name="name">Mobikul Sales</field> | ||||||
|  |         </record> | ||||||
|  |         <record model="fcm.registered.topics" id="mobikul.fcm_default_topic"> | ||||||
|  |             <field name="name">DEFAULT</field> | ||||||
|  |         </record> | ||||||
|  | 
 | ||||||
|  |         <record id="d_mobikul_setting" model="mobikul"> | ||||||
|  |             <field name="name">Mobikul App</field> | ||||||
|  |             <field name="salesteam_id" ref="mobikul.salesteam_mobikul_sales"/> | ||||||
|  |         </record> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         <record model="ir.cron" id="mobikul_banner_cron_call"> | ||||||
|  |           <field name="name">Automated mobikul banner Scheduler</field> | ||||||
|  |           <field name="active" eval="True"/> | ||||||
|  |           <field name="interval_number">1</field> | ||||||
|  |           <field name="interval_type">days</field> | ||||||
|  |           <field name="numbercall">-1</field> | ||||||
|  |           <field name="doall" eval="False"/> | ||||||
|  |           <field name="model_id" ref="model_mobikul_banners"/> | ||||||
|  |           <field name="code">model.process_inactive_mobikul_banner()</field> | ||||||
|  |       </record> | ||||||
|  | 
 | ||||||
|  |       <record model="ir.actions.server" id="sync_cat_server_action"> | ||||||
|  |           <field name="name">Sync Category</field> | ||||||
|  |           <field name="model_id" ref="model_mobikul_category"/> | ||||||
|  |           <field name="code"> | ||||||
|  |                  action=model.sync_category() | ||||||
|  |           </field> | ||||||
|  |       </record> | ||||||
|  | 
 | ||||||
|  |         <!-- <record id="test_more_item_1" model="ir.values"> | ||||||
|  |             <field eval="'client_action_multi'" name="key2"/> | ||||||
|  |             <field eval="'mobikul.category'" name="model"/> | ||||||
|  |             <field name="name">Test Item</field> | ||||||
|  |             <field eval="'ir.actions.server,%d'%sync_cat_server_action" name="value"/> | ||||||
|  |         </record> --> | ||||||
|  | 
 | ||||||
|  |     </data> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | ########################################################################## | ||||||
|  | # | ||||||
|  | #    Copyright (c) 2015-Present Webkul Software Pvt. Ltd. (<https://webkul.com/>) | ||||||
|  | # | ||||||
|  | ########################################################################## | ||||||
|  | from . import mobikul | ||||||
|  | from . import product | ||||||
|  | from . import sale_order | ||||||
|  | from . import res_config | ||||||
|  | from . import ir_http | ||||||
|  | @ -0,0 +1,13 @@ | ||||||
|  | # from odoo import fields,api, models | ||||||
|  | # | ||||||
|  | # | ||||||
|  | # class DeliveryCarrier(models.Model): | ||||||
|  | #     _inherit = 'delivery.carrier' | ||||||
|  | # | ||||||
|  | #     @api.multi | ||||||
|  | #     def mobikul_publish_button(self): | ||||||
|  | #         self.ensure_one() | ||||||
|  | #         self.is_mobikul_available = not self.is_mobikul_available | ||||||
|  | #         return True | ||||||
|  | # | ||||||
|  | #     is_mobikul_available = fields.Boolean(default=False) | ||||||
|  | @ -0,0 +1,93 @@ | ||||||
|  | import requests | ||||||
|  | import json | ||||||
|  | 
 | ||||||
|  | FCM_URL = "https://fcm.googleapis.com/fcm/send" | ||||||
|  | 
 | ||||||
|  | class FCMAPI(object): | ||||||
|  | 
 | ||||||
|  |     def __init__(self, api_key): | ||||||
|  |         self._API_KEY = api_key | ||||||
|  | 
 | ||||||
|  |     def _headers(self): | ||||||
|  |         return { | ||||||
|  |             "Content-Type": "application/json", | ||||||
|  |             "Authorization": "Key=" + self._API_KEY | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |     def jsonDumps(self, data): | ||||||
|  |         return json.dumps(data).encode('utf8') | ||||||
|  | 
 | ||||||
|  |     def _push(self, payload): | ||||||
|  |         response = requests.post(FCM_URL, headers=self._headers(), data=payload) | ||||||
|  |         print (response) | ||||||
|  |         if response.status_code == 200: | ||||||
|  |             if int(response.headers.get('content-length',0)) <= 0: | ||||||
|  |                 return {} | ||||||
|  |             return response.json() | ||||||
|  |         elif response.status_code == 401: | ||||||
|  |             raise Exception("There was an error authenticating the sender account") | ||||||
|  |         elif response.status_code == 400: | ||||||
|  |             raise Exception(response.text) | ||||||
|  |         else: | ||||||
|  |             raise Exception("FCM server is temporarily unavailable") | ||||||
|  | 
 | ||||||
|  |     def send(self, payloads=None): | ||||||
|  |         self.all_responses = [] | ||||||
|  |         for payload in payloads: | ||||||
|  |             response = self._push(payload) | ||||||
|  |             self.all_responses.append(response) | ||||||
|  |         return self.all_responses | ||||||
|  | 
 | ||||||
|  |     def parse_payload(self, registration_ids=None, topic_name=None, message_body=None, message_title=None, | ||||||
|  |                       message_icon=None, priority=False, data_message=None, badge=None, color=None, tag=None, | ||||||
|  |                       **extra_kwargs): | ||||||
|  |         fcm_payload = dict() | ||||||
|  |         if registration_ids: | ||||||
|  |             if len(registration_ids) > 1: | ||||||
|  |                 fcm_payload['registration_ids'] = registration_ids | ||||||
|  |             else: | ||||||
|  |                 fcm_payload['to'] = registration_ids[0] | ||||||
|  |         if topic_name: | ||||||
|  |             fcm_payload['to'] = '/topics/%s' % topic_name | ||||||
|  |         if priority: | ||||||
|  |             fcm_payload['priority'] = 'normal' | ||||||
|  |         else: | ||||||
|  |             fcm_payload['priority'] = 'high' | ||||||
|  | 
 | ||||||
|  |         if data_message: | ||||||
|  |             if isinstance(data_message, dict): | ||||||
|  |                 fcm_payload['data'] = data_message | ||||||
|  |             else: | ||||||
|  |                 raise Exception("Provided data_message is in the wrong format") | ||||||
|  | 
 | ||||||
|  |         fcm_payload['notification'] = {} | ||||||
|  |         if message_icon: | ||||||
|  |             fcm_payload['notification']['icon'] = message_icon | ||||||
|  |         if message_body: | ||||||
|  |             fcm_payload['notification']['body'] = message_body | ||||||
|  |         if message_title: | ||||||
|  |             fcm_payload['notification']['title'] = message_title | ||||||
|  | 
 | ||||||
|  |         if badge: | ||||||
|  |             fcm_payload['notification']['badge'] = badge | ||||||
|  |         if color: | ||||||
|  |             fcm_payload['notification']['color'] = color | ||||||
|  |         if tag: | ||||||
|  |             fcm_payload['notification']['tag'] = tag | ||||||
|  | 
 | ||||||
|  |         if extra_kwargs: | ||||||
|  |             fcm_payload['notification'].update(extra_kwargs) | ||||||
|  | 
 | ||||||
|  |         return self.jsonDumps(fcm_payload) | ||||||
|  | 
 | ||||||
|  | if __name__== "__main__": | ||||||
|  |     key = "AAAAkdP3f44:APA91bEyls0NapnpJi9IZvMe7jEpkYYx99bdCcFUYtIy4ZDEsEaKaZd1DRhodK6yIXiiWvRfwCE_17HU2uz04s--1qYSw635BgB_ilMxwlQEbBPOqoJkFTPpWnERbbJ2401Eyh27Szyv" | ||||||
|  |     push_service = FCMAPI(api_key=key) | ||||||
|  | 
 | ||||||
|  |     registration_id = ["eSUQAef0S2Y:APA91bHm_Q2YJnzBJI77g7mTAW1teFd3i0t8gOM8HqJuv2RgO3_FFSI03ffShGCXus6jNNyILZ3Xng2jNKQdMCJ5FBPneJifkhQ9RJsC52reHfoXOxeEQvLFRbXZw1mKccUIGjf7P7_l"] | ||||||
|  |     message_title = "Test" | ||||||
|  |     message_body = "Hi Mohit, your customized news for today is ready" | ||||||
|  |     payload = push_service.parse_payload(registration_ids=registration_id, message_title=message_title, message_body=message_body) | ||||||
|  |     print (payload) | ||||||
|  |     print (push_service.send([payload])) | ||||||
|  |                  | ||||||
|  | @ -0,0 +1,37 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | ########################################################################## | ||||||
|  | # | ||||||
|  | #    Copyright (c) 2015-Present Webkul Software Pvt. Ltd. (<https://webkul.com/>) | ||||||
|  | # | ||||||
|  | ########################################################################## | ||||||
|  | 
 | ||||||
|  | from odoo import api, models | ||||||
|  | from odoo import SUPERUSER_ID | ||||||
|  | from odoo.http import request | ||||||
|  | 
 | ||||||
|  | class Http(models.AbstractModel): | ||||||
|  |     _inherit = 'ir.http' | ||||||
|  | 
 | ||||||
|  |     rerouting_limit = 10 | ||||||
|  |     _geoip_resolver = None | ||||||
|  | 
 | ||||||
|  |     @classmethod | ||||||
|  |     def binary_content(cls, xmlid=None, model='ir.attachment', id=None, field='datas', | ||||||
|  |                        unique=False, filename=None,filename_field='datas_fname', download=False, | ||||||
|  |                        mimetype=None, default_mimetype='application/octet-stream', | ||||||
|  |                        access_token=None,env=None): | ||||||
|  |         env = env or request.env | ||||||
|  |         obj = None | ||||||
|  |         if xmlid: | ||||||
|  |             obj = env.ref(xmlid, False) | ||||||
|  |         elif id and model in env: | ||||||
|  |             obj = env[model].browse(int(id)) | ||||||
|  |         if obj and 'is_mobikul_available' in obj._fields: | ||||||
|  |             if env[obj._name].sudo().search([('id', '=', obj.id), ('is_mobikul_available', '=', True)]): | ||||||
|  |                 env = env(user=SUPERUSER_ID) | ||||||
|  |         if obj._name == "res.partner" and field in ("image","profile_banner","profile_image"): | ||||||
|  |             env = env(user=SUPERUSER_ID) | ||||||
|  |         return super(Http, cls).binary_content( | ||||||
|  |             xmlid=xmlid, model=model, id=id, field=field, unique=unique, filename=filename, | ||||||
|  |             filename_field=filename_field, download=download, mimetype=mimetype, | ||||||
|  |             default_mimetype=default_mimetype,access_token=access_token, env=env) | ||||||
|  | @ -0,0 +1,41 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | ########################################################################## | ||||||
|  | # | ||||||
|  | #    Copyright (c) 2015-Present Webkul Software Pvt. Ltd. (<https://webkul.com/>) | ||||||
|  | # | ||||||
|  | ########################################################################## | ||||||
|  | from odoo import api, fields, models, _ | ||||||
|  | import logging | ||||||
|  | _logger = logging.getLogger(__name__) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class ProductTemplate(models.Model): | ||||||
|  | 	_inherit = "product.template" | ||||||
|  | 
 | ||||||
|  | 	@api.multi | ||||||
|  | 	def mobikul_publish_button(self): | ||||||
|  | 		self.ensure_one() | ||||||
|  | 		self.is_mobikul_available = not self.is_mobikul_available | ||||||
|  | 		return True | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	mobikul_categ_ids = fields.Many2many('mobikul.category', string='Mobikul Product Category') | ||||||
|  | 	mobikul_status = fields.Selection([ | ||||||
|  | 	    ('empty', 'Display Nothing'), | ||||||
|  | 	    ('in_stock', 'In-Stock'), | ||||||
|  | 	    ('out_stock', 'Out-of-Stock'), | ||||||
|  | 	], "Product Availability", default='empty', help="Adds an availability status on the mobikul product page.") | ||||||
|  | 	is_mobikul_available = fields.Boolean("Published on App", default=1, help="Allow the end user to choose this price list") | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class ProductPublicCategory(models.Model): | ||||||
|  | 	_inherit = 'product.public.category' | ||||||
|  | 	# this field is added for mobikul category merge | ||||||
|  | 	mobikul_cat_id = fields.Many2one('mobikul.category', 'Mobikul Category') | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class CrmTeam(models.Model): | ||||||
|  | 	_inherit = "crm.team" | ||||||
|  | 
 | ||||||
|  | 	mobikul_ids = fields.One2many('mobikul', 'salesteam_id', string='Mobikul', help="Mobikul is using these sales team.") | ||||||
|  | @ -0,0 +1,98 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | ########################################################################## | ||||||
|  | # | ||||||
|  | #    Copyright (c) 2015-Present Webkul Software Pvt. Ltd. (<https://webkul.com/>) | ||||||
|  | # | ||||||
|  | ########################################################################## | ||||||
|  | from odoo import api, fields, models | ||||||
|  | from odoo.tools.safe_eval import safe_eval | ||||||
|  | import logging | ||||||
|  | _logger = logging.getLogger(__name__) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class MobikulConfigSettings(models.TransientModel): | ||||||
|  | 	_name = 'mobikul.config.settings' | ||||||
|  | 	_inherit = 'res.config.settings' | ||||||
|  | 
 | ||||||
|  | 	def _default_mobikul(self): | ||||||
|  | 		return self.env['mobikul'].search([], limit=1).id | ||||||
|  | 
 | ||||||
|  | 	def _default_order_mail_template(self): | ||||||
|  | 		return self.env.ref('sale.email_template_edi_sale').id | ||||||
|  | 
 | ||||||
|  | 	def open_mobikul_conf(self): | ||||||
|  | 		return { | ||||||
|  | 				'type': 'ir.actions.act_window', | ||||||
|  | 				'name': 'Mobikul-App Configuration', | ||||||
|  | 				'view_type': 'form', | ||||||
|  | 				'view_mode': 'form', | ||||||
|  | 				'res_model': 'mobikul', | ||||||
|  | 				'res_id': self.mobikul_app.id, | ||||||
|  | 				'target': 'current', | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 	# @api.multi | ||||||
|  | 	def open_default_user(self): | ||||||
|  | 		action = self.env.ref('base.action_res_users').read()[0] | ||||||
|  | 		action['context'] = self.env.context | ||||||
|  | 		action['res_id'] = self.env.ref('base.default_user').id | ||||||
|  | 		action['views'] = [[self.env.ref('base.view_users_form').id, 'form']] | ||||||
|  | 		return action | ||||||
|  | 
 | ||||||
|  | 	mobikul_app = fields.Many2one('mobikul', string="Mobikul APP", default=_default_mobikul, required=True) | ||||||
|  | 	app_name = fields.Char('App Name', related='mobikul_app.name') | ||||||
|  | 	product_limit = fields.Integer('Limit Products per page', related='mobikul_app.product_limit') | ||||||
|  | 	module_email_verification = fields.Boolean(related='mobikul_app.email_verify', string='Verify Email on signUp') | ||||||
|  | 	salesperson_id = fields.Many2one('res.users', related='mobikul_app.salesperson_id', string='Salesperson') | ||||||
|  | 	salesteam_id = fields.Many2one('crm.team', related='mobikul_app.salesteam_id', string='Sales Team') | ||||||
|  | 	default_lang = fields.Many2one('res.lang', related='mobikul_app.default_lang', string='Default Language') | ||||||
|  | 	currency_id = fields.Many2one('res.currency', related='mobikul_app.currency_id', string='Default Currency') | ||||||
|  | 	pricelist_id = fields.Many2one('product.pricelist', related='mobikul_app.pricelist_id', string='Default Pricelist') | ||||||
|  | 	mobikul_reset_password = fields.Boolean(string='Enable password reset', help="This allows users to trigger a password reset from App") | ||||||
|  | 	mobikul_signup = fields.Boolean(string='Enable customer sign up') | ||||||
|  | 	mobikul_allow_guest = fields.Boolean(string='Allow Guests to view products on App.') | ||||||
|  | 	mobikul_signup_template_user_id = fields.Many2one('res.users', string='Template user for new users created through App') | ||||||
|  | 	module_auth_oauth = fields.Boolean(string='Allow social login (Gmail,Facebook,etc)', help="Use external authentication providers (OAuth)") | ||||||
|  | 	mobikul_gmail_signin = fields.Boolean(string='Gmail SignIn') | ||||||
|  | 	mobikul_facebook_signin = fields.Boolean(string='Facebook SignIn') | ||||||
|  | 	mobikul_twitter_signin = fields.Boolean(string='Twitter SignIn') | ||||||
|  | 	# module_website_wishlist = fields.Boolean(string='Allow Wishlist feature on App.', help="Use external Addon to add wishlist feature in website") | ||||||
|  | 	module_wk_review = fields.Boolean(string='Allow Product Review feature on App.', help="Use external Addon to add review feature in website") | ||||||
|  | 	module_odoo_marketplace = fields.Boolean(string='Allow Odoo Marketplace on App.', help="Use external Addon to add Multi Vendor Marketplace in website") | ||||||
|  | 	module_website_sale_wishlist = fields.Boolean(string='Allow Website Sale Wishlist on App.', | ||||||
|  | 											 help="Use default Addon to add Wishlist in website") | ||||||
|  | 
 | ||||||
|  | 	@api.onchange('pricelist_id') | ||||||
|  | 	def onchange_currency_id_set(self): | ||||||
|  | 		self.currency_id = self.pricelist_id.currency_id | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	@api.model | ||||||
|  | 	def get_values(self): | ||||||
|  | 		res = super(MobikulConfigSettings, self).get_values() | ||||||
|  | 		IrConfigParam = self.env['ir.config_parameter'] | ||||||
|  | 		# we use safe_eval on the result, since the value of the parameter is a nonempty string | ||||||
|  | 		res.update( | ||||||
|  | 			mobikul_reset_password=safe_eval(IrConfigParam.get_param('auth_signup.reset_password', 'False')), | ||||||
|  | 			mobikul_signup = safe_eval(IrConfigParam.get_param('auth_signup.allow_uninvited', 'False')), | ||||||
|  | 			mobikul_signup_template_user_id= safe_eval(IrConfigParam.get_param('auth_signup.template_user_id', 'False')), | ||||||
|  | 			mobikul_allow_guest= safe_eval(IrConfigParam.get_param('mobikul.allow_guest', 'False')), | ||||||
|  | 			mobikul_gmail_signin= safe_eval(IrConfigParam.get_param('mobikul.gmail_signin', 'False')), | ||||||
|  | 			mobikul_facebook_signin= safe_eval(IrConfigParam.get_param('mobikul.facebook_signin', 'False')), | ||||||
|  | 			mobikul_twitter_signin= safe_eval(IrConfigParam.get_param('mobikul.twitter_signin', 'False')), | ||||||
|  | 		) | ||||||
|  | 		return res | ||||||
|  | 
 | ||||||
|  | 	@api.multi | ||||||
|  | 	def set_values(self): | ||||||
|  | 		self.ensure_one() | ||||||
|  | 		super(MobikulConfigSettings, self).set_values() | ||||||
|  | 		IrConfigParam = self.env['ir.config_parameter'] | ||||||
|  | 		# we store the repr of the values, since the value of the parameter is a required string | ||||||
|  | 		IrConfigParam.set_param('auth_signup.reset_password', repr(self.mobikul_reset_password)) | ||||||
|  | 		IrConfigParam.set_param('auth_signup.allow_uninvited', repr(self.mobikul_signup)) | ||||||
|  | 		IrConfigParam.set_param('auth_signup.template_user_id', repr(self.mobikul_signup_template_user_id.id)) | ||||||
|  | 		IrConfigParam.set_param('mobikul.allow_guest', repr(self.mobikul_allow_guest)) | ||||||
|  | 		IrConfigParam.set_param('mobikul.gmail_signin', repr(self.mobikul_gmail_signin)) | ||||||
|  | 		IrConfigParam.set_param('mobikul.facebook_signin', repr(self.mobikul_facebook_signin)) | ||||||
|  | 		IrConfigParam.set_param('mobikul.twitter_signin', repr(self.mobikul_twitter_signin)) | ||||||
|  | @ -0,0 +1,46 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | ########################################################################## | ||||||
|  | # | ||||||
|  | #    Copyright (c) 2015-Present Webkul Software Pvt. Ltd. (<https://webkul.com/>) | ||||||
|  | # | ||||||
|  | ########################################################################## | ||||||
|  | import logging | ||||||
|  | from odoo import api, fields, models, _ | ||||||
|  | from odoo.exceptions import ValidationError | ||||||
|  | _logger = logging.getLogger(__name__) | ||||||
|  | 
 | ||||||
|  | class ResPartner(models.Model): | ||||||
|  | 	_inherit = 'res.partner' | ||||||
|  | 
 | ||||||
|  | 	last_mobikul_so_id = fields.Many2one('sale.order', string='Last Order from Mobikul App') | ||||||
|  | 	banner_image = fields.Binary('Banner Image', attachment=True) | ||||||
|  | 	token_ids = fields.One2many('fcm.registered.devices', 'customer_id', string='Registered Devices',readonly=True) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class SaleOrder(models.Model): | ||||||
|  | 	_inherit = "sale.order" | ||||||
|  | 
 | ||||||
|  | 	cart_count = fields.Integer(compute='_compute_cart_count', string='Cart Quantity') | ||||||
|  | 
 | ||||||
|  | 	@api.multi | ||||||
|  | 	@api.depends('order_line.product_uom_qty', 'order_line.product_id') | ||||||
|  | 	def _compute_cart_count(self): | ||||||
|  | 		is_wesiteSaleDelivery = self.env['mobikul'].sudo().check_mobikul_addons().get('website_sale_delivery') | ||||||
|  | 		for order in self: | ||||||
|  | 			if is_wesiteSaleDelivery: | ||||||
|  | 				order.cart_count = int(sum([line.product_uom_qty for line in order.order_line if not line.is_delivery])) | ||||||
|  | 			else: | ||||||
|  | 				order.cart_count = int(sum(order.mapped('order_line.product_uom_qty'))) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class PaymentAcquirer(models.Model): | ||||||
|  | 	_inherit = 'payment.acquirer' | ||||||
|  | 
 | ||||||
|  | 	is_mobikul_available = fields.Boolean( | ||||||
|  | 		'Visible in Portal / Website', copy=False, | ||||||
|  | 		help="Make this payment acquirer available on App") | ||||||
|  | 	mobikul_reference_code = fields.Char( | ||||||
|  | 		'Mobikul Reference Code', copy=False, | ||||||
|  | 		help="Unique Code in order to integrate it with Mobikul App.") | ||||||
|  | 	mobikul_pre_msg = fields.Text('Message to Display', copy=False, translate=True,help="this field is depricated from mobikul") | ||||||
|  | @ -0,0 +1,20 @@ | ||||||
|  | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink | ||||||
|  | access_mobikul_banners_public,mobikul.mobikul_banners.public,model_mobikul_banners,,1,0,0,0 | ||||||
|  | access_mobikul_category_public,mobikul.mobikul_category.public,model_mobikul_category,,1,0,0,0 | ||||||
|  | access_res_partner_public,base.res_partner.public,base.model_res_partner,,1,0,0,0 | ||||||
|  | access_mobikul_push_notification_public,mobikul.mobikul_push_notification.public,model_mobikul_push_notification,,1,0,0,0 | ||||||
|  | access_mobikul_push_notification_template_public,mobikul.mobikul_push_notification_template.public,model_mobikul_push_notification_template,,1,0,0,0 | ||||||
|  | access_mobikul_notification_messages_template_public,mobikul.mobikul_notification_messages.public,model_mobikul_notification_messages,,1,0,0,0 | ||||||
|  | 
 | ||||||
|  | access_mobikul_category,Mobikul Category Access,model_mobikul_category,mobikul.group_mobikul_user,1,1,1,1 | ||||||
|  | access_mobikul_banners,Mobikul Banners Access,model_mobikul_banners,mobikul.group_mobikul_user,1,1,1,1 | ||||||
|  | access_mobikul_product_slider,Mobikul Product Slider Access,model_mobikul_product_slider,mobikul.group_mobikul_user,1,1,1,1 | ||||||
|  | access_mobikul_push_notification,Mobikul Push Notification Access,model_mobikul_push_notification,mobikul.group_mobikul_user,1,1,1,1 | ||||||
|  | access_mobikul_notification_messages,Mobikul Notification Messages Access,model_mobikul_notification_messages,mobikul.group_mobikul_user,1,0,0,0 | ||||||
|  | 
 | ||||||
|  | access_mobikul_push_notification_template,Mobikul Push Notification Template Access,model_mobikul_push_notification_template,mobikul.group_mobikul_user,1,0,0,0 | ||||||
|  | 
 | ||||||
|  | access_manager_mobikul_mobikul,Mobikul Access,model_mobikul,mobikul.group_mobikul_manager,1,1,1,1 | ||||||
|  | access_manager_mobikul_push_notification,Mobikul Push Notification Access,model_mobikul_push_notification,mobikul.group_mobikul_manager,1,1,1,1 | ||||||
|  | access_manager_mobikul_push_notification_template,Mobikul Push Notification Template Access,model_mobikul_push_notification_template,mobikul.group_mobikul_manager,1,1,1,1 | ||||||
|  | access_manager_mobikul_notification_messages,Mobikul Push Notification Messages Access,model_mobikul_notification_messages,mobikul.group_mobikul_manager,1,1,1,1 | ||||||
| 
 | 
|  | @ -0,0 +1,24 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  | 	<data noupdate="1"> | ||||||
|  | 		<record model="ir.module.category" id="module_mobikul"> | ||||||
|  | 			<field name="name">Mobikul App</field> | ||||||
|  | 			<field name="description">Mobikul-App Group</field> | ||||||
|  | 			<field name="sequence">10</field> | ||||||
|  | 	    </record> | ||||||
|  | 		 | ||||||
|  | 		<record id="group_mobikul_user" model="res.groups"> | ||||||
|  | 			<field name="name">User</field> | ||||||
|  | 			<field name="comment">All access except Mobikul Configuration.</field> | ||||||
|  | 			<field name="category_id" ref="module_mobikul"/>		 | ||||||
|  | 		</record> | ||||||
|  | 		 | ||||||
|  | 	    <record id="group_mobikul_manager" model="res.groups"> | ||||||
|  | 	        <field name="name">Manager</field> | ||||||
|  | 			<field name="comment">Full Access</field> | ||||||
|  | 			<field name="category_id" ref="module_mobikul"/> | ||||||
|  | 	        <field name="users" eval="[(4, ref('base.user_root'))]"/> | ||||||
|  | 			 <field name="implied_ids" eval="[(4, ref('group_mobikul_user'))]"/> | ||||||
|  | 	    </record> | ||||||
|  | 	</data> | ||||||
|  | </odoo> | ||||||
| After Width: | Height: | Size: 208 KiB | 
| After Width: | Height: | Size: 184 KiB | 
| After Width: | Height: | Size: 209 KiB | 
| After Width: | Height: | Size: 163 KiB | 
| After Width: | Height: | Size: 406 KiB | 
| After Width: | Height: | Size: 347 KiB | 
| After Width: | Height: | Size: 341 B | 
| After Width: | Height: | Size: 469 B | 
| After Width: | Height: | Size: 315 B | 
| After Width: | Height: | Size: 6.1 KiB | 
|  | @ -0,0 +1,496 @@ | ||||||
|  | <section class="oe_container"> | ||||||
|  |    <div class="oe_row oe_spaced"> | ||||||
|  |       <h2 class="oe_slogan" style="color:#875A7B;">Mobikul Mobile App Builder for Odoo eCommerce(website)</h2> | ||||||
|  |       <h3 class="oe_slogan" style="margin-top: -25px;">Convert your Odoo eCommerce(website) store in the native mobile application.</h3> | ||||||
|  | 
 | ||||||
|  |    <div class="oe_span12" style="margin-top: -40px;"> | ||||||
|  |             <img class="oe_picture" src="main.png"> | ||||||
|  |     </div> | ||||||
|  |     </div> | ||||||
|  | </section> | ||||||
|  | 
 | ||||||
|  | <!-- <section class="oe_container oe_dark lead"> | ||||||
|  |   <div class="oe_row"> | ||||||
|  |       <div id="myCarousel" class="carousel slide" data-ride="carousel" > | ||||||
|  |         <ol class="carousel-indicators"> | ||||||
|  |           <li data-target="#myCarousel" data-slide-to="0" class=""></li> | ||||||
|  |           <li data-target="#myCarousel" data-slide-to="1" class=""></li> | ||||||
|  |           <li data-target="#myCarousel" data-slide-to="2" class="active"></li> | ||||||
|  |           <li data-target="#myCarousel" data-slide-to="3" class=""></li> | ||||||
|  |         </ol> | ||||||
|  |         <div class="carousel-inner" role="listbox"> | ||||||
|  |           <div class="item  active"> | ||||||
|  |             <img src="carousel/img4.png"> | ||||||
|  |           </div> | ||||||
|  |           <div class="item "> | ||||||
|  |             <img src="carousel/img6.png"> | ||||||
|  |           </div> | ||||||
|  |            <div class="item "> | ||||||
|  |             <img src="carousel/img11.png"> | ||||||
|  |           </div> | ||||||
|  |           <div class="item "> | ||||||
|  |            <img src="img4.png"> | ||||||
|  |          </div> | ||||||
|  |          <div class="item "> | ||||||
|  |           <img src="carousel/img14.png"> | ||||||
|  |         </div> | ||||||
|  |         </div> | ||||||
|  |         <a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev"> | ||||||
|  |           <i class="fa fa-hand-o-left text-info"></i> | ||||||
|  |           <span class="sr-only">Previous</span> | ||||||
|  |         </a> | ||||||
|  |         <a class="right carousel-control text-danger" href="#myCarousel" role="button" data-slide="next"> | ||||||
|  |           <i class="fa fa-hand-o-right text-info"></i> | ||||||
|  |           <span class="sr-only">Next</span> | ||||||
|  |         </a> | ||||||
|  |       </div> | ||||||
|  |   </div> | ||||||
|  |   </section> --> | ||||||
|  | 
 | ||||||
|  | <!-- <section class="oe_container "> | ||||||
|  |   <h3 class="text-center"> | ||||||
|  |       <a data-toggle="tooltip" data-placement="bottom" title="Manage it from Odoo" target="_blank" | ||||||
|  |                   href="https://play.google.com/store/apps/details?id=com.webkul.mobikul.odoo&hl=en"> | ||||||
|  |                   <i class="fa fa-download"></i> Install App on your Phone(Google PlayStore Link)</a> | ||||||
|  |                    | ||||||
|  |       <a data-toggle="tooltip" data-placement="bottom" title="Manage it from Odoo" target="_blank" | ||||||
|  |                   href="http://demo.webkul.com"> | ||||||
|  |                   <i class="fa fa-download"></i> Manage App from Backend(Odoo Link)</a> | ||||||
|  |         </h3> | ||||||
|  |   <p class="text-center"><i>( Please don`t forget to share your reviews on playstore & here as well. Your opinions, comments and suggestions are <b>VERY</b> Important to keep this app updated and more usefull !!! )</i></p> | ||||||
|  | </section> --> | ||||||
|  | 
 | ||||||
|  | <section class="oe_container oe_dark"> | ||||||
|  |     <div class="oe_row oe_spaced"> | ||||||
|  |         <h2 class="oe_slogan" >About Mobikul: Mobile App Builder</h2> | ||||||
|  |         <div class="oe_span4"> | ||||||
|  |             <img class="oe_picture" src="mobikul.gif"> | ||||||
|  |         </div> | ||||||
|  |         <div class="oe_span8 text-justify"> | ||||||
|  |             <p class="oe_mt32"> | ||||||
|  |                 If you are running your eCommerce(website) on Odoo, and looking for the native mobile application then you are at right place. | ||||||
|  |             </p> | ||||||
|  |             <p class="oe_mt8"> | ||||||
|  |                 Mobikul Mobile App Builder for Odoo will convert your Odoo store in the native mobile applications. It is not necessary to have desktops/laptops to shop from your store. The Mobile App is fully compatible with default Odoo store. | ||||||
|  |             </p> | ||||||
|  |             <p class="oe_mt8"> | ||||||
|  |                 The mobile application provides a user-friendly experience and enhances the customer`s engagement over the mobile platform. | ||||||
|  |             </p> | ||||||
|  |             <p class="oe_mt8"> | ||||||
|  |                 Now the customers can visit your store by using their mobile only and can shop on the Go. | ||||||
|  |             </p> | ||||||
|  |             <p class="oe_mt8"> | ||||||
|  |                 So what you waiting for, you must have a mobile app with great features & functionalities for your Odoo store. | ||||||
|  |             </p> | ||||||
|  |             </br> | ||||||
|  |             <p class="oe_mt8"> | ||||||
|  |                 <b> Need Demo ??</b> Check following links... | ||||||
|  |             </p> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  | </section> | ||||||
|  | 
 | ||||||
|  | <section class="oe_container oe_dark" style="margin-top: -40px;"> | ||||||
|  |       <div class="oe_row oe_spaced"> | ||||||
|  |       <h3 class="text-center"> | ||||||
|  |       <a data-toggle="tooltip" data-placement="bottom" title="Manage it from Odoo" target="_blank" href="https://play.google.com/store/apps/details?id=com.webkul.mobikul.odoo&hl=en"> | ||||||
|  |                   <i class="fa fa-android fa-2x"></i> Install App on your Phone(Google PlayStore Link)</a> | ||||||
|  |       <br> | ||||||
|  |       <br> | ||||||
|  |       <a data-toggle="tooltip" data-placement="bottom" title="Manage it from Odoo" target="_blank" href="http://demo.webkul.com/web/login"> | ||||||
|  |                   <i class="fa fa-cogs fa-2x"></i> Manage App from Odoo(Backend Odoo Link)</a> | ||||||
|  |         </h3> | ||||||
|  |   <p class="text-center"><i>( Please don`t forget to share your reviews on playstore & here as well. Your opinions, comments and suggestions are <b>VERY</b> Important to keep this app updated and more usefull !!! )</i></p> | ||||||
|  |       </div> | ||||||
|  | </section> | ||||||
|  | 
 | ||||||
|  |   <section class="oe_container oe_dark"> | ||||||
|  |       <div class="oe_row oe_spaced"> | ||||||
|  |         <h2 class="oe_slogan" style="color:#875A7B;">Default Features</h2> | ||||||
|  |          <h3 class="oe_slogan oe_mb32" style="margin-top: -25px;"> Packed with many default features which a mobile app must have like:</h3> | ||||||
|  |     </div> | ||||||
|  | </section> | ||||||
|  | 
 | ||||||
|  |   <section class="oe_container oe_dark" style="margin-top: -40px;"> | ||||||
|  |       <div class="oe_row oe_spaced"> | ||||||
|  |         <div class="oe_span4 text-center"> | ||||||
|  |             <span class="fa fa-rocket fa-6x"/> | ||||||
|  |             <h4 class="oe_mt16 oe_mb8"> | ||||||
|  |                 <b>One Time Setup</b> | ||||||
|  |             </h4> | ||||||
|  |             <p> | ||||||
|  |             Just set up this app once in your odoo back-end and you are ready to go | ||||||
|  |             </p> | ||||||
|  |         </div> | ||||||
|  |         <div class="oe_span4 text-center"> | ||||||
|  |             <span class="fa fa-cogs fa-6x"/> | ||||||
|  |             <h4 class="oe_mt16 oe_mb8"> | ||||||
|  |                 <b>Fully Configurable</b> | ||||||
|  |             </h4> | ||||||
|  |             <p> | ||||||
|  |             Configure this App from Odoo back-end. | ||||||
|  |             </p> | ||||||
|  |         </div> | ||||||
|  |         <div class="oe_span4 text-center"> | ||||||
|  |             <span class="fa fa-sign-in fa-6x"/> | ||||||
|  |             <h4 class="oe_mt16 oe_mb8"> | ||||||
|  |                 <b>Allow signup</b> | ||||||
|  |             </h4> | ||||||
|  |             <p> | ||||||
|  |             Admin can disable signup/reset-password from App. | ||||||
|  |             </p> | ||||||
|  |         </div> | ||||||
|  | </div> | ||||||
|  |   </section> | ||||||
|  | 
 | ||||||
|  | <section class="oe_container oe_dark" style="margin-top: -40px;"> | ||||||
|  |       <div class="oe_row oe_spaced"> | ||||||
|  |         <div class="oe_span4 text-center"> | ||||||
|  |             <span class="fa fa-thumbs-o-up fa-6x"/> | ||||||
|  |             <h4 class="oe_mt16 oe_mb8"> | ||||||
|  |                 <b>Supports all types of Products</b> | ||||||
|  |             </h4> | ||||||
|  |             <p> | ||||||
|  |             All types of products are supported i.e with or without attributes like color,size, etc | ||||||
|  |             </p> | ||||||
|  |         </div> | ||||||
|  |         <div class="oe_span4 text-center"> | ||||||
|  |             <span class="fa fa-plus-square fa-6x"/> | ||||||
|  |             <h4 class="oe_mt16 oe_mb8"> | ||||||
|  |                 <b>Publish products seperately from Website</b> | ||||||
|  |             </h4> | ||||||
|  |             <p> | ||||||
|  |             Option to published/un-published products/categories on App separately from Website. | ||||||
|  |             </p> | ||||||
|  |         </div> | ||||||
|  |         <div class="oe_span4 text-center"> | ||||||
|  |             <span class="fa fa-picture-o fa-6x"/> | ||||||
|  |             <h4 class="oe_mt16 oe_mb8"> | ||||||
|  |                 <b>Product Multi-images</b> | ||||||
|  |             </h4> | ||||||
|  |             <p> | ||||||
|  |             Product can have more than one images, with Zoom-in,Zoom-out feature.Optimized images for faster loading. | ||||||
|  |             </p> | ||||||
|  |         </div> | ||||||
|  |       </div> | ||||||
|  |   </section> | ||||||
|  |     <section class="oe_container oe_dark" style="margin-top: -40px;"> | ||||||
|  |       <div class="oe_row oe_spaced"> | ||||||
|  |         <div class="oe_span4 text-center"> | ||||||
|  |             <span class="fa fa-bullhorn fa-6x"/> | ||||||
|  |             <h4 class="oe_mt16 oe_mb8"> | ||||||
|  |                 <b>Offer Discounts</b> | ||||||
|  |             </h4> | ||||||
|  |             <p> | ||||||
|  |             Via Odoo pricelist, you may have special discount on your product(s) if purchased from App only or vice-versa. | ||||||
|  |             </p> | ||||||
|  |         </div> | ||||||
|  |         <div class="oe_span4 text-center"> | ||||||
|  |             <span class="fa fa-line-chart fa-6x"/> | ||||||
|  |             <h4 class="oe_mt16 oe_mb8"> | ||||||
|  |                 <b>Distinguish b/w orders placed from App & Website</b> | ||||||
|  |             </h4> | ||||||
|  |             <p> | ||||||
|  |             you can keep tracking from which plateform(Website/App) your customers bought your products more. | ||||||
|  |             </p> | ||||||
|  |         </div> | ||||||
|  |         <div class="oe_span4 text-center"> | ||||||
|  |           <span class="fa fa-language fa-6x"/> | ||||||
|  | 
 | ||||||
|  |           <h4 class="oe_mt16 oe_mb8"> | ||||||
|  |             <span style="color:#BE33FF;"> (new)</span> | ||||||
|  |               <b>Supports Multilingual</b> | ||||||
|  |           </h4> | ||||||
|  |           <p> | ||||||
|  |           Manage the translations for the components in your app from backend | ||||||
|  |           </p> | ||||||
|  | 
 | ||||||
|  |         </div> | ||||||
|  |       </div> | ||||||
|  |   </section> | ||||||
|  | 
 | ||||||
|  |   <section class="oe_container oe_dark" style="margin-top: -40px;"> | ||||||
|  |     <div class="oe_row oe_spaced"> | ||||||
|  |       <!-- <div class="oe_span4 text-center"> | ||||||
|  |           <span class="fa fa-bullhorn fa-6x"/> | ||||||
|  |           <h4 class="oe_mt16 oe_mb8"> | ||||||
|  |               <b>Offer Discounts</b> | ||||||
|  |           </h4> | ||||||
|  |           <p> | ||||||
|  |           Via Odoo pricelist, you may have special discount on your product(s) if purchased from App only or vice-versa. | ||||||
|  |           </p> | ||||||
|  |       </div> --> | ||||||
|  |       <div class="oe_span4 text-center"> | ||||||
|  |         <span class="fa fa-support fa-6x"/> | ||||||
|  |         <h4 class="oe_mt16 oe_mb8"> | ||||||
|  |             <b>Fast Support</b> | ||||||
|  |         </h4> | ||||||
|  |         <p> | ||||||
|  |         We offer extremely convenient and quick support service to all your technical help & support requests. | ||||||
|  |         </p> | ||||||
|  |       </div> | ||||||
|  |       | ||||||
|  |     </div> | ||||||
|  | </section> | ||||||
|  | 
 | ||||||
|  |    <section class="oe_container oe_dark lead"> | ||||||
|  |       <div class="oe_row oe_spaced"> | ||||||
|  |         <h2 class="oe_slogan" style="color:#875A7B;">Bonus: Extra Added Features</h2> | ||||||
|  |          <h3 class="oe_slogan" style="margin-top: -25px;">To give an extra spark we have bundled some more features like:</h3> | ||||||
|  |       </div> | ||||||
|  |   </section> | ||||||
|  | 
 | ||||||
|  | <!-- <section class="oe_container oe_dark" style="margin-top: -50px;"> | ||||||
|  |     <div class="oe_row"> | ||||||
|  |         <div class="oe_span4 text-justify"> | ||||||
|  |             <h2 class="oe_mt32 oe_mb8 "> | ||||||
|  |                 <b>Social Login</b> | ||||||
|  |                 <span> | ||||||
|  |                   <a href="https://mobikul.com/features/sign-in-via-social-accounts/" >(A paid feature)</a> | ||||||
|  |                 </span> | ||||||
|  |             </h2> | ||||||
|  |             <p class="oe_mt32 text-justify"><i class="fa fa-2x fa-hand-o-right"></i> | ||||||
|  |             Manage Social Login (Gmail, Facebook, Twitter). | ||||||
|  |             </p> | ||||||
|  |             <p class="oe_mt32 text-justify"><i class="fa fa-2x fa-hand-o-right"></i> | ||||||
|  |             Make signup process more easier & faster by integrating social login from App. | ||||||
|  |             </p> | ||||||
|  |             <p class="oe_mt32 text-justify"><i class="fa fa-2x fa-hand-o-right"></i> | ||||||
|  |             Fully compatible with Odoo eCommerce(website). | ||||||
|  |             </p> | ||||||
|  |         </div> | ||||||
|  |         <div class="oe_span8"> | ||||||
|  |             <img class="oe_picture" src="5.png"> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  | </section> --> | ||||||
|  | 
 | ||||||
|  | <section class="oe_container oe_dark"> | ||||||
|  |     <div class="oe_row oe_spaced"> | ||||||
|  |     <div> | ||||||
|  |       <div class="oe_span8"> | ||||||
|  |           <a href='1.png'><img class="oe_picture" src="1.png"></a> | ||||||
|  |       </div> | ||||||
|  |       <div class="oe_span4"> | ||||||
|  |             <h2 class="oe_mt32 oe_mb8"> | ||||||
|  |                 <b>Banners</b> | ||||||
|  |             </h2> | ||||||
|  |             <p class="oe_mt32 text-justify"><i class="fa fa-2x fa-hand-o-right"></i> | ||||||
|  |             Manage Unlimited Banners from Odoo. | ||||||
|  |             </p> | ||||||
|  |             <p class="oe_mt32 text-justify"><i class="fa fa-2x fa-hand-o-right"></i> | ||||||
|  |             Configure what to trigger when customer click on it - a product or a category or a custom collection page. | ||||||
|  |             </p> | ||||||
|  |             <p class="oe_mt32 text-justify"><i class="fa fa-2x fa-hand-o-right"></i> | ||||||
|  |             Manage Publish/Expiration date for every banner seperately. | ||||||
|  |             </p> | ||||||
|  |             </ul> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  |         </div> | ||||||
|  | </section> | ||||||
|  | 
 | ||||||
|  | <section class="oe_container oe_dark"> | ||||||
|  |     <div class="oe_row"> | ||||||
|  |         <div class="oe_span4 text-justify"> | ||||||
|  |             <h2 class="oe_mt32 oe_mb8 "> | ||||||
|  |                 <b>Product Sliders</b> | ||||||
|  |             </h2> | ||||||
|  |             <p class="oe_mt32 text-justify"><i class="fa fa-2x fa-hand-o-right"></i> | ||||||
|  |             Manage Unlimited Product Sliders like New Products, Hot Deals, etc. | ||||||
|  |             </p> | ||||||
|  |             <p class="oe_mt32 text-justify"><i class="fa fa-2x fa-hand-o-right"></i> | ||||||
|  |             Configure the selection criteria of products - automatic(new products, etc) or manual. | ||||||
|  |             </p> | ||||||
|  |             <p class="oe_mt32 text-justify"><i class="fa fa-2x fa-hand-o-right"></i> | ||||||
|  |             Manage slider mode i.e fixed or sliding | ||||||
|  |             </p> | ||||||
|  |         </div> | ||||||
|  |         <div class="oe_span8"> | ||||||
|  |             <img class="oe_picture" src="3.png"> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  | </section> | ||||||
|  | 
 | ||||||
|  | <section class="oe_container oe_dark" > | ||||||
|  |     <div class="oe_row oe_spaced"> | ||||||
|  |     <div> | ||||||
|  |       <div class="oe_span8"> | ||||||
|  |           <a href='4.png'><img class="oe_picture" src="4.png"></a> | ||||||
|  |       </div> | ||||||
|  |       <div class="oe_span4"> | ||||||
|  |             <h2 class="oe_mt32 oe_mb8"> | ||||||
|  |                 <b>Push Notifications</b> | ||||||
|  |             </h2> | ||||||
|  |             <p class="oe_mt32 text-justify"><i class="fa fa-2x fa-hand-o-right"></i> | ||||||
|  |             Manage Unlimited Push Notifications from Odoo, both token/topic based. | ||||||
|  |             </p> | ||||||
|  |             <p class="oe_mt32 text-justify"><i class="fa fa-2x fa-hand-o-right"></i> | ||||||
|  |             Pushed automatically to all/specific connected devices. | ||||||
|  |             </p> | ||||||
|  |             <p class="oe_mt32 text-justify"><i class="fa fa-2x fa-hand-o-right"></i> | ||||||
|  |             Configure what to trigger when customer click on it - a product or a category or a custom collection page. | ||||||
|  |             </p> | ||||||
|  |             </ul> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  |         </div> | ||||||
|  | </section> | ||||||
|  | 
 | ||||||
|  | <section class="oe_container oe_dark"> | ||||||
|  |     <div class="oe_row"> | ||||||
|  |         <div class="oe_span4 text-justify"> | ||||||
|  |             <h2 class="oe_mt32 oe_mb8 "> | ||||||
|  |                 <b>Featured Category</b> | ||||||
|  |             </h2> | ||||||
|  |             <p class="oe_mt32 text-justify"><i class="fa fa-2x fa-hand-o-right"></i> | ||||||
|  |             Manage Unlimited Featured Category. | ||||||
|  |             </p> | ||||||
|  |             <p class="oe_mt32 text-justify"><i class="fa fa-2x fa-hand-o-right"></i> | ||||||
|  |             Highlight popular category on homepage, by making them Featured from Odoo. | ||||||
|  |             </p> | ||||||
|  |             <p class="oe_mt32 text-justify"><i class="fa fa-2x fa-hand-o-right"></i> | ||||||
|  |             Convert any category to featured or vice-versa from Odoo. | ||||||
|  |             </p> | ||||||
|  |         </div> | ||||||
|  |         <div class="oe_span8"> | ||||||
|  |             <img class="oe_picture" src="2.png"> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  | </section> | ||||||
|  | 
 | ||||||
|  | <section class="oe_container"> | ||||||
|  |   <div class="oe_row"> | ||||||
|  |        <h2 class="oe_slogan" style="color:#875A7B;">Fully compatible with many other addons like:</h2> | ||||||
|  |           <div class='oe_dark' style="margin-top: -25px;"> | ||||||
|  |                   <div class="col-md-6" class="text-center"> | ||||||
|  |                   <h4 class="oe_mt16 oe_mb8"> | ||||||
|  |                       By <a class="loempia_link" href="/apps/modules/browse?author=Odoo S.A."><span>Odoo S.A.</span></a> | ||||||
|  |                   </h4> | ||||||
|  |                   </br> | ||||||
|  |                      <p><i class="fa fa-users fa-2x"/> | ||||||
|  |                       <a href='https://www.odoo.com/apps/modules/10.0/auth_oauth' alt='OAuth2 Authentication'  target="new"> | ||||||
|  |                       OAuth2 Authentication | ||||||
|  |                     </a><i class="fa fa-facebook-square fa-2x"/> | ||||||
|  |                     <i class="fa fa-twitter-square fa-2x"/> | ||||||
|  |                     <i class="fa fa-google-plus-square fa-2x"/> | ||||||
|  |                     <a href='https://mobikul.com/features/sign-in-via-social-accounts/'> | ||||||
|  |                       (read more) | ||||||
|  |                     </a> | ||||||
|  |                     </p> | ||||||
|  |                      <p><i class="fa fa-desktop fa-2x"/> | ||||||
|  |                       <a href='https://www.odoo.com/apps/modules/10.0/website_sale' alt='eCommerce'  target="new"> | ||||||
|  |                       eCommerce | ||||||
|  |                     </a></p> | ||||||
|  |                     <p> | ||||||
|  |                       <i class="fa fa-heart fa-2x"/> | ||||||
|  |                       <a target="current"> | ||||||
|  |                         Website  Wishlist | ||||||
|  |                       </a> | ||||||
|  |                     </p> | ||||||
|  |                     <p><i class="fa fa-cc-stripe fa-2x"/> | ||||||
|  |                       <a href='https://www.odoo.com/apps/modules/10.0/payment_stripe' alt='Stripe Payment Acquirer' target="new"> | ||||||
|  |                       Stripe Payment Acquirer | ||||||
|  |                     </a></p> | ||||||
|  |                     <p><i class="fa fa-bank fa-2x"/> | ||||||
|  |                       <a target="current"> | ||||||
|  |                       Wire Transfer | ||||||
|  |                     </a></p> | ||||||
|  | 
 | ||||||
|  |                 </div> | ||||||
|  |                 <div class="col-md-6" class="text-center"> | ||||||
|  |                 <h4 class="oe_mt16 oe_mb8"> | ||||||
|  |                      By <a class="loempia_link" href="/apps/modules/browse?author=Webkul Software Pvt. Ltd."><span>Webkul Software Pvt. Ltd.</span></a> | ||||||
|  |                   </h4> | ||||||
|  |                   </br> | ||||||
|  |                     <p><i class="fa fa-users fa-2x"/> | ||||||
|  |                       <a href='https://www.odoo.com/apps/modules/11.0/website_ajax_login' alt='Website Ajax Login/Sign-Up'  target="new"> | ||||||
|  |                       Website Ajax Login/Sign-Up | ||||||
|  |                     </a><i class="fa fa-facebook-square fa-2x"/> | ||||||
|  |                     <i class="fa fa-twitter-square fa-2x"/> | ||||||
|  |                     <i class="fa fa-google-plus-square fa-2x"/></p> | ||||||
|  |                     <p><i class="fa fa-cc-stripe fa-2x"/> | ||||||
|  |                       <a href='https://www.odoo.com/apps/modules/11.0/payment_stripe_checkout' alt='Stripe Payment Acquirer' target="new"> | ||||||
|  |                       Stripe Payment Acquirer | ||||||
|  |                     </a></p> | ||||||
|  |                     <p><i class="fa fa-money fa-2x"/> | ||||||
|  |                       <a href='https://www.odoo.com/apps/modules/11.0/payment_cash_on_delivery' alt='Cash On Delivery' target="new"> | ||||||
|  |                       Cash On Delivery | ||||||
|  |                     </a></p> | ||||||
|  | 
 | ||||||
|  |                   <p><i class="fa fa-comments fa-2x"/> | ||||||
|  |                   <a href='https://www.odoo.com/apps/modules/11.0/wk_review' target="new"> | ||||||
|  |                     Website  Review | ||||||
|  |                   </a></p> | ||||||
|  |                   <p><i class="fa fa-exclamation-circle fa-2x"/> | ||||||
|  |                   <a href='https://www.odoo.com/apps/modules/11.0/email_verification' target="new"> | ||||||
|  |                     Email Verification | ||||||
|  |                   </a></p> | ||||||
|  | 
 | ||||||
|  |                   <p> | ||||||
|  |                     <i class="fa fa-shopping-cart fa-2x"></i> | ||||||
|  |                     <a href='https://www.odoo.com/apps/modules/11.0/odoo_marketplace' target="new"> | ||||||
|  |                       Odoo Multi Vendor Marketplace | ||||||
|  |                     </a></p> | ||||||
|  |               </div> | ||||||
|  |           </div> | ||||||
|  |   </div> | ||||||
|  | </section> | ||||||
|  | 
 | ||||||
|  | <section class="oe_container oe_dark"> | ||||||
|  |     <div class="oe_row"> | ||||||
|  |         <h2 class="oe_slogan" style="color:#875A7B;">Extra Information</h2> | ||||||
|  |     <div class="oe_span12" style="margin-top: -35px;"> | ||||||
|  |             <p><i class="fa fa-check-square-o fa-2x"></i> | ||||||
|  |             On purchasing this module, you`ll get .apk without Source Code(Need to create a Ticket). | ||||||
|  |             </p> | ||||||
|  |             <ul><li>Free Installation/Setup for first 50 customers.</li> | ||||||
|  |             <li>Create a Ticket with all your Store Details: <a data-toggle="tooltip" data-placement="bottom" title="Get Instant Help !" target="_blank" | ||||||
|  |                         href="https://webkul.uvdesk.com/en/customer/create-ticket/">Click me</a></li> | ||||||
|  |             <li>If you want Source Code as well, you need to pay +$599.00 extra</li></ul> | ||||||
|  |             <p><i class="fa fa-check-square-o fa-2x"></i> | ||||||
|  |             You can publish this App through Webkul Google Play Store Account. | ||||||
|  |             </p> | ||||||
|  |             <ul><li>If you want to publish App with your Google Play Store Account, you need to pay +$50.00 extra</li></ul> | ||||||
|  |             <p><i class="fa fa-check-square-o fa-2x"></i> | ||||||
|  |             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. | ||||||
|  |             <ul><li>You may extend support later(PAID).</li></ul> | ||||||
|  |             </p> | ||||||
|  |         </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 style="margin-top: -25px;"> | ||||||
|  |             You will get 90 days free support for any doubt, queries, and bug fixing (not including data recovery) or any type of issue related to this module. | ||||||
|  |             </p> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  |   </section> --> | ||||||
|  | 
 | ||||||
|  |   <section class="oe_container lead"> | ||||||
|  |       <div class="oe_row oe_spaced"> | ||||||
|  |           <div class="oe_span12"> | ||||||
|  |               <h2 class="oe_slogan">Help and Support</h2> | ||||||
|  |           </div> | ||||||
|  |           <br> | ||||||
|  |           <div class="oe_slogan oe_spaced text-center"> | ||||||
|  |             <b> | ||||||
|  |               <a title="Get Instant Help !"  href="https://webkul.uvdesk.com/en/customer/create-ticket/"><span class="o_ripple" style="height: 98px; width: 98px; top: -23.9688px; left: 14.7812px;"></span><i class="fa fa-life-ring"></i> Help </a> | ||||||
|  |               <a title="Get Instant Support!"  href="https://webkul.uvdesk.com/en/customer/create-ticket/"><i class="fa fa-ticket"></i> Support </a> | ||||||
|  |               <a title="Request Features now !"  href="https://webkul.uvdesk.com/en/customer/create-ticket/"><i class="fa fa-check-circle"></i> Request new Features </a> | ||||||
|  |             </b> | ||||||
|  |           </div> | ||||||
|  |       </div> | ||||||
|  |   </section> | ||||||
|  | 
 | ||||||
|  | <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=mobikul&url=https://apps.openerp.com/apps/modules/10.0/mobikul&uid=mobikul" style="border:0" alt="" /> | ||||||
|  | <!-- End Piwik --> | ||||||
|  |     </div> | ||||||
|  | </section> | ||||||
| After Width: | Height: | Size: 98 KiB | 
| After Width: | Height: | Size: 504 KiB | 
| After Width: | Height: | Size: 169 KiB | 
| After Width: | Height: | Size: 146 KiB | 
| After Width: | Height: | Size: 3.4 KiB | 
| After Width: | Height: | Size: 3.4 KiB | 
| After Width: | Height: | Size: 52 KiB | 
| After Width: | Height: | Size: 50 KiB | 
| After Width: | Height: | Size: 6.1 KiB | 
|  | @ -0,0 +1,72 @@ | ||||||
|  | # import xmlrpclib | ||||||
|  | # import sys | ||||||
|  | 
 | ||||||
|  | # url			= "http://mohitg:8010/"; | ||||||
|  | # dbname    	= "mobikul"; | ||||||
|  | # username    = "admin"; | ||||||
|  | # pwd    		= "webkul"; | ||||||
|  | 
 | ||||||
|  | # sock_common = xmlrpclib.ServerProxy(url+'xmlrpc/common') | ||||||
|  | # sock = xmlrpclib.ServerProxy(url+'xmlrpc/object') | ||||||
|  | # try: | ||||||
|  | # 	uid = sock_common.login(dbname, username, pwd) | ||||||
|  | # 	print uid | ||||||
|  | # except Exception as e: | ||||||
|  | # 	print "Error in Connection %r"%e | ||||||
|  | # 	sys.exit() | ||||||
|  | 
 | ||||||
|  | # def sync_w2m(): | ||||||
|  | # 	wc_ids = sock.execute(dbname, uid, pwd, 'product.public.category', 'search_read', [],['name','image','parent_id']) | ||||||
|  | # 	mapping = {} | ||||||
|  | # 	#creating categories without child/parent | ||||||
|  | # 	for wc in wc_ids: | ||||||
|  | # 		try: | ||||||
|  | # 			mc = sock.execute(dbname, uid, pwd, 'mobikul.category', 'create',{'name':wc['name'],'image':wc['image']}) | ||||||
|  | # 			mapping[wc['id']]=mc | ||||||
|  | # 		except Exception,e: | ||||||
|  | # 			print "1) Error in WC-ID:%r"%wc['id'] | ||||||
|  | # 			print "Detail:%r"%e | ||||||
|  | # 	#updating categories with child/parent | ||||||
|  | # 	for wc in wc_ids: | ||||||
|  | # 		if wc.get('parent_id'): | ||||||
|  | # 			try: | ||||||
|  | # 				sock.execute(dbname, uid, pwd, 'mobikul.category', 'write',mapping.get(wc['id']), {'parent_id':mapping.get(wc['parent_id'][0])}) | ||||||
|  | # 			except Exception,e: | ||||||
|  | # 				print "2) Error in WC-ID:%r"%wc['parent_id'] | ||||||
|  | # 				print "Detail:%r"%e | ||||||
|  | # 	#linking products with categories | ||||||
|  | # 	p_ids = sock.execute(dbname, uid, pwd, 'product.template', 'search_read', [],['public_categ_ids']) | ||||||
|  | # 	for p in p_ids: | ||||||
|  | # 		mcids = [mapping.get(a) for a in p['public_categ_ids']] | ||||||
|  | # 		if mcids: | ||||||
|  | # 			try: | ||||||
|  | # 				sock.execute(dbname, uid, pwd, 'product.template', 'write',p['id'],{'mobikul_categ_ids':[[6,0,mcids]]}) | ||||||
|  | # 			except Exception,e: | ||||||
|  | # 				print "3) Error in P-ID:%r"%p['id'] | ||||||
|  | # 				print "Detail:%r"%e | ||||||
|  | # 		# break | ||||||
|  | 
 | ||||||
|  | # def getBase64(key,pwd): | ||||||
|  | # 	cred = {'login' : key, 'pwd' : pwd} | ||||||
|  | # 	encoded_cred = str(cred).encode('base64','strict') | ||||||
|  | # 	print encoded_cred | ||||||
|  | # 	from base64 import b64decode | ||||||
|  | # 	decoded_cred = b64decode(encoded_cred) | ||||||
|  | # 	print decoded_cred | ||||||
|  | 
 | ||||||
|  | # if __name__=='__main__': | ||||||
|  | # 	print "Start" | ||||||
|  | # 	print sock.execute(dbname, uid, pwd, 'res.users', 'search_read', [('id','=',36)],['name','password','new_password']) | ||||||
|  | # 	print sock.execute(dbname, uid, pwd, 'res.users', 'write', 36,{'password':'webkul'}) | ||||||
|  | # 	print sock.execute(dbname, uid, pwd, 'res.users', 'search_read', [('id','=',36)],['name','password','new_password']) | ||||||
|  | # 	# print sync_w2m() | ||||||
|  | # 	# getBase64('admin','webkul') | ||||||
|  | 
 | ||||||
|  | to_data = { | ||||||
|  | 	"to":"False" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | if not to_data.get("to",False) and not to_data.get("registration_ids",False): | ||||||
|  | 	print (True) | ||||||
|  | else: | ||||||
|  | 	print (False) | ||||||
|  | @ -0,0 +1,26 @@ | ||||||
|  | <!-- <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  | 
 | ||||||
|  |     <record id="view_delivery_carrier_form_mobikul_delivery" model="ir.ui.view"> | ||||||
|  |         <field name="name">delivery.carrier.mobikul.form</field> | ||||||
|  |         <field name="model">delivery.carrier</field> | ||||||
|  |         <field name="inherit_id" ref="website_sale_delivery.view_delivery_carrier_form_website_delivery"/> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |           <div name="title" position="after"> | ||||||
|  |             <field name="is_mobikul_available" invisible="1"/> | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |           <div name="button_box" position="inside"> | ||||||
|  |             <button class="oe_stat_button" name="mobikul_publish_button" | ||||||
|  |                 type="object" icon="fa-globe"> | ||||||
|  |                 <div class="o_stat_info published o_form_field"> | ||||||
|  |                     <span class="o_stat_text o_value text-success" attrs="{'invisible': [('is_mobikul_available', '=', False)]}">Published</span> | ||||||
|  |                     <span class="o_stat_text o_value text-danger" attrs="{'invisible': [('is_mobikul_available', '=', True)]}">Unpublished</span> | ||||||
|  |                     <span class="o_stat_text">On App</span> | ||||||
|  |                 </div> | ||||||
|  |             </button> | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | </odoo> --> | ||||||
|  | @ -0,0 +1,37 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  | 
 | ||||||
|  | 	<!-- Menu items hierachy --> | ||||||
|  | 	<menuitem id="menu_mobikul_title" name="Mobikul" web_icon="mobikul,static/description/icon.png" sequence="99" groups="mobikul.group_mobikul_user,mobikul.group_mobikul_manager"/> | ||||||
|  | 
 | ||||||
|  | 	<menuitem id="menu_mobikul_dash" name="Dashboard" parent="menu_mobikul_title" sequence="0" groups="mobikul.group_mobikul_user,mobikul.group_mobikul_manager"/> | ||||||
|  | 	<menuitem id="menu_mobikul_orders" name="App Orders" parent="menu_mobikul_title" sequence="1" groups="mobikul.group_mobikul_user,mobikul.group_mobikul_manager"/> | ||||||
|  | 	<menuitem id="menu_mobikul_catalog" name="Catalogs" parent="menu_mobikul_title" sequence="2" groups="mobikul.group_mobikul_user,mobikul.group_mobikul_manager"/> | ||||||
|  | 	<menuitem id="menu_mobikul_extras" name="Extra Added Features" parent="menu_mobikul_title" sequence="3" groups= "mobikul.group_mobikul_user,mobikul.group_mobikul_manager"/> | ||||||
|  | 	<menuitem id="menu_mobikul_config" name="Configuration" parent="menu_mobikul_title" sequence="4" groups="mobikul.group_mobikul_manager"/> | ||||||
|  | 
 | ||||||
|  |     <menuitem id="mobilkul_banners" name="Banners" parent="menu_mobikul_extras" action="mobikul_banners_action" sequence="1"/> | ||||||
|  |     <menuitem id="mobilkul_fcategory" name="Featured Category" parent="menu_mobikul_extras" action="mobikul_featured_category_action" sequence="2"/> | ||||||
|  |     <menuitem id="mobikul_pslider" name="Product Sliders" parent="menu_mobikul_extras" action="mobikul_product_slider_action" sequence="3"/> | ||||||
|  |     <menuitem id="mobilkul_push_notifications" name="Push Notifications" parent="menu_mobikul_extras" sequence="4"/> | ||||||
|  |     <menuitem id="mobilkul_push_notification_one_time" name="One-Time Notifications" parent="mobilkul_push_notifications" action="mobikul_push_notification_action" sequence="1"/> | ||||||
|  |     <menuitem id="mobilkul_push_notification_templates" name="Notification Templates" parent="mobilkul_push_notifications" action="mobikul_push_notification_templates_action" sequence="2"/> | ||||||
|  | 	<menuitem id="menu_mobilkul_notification_messages" name="Notification Messages" parent="mobilkul_push_notifications" action="mobikul_notification_massages_templates_action" sequence="3"/> | ||||||
|  | 
 | ||||||
|  |     <!-- Orders sub-menus --> | ||||||
|  |     <menuitem id="mobikul_orders_orders" name="Orders" parent="menu_mobikul_orders" action="mobikul_orders_action" sequence="1"/> | ||||||
|  |     <menuitem id="mobikul_orders_unpaid_orders" name="Unpaid Orders" parent="menu_mobikul_orders" action="mobikul_unpaid_orders_action" sequence="2"/> | ||||||
|  |     <menuitem id="mobikul_orders_abandonned_orders" name="Cancelled Orders" parent="menu_mobikul_orders" action="mobikul_abandonned_orders_action" sequence="3"/> | ||||||
|  |     <menuitem id="mobikul_orders_invoices" name="Invoices" parent="menu_mobikul_orders" action="mobikul_action_invoices" sequence="4"/> | ||||||
|  | 
 | ||||||
|  |      <!-- Catalog sub-menus --> | ||||||
|  |     <menuitem id="mobikul_catalog_products" name="Products" parent="menu_mobikul_catalog" action="mobikul_product_template_action" sequence="1"/> | ||||||
|  |     <menuitem id="mobikul_config_category" name="Mobikul Category" parent="menu_mobikul_catalog" action="mobikul_category_action" sequence="1"/> | ||||||
|  | 
 | ||||||
|  |     <!-- Config sub-menus --> | ||||||
|  |     <menuitem id="mobikul_config_settings" name="Settings" parent="menu_mobikul_config" action="mobikul_config_setting_action" sequence="1"/> | ||||||
|  | 
 | ||||||
|  |     <menuitem id="mobikul_reg_devices_fcm" name="FCM Reg. Devices" parent="menu_mobikul_config" action="fcm_registered_devices_action" sequence="2"/> | ||||||
|  |     <menuitem id="mobikul_reg_topics_fcm" name="FCM Topics" parent="menu_mobikul_config" action="fcm_registered_topics_action" sequence="3"/> | ||||||
|  | 
 | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,802 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  |     <record id="fcm_registered_devices_view_form" model="ir.ui.view"> | ||||||
|  |         <field name="name">fcm_registered_devices.form</field> | ||||||
|  |         <field name="model">fcm.registered.devices</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <form string="Registered Devices"> | ||||||
|  |                 <sheet> | ||||||
|  |                     <div class="oe_button_box" name="button_box"> | ||||||
|  |                         <button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive"> | ||||||
|  |                             <field name="active" widget="boolean_button" options='{"terminology": "archive"}'/> | ||||||
|  |                         </button> | ||||||
|  |                     </div> | ||||||
|  |                     <group> | ||||||
|  |                         <group> | ||||||
|  |                             <field name="customer_id"/> | ||||||
|  |                             <field name="device_id"/> | ||||||
|  |                         </group> | ||||||
|  |                         <group> | ||||||
|  |                             <field name="create_date"/> | ||||||
|  |                             <field name="write_date"/> | ||||||
|  |                         </group> | ||||||
|  |                         <field name="token"/> | ||||||
|  |                         <field name="description"/> | ||||||
|  |                     </group> | ||||||
|  |                 </sheet> | ||||||
|  |             </form> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="fcm_registered_devices_view_tree" model="ir.ui.view"> | ||||||
|  |         <field name="name">fcm_registered_devices.tree</field> | ||||||
|  |         <field name="model">fcm.registered.devices</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <tree string="Registered Devices"> | ||||||
|  |                 <field name="customer_id"/> | ||||||
|  |                 <field name="device_id"/> | ||||||
|  |                 <field name="create_date"/> | ||||||
|  |                 <field name="write_date"/> | ||||||
|  |             </tree> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="fcm_registered_devices_action" model="ir.actions.act_window"> | ||||||
|  |         <field name="name">FCM Registered Devices</field> | ||||||
|  |         <field name="res_model">fcm.registered.devices</field> | ||||||
|  |         <field name="view_mode">tree,form</field> | ||||||
|  |         <field name="view_type">form</field> | ||||||
|  |         <field name="view_id" ref="fcm_registered_devices_view_tree"/> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |         <record id="fcm_registered_topics_view_tree" model="ir.ui.view"> | ||||||
|  |         <field name="name">fcm_registered_topics.tree</field> | ||||||
|  |         <field name="model">fcm.registered.topics</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <tree string="All FCM Topics" editable="top"> | ||||||
|  |                 <field name="name"/> | ||||||
|  |             </tree> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="fcm_registered_topics_action" model="ir.actions.act_window"> | ||||||
|  |         <field name="name">FCM Registered Topics</field> | ||||||
|  |         <field name="res_model">fcm.registered.topics</field> | ||||||
|  |         <field name="view_mode">tree</field> | ||||||
|  |         <field name="view_type">form</field> | ||||||
|  |         <field name="view_id" ref="fcm_registered_topics_view_tree"/> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_push_notification_view_form" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul.push.notification.form</field> | ||||||
|  |         <field name="model">mobikul.push.notification</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <form string="Push Notification"> | ||||||
|  |                 <header> | ||||||
|  |                     <button name="action_confirm" states="draft" type="object" string="Confirm" class="oe_highlight"/> | ||||||
|  |                     <button name="action_draft" states="cancel,hold" type="object" string="Set to Draft"/> | ||||||
|  |                     <button name="action_hold" states="confirm" type="object" string="Set to Hold"/> | ||||||
|  |                     <button name="action_confirm" states="hold" type="object" string="Release Hold" class="oe_highlight"/> | ||||||
|  |                     <button name="action_cancel" states="draft,hold" type="object" string="Cancel"/> | ||||||
|  |                     <button name="push_now" states="confirm" type="object" string="Push now" class="oe_highlight"/> | ||||||
|  |                     <button name="duplicate_me" states="done" type="object" string="Duplicate" /> | ||||||
|  |                     <button name="push_now" states="error" type="object" string="Retry" class="oe_highlight"/> | ||||||
|  |                     <field name="state" widget="statusbar" statusbar_visible="draft,confirm,done"/> | ||||||
|  |                 </header> | ||||||
|  |                 <sheet> | ||||||
|  |                     <div class="oe_button_box" name="button_box"> | ||||||
|  |                         <button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive"> | ||||||
|  |                             <field name="active" widget="boolean_button" options='{"terminology": "archive"}'/> | ||||||
|  |                         </button> | ||||||
|  |                     </div> | ||||||
|  |                     <field name="image" widget="image" class="oe_avatar"/> | ||||||
|  |                     <div class="oe_title"> | ||||||
|  |                         <div class="oe_edit_only"> | ||||||
|  |                             <label for="name" string="Name"/> | ||||||
|  |                         </div> | ||||||
|  |                         <h1> | ||||||
|  |                             <field name="name" default_focus="1" placeholder="Record name"/> | ||||||
|  |                         </h1> | ||||||
|  |                     </div> | ||||||
|  |                     <br/> | ||||||
|  |                     <br/> | ||||||
|  |                     <separator string="Result" colspan="4" attrs="{'invisible': [('state', 'not in', ['done','error'])]}"/> | ||||||
|  |                             <field name="summary" colspan="4" attrs="{'invisible': [('state', 'not in', ['done','error'])]}"/> | ||||||
|  |                     <notebook> | ||||||
|  |                         <page string="Information"> | ||||||
|  |                         <separator string="Content to be displayed in Push Notification" colspan="4"/> | ||||||
|  |                             <field name="notification_title" colspan="4" placeholder="Title"/> | ||||||
|  |                             <field name="notification_body" colspan="4" placeholder="Body"/> | ||||||
|  |                         <separator string="Action to be triggered on click/touch" colspan="4"/> | ||||||
|  |                             <group> | ||||||
|  |                                 <group> | ||||||
|  |                                     <field name="banner_action"/> | ||||||
|  |                                 </group> | ||||||
|  |                                 <group> | ||||||
|  |                                     <field name="product_id" attrs="{'invisible': [('banner_action', 'in', ['category','none',False,'custom'])], 'required': [('banner_action', '=', 'product')]}"/> | ||||||
|  |                                     <field name="category_id" attrs="{'invisible': [('banner_action', 'in', ['product','none',False,'custom'])], 'required': [('banner_action', '=', 'category')]}"/> | ||||||
|  |                                     <field name="product_ids" attrs="{'invisible': [('banner_action', 'in', ['product','none',False,'category'])], 'required': [('banner_action', '=', 'custom')]}" widget="many2many_tags"/> | ||||||
|  |                                 </group> | ||||||
|  |                             </group> | ||||||
|  |                         </page> | ||||||
|  |                         <page string="Advanced"> | ||||||
|  |                             <separator string="Notification Type" colspan="4"/> | ||||||
|  |                             <group> | ||||||
|  |                                 <group> | ||||||
|  |                                     <field name="notification_type"/> | ||||||
|  |                                 </group> | ||||||
|  |                                 <group> | ||||||
|  |                                     <field name="topic_id" attrs="{'invisible': [('notification_type', 'in', ['token-auto','token-manual'])], 'required': [('notification_type', '=', 'topic')]}" widget="selection"/> | ||||||
|  |                                     <field name="device_ids" attrs="{'invisible': [('notification_type', 'in', ['topic','token-auto'])], 'required': [('notification_type', '=', 'token-manual')]}" widget="many2many_tags" quick_create="false"/> | ||||||
|  |                                 </group> | ||||||
|  |                             </group> | ||||||
|  |                             <separator string="Others" colspan="4"/> | ||||||
|  |                             <group> | ||||||
|  |                                 <group> | ||||||
|  |                                     <field name="activation_date"/> | ||||||
|  |                                     <field name="notification_color"/> | ||||||
|  |                                     <field name="notification_tag"/> | ||||||
|  |                                 </group> | ||||||
|  |                                 <group> | ||||||
|  |                                     <field name="total_views"/> | ||||||
|  |                                 </group> | ||||||
|  |                             </group> | ||||||
|  |                         </page> | ||||||
|  |                     </notebook> | ||||||
|  |                 </sheet> | ||||||
|  |             </form> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_push_notification_view_tree" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul.push.notification.tree</field> | ||||||
|  |         <field name="model">mobikul.push.notification</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <tree string="Push Notifications" colors="grey:state == 'done';green:state == 'confirm';red:state == 'hold';blue:state == 'draft';"> | ||||||
|  |                 <field name="name"/> | ||||||
|  |                 <field name="banner_action"/> | ||||||
|  |                 <field name="activation_date"/> | ||||||
|  |                 <field name="state"/> | ||||||
|  |             </tree> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_push_notification_filter_view" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul_push_notification.search.mobikul</field> | ||||||
|  |         <field name="model">mobikul.push.notification</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <search string="Mobikul Push Notification"> | ||||||
|  |                 <field name="name" string="Push Notification" filter_domain="[('name','ilike',self)]"/> | ||||||
|  |                 <separator/> | ||||||
|  |                 <filter string="Archived" name="inactive" domain="[('active','=',False)]"/> | ||||||
|  |             </search> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         <!-- mobikul.push.notification : actions --> | ||||||
|  |     <record id="mobikul_push_notification_action" model="ir.actions.act_window"> | ||||||
|  |         <field name="name">Mobikul Push Notifications</field> | ||||||
|  |         <field name="res_model">mobikul.push.notification</field> | ||||||
|  |         <field name="view_mode">tree,form</field> | ||||||
|  |         <field name="view_type">form</field> | ||||||
|  |         <field name="view_id" ref="mobikul_push_notification_view_tree"/> | ||||||
|  |         <field name="search_view_id" ref="mobikul_push_notification_filter_view"/> | ||||||
|  |         <field name="help" type="html"> | ||||||
|  |           <p class="oe_view_nocontent_create"> | ||||||
|  |             Click to add a new Push Notification for your Mobikul App. | ||||||
|  |           </p> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |         <record id="mobikul_push_notification_template_view_form" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul.push.notification.template.form</field> | ||||||
|  |         <field name="model">mobikul.push.notification.template</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <form string="Push Notification Template"> | ||||||
|  |                 <sheet> | ||||||
|  |                     <div class="oe_button_box" name="button_box"> | ||||||
|  |                         <button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive"> | ||||||
|  |                             <field name="active" widget="boolean_button" options='{"terminology": "archive"}'/> | ||||||
|  |                         </button> | ||||||
|  |                     </div> | ||||||
|  |                     <field name="image" widget="image" class="oe_avatar"/> | ||||||
|  |                     <div class="oe_title"> | ||||||
|  |                         <div class="oe_edit_only"> | ||||||
|  |                             <label for="name" string="Name"/> | ||||||
|  |                         </div> | ||||||
|  |                         <h1> | ||||||
|  |                             <field name="name" default_focus="1" placeholder="Record name"/> | ||||||
|  |                         </h1> | ||||||
|  |                     </div> | ||||||
|  |                     <notebook> | ||||||
|  |                         <page string="Information"> | ||||||
|  |                         <separator string="Notification will be triggered automatically when" colspan="4"/> | ||||||
|  |                             <group> | ||||||
|  |                                 <field name="condition" required="1"/> | ||||||
|  |                             </group> | ||||||
|  |                         <separator string="Content to be displayed in Push Notification" colspan="4"/> | ||||||
|  |                             <field name="notification_title" colspan="4" placeholder="Title"/> | ||||||
|  |                             <field name="notification_body" colspan="4" placeholder="Body"/> | ||||||
|  |                         <separator string="Action to be triggered on click/touch" colspan="4"/> | ||||||
|  |                             <group> | ||||||
|  |                                 <group> | ||||||
|  |                                     <field name="banner_action"/> | ||||||
|  |                                 </group> | ||||||
|  |                                 <group> | ||||||
|  |                                     <field name="product_id" attrs="{'invisible': [('banner_action', 'in', ['category','none',False,'custom'])], 'required': [('banner_action', '=', 'product')]}"/> | ||||||
|  |                                     <field name="category_id" attrs="{'invisible': [('banner_action', 'in', ['product','none',False,'custom'])], 'required': [('banner_action', '=', 'category')]}"/> | ||||||
|  |                                     <field name="product_ids" attrs="{'invisible': [('banner_action', 'in', ['product','none',False,'category'])], 'required': [('banner_action', '=', 'custom')]}" widget="many2many_tags"/> | ||||||
|  |                                 </group> | ||||||
|  |                             </group> | ||||||
|  |                         </page> | ||||||
|  |                         <page string="Advanced"> | ||||||
|  |                             <group> | ||||||
|  |                                 <group> | ||||||
|  |                                     <field name="notification_color"/> | ||||||
|  |                                     <field name="notification_tag"/> | ||||||
|  |                                 </group> | ||||||
|  |                                 <group> | ||||||
|  |                                     <field name="total_views"/> | ||||||
|  |                                 </group> | ||||||
|  |                                 <group> | ||||||
|  |                                     <field name="device_id" widget="selection"/> | ||||||
|  | 
 | ||||||
|  |                                 </group> | ||||||
|  |                                  <button name="dry_run" type="object" string="Dry run on" class="oe_highlight" style="width: 83px;position: relative;top: 8px;"/> | ||||||
|  |                             </group> | ||||||
|  | 
 | ||||||
|  |                         </page> | ||||||
|  |                     </notebook> | ||||||
|  |                 </sheet> | ||||||
|  |             </form> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_push_notification_template_view_tree" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul.push.notification.template.tree</field> | ||||||
|  |         <field name="model">mobikul.push.notification.template</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <tree string="Push Notification Templates"> | ||||||
|  |                 <field name="name"/> | ||||||
|  |                 <field name="banner_action"/> | ||||||
|  |             </tree> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_push_notification_templates_action" model="ir.actions.act_window"> | ||||||
|  |         <field name="name">Push Notifications Templates</field> | ||||||
|  |         <field name="res_model">mobikul.push.notification.template</field> | ||||||
|  |         <field name="view_mode">tree,form</field> | ||||||
|  |         <field name="view_type">form</field> | ||||||
|  |         <field name="help" type="html"> | ||||||
|  |           <p class="oe_view_nocontent_create"> | ||||||
|  |             Click to add a new Push Notification Templates for your Mobikul App. | ||||||
|  |           </p> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  | 	    <!-- mobikul.banners: views --> | ||||||
|  | 	<record id="mobikul_banners_view_form" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul.banners.form</field> | ||||||
|  |         <field name="model">mobikul.banners</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <form string="Banner"> | ||||||
|  |                 <sheet> | ||||||
|  |                     <div class="oe_button_box" name="button_box"> | ||||||
|  |                         <button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive"> | ||||||
|  |                             <field name="active" widget="boolean_button" options='{"terminology": "archive"}'/> | ||||||
|  |                         </button> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="oe_title"> | ||||||
|  |                         <div class="oe_edit_only"> | ||||||
|  |                             <label for="name" string="Title"/> | ||||||
|  |                         </div> | ||||||
|  |                         <h1> | ||||||
|  |                             <field name="name" default_focus="1" placeholder="Name"/> | ||||||
|  |                         </h1> | ||||||
|  |                     </div> | ||||||
|  |                     <notebook> | ||||||
|  |                         <page string="Information"> | ||||||
|  |                             <group> | ||||||
|  |                             	<group> | ||||||
|  |                                 	<field name="banner_action"/> | ||||||
|  |                                 </group> | ||||||
|  |                                 <group> | ||||||
|  | 									<field name="product_id" attrs="{'invisible': [('banner_action', 'in', ['category','none',False,'custom'])], 'required': [('banner_action', '=', 'product')]}"/> | ||||||
|  |                                     <field name="category_id" attrs="{'invisible': [('banner_action', 'in', ['product','none',False,'custom'])], 'required': [('banner_action', '=', 'category')]}"/> | ||||||
|  |                                 </group> | ||||||
|  |                             </group> | ||||||
|  |                             <group string="Custom Collection" attrs="{'invisible': [('banner_action', 'in', ['product','none',False,'category'])]}"> | ||||||
|  |                                     <field name="product_ids" attrs="{'invisible': [('banner_action', 'in', ['product','none',False,'category'])], 'required': [('banner_action', '=', 'custom')]}" nolabel="1"> | ||||||
|  |                                         <tree> | ||||||
|  |                                           <field name="name"/> | ||||||
|  |                                           <field name="mobikul_categ_ids"/> | ||||||
|  |                                        </tree> | ||||||
|  |                                     </field> | ||||||
|  |                             </group> | ||||||
|  |                             <separator string="Description" colspan="4"/> | ||||||
|  |                             <field name="description" colspan="4" placeholder="Description for Banner for Internal use only."/> | ||||||
|  |                         </page> | ||||||
|  |                         <page string="Advanced"> | ||||||
|  |                         	<div> | ||||||
|  |                                 <label for="name" string="Banner`s Image Url (Optional)"/> | ||||||
|  |                                 <field name="url"/> | ||||||
|  |                             </div> | ||||||
|  |                         	<group> | ||||||
|  |                             	<group> | ||||||
|  |                             		<field name="date_published"/> | ||||||
|  |                             		<field name="date_expired"/> | ||||||
|  |                                 </group> | ||||||
|  |                                 <group> | ||||||
|  |                                 	<field name="sequence"/> | ||||||
|  |                                     <field name="total_views"/> | ||||||
|  |                                 </group> | ||||||
|  |                             </group> | ||||||
|  |                         </page> | ||||||
|  |                     </notebook> | ||||||
|  |                 </sheet> | ||||||
|  |                 <div> | ||||||
|  |                     <div class="oe_edit_only" attrs="{'invisible': [('image', '=', False)]}"> | ||||||
|  |                         <h1>Change Banner Image</h1> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="oe_edit_only" attrs="{'invisible': [('image', '!=', False)]}"> | ||||||
|  |                         <h1>Upload Banner Image</h1> | ||||||
|  |                     </div> | ||||||
|  |                     <field name="image" widget="image" colspan="4"/> | ||||||
|  |                 </div> | ||||||
|  |             </form> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  | 	<record id="mobikul_banners_view_tree" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul.banners.tree</field> | ||||||
|  |         <field name="model">mobikul.banners</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <tree string="Banner Images"> | ||||||
|  |             	<field name="sequence" widget="handle"/> | ||||||
|  |                 <field name="name"/> | ||||||
|  |                 <field name="banner_action"/> | ||||||
|  |                 <field name="date_published"/> | ||||||
|  |                 <field name="date_expired"/> | ||||||
|  |             </tree> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_banners_filter_view" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul_banners.search.mobikul</field> | ||||||
|  |         <field name="model">mobikul.banners</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <search string="Mobikul Banner"> | ||||||
|  |                 <field name="name" string="Banner" filter_domain="[('name','ilike',self)]"/> | ||||||
|  |                 <separator/> | ||||||
|  |                 <filter string="Archived" name="inactive" domain="[('active','=',False)]"/> | ||||||
|  |             </search> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     	<!-- mobikul.banner.images : actions --> | ||||||
|  |     <record id="mobikul_banners_action" model="ir.actions.act_window"> | ||||||
|  |         <field name="name">Mobikul Banners</field> | ||||||
|  |         <field name="res_model">mobikul.banners</field> | ||||||
|  |         <field name="view_mode">tree,form</field> | ||||||
|  |         <field name="view_type">form</field> | ||||||
|  |         <field name="view_id" ref="mobikul_banners_view_tree"/> | ||||||
|  |         <field name="search_view_id" ref="mobikul_banners_filter_view"/> | ||||||
|  |         <field name="help" type="html"> | ||||||
|  |           <p class="oe_view_nocontent_create"> | ||||||
|  |             Click to add a new Banner for your Mobikul App. | ||||||
|  |           </p> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_category_form_view" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul.category.form</field> | ||||||
|  |         <field name="model">mobikul.category</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <form class="oe_form_configuration"> | ||||||
|  |                 <sheet> | ||||||
|  |                     <div class="oe_button_box" name="button_box"> | ||||||
|  |                         <button class="oe_stat_button" | ||||||
|  |                             name="%(mobikul_product_template_action)d" | ||||||
|  |                             icon="fa-th-list" | ||||||
|  |                             type="action" | ||||||
|  |                             context="{'search_default_mobikul_categ_ids': active_id}"> | ||||||
|  |                             <div class="o_form_field o_stat_info"> | ||||||
|  |                                 <span class="o_stat_text"> Products</span> | ||||||
|  |                             </div> | ||||||
|  |                         </button> | ||||||
|  |                         <button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive"> | ||||||
|  |                             <field name="active" widget="boolean_button" options='{"terminology": "archive"}'/> | ||||||
|  |                         </button> | ||||||
|  |                     </div> | ||||||
|  |                     <field name="icon" widget="image" class="oe_avatar"/> | ||||||
|  |                     <div class="oe_title"> | ||||||
|  |                         <div class="oe_edit_only"> | ||||||
|  |                             <label for="name" string="Name"/> | ||||||
|  |                         </div> | ||||||
|  |                         <h1> | ||||||
|  |                             <field name="name" default_focus="1" placeholder="Name"/> | ||||||
|  |                         </h1> | ||||||
|  |                     </div> | ||||||
|  |                     <group name="charac" col="4" string="Category Type"> | ||||||
|  |                         <field name="parent_id"/> | ||||||
|  |                         <field name="type" widget="radio"/> | ||||||
|  |                          <field name="sequence"/> | ||||||
|  |                     </group> | ||||||
|  | <!--                     <group string="Upload Banner/Icon for this Category"> | ||||||
|  |                         <field name="banner" widget="image" colspan="6"/> | ||||||
|  |                         <field name="icon" widget="image" colspan="6"/> | ||||||
|  |                     </group> --> | ||||||
|  |                 </sheet> | ||||||
|  |             </form> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_category_view_tree" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul.category.tree</field> | ||||||
|  |         <field name="model">mobikul.category</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <tree string="Mobikul Category"> | ||||||
|  |                  <field name="sequence" /> | ||||||
|  |                 <field name="complete_name"/> | ||||||
|  |                 <!--<field name="name"/>--> | ||||||
|  |             </tree> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_category_view_tree2" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul.category.tree2</field> | ||||||
|  |         <field name="model">mobikul.category</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <tree string="Mobikul Category"> | ||||||
|  |                 <field name="sequence" /> | ||||||
|  |                 <field name="complete_name" /> | ||||||
|  |                 <field name="name" invisible="1"/> | ||||||
|  |             </tree> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_category_filter_view" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul.category.search.mobikul</field> | ||||||
|  |         <field name="model">mobikul.category</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <search string="Mobikul Category"> | ||||||
|  |                 <field name="name" string="Category" filter_domain="[('name','ilike',self)]"/> | ||||||
|  |                 <separator/> | ||||||
|  |                 <filter string="Featured" name="is_featured" domain="[('type','=','featured')]"/> | ||||||
|  |                 <filter string="Archived" name="inactive" domain="[('active','=',False)]"/> | ||||||
|  |             </search> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |             <!-- mobikul.category : actions --> | ||||||
|  |     <record id="mobikul_category_action" model="ir.actions.act_window"> | ||||||
|  |         <field name="name">Mobikul Category</field> | ||||||
|  |         <field name="res_model">mobikul.category</field> | ||||||
|  |         <field name="view_mode">tree,form</field> | ||||||
|  |         <field name="view_type">form</field> | ||||||
|  |         <field name="view_id" ref="mobikul_category_view_tree"/> | ||||||
|  |         <field name="search_view_id" ref="mobikul_category_filter_view"/> | ||||||
|  |         <field name="help" type="html"> | ||||||
|  |           <p class="oe_view_nocontent_create"> | ||||||
|  |             Click to add a new Category for your Mobikul App. | ||||||
|  |           </p> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |                 <!-- Featured Category : actions --> | ||||||
|  |     <record id="mobikul_featured_category_action" model="ir.actions.act_window"> | ||||||
|  |         <field name="name">Mobikul Featured Category</field> | ||||||
|  |         <field name="res_model">mobikul.category</field> | ||||||
|  |         <field name="view_mode">tree,form</field> | ||||||
|  |         <field name="view_type">form</field> | ||||||
|  |         <field name="view_id" ref="mobikul_category_view_tree2"/> | ||||||
|  |         <field name="context">{'search_default_is_featured': 1, 'default_type': 'featured'}</field> | ||||||
|  |         <field name="help" type="html"> | ||||||
|  |           <p class="oe_view_nocontent_create"> | ||||||
|  |             Click to add a new Featured Category for your Mobikul App. | ||||||
|  |           </p> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_mobikul_view_form" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul.form</field> | ||||||
|  |         <field name="model">mobikul</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <form string="Mobikul-App Configuration"> | ||||||
|  |                 <sheet> | ||||||
|  |                     <div class="oe_title"> | ||||||
|  |                         <div class="oe_edit_only"> | ||||||
|  |                             <label for="name" string="Title"/> | ||||||
|  |                         </div> | ||||||
|  |                         <h1> | ||||||
|  |                             <field name="name" default_focus="1" placeholder="Name"/> | ||||||
|  |                         </h1> | ||||||
|  |                     </div> | ||||||
|  |                 <notebook> | ||||||
|  |                     <page string="Credentials"> | ||||||
|  |                         <group string="Mobikul API Configuration"> | ||||||
|  |                             <field name="api_key"/> | ||||||
|  |                         </group> | ||||||
|  |                         <group string="Android Push Notification Credentials"> | ||||||
|  |                             <field name="fcm_api_key"/> | ||||||
|  |                         </group> | ||||||
|  |                     </page> | ||||||
|  |                     <page string="Advanced"> | ||||||
|  |                         <group> | ||||||
|  |                             <group string="Pricelist/Currency"> | ||||||
|  |                                 <field name="pricelist_id"/> | ||||||
|  |                                 <field name="currency_id"/> | ||||||
|  |                             </group> | ||||||
|  |                             <group string="Language"> | ||||||
|  |                                 <label for="language_ids"/> | ||||||
|  |                                 <div name="language_ids"> | ||||||
|  |                                     <div> | ||||||
|  |                                         <div name="language_ids" class="oe_inline"> | ||||||
|  |                                             <field name="language_ids" widget="many2many_checkboxes"/> | ||||||
|  |                                         </div> | ||||||
|  |                                     </div> | ||||||
|  |                                 </div> | ||||||
|  | 
 | ||||||
|  |                                 <field name="default_lang" widget="selection"/> | ||||||
|  |                                 <field name="website_id" widget="selection"/> | ||||||
|  |                             </group> | ||||||
|  |                         </group> | ||||||
|  |                         <group string="Orders"> | ||||||
|  |                             <group > | ||||||
|  |                                 <field name="salesperson_id"/> | ||||||
|  |                                 <field name="salesteam_id"/> | ||||||
|  |                             </group> | ||||||
|  |                             <group > | ||||||
|  |                                 <field name="order_mail_template"/> | ||||||
|  |                             </group> | ||||||
|  |                         </group> | ||||||
|  |                         <group string="Mobikul Extra Features"> | ||||||
|  |                             <group > | ||||||
|  |                                 <field name="product_limit"/> | ||||||
|  |                             </group> | ||||||
|  |                             <group > | ||||||
|  |                                 <field name="color_scheme" string="Choose Combination"/> | ||||||
|  |                             </group> | ||||||
|  |                         </group> | ||||||
|  |                     </page> | ||||||
|  |                 </notebook> | ||||||
|  |                 </sheet> | ||||||
|  |             </form> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_mobikul_view_tree" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul.tree</field> | ||||||
|  |         <field name="model">mobikul</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <tree string="Mobikul-App Configuration"> | ||||||
|  |                 <field name="name"/> | ||||||
|  |             </tree> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |             <!-- mobikul.category : actions --> | ||||||
|  |     <record id="mobikul_mobikul_action" model="ir.actions.act_window"> | ||||||
|  |         <field name="name">Mobikul-App Configuration</field> | ||||||
|  |         <field name="res_model">mobikul</field> | ||||||
|  |         <field name="view_mode">tree,form</field> | ||||||
|  |         <field name="view_type">form</field> | ||||||
|  |         <field name="view_id" ref="mobikul_mobikul_view_tree"/> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_product_slider_form_view" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul_product_slider.form</field> | ||||||
|  |         <field name="model">mobikul.product.slider</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <form class="oe_form_configuration"> | ||||||
|  |                 <sheet> | ||||||
|  |                     <div class="oe_button_box" name="button_box"> | ||||||
|  |                         <button class="oe_stat_button" name="action_view_products" | ||||||
|  |                         type="object" icon="fa-th-list" > | ||||||
|  |                         <field string="Products" name="product_count" widget="statinfo" /> | ||||||
|  |                     </button> | ||||||
|  |                         <button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive"> | ||||||
|  |                             <field name="active" widget="boolean_button" options='{"terminology": "archive"}'/> | ||||||
|  |                         </button> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="oe_title"> | ||||||
|  |                         <div class="oe_edit_only"> | ||||||
|  |                             <label for="name" string="Name"/> | ||||||
|  |                         </div> | ||||||
|  |                         <h1> | ||||||
|  |                             <field name="name" default_focus="1" placeholder="Name"/> | ||||||
|  |                         </h1> | ||||||
|  |                     </div> | ||||||
|  |                     <group string="Product Selection"> | ||||||
|  |                         <group> | ||||||
|  |                             <field name="product_selection"/> | ||||||
|  |                             <field name="product_based_on" attrs="{'invisible': [('product_selection', '=', 'manual')],'required': [('product_selection', '=', 'automatic')]}"/> | ||||||
|  |                         </group> | ||||||
|  |                         <group> | ||||||
|  |                             <field name="mcategory_id" attrs="{'invisible': ['|', ('product_selection', '=','manual'),('product_based_on', 'not in', ['mCategory'])],'required': ['&', ('product_selection', '=', 'automatic'),('product_based_on', '=', 'mCategory')]}"/> | ||||||
|  |                             <field name="wcategory_id" attrs="{'invisible': ['|', ('product_selection', '=','manual'),('product_based_on', 'not in', ['wCategory'])],'required': ['&', ('product_selection', '=', 'automatic'),('product_based_on', '=', 'wCategory')]}"/> | ||||||
|  |                             <field name="icategory_id" attrs="{'invisible': ['|', ('product_selection', '=','manual'),('product_based_on', 'not in', ['iCategory'])],'required': ['&', ('product_selection', '=', 'automatic'),('product_based_on', '=', 'iCategory')]}"/> | ||||||
|  |                             <field name="product_ids" string="Products" widget="many2many_tags" attrs="{'invisible': [('product_selection', '=', 'automatic')],'required': [('product_selection', '=', 'manual')]}"/> | ||||||
|  |                         </group> | ||||||
|  |                     </group> | ||||||
|  |                     <group string="General Settings"> | ||||||
|  |                         <group> | ||||||
|  |                             <field name="sequence"/> | ||||||
|  |                             <field name="slider_mode"/> | ||||||
|  |                             <field name="product_img_position" readonly="1"/> | ||||||
|  |                         </group> | ||||||
|  |                         <group> | ||||||
|  |                             <field name="item_limit"/> | ||||||
|  |                             <field name="item_display_limit" readonly="1"/> | ||||||
|  |                             <field name="total_views" invisible="1"/> | ||||||
|  |                         </group> | ||||||
|  |                     </group> | ||||||
|  | <!--                     <group string="Background/Banner Image for your Slider"> | ||||||
|  |                         <group> | ||||||
|  |                             <field name="display_banner" string="Enable ?"/> | ||||||
|  |                         </group> | ||||||
|  |                         <group> | ||||||
|  |                             <field name="banner" attrs="{'invisible': [('display_banner', '=', False)]}"/> | ||||||
|  |                             <field name="url" attrs="{'invisible': [('display_banner', '=', False)]}"/> | ||||||
|  |                         </group> | ||||||
|  |                     </group> --> | ||||||
|  |                     <separator string="Description" colspan="4"/> | ||||||
|  |                     <field name="description" colspan="4" placeholder="For Internal purpose Only"/> | ||||||
|  |                 </sheet> | ||||||
|  |             </form> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_product_slider_view_tree" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul_product_slider.tree</field> | ||||||
|  |         <field name="model">mobikul.product.slider</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <tree string="Mobikul Product Slider"> | ||||||
|  |                 <field name="sequence" widget="handle"/> | ||||||
|  |                 <field name="name"/> | ||||||
|  |                 <field name="slider_mode"/> | ||||||
|  |                 <field name="total_views"/> | ||||||
|  |             </tree> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_product_slider_filter_view" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul_product_slider.search.mobikul</field> | ||||||
|  |         <field name="model">mobikul.product.slider</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <search string="Mobikul Product Slider"> | ||||||
|  |                 <field name="name" string="Slider" filter_domain="[('name','ilike',self)]"/> | ||||||
|  |                 <separator/> | ||||||
|  |                 <filter string="Archived" name="inactive" domain="[('active','=',False)]"/> | ||||||
|  |                 <group expand="0" string="Group By"> | ||||||
|  |                         <filter string="Slider Mode" domain="[]" context="{'group_by':'slider_mode'}"/> | ||||||
|  |                 </group> | ||||||
|  |             </search> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |             <!-- mobikul.category : actions --> | ||||||
|  |     <record id="mobikul_product_slider_action" model="ir.actions.act_window"> | ||||||
|  |         <field name="name">Product Slider</field> | ||||||
|  |         <field name="res_model">mobikul.product.slider</field> | ||||||
|  |         <field name="view_mode">tree,form</field> | ||||||
|  |         <field name="view_type">form</field> | ||||||
|  |         <field name="view_id" ref="mobikul_product_slider_view_tree"/> | ||||||
|  |         <field name="search_view_id" ref="mobikul_product_slider_filter_view"/> | ||||||
|  |         <field name="help" type="html"> | ||||||
|  |           <p class="oe_view_nocontent_create"> | ||||||
|  |             Click to add a new Product Slider for your Mobikul App. | ||||||
|  |           </p> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     <!-- mobikul.notification.messages tree view --> | ||||||
|  |     <record id="mobikul_notification_massages_view_tree" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul_notification_massages.tree</field> | ||||||
|  |         <field name="model">mobikul.notification.messages</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <tree string="Notification Messages"> | ||||||
|  |                 <field name="name"/> | ||||||
|  |                 <field name="is_read"/> | ||||||
|  |                 <field name="customer_id"/> | ||||||
|  |                 <field name="create_date"/> | ||||||
|  |             </tree> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  | <!-- mobikul.notification.messages FORM --> | ||||||
|  |     <record id="mobikul_notification_massages_view_form" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul_notification_massages.form</field> | ||||||
|  |         <field name="model">mobikul.notification.messages</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <form string="Notification Messages"> | ||||||
|  |                <sheet> | ||||||
|  |                     <div class="oe_button_box" name="button_box"> | ||||||
|  |                         <button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive"> | ||||||
|  |                             <field name="active" widget="boolean_button" options='{"terminology": "archive"}'/> | ||||||
|  |                         </button> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="oe_title"> | ||||||
|  |                         <div class="oe_edit_only"> | ||||||
|  |                             <label for="name" string="Name"/> | ||||||
|  |                         </div> | ||||||
|  |                         <h1> | ||||||
|  |                             <field name="name" default_focus="1" placeholder="Record name"/> | ||||||
|  |                         </h1> | ||||||
|  |                     </div> | ||||||
|  |                     <br/> | ||||||
|  |                     <br/> | ||||||
|  |                  | ||||||
|  |                     <notebook> | ||||||
|  |                         <page string="Information"> | ||||||
|  |                         <separator string="Content to be displayed in Notification Message" colspan="4"/> | ||||||
|  |                             <field name="title" colspan="4" placeholder="Title"/> | ||||||
|  |                             <separator/> | ||||||
|  |                             <field name="subtitle" colspan="4" placeholder="Subtitle"/> | ||||||
|  |                             <field name="body" colspan="4" placeholder="Body"/> | ||||||
|  |                             <group> | ||||||
|  |                                 <group> | ||||||
|  |                                     <field name="icon" widget="image" class="oe_avatar"/> | ||||||
|  |                                 </group> | ||||||
|  |                                 <group> | ||||||
|  |                                     <field name="datatype"/> | ||||||
|  |                                     <field name="is_read" /> | ||||||
|  |                                     <field name="customer_id"/> | ||||||
|  |                                     <field name="period" /> | ||||||
|  |                                 </group> | ||||||
|  |                              | ||||||
|  |                             </group> | ||||||
|  |                         </page> | ||||||
|  |                     </notebook> | ||||||
|  |                 </sheet> | ||||||
|  |                 <div> | ||||||
|  |                     <div class="oe_edit_only" attrs="{'invisible': [('banner', '=', False)]}"> | ||||||
|  |                         <h1>Change Banner Image</h1> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="oe_edit_only" attrs="{'invisible': [('banner', '!=', False)]}"> | ||||||
|  |                         <h1>Upload Banner Image</h1> | ||||||
|  |                     </div> | ||||||
|  |                     <field name="banner" widget="image" colspan="4"/> | ||||||
|  |                 </div> | ||||||
|  |             </form> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_notification_massages_filter_view" model="ir.ui.view"> | ||||||
|  |         <field name="name">Mobikul Notification Messages Search</field> | ||||||
|  |         <field name="model">mobikul.notification.messages</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <search string="Mobikul Notification Messages"> | ||||||
|  |                 <group expand="0" string="Group By"> | ||||||
|  |                         <filter string="Customer" domain="[]" context="{'group_by':'customer_id'}"/> | ||||||
|  |                 </group> | ||||||
|  |             </search> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <!-- mobikul.notification.messages action --> | ||||||
|  |     <record id="mobikul_notification_massages_templates_action" model="ir.actions.act_window"> | ||||||
|  |         <field name="name">Mobikul Notification Messages Action</field> | ||||||
|  |         <field name="res_model">mobikul.notification.messages</field> | ||||||
|  |         <field name="view_mode">tree,form</field> | ||||||
|  |         <field name="view_type">form</field> | ||||||
|  |         <field name="view_id" ref="mobikul_notification_massages_view_tree"/> | ||||||
|  |         <field name="context">{'search_default_group_customer_id': 1}</field> | ||||||
|  | 
 | ||||||
|  |         <field name="search_view_id" ref="mobikul_notification_massages_filter_view"/> | ||||||
|  |         <field name="help" type="html"> | ||||||
|  |           <p class="oe_view_nocontent_create"> | ||||||
|  |             Click to add a new Notification Messages for your Mobikul App. | ||||||
|  |           </p> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,71 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  |     <record id="mobikul_acquirer_form" model="ir.ui.view"> | ||||||
|  |         <field name="name">mobikul.acquirer_form</field> | ||||||
|  |         <field name="model">payment.acquirer</field> | ||||||
|  |         <field name="inherit_id" ref="payment.acquirer_form"/> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <xpath expr="//notebook" position="inside"> | ||||||
|  |                 <page name='mobikul' string="Mobikul"> | ||||||
|  |                     <group name="mobikul"> | ||||||
|  |                         <field name="is_mobikul_available"/> | ||||||
|  |                         <field name="mobikul_reference_code" attrs="{'invisible': [('is_mobikul_available', '=', False)], 'required': [('is_mobikul_available', '=', True)]}" password="True"/> | ||||||
|  |                         <!-- <field name="mobikul_pre_msg" attrs="{'invisible': [('is_mobikul_available', '=', False)]}"/> --> | ||||||
|  |                     </group> | ||||||
|  |                 </page> | ||||||
|  |             </xpath> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_orders_filter_view" model="ir.ui.view"> | ||||||
|  |         <field name="name">sale.order.mobikul.search.view</field> | ||||||
|  |         <field name="model">sale.order</field> | ||||||
|  |         <field name="inherit_id" ref="sale.view_sales_order_filter"/> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <search> | ||||||
|  |                 <filter string="From Mobikul-App" name="from_mobikul" domain="[('team_id.mobikul_ids', '!=', False)]"/> | ||||||
|  |             </search> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_orders_action" model="ir.actions.act_window"> | ||||||
|  |         <field name="name">Mobikul Orders</field> | ||||||
|  |         <field name="res_model">sale.order</field> | ||||||
|  |         <field name="view_mode">tree,form</field> | ||||||
|  |         <field name="domain">[('state', 'in', ('sale', 'done'))]</field> | ||||||
|  |         <field name="context">{'show_sale': True, 'search_default_from_mobikul': 1}</field> | ||||||
|  |         <field name="search_view_id" ref="mobikul_orders_filter_view"/> | ||||||
|  |         <field name="help">You don't have any confirmed order from the Mobikul App.</field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_unpaid_orders_action" model="ir.actions.act_window"> | ||||||
|  |         <field name="name">Unpaid Mobikul Orders</field> | ||||||
|  |         <field name="res_model">sale.order</field> | ||||||
|  |         <field name="view_mode">tree,form</field> | ||||||
|  |         <field name="domain">[('state', '=', 'sent')]</field> | ||||||
|  |         <field name="context">{'show_sale': True, 'search_default_from_mobikul': 1}</field> | ||||||
|  |         <field name="search_view_id" ref="mobikul_orders_filter_view"/> | ||||||
|  |         <field name="help">You don't have any unpaid order from the Mobikul App.</field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_abandonned_orders_action" model="ir.actions.act_window"> | ||||||
|  |         <field name="name">Cancelled Orders</field> | ||||||
|  |         <field name="res_model">sale.order</field> | ||||||
|  |         <field name="view_mode">tree,form</field> | ||||||
|  |         <field name="domain">[('state', '=', 'cancel')]</field> | ||||||
|  |         <field name="context">{'show_sale': True, 'search_default_from_mobikul': 1}</field> | ||||||
|  |         <field name="search_view_id" ref="mobikul_orders_filter_view"/> | ||||||
|  |         <field name="help">You don't have any cancelled order from the Mobikul App.</field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_action_invoices" model="ir.actions.act_window"> | ||||||
|  |         <field name="name">Invoices</field> | ||||||
|  |         <field name="res_model">account.invoice</field> | ||||||
|  |         <field name="view_type">form</field> | ||||||
|  |         <field name="view_mode">tree,form</field> | ||||||
|  |         <field name="domain">[('team_id.mobikul_ids', '!=', False)]</field> | ||||||
|  |         <field name="view_id" ref="account.invoice_tree"/> | ||||||
|  |         <field name="context">{'type':'out_invoice'}</field> | ||||||
|  |         <field name="search_view_id" ref="account.view_account_invoice_filter"/> | ||||||
|  |     </record> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,69 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  |     <record id="mobikul_view_partner_form" model="ir.ui.view"> | ||||||
|  |         <field name="name">res.partner.form.mobikul</field> | ||||||
|  |         <field name="model">res.partner</field> | ||||||
|  |         <field name="inherit_id" ref="base.view_partner_form"/> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <xpath expr="//notebook" position="inside"> | ||||||
|  |                 <page name='mobikul' string="Mobikul"> | ||||||
|  |                     <group name="mobikul"> | ||||||
|  |                         <field name="last_mobikul_so_id"/> | ||||||
|  |                         <field name="banner_image"/> | ||||||
|  |                     </group> | ||||||
|  |                     <!--group string="Registered Devices"> | ||||||
|  |                         <field name="token_ids" nolabel="1"/> | ||||||
|  |                     </group--> | ||||||
|  |                 </page> | ||||||
|  |             </xpath> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	<record id="mobikul_product_template_filter_view" model="ir.ui.view"> | ||||||
|  |         <field name="name">product.template.search.mobikul</field> | ||||||
|  |         <field name="model">product.template</field> | ||||||
|  |         <field name="inherit_id" ref="product.product_template_search_view"/> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <xpath expr="//field[@name='categ_id']" position="after"> | ||||||
|  |                 <field name="mobikul_categ_ids" domain="[('mobikul_categ_ids', 'child_of', self)]"/> | ||||||
|  |             </xpath> | ||||||
|  |             <xpath expr="//filter[@name='consumable']" position="after"> | ||||||
|  |                 <separator/> | ||||||
|  |                 <filter string="Published on App" name="mobikul_published" domain="[('is_mobikul_available', '=', True)]"/> | ||||||
|  |             </xpath> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 	<record model="ir.ui.view" id="mobikul_product_template_form_view"> | ||||||
|  |         <field name="name">product.template.product.mobikul.form</field> | ||||||
|  |         <field name="model">product.template</field> | ||||||
|  |         <field name="inherit_id" ref="product.product_template_form_view"/> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  | 
 | ||||||
|  |             <group name="email_template_and_project"  position="before"> | ||||||
|  |                 <group name="mobikul" string="Mobikul" > | ||||||
|  |                     <field name="mobikul_categ_ids" widget="many2many_tags" string="Mobikul Categories"/> | ||||||
|  |                     <field name="mobikul_status" widget="selection"/> | ||||||
|  |                     <field name="is_mobikul_available" /> | ||||||
|  |                 </group> | ||||||
|  |             </group> | ||||||
|  |            <div name="button_box" position="inside"> | ||||||
|  |                 <button class="oe_stat_button" name="mobikul_publish_button" | ||||||
|  |                     type="object" icon="fa-globe"> | ||||||
|  |                     <div class="o_stat_info published o_form_field"> | ||||||
|  |                         <span class="o_stat_text o_value text-success" attrs="{'invisible': [('is_mobikul_available', '=', False)]}">Published</span> | ||||||
|  |                         <span class="o_stat_text o_value text-danger" attrs="{'invisible': [('is_mobikul_available', '=', True)]}">Unpublished</span> | ||||||
|  |                         <span class="o_stat_text">On App</span> | ||||||
|  |                     </div> | ||||||
|  |                 </button> | ||||||
|  |             </div> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  |     <record id="mobikul_product_template_action" model="ir.actions.act_window"> | ||||||
|  |         <field name="name">Products</field> | ||||||
|  |         <field name="res_model">product.template</field> | ||||||
|  |         <field name="view_type">form</field> | ||||||
|  |         <field name="view_mode">kanban,tree,form</field> | ||||||
|  |         <field name="context">{'search_default_mobikul_published': 1}</field> | ||||||
|  |     </record> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,140 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo> | ||||||
|  |     	<record id="mobikul_app_config_settings" model="ir.ui.view"> | ||||||
|  |         <field name="name">Mobikul Settings</field> | ||||||
|  |         <field name="model">mobikul.config.settings</field> | ||||||
|  |         <field name="arch" type="xml"> | ||||||
|  |             <form string="Configure Mobikul-App" class="oe_form_configuration"> | ||||||
|  |                 <header> | ||||||
|  |                     <button string="Apply" type="object" name="execute" class="oe_highlight"/> | ||||||
|  |                     <button string="Cancel" type="object" name="cancel" class="oe_link"/> | ||||||
|  |                 </header> | ||||||
|  |                 <div> | ||||||
|  |                     <field name="mobikul_app" invisible="1"/> | ||||||
|  |                     <div name="mobikul"> | ||||||
|  |                         <b><field name="app_name" readonly="1"/></b> | ||||||
|  |                         <button type="object" name="open_mobikul_conf" string="Configuration" class="oe_inline oe_link" icon="fa-cogs"/> | ||||||
|  |                     </div> | ||||||
|  |                 </div> | ||||||
|  |                 <group name="order" string="Order"> | ||||||
|  |                     <label string="Default Sales Team" for="salesteam_id" /> | ||||||
|  |                     <div class="oe_inline"> | ||||||
|  |                         <field name="salesteam_id" required="1"/> | ||||||
|  |                     </div> | ||||||
|  |                     <label string="Default Salesperson" for="salesperson_id" /> | ||||||
|  |                     <div  class="oe_inline"> | ||||||
|  |                         <field name="salesperson_id"/> | ||||||
|  |                     </div> | ||||||
|  |                 </group> | ||||||
|  |                 <group name="pricelist" string="Pricelist/Currency"> | ||||||
|  |                     <label string="Default Pricelist" for="pricelist_id" /> | ||||||
|  |                     <div class="oe_inline"> | ||||||
|  |                         <field name="pricelist_id" required="1"/> | ||||||
|  |                     </div> | ||||||
|  |                     <label string="Default Currency" for="currency_id" /> | ||||||
|  |                     <div  class="oe_inline"> | ||||||
|  |                         <field name="currency_id" readonly="1"/> | ||||||
|  |                     </div> | ||||||
|  |                 </group> | ||||||
|  |                 <group name="language" string="Language"> | ||||||
|  |                     <label string="Default Language" for="default_lang" /> | ||||||
|  |                     <div class="oe_inline"> | ||||||
|  |                         <field name="default_lang" required="1"/> | ||||||
|  |                     </div> | ||||||
|  |                 </group> | ||||||
|  |                 <group name="extra" string="Mobikul Extra Features"> | ||||||
|  |                     <label string="Limit Products per page" for="product_limit" /> | ||||||
|  |                     <div class="oe_inline"> | ||||||
|  |                         <field name="product_limit" required="1"/> | ||||||
|  |                     </div> | ||||||
|  |                     <label for="id" string="App access"/> | ||||||
|  |                         <div> | ||||||
|  |                             <div > | ||||||
|  |                                 <field name="mobikul_allow_guest" class="oe_inline"/> | ||||||
|  |                                 <label for="mobikul_allow_guest"/> | ||||||
|  |                             </div> | ||||||
|  |                             <div > | ||||||
|  |                                 <field name="mobikul_reset_password" class="oe_inline"/> | ||||||
|  |                                 <label for="mobikul_reset_password"/> | ||||||
|  |                             </div> | ||||||
|  |                             <div> | ||||||
|  |                                 <field name="mobikul_signup" class="oe_inline"/> | ||||||
|  |                                 <label for="mobikul_signup"/> | ||||||
|  |                             </div> | ||||||
|  |                             <div attrs="{'invisible':[('mobikul_signup','=',False)]}"> | ||||||
|  |                                 <label for="mobikul_signup_template_user_id"/> | ||||||
|  |                                 <field name="mobikul_signup_template_user_id" class="oe_inline" | ||||||
|  |                                     attrs="{'required': [('mobikul_signup', '=', True)]}" | ||||||
|  |                                     domain="['|',('active','=',0),('active','=',1)]"/> | ||||||
|  |                             </div> | ||||||
|  |                             <div attrs="{'invisible':[('mobikul_signup','=',False)]}"> | ||||||
|  |                                 <label for="module_email_verification"/> | ||||||
|  |                                 <field name="module_email_verification" class="oe_inline"/> | ||||||
|  |                             </div> | ||||||
|  |                         </div> | ||||||
|  |                     <label for="id" string="Social Login"/> | ||||||
|  |                         <div> | ||||||
|  |                             <div> | ||||||
|  |                                 <field name="module_auth_oauth" readonly="1"/> | ||||||
|  |                                 <label for="module_auth_oauth" /> | ||||||
|  |                                 <a href="https://mobikul.com/features/sign-in-via-social-accounts/" >(Paid Feature)</a> | ||||||
|  |                             </div> | ||||||
|  |                             <div attrs="{'invisible':[('module_auth_oauth','=',False)]}"> | ||||||
|  |                                 <field name="mobikul_gmail_signin" class="oe_inline" readonly="1"/> | ||||||
|  |                                 <label for="mobikul_gmail_signin"/> | ||||||
|  |                             </div> | ||||||
|  |                             <div attrs="{'invisible':[('module_auth_oauth','=',False)]}"> | ||||||
|  |                                 <field name="mobikul_facebook_signin" class="oe_inline" readonly="1"/> | ||||||
|  |                                 <label for="mobikul_facebook_signin"/> | ||||||
|  |                             </div> | ||||||
|  |                             <div attrs="{'invisible':[('module_auth_oauth','=',False)]}"> | ||||||
|  |                                 <field name="mobikul_twitter_signin" class="oe_inline" readonly="1"/> | ||||||
|  |                                 <label for="mobikul_twitter_signin"/> | ||||||
|  |                             </div> | ||||||
|  |                         </div> | ||||||
|  | 
 | ||||||
|  |                     </group> | ||||||
|  |                     <group name="addon" string="Other Addons"> | ||||||
|  |                         <!--<label for="id" string="Allow Website Wishlist"/>--> | ||||||
|  |                         <!--<div>--> | ||||||
|  |                             <!--<div >--> | ||||||
|  |                                 <!--<field name="module_website_wishlist"/>--> | ||||||
|  |                                 <!--<label for="module_website_wishlist"/>--> | ||||||
|  |                             <!--</div>--> | ||||||
|  |                         <!--</div>--> | ||||||
|  | 
 | ||||||
|  |                         <label for="id" string="Allow Website Review"/> | ||||||
|  |                         <div> | ||||||
|  |                             <div > | ||||||
|  |                                 <field name="module_wk_review"/> | ||||||
|  |                                 <label for="module_wk_review"/> | ||||||
|  |                             </div> | ||||||
|  |                         </div> | ||||||
|  |                         <label for="id" string="Allow Marketplace"/> | ||||||
|  |                         <div> | ||||||
|  |                             <div > | ||||||
|  |                                 <field name="module_odoo_marketplace"/> | ||||||
|  |                                 <label for="module_odoo_marketplace"/> | ||||||
|  |                             </div> | ||||||
|  |                         </div> | ||||||
|  |                         <label for="id" string="Allow Website Wishlist"/> | ||||||
|  |                         <div> | ||||||
|  |                             <div > | ||||||
|  |                                 <field name="module_website_sale_wishlist"/> | ||||||
|  |                                 <label for="module_website_sale_wishlist"/> | ||||||
|  |                             </div> | ||||||
|  |                         </div> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |                     </group> | ||||||
|  |             </form> | ||||||
|  |         </field> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_config_setting_action" model="ir.actions.act_window"> | ||||||
|  |         <field name="name">Mobikul Settings</field> | ||||||
|  |         <field name="res_model">mobikul.config.settings</field> | ||||||
|  |         <field name="view_mode">form</field> | ||||||
|  |         <field name="target">inline</field> | ||||||
|  |     </record> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,36 @@ | ||||||
|  | <odoo> | ||||||
|  | 
 | ||||||
|  |     <record id="mobikul_sync_cat_form" model="ir.ui.view"> | ||||||
|  |             <field name="name">mobikul_cat_sync_form</field> | ||||||
|  |             <field name="model">mobikul.sync.category</field> | ||||||
|  |             <field name="type">form</field> | ||||||
|  |             <field name="arch" type="xml"> | ||||||
|  |                 <form string="Sync Category" version="7.0" create="false" edit="false"> | ||||||
|  | 					<separator string="Select an Operation you want to do:-"/> | ||||||
|  |                         <div> | ||||||
|  |                                     <h2><b>Sync category with Website category</b></h2> | ||||||
|  |                                     <group> | ||||||
|  |                                         <field name="sync_type" /> | ||||||
|  |                                     </group> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |                         </div> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |                         <footer> | ||||||
|  |                             <button name="sync_mobikul_cat_with_web_cat" string="  Do it Now..  " type="object"  class="oe_highlight oe_inline"/> | ||||||
|  |                         </footer> | ||||||
|  | 				</form> | ||||||
|  |             </field> | ||||||
|  |         </record> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		<record id="mobikul_sync_cat_action" model="ir.actions.act_window"> | ||||||
|  |             <field name="name">Mobikul Sync Category</field> | ||||||
|  |             <field name="res_model">mobikul.sync.category</field> | ||||||
|  |             <field name="view_type">form</field> | ||||||
|  |             <field name="view_mode">form</field> | ||||||
|  |             <field name="target">new</field> | ||||||
|  |         </record> | ||||||
|  | </odoo> | ||||||