diff --git a/refer_friend_and_earn/README.rst b/refer_friend_and_earn/README.rst new file mode 100644 index 000000000..23fca8532 --- /dev/null +++ b/refer_friend_and_earn/README.rst @@ -0,0 +1,49 @@ +.. image:: https://img.shields.io/badge/licence-LGPL--3-blue.svg + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +Refer and Earn +============= +* By utilizing this module, we have the capability to share a referral code +with our friends through email, enabling them to log in using the same code. +In this system, it is feasible to define a specific points for single sign-up +in the settings, can also specify the discount in percentage for a range of +points.Login with our referral code allows us to accumulate points, which can +then be utilized to make discounted purchases. + +Installation +============ + - www.odoo.com/documentation/16.0/setup/install.html + - Install our custom addon + +License +------- +General Public License, Version 3 (LGPL v3). +(https://www.odoo.com/documentation/user/16.0/legal/licenses/licenses.html) + +Company +------- +* `Cybrosys Techno Solutions `__ + +Credits +------- +* Developer: (v16) Anjana P V @ Cybrosys + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit https://www.cybrosys.com + +Further information +=================== +HTML Description: ``__ diff --git a/refer_friend_and_earn/__init__.py b/refer_friend_and_earn/__init__.py new file mode 100644 index 000000000..f644ac3ea --- /dev/null +++ b/refer_friend_and_earn/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import controllers +from . import models diff --git a/refer_friend_and_earn/__manifest__.py b/refer_friend_and_earn/__manifest__.py new file mode 100644 index 000000000..63d4c235a --- /dev/null +++ b/refer_friend_and_earn/__manifest__.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +{ + 'name': 'Refer and Earn', + 'version': '16.0.1.0.0', + 'category': 'Website', + 'summary': """ Refer your friend by using referral code and have points + while they log in with that referral code. According to the + secured points, it is possible to have discount on products """, + 'description': """By using this module,we are able to share a referral code + with our friends and they are able to log in by that referral + code. Here it is possible to set a sign up points in the + settings and it is also able to give the discounts in + percentage, for each points. Log in with our referral code + will helps to have points, and by using that points, purchase + the product at discount price""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['base', 'mail', 'website_sale', 'contacts'], + 'data': [ + 'security/ir.model.access.csv', + 'data/product_template_data.xml', + 'data/refer_and_earn_mail_template.xml', + 'data/lack_of_points_template.xml', + 'data/refer_and_earn_menu.xml', + 'views/refer_and_earn_template.xml', + 'views/res_partner_views.xml', + 'views/res_config_settings_views.xml', + 'views/auth_signup_login_templates.xml', + 'views/apply_points_template.xml', + 'views/apply_discounts_views.xml', + 'views/sale_order_views.xml', + ], + 'assets': { + 'web.assets_frontend': [ + 'refer_friend_and_earn/static/src/js/website_sale.js', + 'refer_friend_and_earn/static/src/css/refer_and_earn.css', + ], + }, + 'images': ['static/description/banner.png'], + 'license': 'LGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/refer_friend_and_earn/controllers/__init__.py b/refer_friend_and_earn/controllers/__init__.py new file mode 100644 index 000000000..6e680267d --- /dev/null +++ b/refer_friend_and_earn/controllers/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import refer_friend_and_earn +from . import variants_discount diff --git a/refer_friend_and_earn/controllers/refer_friend_and_earn.py b/refer_friend_and_earn/controllers/refer_friend_and_earn.py new file mode 100644 index 000000000..107fc5bf1 --- /dev/null +++ b/refer_friend_and_earn/controllers/refer_friend_and_earn.py @@ -0,0 +1,228 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +import random, werkzeug +from werkzeug.urls import url_encode +from odoo import _, http +from odoo.addons.auth_signup.controllers.main import AuthSignupHome +from odoo.addons.website_sale.controllers.main import WebsiteSale +from odoo.addons.auth_signup.models.res_users import SignupError +from odoo.exceptions import UserError +from odoo.http import _logger, request + + +class WebsiteLogin(AuthSignupHome): + """This class used to get the referral code from the website""" + + def web_auth_signup(self, *args, **kw): + """Overwrite the function web_auth_signup, to add the referral code + to qcontext""" + qcontext = self.get_auth_signup_qcontext() + qcontext.update({ + 'referral_code': kw.get('referral_code') + }) + if not qcontext.get('token') and not qcontext.get('signup_enabled'): + raise werkzeug.exceptions.NotFound() + if 'error' not in qcontext and request.httprequest.method == 'POST': + try: + self.do_signup(qcontext) + User = request.env['res.users'] + user_sudo = User.sudo().search( + User._get_login_domain(qcontext.get('login')), + order=User._get_login_order(), limit=1 + ) + template = request.env.ref( + 'auth_signup.mail_template_user_signup_account_created', + raise_if_not_found=False) + if user_sudo and template: + template.sudo().send_mail(user_sudo.id, force_send=True) + return self.web_login(*args, **kw) + except UserError as e: + qcontext['error'] = e.args[0] + except (SignupError, AssertionError) as e: + if request.env["res.users"].sudo().search( + [("login", "=", qcontext.get("login"))]): + qcontext["error"] = _("Another user is already registered" + " using this email address.") + else: + _logger.error("%s", e) + qcontext['error'] = _("Could not create a new account.") + elif 'signup_email' in qcontext: + user = request.env['res.users'].sudo().search( + [('email', '=', qcontext.get('signup_email')), + ('state', '!=', 'new')], limit=1) + if user: + return request.redirect('/web/login?%s' % url_encode( + {'login': user.login, 'redirect': '/web'})) + response = request.render('auth_signup.signup', qcontext) + response.headers['X-Frame-Options'] = 'SAMEORIGIN' + response.headers['Content-Security-Policy'] = "frame-ancestors 'self'" + return response + + def _prepare_signup_values(self, qcontext, **post): + """Inherited the function _prepare_signup_values to get the current + referral code and thus want to find partner with that referral code, + to add points""" + res = super(WebsiteLogin, self)._prepare_signup_values(qcontext, **post) + current_referral_code = qcontext.get('referral_code') + partner_rec = request.env['res.partner'].sudo().search( + [('referral_code', '=', current_referral_code)]) + if partner_rec: + signup_points = request.env['ir.config_parameter'].sudo().get_param( + 'refer_friend_and_earn.sign_up_points') + partner_rec.points = partner_rec.points + float(signup_points) + partner_rec.sign_up = partner_rec.sign_up + 1 + return res + + +class ReferAndEarn(http.Controller): + """This class will allow to generate the referral code and send to + other person """ + + @http.route('/refer/earn', type='http', auth="user", website=True) + def refer_earn(self): + """This function is used to create new referral code for newly signup + one if already logged one is login again, then it will return already + created referral code""" + current_user_code = request.env.user.partner_id.referral_code + if not current_user_code: + num = "0123456789" + lowercase = "abcdefghijklmnopqrstuvwxyz" + capital = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + no_of_digit = 7 + comb = num + lowercase + capital + codes = "".join(random.sample(comb, no_of_digit)) + request.env.user.partner_id.referral_code = codes + else: + codes = request.env.user.partner_id.referral_code + return request.render('refer_friend_and_earn.refer_earn_template', { + 'codes': codes, + 'points': request.env.user.partner_id.points, + 'sign_up': request.env.user.partner_id.sign_up, + }) + + @http.route('/refer_and_earn/form/submit', type='http', auth="user", + website=True) + def refer_and_earn_popup(self, **post): + """This function will help to collect the recipient of + mail and send mail to them""" + base_url = request.env['ir.config_parameter'].sudo().get_param( + 'web.base.url') + url = '%s/web/signup?' % base_url + code = post.get('referral_code') + email_to = post.get('email') + email_values = {'email_to': email_to, + 'body_html': '

Hello,
Now, its your chance to ' + 'have unbelivable offers, for that just ' + ' click the link %s and use the code %s to' + ' login

' % (url, code), + } + login_user = request.env.user.partner_id + mail_template = request.env.ref( + 'refer_friend_and_earn.mail_template_refer_and_earn') + mail_template.send_mail(login_user.id, email_values=email_values, + force_send=True) + return request.render('refer_friend_and_earn.website_success_page', {}) + + +class WebsiteSale(WebsiteSale): + """This class will calculate the discount percentage according to the + points secured, and also helps to add the discount product in the + order line""" + + @http.route('/shop/pricelist/points', type='http', auth="user", + website=True) + def refer_earn(self, **kw): + """This function will help to apply the discount according + to the points secured""" + redirect = kw.get('r', '/shop/cart') + points_rec = request.env['apply.discounts'].sudo().search( + [('starting_points', '<=', int(kw.get('points'))), + ('end_points', '>=', int(kw.get('points')))], + order='create_date desc', limit=1) + if int(kw.get('points')) > request.env.user.partner_id.points: + return request.render( + 'refer_friend_and_earn.lack_of_points_template', {}) + if points_rec: + sale_order = request.website.sale_get_order() + sale_order.discount_applied = points_rec.discount + sale_order.points_applied = int(kw.get('points')) + total_price = sum(sale_order.order_line.mapped('price_subtotal')) + discount_amount = total_price * (sale_order.discount_applied / 100) + discount_product_id = request.env['product.product'].sudo().search( + [('default_code', '=', 'DISCOUNT001')]) + discount_product_id.list_price = -discount_amount + sale_order.write({'order_line': [(0, 0, + {'id': sale_order.order_line, + 'order_id': sale_order, + 'product_id': discount_product_id.id, + 'product_uom_qty': 1, + })] + }) + else: + return request.render( + 'refer_friend_and_earn.lack_of_points_template', {}) + return request.redirect(redirect) + + @http.route() + def cart_update_json(self, *args, set_qty=None, **kwargs): + """This function will work when we have some updates from the cart, ie, + add or delete the products from the cart""" + super().cart_update_json(*args, set_qty=set_qty, **kwargs) + total_price = sum(request.website.sale_get_order().order_line.mapped( + 'price_subtotal')) + discount_order_line_id = 0 + if total_price <= 0: + for line in request.website.sale_get_order().order_line: + line.product_uom_qty = 0 + line.sudo().unlink() + else: + discount_product_id = request.env[ + 'product.product'].sudo().search( + [('default_code', '=', 'DISCOUNT001')]) + original_total_price = 0 + for line in request.website.sale_get_order().order_line: + if line.product_id.id != discount_product_id.id: + original_total_price += line.price_subtotal + else: + discount_order_line_id = line.id + for line in request.website.sale_get_order().order_line: + if line.product_id.id == discount_product_id.id: + discount_percentage = request.website.sale_get_order().discount_applied + discount_amount = original_total_price * ( + discount_percentage / 100) + order_line_discount_price = -discount_amount + discount_product_id.list_price = -discount_amount + order_line = request.website.sale_get_order().order_line.browse( + discount_order_line_id) + order_line.write({ + 'price_unit': order_line_discount_price, + }) + return http.request.redirect(http.request.httprequest.url) + + def shop_payment_confirmation(self, **post): + """This function is used to decrease the applied points from the + partner's secured points""" + sale_order_id = request.session.get('sale_last_order_id') + res = super().shop_payment_confirmation(**post) + points = request.env['sale.order'].browse(sale_order_id).points_applied + request.env.user.partner_id.points = request.env.user.partner_id.points - points + return res diff --git a/refer_friend_and_earn/controllers/variants_discount.py b/refer_friend_and_earn/controllers/variants_discount.py new file mode 100644 index 000000000..45d3d2394 --- /dev/null +++ b/refer_friend_and_earn/controllers/variants_discount.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo.addons.website_sale_product_configurator.controllers.main import \ + WebsiteSale +from odoo.http import request + + +class Cart(WebsiteSale): + """This class is used to recalculate the discount when we add a product with + variants to the cart""" + def cart_options_update_json(self, *args, **kwargs): + """This class is used to recalculate the discount when we add a product + with variants to the cart""" + res = super().cart_options_update_json(*args, **kwargs) + discount_product_id = request.env['product.product'].sudo().search( + [('default_code', '=', 'DISCOUNT001')]) + for line in request.website.sale_get_order().order_line: + if line.product_id.id == discount_product_id.id: + order_line_discount = line.price_unit + total_price = sum(request.website.sale_get_order().order_line.mapped('price_subtotal')) + original_total_price = total_price - order_line_discount + discount_percentage = request.website.sale_get_order().discount_applied + discount_amount = original_total_price * ( + discount_percentage / 100) + order_line_discount_price = -discount_amount + order_line = request.website.sale_get_order().order_line.browse(line.id) + order_line.write({ + 'price_unit': order_line_discount_price, + }) + return res diff --git a/refer_friend_and_earn/data/lack_of_points_template.xml b/refer_friend_and_earn/data/lack_of_points_template.xml new file mode 100644 index 000000000..36c3567c3 --- /dev/null +++ b/refer_friend_and_earn/data/lack_of_points_template.xml @@ -0,0 +1,20 @@ + + + + + diff --git a/refer_friend_and_earn/data/product_template_data.xml b/refer_friend_and_earn/data/product_template_data.xml new file mode 100644 index 000000000..0d35b539b --- /dev/null +++ b/refer_friend_and_earn/data/product_template_data.xml @@ -0,0 +1,13 @@ + + + + + + Discount + + 0.0 + DISCOUNT001 + service + + + diff --git a/refer_friend_and_earn/data/refer_and_earn_mail_template.xml b/refer_friend_and_earn/data/refer_and_earn_mail_template.xml new file mode 100644 index 000000000..ebb30ee13 --- /dev/null +++ b/refer_friend_and_earn/data/refer_and_earn_mail_template.xml @@ -0,0 +1,10 @@ + + + + + Refer Code: Refer and Earn + + Refer And Earn + {{object.email}} + + diff --git a/refer_friend_and_earn/data/refer_and_earn_menu.xml b/refer_friend_and_earn/data/refer_and_earn_menu.xml new file mode 100644 index 000000000..c933f687d --- /dev/null +++ b/refer_friend_and_earn/data/refer_and_earn_menu.xml @@ -0,0 +1,12 @@ + + + + + + Refer and Earn + /refer/earn + + 80 + + + diff --git a/refer_friend_and_earn/doc/RELEASE_NOTES.md b/refer_friend_and_earn/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..0ce4ac584 --- /dev/null +++ b/refer_friend_and_earn/doc/RELEASE_NOTES.md @@ -0,0 +1,5 @@ +## Module +#### 01.07.2023 +#### Version 16.0.1.0.0 +##### ADD +- Initial Commit for Refer and Earn diff --git a/refer_friend_and_earn/models/__init__.py b/refer_friend_and_earn/models/__init__.py new file mode 100644 index 000000000..24156e744 --- /dev/null +++ b/refer_friend_and_earn/models/__init__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import apply_discounts +from . import res_config_settings +from . import res_partner +from . import sale_order diff --git a/refer_friend_and_earn/models/apply_discounts.py b/refer_friend_and_earn/models/apply_discounts.py new file mode 100644 index 000000000..967f5ee8d --- /dev/null +++ b/refer_friend_and_earn/models/apply_discounts.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class ApplyDiscounts(models.Model): + """This class is used to define the discounts in percentage according the + points acquired""" + _name = 'apply.discounts' + _description = 'Apply discounts according to the points' + + starting_points = fields.Integer(string='Starting point', help='Starting ' + 'points') + end_points = fields.Integer(string='Ending points', help='Ending points') + discount = fields.Float(string='Discount in %', help='Discounts in ' + 'Percentage') diff --git a/refer_friend_and_earn/models/res_config_settings.py b/refer_friend_and_earn/models/res_config_settings.py new file mode 100644 index 000000000..efec80b1b --- /dev/null +++ b/refer_friend_and_earn/models/res_config_settings.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + """Inherited the module res.config.settings to add a field which shows how + much points will earn for single signup""" + _inherit = 'res.config.settings' + + sign_up_points = fields.Float(string="Signup Points", + help='shows how much points will earn for ' + 'single signup', + config_parameter='refer_friend_and_earn.sign_up_points') diff --git a/refer_friend_and_earn/models/res_partner.py b/refer_friend_and_earn/models/res_partner.py new file mode 100644 index 000000000..df52a4b56 --- /dev/null +++ b/refer_friend_and_earn/models/res_partner.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class ResPartner(models.Model): + """Inherited the module res.partner to add the following fields, which + indicate the referral code, points earned and no: of signups happened by + using their referral code""" + _inherit = 'res.partner' + + referral_code = fields.Char(string="Referral Code", help="Referral code", + readonly=True) + points = fields.Integer(string='points', help='Points acquired', + readonly=True) + sign_up = fields.Integer(string='signups', help='shows number of signup ' + 'happens by using your' + ' referral code', + readonly=True) diff --git a/refer_friend_and_earn/models/sale_order.py b/refer_friend_and_earn/models/sale_order.py new file mode 100644 index 000000000..eaa008e4f --- /dev/null +++ b/refer_friend_and_earn/models/sale_order.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class SaleOrder(models.Model): + """Inherited the module sale.order to add a field which shows how + much points applied for sale order""" + _inherit = 'sale.order' + + points_applied = fields.Float(string='Points applied', + help='Points applied to the corresponding ' + 'sale order') + discount_applied = fields.Float(string='discount applied', + help='The percentage of discount applied') diff --git a/refer_friend_and_earn/security/ir.model.access.csv b/refer_friend_and_earn/security/ir.model.access.csv new file mode 100644 index 000000000..0f586cfee --- /dev/null +++ b/refer_friend_and_earn/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink +access_mail_template_portal,mail.template,mail.model_mail_template,base.group_portal,1,1,1,1 +access_apply_discounts,access.apply.discounts,refer_friend_and_earn.model_apply_discounts,base.group_user,1,1,1,1 diff --git a/refer_friend_and_earn/static/description/assets/icons/check.png b/refer_friend_and_earn/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/check.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/chevron.png b/refer_friend_and_earn/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/chevron.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/cogs.png b/refer_friend_and_earn/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/cogs.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/consultation.png b/refer_friend_and_earn/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/consultation.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/ecom-black.png b/refer_friend_and_earn/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/ecom-black.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/education-black.png b/refer_friend_and_earn/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/education-black.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/hotel-black.png b/refer_friend_and_earn/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/hotel-black.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/license.png b/refer_friend_and_earn/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/license.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/lifebuoy.png b/refer_friend_and_earn/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/lifebuoy.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/manufacturing-black.png b/refer_friend_and_earn/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/manufacturing-black.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/pos-black.png b/refer_friend_and_earn/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/pos-black.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/puzzle.png b/refer_friend_and_earn/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/puzzle.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/restaurant-black.png b/refer_friend_and_earn/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/restaurant-black.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/service-black.png b/refer_friend_and_earn/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/service-black.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/trading-black.png b/refer_friend_and_earn/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/trading-black.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/training.png b/refer_friend_and_earn/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/training.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/update.png b/refer_friend_and_earn/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/update.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/user.png b/refer_friend_and_earn/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/user.png differ diff --git a/refer_friend_and_earn/static/description/assets/icons/wrench.png b/refer_friend_and_earn/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/icons/wrench.png differ diff --git a/refer_friend_and_earn/static/description/assets/misc/categories.png b/refer_friend_and_earn/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/misc/categories.png differ diff --git a/refer_friend_and_earn/static/description/assets/misc/check-box.png b/refer_friend_and_earn/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/misc/check-box.png differ diff --git a/refer_friend_and_earn/static/description/assets/misc/compass.png b/refer_friend_and_earn/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/misc/compass.png differ diff --git a/refer_friend_and_earn/static/description/assets/misc/corporate.png b/refer_friend_and_earn/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/misc/corporate.png differ diff --git a/refer_friend_and_earn/static/description/assets/misc/customer-support.png b/refer_friend_and_earn/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/misc/customer-support.png differ diff --git a/refer_friend_and_earn/static/description/assets/misc/cybrosys-logo.png b/refer_friend_and_earn/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/misc/cybrosys-logo.png differ diff --git a/refer_friend_and_earn/static/description/assets/misc/features.png b/refer_friend_and_earn/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/misc/features.png differ diff --git a/refer_friend_and_earn/static/description/assets/misc/logo.png b/refer_friend_and_earn/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/misc/logo.png differ diff --git a/refer_friend_and_earn/static/description/assets/misc/pictures.png b/refer_friend_and_earn/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/misc/pictures.png differ diff --git a/refer_friend_and_earn/static/description/assets/misc/pie-chart.png b/refer_friend_and_earn/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/misc/pie-chart.png differ diff --git a/refer_friend_and_earn/static/description/assets/misc/right-arrow.png b/refer_friend_and_earn/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/misc/right-arrow.png differ diff --git a/refer_friend_and_earn/static/description/assets/misc/star.png b/refer_friend_and_earn/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/misc/star.png differ diff --git a/refer_friend_and_earn/static/description/assets/misc/support.png b/refer_friend_and_earn/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/misc/support.png differ diff --git a/refer_friend_and_earn/static/description/assets/misc/whatsapp.png b/refer_friend_and_earn/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/misc/whatsapp.png differ diff --git a/refer_friend_and_earn/static/description/assets/modules/w1.gif b/refer_friend_and_earn/static/description/assets/modules/w1.gif new file mode 100644 index 000000000..db040e0de Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/modules/w1.gif differ diff --git a/refer_friend_and_earn/static/description/assets/modules/w2.png b/refer_friend_and_earn/static/description/assets/modules/w2.png new file mode 100644 index 000000000..b3c3ca084 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/modules/w2.png differ diff --git a/refer_friend_and_earn/static/description/assets/modules/w3.png b/refer_friend_and_earn/static/description/assets/modules/w3.png new file mode 100644 index 000000000..082948398 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/modules/w3.png differ diff --git a/refer_friend_and_earn/static/description/assets/modules/w4.png b/refer_friend_and_earn/static/description/assets/modules/w4.png new file mode 100644 index 000000000..4e506f79b Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/modules/w4.png differ diff --git a/refer_friend_and_earn/static/description/assets/modules/w5.png b/refer_friend_and_earn/static/description/assets/modules/w5.png new file mode 100644 index 000000000..33372bdc1 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/modules/w5.png differ diff --git a/refer_friend_and_earn/static/description/assets/modules/w6.png b/refer_friend_and_earn/static/description/assets/modules/w6.png new file mode 100644 index 000000000..1b57f61b3 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/modules/w6.png differ diff --git a/refer_friend_and_earn/static/description/assets/screenshots/1.png b/refer_friend_and_earn/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..1b17baf6f Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/screenshots/1.png differ diff --git a/refer_friend_and_earn/static/description/assets/screenshots/2.png b/refer_friend_and_earn/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..c5e8cbc0a Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/screenshots/2.png differ diff --git a/refer_friend_and_earn/static/description/assets/screenshots/3.png b/refer_friend_and_earn/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..cc04fb1f6 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/screenshots/3.png differ diff --git a/refer_friend_and_earn/static/description/assets/screenshots/4.png b/refer_friend_and_earn/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..5e51d921c Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/screenshots/4.png differ diff --git a/refer_friend_and_earn/static/description/assets/screenshots/5.png b/refer_friend_and_earn/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..3b775404e Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/screenshots/5.png differ diff --git a/refer_friend_and_earn/static/description/assets/screenshots/hero1.gif b/refer_friend_and_earn/static/description/assets/screenshots/hero1.gif new file mode 100644 index 000000000..00c3f4ac3 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/screenshots/hero1.gif differ diff --git a/refer_friend_and_earn/static/description/assets/screenshots/re0001.png b/refer_friend_and_earn/static/description/assets/screenshots/re0001.png new file mode 100644 index 000000000..a83aa8c3e Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/screenshots/re0001.png differ diff --git a/refer_friend_and_earn/static/description/assets/screenshots/re0002.png b/refer_friend_and_earn/static/description/assets/screenshots/re0002.png new file mode 100644 index 000000000..09a7b16a7 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/screenshots/re0002.png differ diff --git a/refer_friend_and_earn/static/description/assets/screenshots/re0003.png b/refer_friend_and_earn/static/description/assets/screenshots/re0003.png new file mode 100644 index 000000000..9d39174f8 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/screenshots/re0003.png differ diff --git a/refer_friend_and_earn/static/description/assets/screenshots/re0004.png b/refer_friend_and_earn/static/description/assets/screenshots/re0004.png new file mode 100644 index 000000000..71d7980bd Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/screenshots/re0004.png differ diff --git a/refer_friend_and_earn/static/description/assets/screenshots/rfr01.png b/refer_friend_and_earn/static/description/assets/screenshots/rfr01.png new file mode 100644 index 000000000..2b27c3b4e Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/screenshots/rfr01.png differ diff --git a/refer_friend_and_earn/static/description/assets/screenshots/rfr02.png b/refer_friend_and_earn/static/description/assets/screenshots/rfr02.png new file mode 100644 index 000000000..6a82fd021 Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/screenshots/rfr02.png differ diff --git a/refer_friend_and_earn/static/description/assets/screenshots/rfr03.png b/refer_friend_and_earn/static/description/assets/screenshots/rfr03.png new file mode 100644 index 000000000..b019b459d Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/screenshots/rfr03.png differ diff --git a/refer_friend_and_earn/static/description/assets/screenshots/rfr04.png b/refer_friend_and_earn/static/description/assets/screenshots/rfr04.png new file mode 100644 index 000000000..b0cea72aa Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/screenshots/rfr04.png differ diff --git a/refer_friend_and_earn/static/description/assets/screenshots/rfr05.png b/refer_friend_and_earn/static/description/assets/screenshots/rfr05.png new file mode 100644 index 000000000..bbb062a0a Binary files /dev/null and b/refer_friend_and_earn/static/description/assets/screenshots/rfr05.png differ diff --git a/refer_friend_and_earn/static/description/banner.jpg b/refer_friend_and_earn/static/description/banner.jpg new file mode 100644 index 000000000..80f8587fb Binary files /dev/null and b/refer_friend_and_earn/static/description/banner.jpg differ diff --git a/refer_friend_and_earn/static/description/icon.png b/refer_friend_and_earn/static/description/icon.png new file mode 100644 index 000000000..c6bf3c1fe Binary files /dev/null and b/refer_friend_and_earn/static/description/icon.png differ diff --git a/refer_friend_and_earn/static/description/index.html b/refer_friend_and_earn/static/description/index.html new file mode 100644 index 000000000..e46e50c57 --- /dev/null +++ b/refer_friend_and_earn/static/description/index.html @@ -0,0 +1,583 @@ +
+ +
+ +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ +
+
+
+ +

+ Refer And Earn

+

Refer your friends and Earn

+ + +
+
+
+
+ + +
+
+ +
+

Explore This + Module

+
+ + + + +
+
+ +
+

Overview +

+
+
+
+ By using this module you can refer your friend and by sharing the referral code you can earn points, while your friend login + with that referral code. And by using that points, you can purchase the product at a discount price +
+
+ + + +
+
+ +
+

Features +

+
+
+
+
+ + You can easily refer your friend +
+
+ + Can send your referral code through mail +
+
+ + Your friend can use your referral code to sign up, and thus you will get points + , and by using this points you can purchase at a discount price +
+
+ + Your friends can also refer another person +
+
+
+ + + +
+
+ +
+

Screenshots +

+
+
+
+
+

Signup points

+

+ From Website > Configuration > Settings, specify the points that can be earned,while someone login by using referral code

+ +
+
+

Menu, Apply Discount

+

+ From, Website > Configuration > Apply Discount

+ +
+
+

Discount

+

+ Specify the points and discount in %

+ +
+
+

Refer and Earn

+

+ From the website, you can click on Refer and Earn menu, and thus you are directed to the webpage, + from there it is possible to share the referral code via email

+ +
+ +
+

Send mail

+

Here, mention your friends email and able to send your referral code to them

+ +
+ +
+

Sign up

+

Friends can sign up with referral code

+ +
+ +
+

Click on I have points

+ +
+
+

Apply points

+

Specify the points, and click on 'Apply' button

+ +
+
+

Discount is applied

+ +
+ +
+
+ + + +
+
+ +
+

Related + Products +

+
+
+
+ +
+
+ + + + +
+
+ +
+

Our Services +

+
+ +
+
+
+
+ +
+
+ Odoo + Customization
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Support
+
+ + +
+
+ +
+
+ Hire + Odoo + Developer
+
+ +
+
+ +
+
+ Odoo + Integration
+
+ +
+
+ +
+
+ Odoo + Migration
+
+ + +
+
+ +
+
+ Odoo + Consultancy
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Licensing Consultancy
+
+
+ +
+ + + + + +
+
+ +
+

Our + Industries +

+
+ +
+
+
+
+ +
+ Trading +
+

+ Easily procure + and + sell your products

+
+
+ +
+
+ +
+ POS +
+

+ Easy + configuration + and convivial experience

+
+
+ +
+
+ +
+ Education +
+

+ A platform for + educational management

+
+
+ +
+
+ +
+ Manufacturing +
+

+ Plan, track and + schedule your operations

+
+
+ +
+
+ +
+ E-commerce & Website +
+

+ Mobile + friendly, + awe-inspiring product pages

+
+
+ +
+
+ +
+ Service Management +
+

+ Keep track of + services and invoice

+
+
+ +
+
+ +
+ Restaurant +
+

+ Run your bar or + restaurant methodically

+
+
+ +
+
+ +
+ Hotel Management +
+

+ An + all-inclusive + hotel management application

+
+
+
+
+ + + + +
+
+ +
+

Support +

+
+
+
+
+
+
+ +
+
+

Need Help?

+

Got questions or need help? Get in touch.

+ +

+ odoo@cybrosys.com

+
+
+
+
+
+
+
+ +
+
+

WhatsApp

+

Say hi to us on WhatsApp!

+ +

+91 86068 + 27707

+
+
+
+
+
+
+
+ +
+
+
+ \ No newline at end of file diff --git a/refer_friend_and_earn/static/src/css/refer_and_earn.css b/refer_friend_and_earn/static/src/css/refer_and_earn.css new file mode 100644 index 000000000..059b10e9b --- /dev/null +++ b/refer_friend_and_earn/static/src/css/refer_and_earn.css @@ -0,0 +1,57 @@ +.image{ +background-image:url("/refer_friend_and_earn/static/src/img/refer_earn.jpg"); +background-size:cover; +height:300px; +width:600px; +} + +.code{ +width: 314px; +margin-top: 20px; +} + +.main1{ +background-color:#dfebe9; +height:100%; +width:100%; +display:flex; +padding-top:50px; +} + +.share{ +margin-top: 20px; +} + +.main-right{ + text-align: center; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.content{ +width: 472px; +margin-left: 33px; +line-height: 34px; +text-align: justify; +padding:-3px; +} + +@media (max-width:998px){ +.main1{ +flex-wrap: wrap; +justify-content:center; +} +.content { + width: 95%; + padding-right: 20px; + } +} + +@media (max-width:616px){ +.image { + width: 312px; + height: 200px; +} +} diff --git a/refer_friend_and_earn/static/src/img/refer_earn.jpg b/refer_friend_and_earn/static/src/img/refer_earn.jpg new file mode 100644 index 000000000..b6138b91c Binary files /dev/null and b/refer_friend_and_earn/static/src/img/refer_earn.jpg differ diff --git a/refer_friend_and_earn/static/src/js/website_sale.js b/refer_friend_and_earn/static/src/js/website_sale.js new file mode 100644 index 000000000..69087f3bf --- /dev/null +++ b/refer_friend_and_earn/static/src/js/website_sale.js @@ -0,0 +1,19 @@ +odoo.define('refer_friend_and_earn.refer_and_earn', function(require) { + "use strict"; + /** + * This file used control the visibility of 'I have points' + */ +var publicWidget = require('web.public.widget'); +publicWidget.registry.ReferAndEarn = publicWidget.Widget.extend({ + selector: '.oe_website_sale', + events: { + 'click .show_points': '_onClickShowPoints', + }, +// While click on the 'I have points', hide the text and shows the input field + _onClickShowPoints: function (ev) { + this.$el.find(".show_points").hide(); + this.$el.find('.point_form').removeClass('d-none'); + }, +}); +return publicWidget.registry.ReferAndEarn; +}); diff --git a/refer_friend_and_earn/views/apply_discounts_views.xml b/refer_friend_and_earn/views/apply_discounts_views.xml new file mode 100644 index 000000000..ed7e359fa --- /dev/null +++ b/refer_friend_and_earn/views/apply_discounts_views.xml @@ -0,0 +1,27 @@ + + + + + Apply Discounts + apply.discounts + tree + + + + apply.discounts.view.tree + apply.discounts + + + + + + + + + + + diff --git a/refer_friend_and_earn/views/apply_points_template.xml b/refer_friend_and_earn/views/apply_points_template.xml new file mode 100644 index 000000000..84559205d --- /dev/null +++ b/refer_friend_and_earn/views/apply_points_template.xml @@ -0,0 +1,56 @@ + + + + + + + diff --git a/refer_friend_and_earn/views/auth_signup_login_templates.xml b/refer_friend_and_earn/views/auth_signup_login_templates.xml new file mode 100644 index 000000000..c1aec7acf --- /dev/null +++ b/refer_friend_and_earn/views/auth_signup_login_templates.xml @@ -0,0 +1,12 @@ + + + + + diff --git a/refer_friend_and_earn/views/refer_and_earn_template.xml b/refer_friend_and_earn/views/refer_and_earn_template.xml new file mode 100644 index 000000000..5e9e3df54 --- /dev/null +++ b/refer_friend_and_earn/views/refer_and_earn_template.xml @@ -0,0 +1,137 @@ + + + + + + + diff --git a/refer_friend_and_earn/views/res_config_settings_views.xml b/refer_friend_and_earn/views/res_config_settings_views.xml new file mode 100644 index 000000000..185e2784c --- /dev/null +++ b/refer_friend_and_earn/views/res_config_settings_views.xml @@ -0,0 +1,17 @@ + + + + + res.config.settings.view.form.inherit.refer.friend.and.earn + res.config.settings + + + +
+
+
+
+
+
diff --git a/refer_friend_and_earn/views/res_partner_views.xml b/refer_friend_and_earn/views/res_partner_views.xml new file mode 100644 index 000000000..c51824c49 --- /dev/null +++ b/refer_friend_and_earn/views/res_partner_views.xml @@ -0,0 +1,16 @@ + + + + + res.partner.view.form.inherit.refer.friend.and.earn + res.partner + + + + + + + + + + diff --git a/refer_friend_and_earn/views/sale_order_views.xml b/refer_friend_and_earn/views/sale_order_views.xml new file mode 100644 index 000000000..e32ca5cf0 --- /dev/null +++ b/refer_friend_and_earn/views/sale_order_views.xml @@ -0,0 +1,15 @@ + + + + + sale.order.form.inherit.refer.friend.earn + sale.order + + + + + + + + +