@ -0,0 +1,48 @@ | 
				
			|||||
 | 
					.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg | 
				
			||||
 | 
					    :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html | 
				
			||||
 | 
					    :alt: License: AGPL-3 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Franchise Management | 
				
			||||
 | 
					==================== | 
				
			||||
 | 
					This module helps to manage franchise in odoo. | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Configuration | 
				
			||||
 | 
					============= | 
				
			||||
 | 
					* No additional configurations needed | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Company | 
				
			||||
 | 
					------- | 
				
			||||
 | 
					* `Cybrosys Techno Solutions <https://cybrosys.com/>`__ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					License | 
				
			||||
 | 
					------- | 
				
			||||
 | 
					Affero General Public License v3.0 (AGPL v3) | 
				
			||||
 | 
					(https://www.gnu.org/licenses/agpl-3.0-standalone.html) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Credits | 
				
			||||
 | 
					------- | 
				
			||||
 | 
					* Developer:    (V15) Gayathri V, | 
				
			||||
 | 
					                (V16) Jumana Jabin MK, | 
				
			||||
 | 
					Contact : odoo@cybrosys.com | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Contacts | 
				
			||||
 | 
					-------- | 
				
			||||
 | 
					* Mail Contact : odoo@cybrosys.com | 
				
			||||
 | 
					* Website : https://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 `Our Website <https://cybrosys.com/>`__ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Further information | 
				
			||||
 | 
					=================== | 
				
			||||
 | 
					HTML Description: `<static/description/index.html>`__ | 
				
			||||
@ -0,0 +1,24 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Gayathri V(<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					from . import controllers | 
				
			||||
 | 
					from . import models | 
				
			||||
 | 
					from . import wizard | 
				
			||||
@ -0,0 +1,79 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Gayathri V(<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					{ | 
				
			||||
 | 
					    'name': 'Franchise Management', | 
				
			||||
 | 
					    'version': '15.0.1.0.0', | 
				
			||||
 | 
					    'category': 'Marketing', | 
				
			||||
 | 
					    'summary': 'This Module will help to manage franchisees and dealers.', | 
				
			||||
 | 
					    'description': """This module helps to manage the franchise in odoo. | 
				
			||||
 | 
					     A franchise is a type of license that grants a franchisee access,thus  | 
				
			||||
 | 
					     allowing the franchisee to sell a product or service under the  | 
				
			||||
 | 
					     franchises business name.""", | 
				
			||||
 | 
					    'author': 'Cybrosys Techno Solutions', | 
				
			||||
 | 
					    'company': 'Cybrosys Techno Solutions', | 
				
			||||
 | 
					    'maintainer': 'Cybrosys Techno Solutions', | 
				
			||||
 | 
					    'website': 'https://www.cybrosys.com', | 
				
			||||
 | 
					    'depends': ['product', 'website_sale', 'contacts'], | 
				
			||||
 | 
					    'data': [ | 
				
			||||
 | 
					        'security/franchise_management_groups.xml', | 
				
			||||
 | 
					        'security/ir.model.access.csv', | 
				
			||||
 | 
					        'report/franchise_dealership_contract_templates.xml', | 
				
			||||
 | 
					        'report/franchise_management_report.xml', | 
				
			||||
 | 
					        'report/franchise_report_templates.xml', | 
				
			||||
 | 
					        'report/dealer_based_templates.xml', | 
				
			||||
 | 
					        'report/dealer_sale_report_templates.xml', | 
				
			||||
 | 
					        'report/dealer_sale_based_templates.xml', | 
				
			||||
 | 
					        'report/agreement_based_templates.xml', | 
				
			||||
 | 
					        'report/dealer_sale_on_agreement_templates.xml', | 
				
			||||
 | 
					        'data/ir_sequence_data.xml', | 
				
			||||
 | 
					        'data/contract_email_data.xml', | 
				
			||||
 | 
					        'data/franchise_contract_data.xml', | 
				
			||||
 | 
					        'data/contract_renewal_email_data.xml', | 
				
			||||
 | 
					        'data/feedback_email_data.xml', | 
				
			||||
 | 
					        'data/monthly_feedback_cron_data.xml', | 
				
			||||
 | 
					        'data/contract_renewal_cron_data.xml', | 
				
			||||
 | 
					        'wizard/dealer_report_views.xml', | 
				
			||||
 | 
					        'wizard/dealer_sale_report_views.xml', | 
				
			||||
 | 
					        'views/franchise_dealer_views.xml', | 
				
			||||
 | 
					        'views/web_franchise_templates.xml', | 
				
			||||
 | 
					        'views/franchise_agreement_views.xml', | 
				
			||||
 | 
					        'views/approved_dealer_views.xml', | 
				
			||||
 | 
					        'views/res_users_views.xml', | 
				
			||||
 | 
					        'views/franchise_dealer_portal_templates.xml', | 
				
			||||
 | 
					        'views/franchise_dealer_portal_detail_templates.xml', | 
				
			||||
 | 
					        'views/franchise_sales_views.xml', | 
				
			||||
 | 
					        'views/web_franchise_sales_templates.xml', | 
				
			||||
 | 
					        'views/franchise_management_menus.xml', | 
				
			||||
 | 
					    ], | 
				
			||||
 | 
					    'assets': { | 
				
			||||
 | 
					        'web.assets_frontend': [ | 
				
			||||
 | 
					            'franchise_management/static/src/css/website.css', | 
				
			||||
 | 
					            'franchise_management/static/src/js/portalSignatureForm.js', | 
				
			||||
 | 
					            'franchise_management/static/src/js/portalSignature.js', | 
				
			||||
 | 
					        ], | 
				
			||||
 | 
					    }, | 
				
			||||
 | 
					    'images': ['static/description/banner.png'], | 
				
			||||
 | 
					    'license': 'AGPL-3', | 
				
			||||
 | 
					    'installable': True, | 
				
			||||
 | 
					    'auto_install': False, | 
				
			||||
 | 
					    'application': True, | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,25 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Gayathri V(<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					from . import franchise_customer_portal | 
				
			||||
 | 
					from . import franchise_portal | 
				
			||||
 | 
					from . import web_franchise_dealer | 
				
			||||
 | 
					from . import web_franchise_sale | 
				
			||||
@ -0,0 +1,43 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Gayathri V(<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					"""Franchise customer portal controller""" | 
				
			||||
 | 
					from odoo import http | 
				
			||||
 | 
					from odoo.http import request | 
				
			||||
 | 
					from odoo.addons.portal.controllers.portal import CustomerPortal | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class FranchiseCustomerPortal(CustomerPortal): | 
				
			||||
 | 
					    """Franchise Customer portal.""" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def _prepare_home_portal_values(self, counters): | 
				
			||||
 | 
					        """Preparing franchise count to view in portal.""" | 
				
			||||
 | 
					        values = super(FranchiseCustomerPortal, | 
				
			||||
 | 
					                       self)._prepare_home_portal_values(counters) | 
				
			||||
 | 
					        if request.env.user.has_group( | 
				
			||||
 | 
					                'franchise_management.dealer_manager_access'): | 
				
			||||
 | 
					            franchise_count = http.request.env[ | 
				
			||||
 | 
					                'franchise.dealer'].search_count( | 
				
			||||
 | 
					                [('state', 'in', ('e_contract', 'f_signed', 'g_declined'))]) | 
				
			||||
 | 
					        else: | 
				
			||||
 | 
					            franchise_count = 0 | 
				
			||||
 | 
					        values.update({'franchise_count': franchise_count}) | 
				
			||||
 | 
					        return values | 
				
			||||
@ -0,0 +1,108 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Gayathri V(<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					"""Franchise portal controller""" | 
				
			||||
 | 
					import binascii | 
				
			||||
 | 
					from odoo import fields, http, _ | 
				
			||||
 | 
					from odoo.http import request | 
				
			||||
 | 
					from odoo.exceptions import AccessError, MissingError | 
				
			||||
 | 
					from odoo.addons.portal.controllers.mail import _message_post_helper | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class FranchisePortal(http.Controller): | 
				
			||||
 | 
					    """Franchise Portal template.""" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @http.route(['/my/franchise'], type='http', auth="public", | 
				
			||||
 | 
					                website=True) | 
				
			||||
 | 
					    def display_franchise_registration(self): | 
				
			||||
 | 
					        """function to display franchise registrations from backend.""" | 
				
			||||
 | 
					        franchise_registration = request.env['franchise.dealer'].sudo().search( | 
				
			||||
 | 
					            [('state', 'in', ('e_contract', 'f_signed', 'g_declined'))]) | 
				
			||||
 | 
					        dealer_dict = {'franchise_registration': franchise_registration, | 
				
			||||
 | 
					                       'page_name': 'franchise_registrations'} | 
				
			||||
 | 
					        return request.render("franchise_management.portal_my_franchise", | 
				
			||||
 | 
					                              dealer_dict) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @http.route(['/my/franchise/<int:franchise_id>'], type='http', auth="public", | 
				
			||||
 | 
					                website=True) | 
				
			||||
 | 
					    def portal_sign_page(self, franchise_id): | 
				
			||||
 | 
					        """Franchise Portal Sign Page.""" | 
				
			||||
 | 
					        franchise = request.env['franchise.dealer'].sudo().browse(franchise_id) | 
				
			||||
 | 
					        return request.render("franchise_management.franchise_portal", | 
				
			||||
 | 
					                              {'franchise': franchise, | 
				
			||||
 | 
					                               'page_name': 'registration_details'}) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @http.route(['/my/franchise/<int:dealer_id>/decline'], type='http', auth="public", | 
				
			||||
 | 
					                methods=['POST'], website=True, csrf=True) | 
				
			||||
 | 
					    def portal_franchise_decline(self, dealer_id): | 
				
			||||
 | 
					        """Declining the contract sign""" | 
				
			||||
 | 
					        order_sudo = request.env['franchise.dealer'].sudo().browse(dealer_id) | 
				
			||||
 | 
					        order_sudo.contract_declined() | 
				
			||||
 | 
					        return request.redirect(f'my/franchise/{dealer_id}') | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @http.route(['/my/franchise/<int:dealer_id>/accept'], type='json', auth="public", | 
				
			||||
 | 
					                website=True, csrf=True) | 
				
			||||
 | 
					    def portal_franchise_accept(self, dealer_id, name=None, signature=None, | 
				
			||||
 | 
					                                access_token=None): | 
				
			||||
 | 
					        """Accepting the contract and signing it.""" | 
				
			||||
 | 
					        access_token = access_token or request.httprequest.args.get( | 
				
			||||
 | 
					            'access_token') | 
				
			||||
 | 
					        try: | 
				
			||||
 | 
					            order_sudo = request.env['franchise.dealer'].sudo().browse(dealer_id) | 
				
			||||
 | 
					        except (AccessError, MissingError): | 
				
			||||
 | 
					            return {'error': _('Invalid order.')} | 
				
			||||
 | 
					        try: | 
				
			||||
 | 
					            order_sudo.write({ | 
				
			||||
 | 
					                'signed_by': name, | 
				
			||||
 | 
					                'signed_on': fields.Datetime.now(), | 
				
			||||
 | 
					                'signature': signature, | 
				
			||||
 | 
					            }) | 
				
			||||
 | 
					            request.env.cr.commit() | 
				
			||||
 | 
					            order_sudo.contract_signed() | 
				
			||||
 | 
					            list_login = request.env['res.users'].sudo().search([]).mapped( | 
				
			||||
 | 
					                'login') | 
				
			||||
 | 
					            # Check if the dealer's mail is not in the list_login | 
				
			||||
 | 
					            if order_sudo.dealer_mail not in list_login: | 
				
			||||
 | 
					                order_sudo.create_portal_user() | 
				
			||||
 | 
					                order_sudo._send_order_confirmation_mail() | 
				
			||||
 | 
					                order_sudo.dealer_portal_user.is_dealer_user = True | 
				
			||||
 | 
					            if order_sudo.dealer_mail in list_login: | 
				
			||||
 | 
					                franchise_users_id = request.env['res.users'].sudo().search([ | 
				
			||||
 | 
					                    ('login', '=', order_sudo.dealer_mail)]) | 
				
			||||
 | 
					                order_sudo.dealer_portal_user = franchise_users_id | 
				
			||||
 | 
					        except (TypeError, binascii.Error) as e: | 
				
			||||
 | 
					            return {'error': _('Invalid signature data.')} | 
				
			||||
 | 
					        signed_pdf = request.env.ref('franchise_management.franchise_contract_report_action').sudo()._render_qweb_pdf( | 
				
			||||
 | 
					            [order_sudo.id])[0] | 
				
			||||
 | 
					        _message_post_helper( | 
				
			||||
 | 
					            'franchise.dealer', | 
				
			||||
 | 
					            order_sudo.id, | 
				
			||||
 | 
					            _('Order signed by %s', name), | 
				
			||||
 | 
					            attachments=[('%s.signed_pdf' % order_sudo.dealer_name, | 
				
			||||
 | 
					                          signed_pdf)], | 
				
			||||
 | 
					            token=access_token, | 
				
			||||
 | 
					        ) | 
				
			||||
 | 
					        query_string = "&message=sign_ok" | 
				
			||||
 | 
					        return { | 
				
			||||
 | 
					            'force_refresh': True, | 
				
			||||
 | 
					            'redirect_url': order_sudo.get_portal_url( | 
				
			||||
 | 
					                query_string=query_string), | 
				
			||||
 | 
					        } | 
				
			||||
@ -0,0 +1,76 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Gayathri V(<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					"""Franchise dealer controller""" | 
				
			||||
 | 
					from odoo import http | 
				
			||||
 | 
					from odoo.http import request | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class FranchiseDealer(http.Controller): | 
				
			||||
 | 
					    """Franchise dealer controller.""" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @http.route(['/franchise_menu'], type='http', auth="public", website=True) | 
				
			||||
 | 
					    def dealer_create(self): | 
				
			||||
 | 
					        """Creating a dealer form  in website.""" | 
				
			||||
 | 
					        state_rec = request.env['res.country.state'].sudo().search([]) | 
				
			||||
 | 
					        country_rec = request.env['res.country'].sudo().search([]) | 
				
			||||
 | 
					        franchise_agreement_rec = request.env[ | 
				
			||||
 | 
					            'franchise.agreement'].sudo().search([]) | 
				
			||||
 | 
					        return http.request.render("franchise_management.tmpl_dealer_request", | 
				
			||||
 | 
					                                   { | 
				
			||||
 | 
					                                       'state_rec': state_rec, | 
				
			||||
 | 
					                                       'country_rec': country_rec, | 
				
			||||
 | 
					                                       'franchise_agreement_rec': | 
				
			||||
 | 
					                                           franchise_agreement_rec, | 
				
			||||
 | 
					                                   }) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @http.route(['/franchise_menu/form/submit'], type='http', auth="public", | 
				
			||||
 | 
					                website=True) | 
				
			||||
 | 
					    def franchise_form_submit(self, **post): | 
				
			||||
 | 
					        """Website dealer form submit function.""" | 
				
			||||
 | 
					        order = request.env['franchise.dealer'].sudo().create({ | 
				
			||||
 | 
					            'dealer_name': post.get('franchisee_name'), | 
				
			||||
 | 
					            'dealer_mobile': post.get('dealer_mobile') or '', | 
				
			||||
 | 
					            'dealer_phone': post.get('dealer_phone') or '', | 
				
			||||
 | 
					            'dealer_mail': post.get('franchisee_email') or '', | 
				
			||||
 | 
					            'dealer_website': post.get('dealer_website') or '', | 
				
			||||
 | 
					            'street': post.get('street') or '', | 
				
			||||
 | 
					            'city': post.get('city') or '', | 
				
			||||
 | 
					            'country_id': post.get('country_id'), | 
				
			||||
 | 
					            'zip': post.get('zip') or '', | 
				
			||||
 | 
					            'state_id': post.get('state_id'), | 
				
			||||
 | 
					            'dealer_occupation': post.get('dealer_occupation') or '', | 
				
			||||
 | 
					            'dealer_qualification': post.get('dealer_qualification') or '', | 
				
			||||
 | 
					            'contract_type_id': post.get('contract_type_id'), | 
				
			||||
 | 
					            'monthly_target_amount': post.get('monthly_target_amount'), | 
				
			||||
 | 
					            'business_city': post.get('business_city'), | 
				
			||||
 | 
					            'business_country': post.get('business_country'), | 
				
			||||
 | 
					            'experience': post.get('experience') or '', | 
				
			||||
 | 
					            'site_area': post.get('site_area') or '', | 
				
			||||
 | 
					            'site_type': post.get('site_type') or '', | 
				
			||||
 | 
					            'site_location': post.get('site_location'), | 
				
			||||
 | 
					            'investment_from': post.get('investment_from'), | 
				
			||||
 | 
					            'investment_to': post.get('investment_to'), | 
				
			||||
 | 
					            'advertisement': post.get('advertisement') | 
				
			||||
 | 
					        }) | 
				
			||||
 | 
					        vals = {'order': order} | 
				
			||||
 | 
					        return request.render("franchise_management.website_success_page", | 
				
			||||
 | 
					                              vals) | 
				
			||||
@ -0,0 +1,71 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Gayathri V(<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					from odoo import http | 
				
			||||
 | 
					from odoo.http import request | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class DealerMonthlySaleReport(http.Controller): | 
				
			||||
 | 
					    """Franchise dealer monthly feedback about the product sale.""" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @http.route(['/feedback_report_menu'], type='http', auth="public", | 
				
			||||
 | 
					                website=True) | 
				
			||||
 | 
					    def dealer_feedback_form(self, **post): | 
				
			||||
 | 
					        """Creating a dealer feedback form in website.""" | 
				
			||||
 | 
					        franchise_dealer_rec = request.env['res.users'].sudo().search( | 
				
			||||
 | 
					            [('is_dealer_user', '=', True)]) | 
				
			||||
 | 
					        franchise_agreement_rec = request.env[ | 
				
			||||
 | 
					            'franchise.agreement'].sudo().search([]) | 
				
			||||
 | 
					        values = { | 
				
			||||
 | 
					            'franchise_agreement_rec': franchise_agreement_rec, | 
				
			||||
 | 
					            'franchise_dealer_rec': franchise_dealer_rec, | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					        if post.get('id'): | 
				
			||||
 | 
					            values['current_franchise'] = request.env[ | 
				
			||||
 | 
					                'franchise.dealer'].sudo().browse( | 
				
			||||
 | 
					                int(post.get('id'))) | 
				
			||||
 | 
					        user = request.env['res.users'].sudo().search( | 
				
			||||
 | 
					            [('id', '=', int(request.env.user.id))]) | 
				
			||||
 | 
					        if user.is_dealer_user: | 
				
			||||
 | 
					            values['user_data'] = request.env[ | 
				
			||||
 | 
					                'franchise.dealer'].sudo().search( | 
				
			||||
 | 
					                [('dealer_portal_user.id', '=', request.env.user.id)]) | 
				
			||||
 | 
					        return http.request.render( | 
				
			||||
 | 
					            "franchise_management.tmpl_dealer_feedback", values) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @http.route(['/dealer_feedback_menu/form/submit'], type='http', | 
				
			||||
 | 
					                auth="public", website=True) | 
				
			||||
 | 
					    def franchise_form_submit(self, **post): | 
				
			||||
 | 
					        """Website dealer form submit function.""" | 
				
			||||
 | 
					        order = request.env['dealer.sale'].sudo().create({ | 
				
			||||
 | 
					            'dealer_id': post.get('dealer_id'), | 
				
			||||
 | 
					            'franchise_reference': post.get('franchise_reference') or '', | 
				
			||||
 | 
					            'dealer_agreement_id': post.get('dealer_agreement_id'), | 
				
			||||
 | 
					            'sale_quantity': post.get('sale_quantity'), | 
				
			||||
 | 
					            'scrap_quantity': post.get('scrap_quantity'), | 
				
			||||
 | 
					            'total_sale_amount': post.get('total_sale_amount'), | 
				
			||||
 | 
					            'discount_percentage': post.get('discount_percentage'), | 
				
			||||
 | 
					            'monthly_target_amount': post.get('monthly_target_amount'), | 
				
			||||
 | 
					            'monthly_target_gained': post.get('monthly_target_gained'), | 
				
			||||
 | 
					        }) | 
				
			||||
 | 
					        vals = {'order': order} | 
				
			||||
 | 
					        return request.render("franchise_management.feedback_success_page", | 
				
			||||
 | 
					                              vals) | 
				
			||||
@ -0,0 +1,56 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <data noupdate="1"> | 
				
			||||
 | 
					    <!--Dealership contract email data--> | 
				
			||||
 | 
					       <record id="contract_email_template" model="mail.template"> | 
				
			||||
 | 
					           <field name="name">DEALERSHIP CONTRACT</field> | 
				
			||||
 | 
					           <field name="model_id" ref="franchise_management.model_franchise_dealer"/> | 
				
			||||
 | 
					           <field name="email_from">{{object.company_id.email}}</field> | 
				
			||||
 | 
					           <field name="email_to"/> | 
				
			||||
 | 
					           <field name="lang">{{ ctx.get('default_lang') }}</field> | 
				
			||||
 | 
					           <field name="subject">Dealership Contract</field> | 
				
			||||
 | 
					           <field name="body_html" type="html"> | 
				
			||||
 | 
					               <p> | 
				
			||||
 | 
					                   Hi,<br/> | 
				
			||||
 | 
					                   Congratulations<br/> | 
				
			||||
 | 
					                   You are approved for the Dealership with us.<br/> | 
				
			||||
 | 
					                   Make sure you submit your request form completely, and<br/> | 
				
			||||
 | 
					                   Please read carefully the pdf contract attached here and <br/> | 
				
			||||
 | 
					                   if you are agree with our terms and conditions <br/> | 
				
			||||
 | 
					                   Please sign the contract below for the further procedures.<br/> | 
				
			||||
 | 
					                   You can sign digitally through the button link given here. | 
				
			||||
 | 
					                   <br/><br/> | 
				
			||||
 | 
					               </p> | 
				
			||||
 | 
					               <div><br/> | 
				
			||||
 | 
					                    <a style="background-color:#875A7B; | 
				
			||||
 | 
					                       padding:8px 20px 8px 20px; | 
				
			||||
 | 
					                       text-decoration:none; color:#fff;  border-style:solid; | 
				
			||||
 | 
					                       display:inline-block; | 
				
			||||
 | 
					                       border-radius:5px; font-weight:bold; font-style:normal; | 
				
			||||
 | 
					                       line-height:26px; width:auto; text-align:center" | 
				
			||||
 | 
					                     t-attf-href="{{object.url}}">Sign and confirm</a> | 
				
			||||
 | 
					               </div> | 
				
			||||
 | 
					           </field> | 
				
			||||
 | 
					       </record> | 
				
			||||
 | 
					    <!--Dealer Notification email template--> | 
				
			||||
 | 
					       <record id="portal_user_email_template" model="mail.template"> | 
				
			||||
 | 
					           <field name="name">Login Details</field> | 
				
			||||
 | 
					           <field name="model_id" ref="franchise_management.model_franchise_dealer"/> | 
				
			||||
 | 
					           <field name="email_from">{{object.company_id.email}}</field> | 
				
			||||
 | 
					           <field name="email_to"/> | 
				
			||||
 | 
					           <field name="lang">{{ ctx.get('default_lang') }}</field> | 
				
			||||
 | 
					           <field name="subject">Franchise Login Details</field> | 
				
			||||
 | 
					           <field name="body_html" type="html"> | 
				
			||||
 | 
					               <p> | 
				
			||||
 | 
					                   Hi, | 
				
			||||
 | 
					                   Congratulations<br/> | 
				
			||||
 | 
					                   You are successfully signed our dealership contract.<br/> | 
				
			||||
 | 
					                   And now you can log in to our website using the email and password.<br/> | 
				
			||||
 | 
					                   email : user email address given in the franchise registration.<br/> | 
				
			||||
 | 
					                   password : franchise00129 | 
				
			||||
 | 
					                    <br/><br/> | 
				
			||||
 | 
					               </p> | 
				
			||||
 | 
					           </field> | 
				
			||||
 | 
					       </record> | 
				
			||||
 | 
					    </data> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,17 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <data noupdate="1"> | 
				
			||||
 | 
					<!--Contract Renewal Action--> | 
				
			||||
 | 
					       <record id="contract_renewal_scheduler_action" model="ir.cron"> | 
				
			||||
 | 
					           <field name="name">Franchise Contract Renewal</field> | 
				
			||||
 | 
					           <field name="model_id" ref="model_franchise_dealer"/> | 
				
			||||
 | 
					           <field name="state">code</field> | 
				
			||||
 | 
					           <field name="code">model.action_send_contract_renewal()</field> | 
				
			||||
 | 
					           <field name="user_id" ref="base.user_root"/> | 
				
			||||
 | 
					           <field name="interval_number">1</field> | 
				
			||||
 | 
					           <field name="interval_type">days</field> | 
				
			||||
 | 
					           <field name="numbercall">-1</field> | 
				
			||||
 | 
					           <field name="doall" eval="False"/> | 
				
			||||
 | 
					       </record> | 
				
			||||
 | 
					    </data> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,33 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					<!--Contract renewal email template data--> | 
				
			||||
 | 
					    <data noupdate="1"> | 
				
			||||
 | 
					       <record id="contract_renewal_email_template" model="mail.template"> | 
				
			||||
 | 
					           <field name="name">CONTRACT RENEWAL</field> | 
				
			||||
 | 
					           <field name="model_id" | 
				
			||||
 | 
					                  ref="franchise_management.model_franchise_dealer"/> | 
				
			||||
 | 
					           <field name="email_from">{{object.company_id.email}}</field> | 
				
			||||
 | 
					           <field name="email_to"/> | 
				
			||||
 | 
					           <field name="lang">{{ ctx.get('default_lang') }}</field> | 
				
			||||
 | 
					           <field name="subject">Contract Renewal</field> | 
				
			||||
 | 
					           <field name="body_html" type="html"> | 
				
			||||
 | 
					               <p> | 
				
			||||
 | 
					                   Hi,<br/> | 
				
			||||
 | 
					                   Your Franchise dealership contract has expired,<br/> | 
				
			||||
 | 
					                   Please renew your dealership contract in order to continue | 
				
			||||
 | 
					                   the services.<br/><br/> | 
				
			||||
 | 
					                   Thanks and Regards<br/> | 
				
			||||
 | 
					               </p> | 
				
			||||
 | 
					               <div><br/> | 
				
			||||
 | 
					                    <a style="background-color:#875A7B; | 
				
			||||
 | 
					                       padding:8px 20px 8px 20px; | 
				
			||||
 | 
					                       text-decoration:none; color:#fff;  border-style:solid; | 
				
			||||
 | 
					                       display:inline-block; | 
				
			||||
 | 
					                       border-radius:5px; font-weight:bold; font-style:normal; | 
				
			||||
 | 
					                       line-height:26px; width:auto; text-align:center" | 
				
			||||
 | 
					                     t-attf-href="{{object.url}}">Sign and confirm</a> | 
				
			||||
 | 
					               </div> | 
				
			||||
 | 
					           </field> | 
				
			||||
 | 
					       </record> | 
				
			||||
 | 
					    </data> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,34 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					<!--Franchise sales feedback email template data--> | 
				
			||||
 | 
					    <data noupdate="1"> | 
				
			||||
 | 
					       <record id="feedback_email_template" model="mail.template"> | 
				
			||||
 | 
					           <field name="name">SALES FEEDBACK</field> | 
				
			||||
 | 
					           <field name="model_id" | 
				
			||||
 | 
					                  ref="franchise_management.model_franchise_dealer"/> | 
				
			||||
 | 
					           <field name="email_from">{{object.company_id.email}}</field> | 
				
			||||
 | 
					           <field name="email_to"/> | 
				
			||||
 | 
					           <field name="lang">{{ ctx.get('default_lang') }}</field> | 
				
			||||
 | 
					           <field name="subject">Monthly Sales Feedback</field> | 
				
			||||
 | 
					           <field name="body_html" type="html"> | 
				
			||||
 | 
					               <p> | 
				
			||||
 | 
					                   Hi,<br/> | 
				
			||||
 | 
					                   Please submit monthly feedback report about the sales of the | 
				
			||||
 | 
					                   product, which you owned through the dealership. <br/> | 
				
			||||
 | 
					                   Please mention your monthly business target, achieved | 
				
			||||
 | 
					                   target, and the total sales done .<br/> | 
				
			||||
 | 
					               </p> | 
				
			||||
 | 
					               <div><br/> | 
				
			||||
 | 
					                   <a style="background-color:#875A7B; | 
				
			||||
 | 
					                   padding:8px 20px 8px 20px; | 
				
			||||
 | 
					                   text-decoration:none; color:#fff;  border-style:solid; | 
				
			||||
 | 
					                   display:inline-block; | 
				
			||||
 | 
					                   border-radius:5px; font-weight:bold; font-style:normal; | 
				
			||||
 | 
					                   line-height:26px; width:auto; text-align:center" | 
				
			||||
 | 
					                   t-attf-href="{{object.feedback_url}}">Submit Feedback</a> | 
				
			||||
 | 
					                   <br/> | 
				
			||||
 | 
					               </div> | 
				
			||||
 | 
					           </field> | 
				
			||||
 | 
					       </record> | 
				
			||||
 | 
					    </data> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,88 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!-- Franchise contract --> | 
				
			||||
 | 
					    <record id="yearly_franchise_contract" model="franchise.agreement"> | 
				
			||||
 | 
					        <field name="agreement_type">yearly</field> | 
				
			||||
 | 
					        <field name="agreement_body"> | 
				
			||||
 | 
					            <![CDATA[ | 
				
			||||
 | 
					                    <h1>Yearly Franchise Agreement</h1> | 
				
			||||
 | 
					                    <p>This Franchise Agreement ("Agreement") is made and entered into as of <strong>January 1, 2024</strong>, by and between <strong>Franchise Corp</strong>, a company organized and existing under the laws of <strong>State</strong> with its principal office located at <strong>123 Franchise Ave, City, State</strong> ("Franchisor"), and <strong>John Doe</strong>, located at <strong>456 Partner St, City, State</strong> ("Franchisee").</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <h2>1. Grant of Franchise</h2> | 
				
			||||
 | 
					                    <p>The Franchisor hereby grants to the Franchisee the right, and the Franchisee undertakes the obligation, to operate a franchise under the Franchisor’s brand and system, using the Franchisor's trademarks, trade names, service marks, logos, and commercial symbols (the "Marks").</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <h2>2. Term</h2> | 
				
			||||
 | 
					                    <p>This Agreement shall commence on the effective date and shall continue for a term of one year, subject to renewal as provided herein.</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <h2>3. Fees</h2> | 
				
			||||
 | 
					                    <p>The Franchisee shall pay to the Franchisor an initial franchise fee of <strong>$10,000</strong> and an ongoing royalty fee of <strong>5%</strong> of the Franchisee's gross revenue.</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <h2>4. Duties of Franchisee</h2> | 
				
			||||
 | 
					                    <ul> | 
				
			||||
 | 
					                        <li>Operate the franchise in compliance with the Franchisor’s standards and specifications.</li> | 
				
			||||
 | 
					                        <li>Maintain the quality and image of the Franchisor’s brand.</li> | 
				
			||||
 | 
					                        <li>Participate in all required training programs.</li> | 
				
			||||
 | 
					                    </ul> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <h2>5. Confidentiality</h2> | 
				
			||||
 | 
					                    <p>The Franchisee agrees to maintain the confidentiality of all proprietary information provided by the Franchisor.</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <h2>6. Termination</h2> | 
				
			||||
 | 
					                    <p>This Agreement may be terminated by either party upon thirty (30) days' written notice to the other party in the event of a breach of any provision of this Agreement.</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <h2>7. Governing Law</h2> | 
				
			||||
 | 
					                    <p>This Agreement shall be governed by and construed in accordance with the laws of the State of [State].</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <h2>8. Entire Agreement</h2> | 
				
			||||
 | 
					                    <p>This Agreement constitutes the entire agreement between the parties and supersedes all prior agreements and understandings, whether written or oral, relating to the subject matter hereof.</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <p>IN WITNESS WHEREOF, the parties hereto have executed this Agreement as of the day and year first above written.</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <p>____________________________<br>Franchisor Representative</p> | 
				
			||||
 | 
					                    <p>____________________________<br>John Doe, Franchisee</p> | 
				
			||||
 | 
					                ]]> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					    <record id="monthly_franchise_contract" model="franchise.agreement"> | 
				
			||||
 | 
					        <field name="agreement_type">monthly</field> | 
				
			||||
 | 
					        <field name="agreement_body"> | 
				
			||||
 | 
					            <![CDATA[ | 
				
			||||
 | 
					                    <h1>Monthly Franchise Agreement</h1> | 
				
			||||
 | 
					                    <p>This Franchise Agreement ("Agreement") is made and entered into as of <strong>May 1, 2024</strong>, by and between <strong>Franchise Corp</strong>, a company organized and existing under the laws of <strong>State</strong> with its principal office located at <strong>123 Franchise Ave, City, State</strong> ("Franchisor"), and <strong>John Doe</strong>, located at <strong>456 Partner St, City, State</strong> ("Franchisee").</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <h2>1. Grant of Franchise</h2> | 
				
			||||
 | 
					                    <p>The Franchisor hereby grants to the Franchisee the right, and the Franchisee undertakes the obligation, to operate a franchise under the Franchisor’s brand and system, using the Franchisor's trademarks, trade names, service marks, logos, and commercial symbols (the "Marks").</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <h2>2. Term</h2> | 
				
			||||
 | 
					                    <p>This Agreement shall commence on the effective date and shall continue for a term of one month, subject to renewal as provided herein.</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <h2>3. Fees</h2> | 
				
			||||
 | 
					                    <p>The Franchisee shall pay to the Franchisor an initial franchise fee of <strong>$1,000</strong> and an ongoing royalty fee of <strong>5%</strong> of the Franchisee's gross revenue.</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <h2>4. Duties of Franchisee</h2> | 
				
			||||
 | 
					                    <ul> | 
				
			||||
 | 
					                        <li>Operate the franchise in compliance with the Franchisor’s standards and specifications.</li> | 
				
			||||
 | 
					                        <li>Maintain the quality and image of the Franchisor’s brand.</li> | 
				
			||||
 | 
					                        <li>Participate in all required training programs.</li> | 
				
			||||
 | 
					                    </ul> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <h2>5. Confidentiality</h2> | 
				
			||||
 | 
					                    <p>The Franchisee agrees to maintain the confidentiality of all proprietary information provided by the Franchisor.</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <h2>6. Termination</h2> | 
				
			||||
 | 
					                    <p>This Agreement may be terminated by either party upon seven (7) days' written notice to the other party in the event of a breach of any provision of this Agreement.</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <h2>7. Governing Law</h2> | 
				
			||||
 | 
					                    <p>This Agreement shall be governed by and construed in accordance with the laws of the State of [State].</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <h2>8. Entire Agreement</h2> | 
				
			||||
 | 
					                    <p>This Agreement constitutes the entire agreement between the parties and supersedes all prior agreements and understandings, whether written or oral, relating to the subject matter hereof.</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <p>IN WITNESS WHEREOF, the parties hereto have executed this Agreement as of the day and year first above written.</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    <p>____________________________<br>Franchisor Representative</p> | 
				
			||||
 | 
					                    <p>____________________________<br>John Doe, Franchisee</p> | 
				
			||||
 | 
					                ]]> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,21 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo noupdate="1"> | 
				
			||||
 | 
					<!--Sequence number for franchise dealer--> | 
				
			||||
 | 
					    <record id="seq_dealer" model="ir.sequence"> | 
				
			||||
 | 
					        <field name="name">Franchise Dealer</field> | 
				
			||||
 | 
					        <field name="code">franchise.dealer</field> | 
				
			||||
 | 
					        <field name="prefix">DL</field> | 
				
			||||
 | 
					        <field name="padding">5</field> | 
				
			||||
 | 
					        <field name="company_id" eval="False"/> | 
				
			||||
 | 
					        <field name="number_increment">1</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					<!--Sequence number for franchise feedback--> | 
				
			||||
 | 
					    <record id="sequence_feedback" model="ir.sequence"> | 
				
			||||
 | 
					        <field name="name">Franchise Feedback</field> | 
				
			||||
 | 
					        <field name="code">dealer.sale</field> | 
				
			||||
 | 
					        <field name="prefix">FS</field> | 
				
			||||
 | 
					        <field name="padding">5</field> | 
				
			||||
 | 
					        <field name="company_id" eval="False"/> | 
				
			||||
 | 
					        <field name="number_increment">1</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,17 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					<!--Monthly sales feedback scheduled action--> | 
				
			||||
 | 
					    <data noupdate="1"> | 
				
			||||
 | 
					       <record id="monthly_sales_feedback_scheduler_recurring_action" model="ir.cron"> | 
				
			||||
 | 
					           <field name="name">Monthly Franchise Sales Feedback</field> | 
				
			||||
 | 
					           <field name="model_id" ref="model_franchise_dealer"/> | 
				
			||||
 | 
					           <field name="state">code</field> | 
				
			||||
 | 
					           <field name="code">model.action_send_feedback()</field> | 
				
			||||
 | 
					           <field name="user_id" ref="base.user_root"/> | 
				
			||||
 | 
					           <field name="interval_number">1</field> | 
				
			||||
 | 
					           <field name="interval_type">months</field> | 
				
			||||
 | 
					           <field name="numbercall">-1</field> | 
				
			||||
 | 
					           <field name="doall" eval="False"/> | 
				
			||||
 | 
					       </record> | 
				
			||||
 | 
					    </data> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,6 @@ | 
				
			|||||
 | 
					## Module <franchise_management> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					#### 11.09.2024 | 
				
			||||
 | 
					#### Version 15.0.1.0.0 | 
				
			||||
 | 
					#### ADD | 
				
			||||
 | 
					- Initial commit for Franchise Management | 
				
			||||
@ -0,0 +1,26 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Gayathri V(<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					from . import business_experience | 
				
			||||
 | 
					from . import franchise_agreement | 
				
			||||
 | 
					from . import franchise_dealer | 
				
			||||
 | 
					from . import franchise_sales | 
				
			||||
 | 
					from . import res_users | 
				
			||||
@ -0,0 +1,37 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Gayathri V(<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					"""Business Experience model""" | 
				
			||||
 | 
					from odoo import fields, models | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class BusinessExperience(models.Model): | 
				
			||||
 | 
					    """Business experience inverse model.""" | 
				
			||||
 | 
					    _name = 'business.experience' | 
				
			||||
 | 
					    _description = 'Business Experience' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    experience_name = fields.Char(string='Experience', | 
				
			||||
 | 
					                                  help='Business Experience') | 
				
			||||
 | 
					    from_date = fields.Date(string='From Date', help='Experience start Date') | 
				
			||||
 | 
					    to_date = fields.Date(string='To Date', help='Experience To Date') | 
				
			||||
 | 
					    experience_id = fields.Many2one('franchise.dealer', | 
				
			||||
 | 
					                                    help='Inverse field for Business' | 
				
			||||
 | 
					                                         ' Experience model') | 
				
			||||
@ -0,0 +1,40 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Gayathri V(<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					"""Franchise Dealer Agreement Model""" | 
				
			||||
 | 
					from odoo import fields, models | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class FranchiseAgreement(models.Model): | 
				
			||||
 | 
					    """Franchise Agreement Model.""" | 
				
			||||
 | 
					    _name = "franchise.agreement" | 
				
			||||
 | 
					    _description = "Franchise Agreement Type." | 
				
			||||
 | 
					    _inherit = ['mail.thread', 'mail.activity.mixin'] | 
				
			||||
 | 
					    _rec_name = "agreement_type" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    agreement_type = fields.Selection( | 
				
			||||
 | 
					        [('monthly', 'Monthly'), ('yearly', 'Yearly')], | 
				
			||||
 | 
					        string='Agreement Type', | 
				
			||||
 | 
					        help='Franchise Agreement type') | 
				
			||||
 | 
					    agreement_body = fields.Html(string='Agreement Body', render_engine='qweb', | 
				
			||||
 | 
					                                 translate=True, | 
				
			||||
 | 
					                                 help='Franchise Agreement contents', | 
				
			||||
 | 
					                                 prefetch=True, sanitize=False) | 
				
			||||
@ -0,0 +1,334 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Gayathri V(<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					"""Franchise Dealer Model""" | 
				
			||||
 | 
					import base64 | 
				
			||||
 | 
					from datetime import datetime, timedelta | 
				
			||||
 | 
					from odoo import api, fields, models, SUPERUSER_ID, _ | 
				
			||||
 | 
					from odoo.exceptions import UserError | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class FranchiseDealer(models.Model): | 
				
			||||
 | 
					    """Franchise Dealer Model.""" | 
				
			||||
 | 
					    _name = "franchise.dealer" | 
				
			||||
 | 
					    _inherit = ['portal.mixin', 'mail.thread', 'mail.activity.mixin', | 
				
			||||
 | 
					                'utm.mixin'] | 
				
			||||
 | 
					    _description = "Dealers" | 
				
			||||
 | 
					    _rec_name = "dealer_name" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    serial_no = fields.Char(string="Sl No", readonly=True, copy=False, | 
				
			||||
 | 
					                            default='New', help='Record serial no') | 
				
			||||
 | 
					    dealer_name = fields.Char(string='Franchisee Name', help='Franchisee Name') | 
				
			||||
 | 
					    dealer_user_id = fields.Many2one('res.users', string="user", | 
				
			||||
 | 
					                                     help='User') | 
				
			||||
 | 
					    street = fields.Char(string="Street", help='Street1 Name') | 
				
			||||
 | 
					    street2 = fields.Char(string="Street2", help='Street2 Name') | 
				
			||||
 | 
					    zip = fields.Char(change_default=True, string='Zip code', | 
				
			||||
 | 
					                      help='Franchisee Zip code') | 
				
			||||
 | 
					    city = fields.Char(string='City', help='City Name') | 
				
			||||
 | 
					    state_id = fields.Many2one("res.country.state", string='State', | 
				
			||||
 | 
					                               ondelete='restrict', help='Franchisee state', | 
				
			||||
 | 
					                               domain="[('country_id', '=?', country_id)]") | 
				
			||||
 | 
					    country_id = fields.Many2one('res.country', string='Country', | 
				
			||||
 | 
					                                 help='Franchisee Country', | 
				
			||||
 | 
					                                 ondelete='restrict') | 
				
			||||
 | 
					    country_code = fields.Char(related='country_id.code', | 
				
			||||
 | 
					                               string="Country Code", | 
				
			||||
 | 
					                               help='Franchisee Country code') | 
				
			||||
 | 
					    dealer_qualification = fields.Char(string='Qualification', | 
				
			||||
 | 
					                                       help='Franchise Qualification') | 
				
			||||
 | 
					    dealer_occupation = fields.Char(string='Current Occupation', | 
				
			||||
 | 
					                                    help='Franchisee Occupation') | 
				
			||||
 | 
					    dealer_phone = fields.Char(string='Phone', help='Franchise Phone') | 
				
			||||
 | 
					    dealer_mobile = fields.Char(string='Mobile', help='Mobile number') | 
				
			||||
 | 
					    dealer_mail = fields.Char(string='Email', required=True, | 
				
			||||
 | 
					                              help='Franchise email') | 
				
			||||
 | 
					    dealer_website = fields.Char(string='Website', help='Franchisee Website') | 
				
			||||
 | 
					    advertisement = fields.Selection( | 
				
			||||
 | 
					        selection=[('advertisement', 'Advertisement'), | 
				
			||||
 | 
					                   ('area_sales_manager', 'Area Sales Manager'), | 
				
			||||
 | 
					                   ('regional_manager', 'Regional Manager'), | 
				
			||||
 | 
					                   ('others', 'Others')], | 
				
			||||
 | 
					        string='Advertisement', | 
				
			||||
 | 
					        help='Dealer Vacancy Known Through', | 
				
			||||
 | 
					        default='advertisement') | 
				
			||||
 | 
					    business_city = fields.Char(string='City Interested in', | 
				
			||||
 | 
					                                help='City Interested to Franchise') | 
				
			||||
 | 
					    business_country = fields.Many2one('res.country', | 
				
			||||
 | 
					                                       string='Country Interested in', | 
				
			||||
 | 
					                                       help='Country Interested to Franchise', | 
				
			||||
 | 
					                                       ondelete='restrict') | 
				
			||||
 | 
					    experience = fields.Text(string='Experience in this Business', | 
				
			||||
 | 
					                             help='Experience in this Business') | 
				
			||||
 | 
					    earnings = fields.Char(string='Last year Earnings', | 
				
			||||
 | 
					                           help='Last year earnings in the business') | 
				
			||||
 | 
					    business_experience_ids = fields.One2many('business.experience', | 
				
			||||
 | 
					                                              'experience_id', | 
				
			||||
 | 
					                                              string='Experience', | 
				
			||||
 | 
					                                              help='Business Experience') | 
				
			||||
 | 
					    site_location = fields.Char(string='Site Location', | 
				
			||||
 | 
					                                help='Business Site location') | 
				
			||||
 | 
					    site_type = fields.Selection( | 
				
			||||
 | 
					        selection=[('owned', 'Owned'), ('rented', 'Rented'), | 
				
			||||
 | 
					                   ('leased', 'Leased'), ('others', 'Others')], | 
				
			||||
 | 
					        string='Site Type', default='owned', help='Business Site Type') | 
				
			||||
 | 
					    site_area = fields.Float(string='Total Area(in sq/ft)', | 
				
			||||
 | 
					                             help='Total site area in sq ft') | 
				
			||||
 | 
					    investment_from = fields.Float(string='From', help='Investment From') | 
				
			||||
 | 
					    investment_to = fields.Float(string='To', help='Investment To') | 
				
			||||
 | 
					    company_id = fields.Many2one('res.company', string='Company', | 
				
			||||
 | 
					                                 help='Company Name', | 
				
			||||
 | 
					                                 change_default=True, | 
				
			||||
 | 
					                                 default=lambda self: self.env.company) | 
				
			||||
 | 
					    user_id = fields.Many2one('res.users', string='Responsible', | 
				
			||||
 | 
					                              help='Responsible User', | 
				
			||||
 | 
					                              default=lambda self: self.env.user) | 
				
			||||
 | 
					    url = fields.Char(string='url', help='url to website') | 
				
			||||
 | 
					    feedback_url = fields.Char(string='Feedback url', | 
				
			||||
 | 
					                               help='Feedback Url to feedback form') | 
				
			||||
 | 
					    signature = fields.Image(string="Signature", copy=False, attachment=True, | 
				
			||||
 | 
					                             help='Franchise Dealer Signature', | 
				
			||||
 | 
					                             max_width=1024, max_height=1024) | 
				
			||||
 | 
					    signed_by = fields.Char(string="Signed By", copy=False, | 
				
			||||
 | 
					                            help='Franchise Contract Signed By') | 
				
			||||
 | 
					    signed_on = fields.Date(string="Signed On", copy=False, | 
				
			||||
 | 
					                            help='Franchise Contract Signed On') | 
				
			||||
 | 
					    contract_renewal_date = fields.Date(string="Renewal Date", store=True, | 
				
			||||
 | 
					                                        help='Contract Renewal Date', | 
				
			||||
 | 
					                                        compute='_compute_renewal_date') | 
				
			||||
 | 
					    priority = fields.Selection( | 
				
			||||
 | 
					        selection=[('0', 'Low'), ('1', 'Medium'), | 
				
			||||
 | 
					                   ('2', 'High'), ('3', 'Very High')], | 
				
			||||
 | 
					        default='0', help='Prioritise the dealer', | 
				
			||||
 | 
					        index=True, string="Priority", tracking=True) | 
				
			||||
 | 
					    dealer_portal_user = fields.Many2one('res.users', | 
				
			||||
 | 
					                                         string='Portal User Name', | 
				
			||||
 | 
					                                         help='Dealer Portal User Name') | 
				
			||||
 | 
					    monthly_target_amount = fields.Float(string='Monthly Target Amount', | 
				
			||||
 | 
					                                         required=True, | 
				
			||||
 | 
					                                         help='Franchise Monthly Target Amount') | 
				
			||||
 | 
					    state = fields.Selection( | 
				
			||||
 | 
					        selection=[('a_draft', 'Draft'), ('b_to_approve', 'To Approve'), | 
				
			||||
 | 
					                   ('c_approve', 'Approved'), ('d_cancel', 'Rejected'), | 
				
			||||
 | 
					                   ('e_contract', 'Contract Proposal'), | 
				
			||||
 | 
					                   ('g_declined', 'Declined'), | 
				
			||||
 | 
					                   ('f_signed', 'Contract Signed'), | 
				
			||||
 | 
					                   ('h_feedback', 'Feedback Sent') | 
				
			||||
 | 
					                   ], | 
				
			||||
 | 
					        string='Status', help='Status', required=True, readonly=True, | 
				
			||||
 | 
					        copy=False, tracking=True, default='a_draft') | 
				
			||||
 | 
					    # contract | 
				
			||||
 | 
					    contract_type_id = fields.Many2one('franchise.agreement', | 
				
			||||
 | 
					                                       string='Agreement Type', | 
				
			||||
 | 
					                                       required=True, | 
				
			||||
 | 
					                                       help='Franchise Agreement Type') | 
				
			||||
 | 
					    body_html = fields.Html(string='Body', render_engine='qweb', | 
				
			||||
 | 
					                            translate=True, prefetch=True, sanitize=False, | 
				
			||||
 | 
					                            compute="_compute_body_html", | 
				
			||||
 | 
					                            help='Franchise Agreement Body', | 
				
			||||
 | 
					                            inverse="_inverse_contract", store=True) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.constrains('monthly_target_amount') | 
				
			||||
 | 
					    def _monthly_target_amount(self): | 
				
			||||
 | 
					        """ Constraint to validate the number of featured blogs. | 
				
			||||
 | 
					            Raises: ValidationError: If more than three blogs are added.""" | 
				
			||||
 | 
					        if self.monthly_target_amount == 0.00: | 
				
			||||
 | 
					            raise UserError(_('Please enter the monthly target amount.')) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.depends('contract_type_id') | 
				
			||||
 | 
					    def _compute_body_html(self): | 
				
			||||
 | 
					        """Contract type computation function.""" | 
				
			||||
 | 
					        for rec in self: | 
				
			||||
 | 
					            rec.body_html = rec.contract_type_id.agreement_body | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def _inverse_contract(self): | 
				
			||||
 | 
					        """Inverse function to make the compute field editable""" | 
				
			||||
 | 
					        self.body_html = self.body_html | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def _compute_renewal_date(self): | 
				
			||||
 | 
					        """Franchise dealer contract renewal date computation function.""" | 
				
			||||
 | 
					        for record in self: | 
				
			||||
 | 
					            record.contract_renewal_date = 0 | 
				
			||||
 | 
					            if record.signed_on: | 
				
			||||
 | 
					                if record.contract_type_id.agreement_type == 'yearly': | 
				
			||||
 | 
					                    record.contract_renewal_date = (record.signed_on + | 
				
			||||
 | 
					                                                    timedelta(days=365)) | 
				
			||||
 | 
					                if record.contract_type_id.agreement_type == 'monthly': | 
				
			||||
 | 
					                    record.contract_renewal_date = (record.signed_on + | 
				
			||||
 | 
					                                                    timedelta(days=30)) | 
				
			||||
 | 
					            else: | 
				
			||||
 | 
					                record.contract_renewal_date = 0 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    # EXTENDS portal portal.mixin | 
				
			||||
 | 
					    def _compute_access_url(self): | 
				
			||||
 | 
					        """Compute url in portal mixin.""" | 
				
			||||
 | 
					        super()._compute_access_url() | 
				
			||||
 | 
					        for move in self: | 
				
			||||
 | 
					            move.access_url = '/my/franchise/%s' % (move.id) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model_create_multi | 
				
			||||
 | 
					    def create(self, vals_list): | 
				
			||||
 | 
					        """Franchise dealer model sequence create method.""" | 
				
			||||
 | 
					        for vals in vals_list: | 
				
			||||
 | 
					            if vals.get('serial_no', _("New")) == _("New"): | 
				
			||||
 | 
					                vals['serial_no'] = self.env['ir.sequence'].next_by_code( | 
				
			||||
 | 
					                    'franchise.dealer') or 'New' | 
				
			||||
 | 
					            if vals.get('contract_type_id', False): | 
				
			||||
 | 
					                vals['body_html'] = self.env['franchise.agreement'].browse( | 
				
			||||
 | 
					                    int(vals['contract_type_id'])).agreement_body | 
				
			||||
 | 
					            result = super(FranchiseDealer, self).create(vals) | 
				
			||||
 | 
					            return result | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_confirm(self): | 
				
			||||
 | 
					        """Function of confirm button.""" | 
				
			||||
 | 
					        self.write({'state': "b_to_approve"}) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_approve(self): | 
				
			||||
 | 
					        """Function of approve button.""" | 
				
			||||
 | 
					        self.write({'state': "c_approve"}) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_cancel(self): | 
				
			||||
 | 
					        """Function of cancel button.""" | 
				
			||||
 | 
					        self.write({'state': "d_cancel"}) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def contract_signed(self): | 
				
			||||
 | 
					        """Function of contract sign button.""" | 
				
			||||
 | 
					        self.write({'state': "f_signed"}) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def contract_declined(self): | 
				
			||||
 | 
					        """Function of reject_sign button in website portal.""" | 
				
			||||
 | 
					        self.write({'state': "g_declined"}) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_send_contract(self): | 
				
			||||
 | 
					        """Contract send on button function.""" | 
				
			||||
 | 
					        base_url = str(self.get_base_url()) + str("/my/franchise/") + str( | 
				
			||||
 | 
					            self.id) | 
				
			||||
 | 
					        self.url = base_url | 
				
			||||
 | 
					        self.write({'state': "e_contract"}) | 
				
			||||
 | 
					        template = self.env.ref('franchise_management.contract_email_template') | 
				
			||||
 | 
					        self.argument_function(template) | 
				
			||||
 | 
					        return True | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_send_contract_renewal(self): | 
				
			||||
 | 
					        """Contract renewal schedule action.""" | 
				
			||||
 | 
					        today_renewals = self.env['franchise.dealer'].search( | 
				
			||||
 | 
					            [('contract_renewal_date', '=', datetime.today().date())]) | 
				
			||||
 | 
					        if today_renewals: | 
				
			||||
 | 
					            for i in today_renewals: | 
				
			||||
 | 
					                template = self.env.ref( | 
				
			||||
 | 
					                    'franchise_management.contract_renewal_email_template') | 
				
			||||
 | 
					                self.argument_function(template) | 
				
			||||
 | 
					                return True | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def argument_function(self, template): | 
				
			||||
 | 
					        """Contract send and renewal argument function.""" | 
				
			||||
 | 
					        current_dealer_order = self.env['franchise.dealer'].browse(self.id) | 
				
			||||
 | 
					        email_values = {'email_to': current_dealer_order.dealer_mail, } | 
				
			||||
 | 
					        form_data = { | 
				
			||||
 | 
					            'data': current_dealer_order, | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					        report_template_id = self.env.ref( | 
				
			||||
 | 
					            'franchise_management.franchise_contract_report_action' | 
				
			||||
 | 
					        )._render_qweb_pdf(self.id, data=form_data) | 
				
			||||
 | 
					        data_record = base64.b64encode(report_template_id[0]) | 
				
			||||
 | 
					        ir_values = { | 
				
			||||
 | 
					            'name': "Dealership Contract", | 
				
			||||
 | 
					            'type': 'binary', | 
				
			||||
 | 
					            'datas': data_record, | 
				
			||||
 | 
					            'store_fname': data_record, | 
				
			||||
 | 
					            'mimetype': 'application/x-pdf', | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					        data_id = self.env['ir.attachment'].create(ir_values) | 
				
			||||
 | 
					        template.attachment_ids = [(6, 0, [data_id.id])] | 
				
			||||
 | 
					        template.send_mail(self.id, email_values=email_values, force_send=True) | 
				
			||||
 | 
					        template.attachment_ids = [(3, data_id.id)] | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def _get_confirmation_template(self): | 
				
			||||
 | 
					        """ Get the mail template sent on SO confirmation (or for confirmed | 
				
			||||
 | 
					        Sales).:return: `mail.template` record or None if default template | 
				
			||||
 | 
					        wasn't found""" | 
				
			||||
 | 
					        return self.env.ref('franchise_management.portal_user_email_template', | 
				
			||||
 | 
					                            raise_if_not_found=False) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def _send_order_confirmation_mail(self): | 
				
			||||
 | 
					        """Dealer request confirmation mail after signing the contract.""" | 
				
			||||
 | 
					        if not self: | 
				
			||||
 | 
					            return | 
				
			||||
 | 
					        if self.env.su: | 
				
			||||
 | 
					            # sending mail in sudo was meant for it being sent from superuser | 
				
			||||
 | 
					            self = self.with_user(SUPERUSER_ID) | 
				
			||||
 | 
					        for record in self: | 
				
			||||
 | 
					            mail_template = record._get_confirmation_template() | 
				
			||||
 | 
					            if not mail_template: | 
				
			||||
 | 
					                continue | 
				
			||||
 | 
					            record.with_context(force_send=True).message_post_with_template( | 
				
			||||
 | 
					                mail_template.id, | 
				
			||||
 | 
					                composition_mode='comment', | 
				
			||||
 | 
					            ) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def create_portal_user(self): | 
				
			||||
 | 
					        """After contract signed,the dealer created as portal user.""" | 
				
			||||
 | 
					        user = self.env['res.users'].create({ | 
				
			||||
 | 
					            'name': self.dealer_name, | 
				
			||||
 | 
					            'login': self.dealer_mail, | 
				
			||||
 | 
					            'email': self.dealer_mail, | 
				
			||||
 | 
					            'phone': self.dealer_phone, | 
				
			||||
 | 
					            'website': self.dealer_website, | 
				
			||||
 | 
					            'password': 'franchise00129', | 
				
			||||
 | 
					            'street': self.street, | 
				
			||||
 | 
					            'zip': self.zip, | 
				
			||||
 | 
					            'groups_id': [(4, self.env.ref('base.group_portal').id)] | 
				
			||||
 | 
					        }) | 
				
			||||
 | 
					        self.dealer_portal_user = user.id | 
				
			||||
 | 
					        return user | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_preview_dealer_order(self): | 
				
			||||
 | 
					        """Dealer portal preview from backend.""" | 
				
			||||
 | 
					        return { | 
				
			||||
 | 
					            'type': 'ir.actions.act_url', | 
				
			||||
 | 
					            'target': 'self', | 
				
			||||
 | 
					            'url': self.url, | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_dealer_feedback(self): | 
				
			||||
 | 
					        """Dealer sale feedback smart button to view feedback report | 
				
			||||
 | 
					         of the product""" | 
				
			||||
 | 
					        feedback_ids = self.env['dealer.sale'].search([ | 
				
			||||
 | 
					            ('dealer_id', '=', self.id)]).ids | 
				
			||||
 | 
					        return { | 
				
			||||
 | 
					            'type': 'ir.actions.act_window', | 
				
			||||
 | 
					            'name': 'Dealership feedback', | 
				
			||||
 | 
					            'view_mode': 'tree,form', | 
				
			||||
 | 
					            'res_model': 'dealer.sale', | 
				
			||||
 | 
					            'domain': [('id', 'in', feedback_ids)], | 
				
			||||
 | 
					            'context': "{'create': False}" | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_send_feedback(self): | 
				
			||||
 | 
					        """Method to send franchise feedback""" | 
				
			||||
 | 
					        base_url = str(self.get_base_url()) + str( | 
				
			||||
 | 
					            "/feedback_report_menu?id=") + str(self.id) | 
				
			||||
 | 
					        self.feedback_url = base_url | 
				
			||||
 | 
					        current_dealer_order = self.env['franchise.dealer'].browse(self.id) | 
				
			||||
 | 
					        email_values = {'email_to': current_dealer_order.dealer_mail, } | 
				
			||||
 | 
					        template = self.env.ref('franchise_management.feedback_email_template') | 
				
			||||
 | 
					        template.send_mail(self.id, email_values=email_values, force_send=True) | 
				
			||||
 | 
					        return True | 
				
			||||
@ -0,0 +1,80 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Gayathri V(<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					"""Franchise feedback form""" | 
				
			||||
 | 
					from odoo import api, fields, models, _ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class DealerSale(models.Model): | 
				
			||||
 | 
					    """Franchise Dealer Monthly Sales Feedback.""" | 
				
			||||
 | 
					    _name = "dealer.sale" | 
				
			||||
 | 
					    _inherit = ['portal.mixin', 'mail.thread', 'mail.activity.mixin', | 
				
			||||
 | 
					                'utm.mixin'] | 
				
			||||
 | 
					    _description = "Dealer Sales" | 
				
			||||
 | 
					    _rec_name = "dealer_id" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    serial_no = fields.Char(string="Sl No", help='Serial no', readonly=True, | 
				
			||||
 | 
					                            copy=False, default='New') | 
				
			||||
 | 
					    dealer_id = fields.Many2one('franchise.dealer', | 
				
			||||
 | 
					                                string="Franchise Dealer", | 
				
			||||
 | 
					                                help='Franchise dealer name') | 
				
			||||
 | 
					    franchise_reference = fields.Char(string="Franchise Reference", | 
				
			||||
 | 
					                                      readonly=True, | 
				
			||||
 | 
					                                      help='Franchise Reference Number') | 
				
			||||
 | 
					    dealer_mail = fields.Char(string='mail', help='Franchise Dealer email') | 
				
			||||
 | 
					    dealer_agreement_id = fields.Many2one('franchise.agreement', | 
				
			||||
 | 
					                                          string="Franchise agreement type", | 
				
			||||
 | 
					                                          help='Franchise Agreement Type') | 
				
			||||
 | 
					    dealership_signed_on = fields.Date(string='Dealership Signed on', | 
				
			||||
 | 
					                                       readonly=True, | 
				
			||||
 | 
					                                       help='Dealership Contract Signed on') | 
				
			||||
 | 
					    sale_quantity = fields.Integer(string="Sale Quantity", | 
				
			||||
 | 
					                                   help='Total Sale Quantity') | 
				
			||||
 | 
					    scrap_quantity = fields.Integer(string="Scrap Quantity", | 
				
			||||
 | 
					                                    help='Total Scrap Quantity') | 
				
			||||
 | 
					    total_sale_amount = fields.Float(string="Sale Amount", | 
				
			||||
 | 
					                                     help='Total Sale Amount') | 
				
			||||
 | 
					    discount_percentage = fields.Float(string="Discount Given in(%)", | 
				
			||||
 | 
					                                       help='Discount Given in(%)') | 
				
			||||
 | 
					    monthly_target_amount = fields.Float(string="Monthly Target", | 
				
			||||
 | 
					                                         help='Monthly Target Amount') | 
				
			||||
 | 
					    monthly_target_gained = fields.Float(string="Monthly Target Gained in (%)", | 
				
			||||
 | 
					                                         help='Monthly Target Gained in (%)') | 
				
			||||
 | 
					    state = fields.Selection(selection=[('a_to_verify', 'To Verify'), | 
				
			||||
 | 
					                                        ('b_verified', 'Verified')], | 
				
			||||
 | 
					                             string='Status', required=True, | 
				
			||||
 | 
					                             help='Status of the Franchise Registration', | 
				
			||||
 | 
					                             readonly=True, copy=False, | 
				
			||||
 | 
					                             tracking=True, default='a_to_verify') | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_verify_sale(self): | 
				
			||||
 | 
					        """Method to verify the sales feedback""" | 
				
			||||
 | 
					        self.write({'state': "b_verified"}) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model_create_multi | 
				
			||||
 | 
					    def create(self, vals_list): | 
				
			||||
 | 
					        """Method to create Franchise dealer sales record sequences.""" | 
				
			||||
 | 
					        for vals in vals_list: | 
				
			||||
 | 
					            if vals.get('serial_no', _("New")) == _("New"): | 
				
			||||
 | 
					                vals['serial_no'] = self.env['ir.sequence'].next_by_code( | 
				
			||||
 | 
					                    'dealer.sale') or 'New' | 
				
			||||
 | 
					            result = super(DealerSale, self).create(vals) | 
				
			||||
 | 
					            return result | 
				
			||||
@ -0,0 +1,32 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Gaythri V(<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					"""Res Users Inherited model""" | 
				
			||||
 | 
					from odoo import fields, models | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class ResUsers(models.Model): | 
				
			||||
 | 
					    """Inherited the res_users model to add a boolean field to ensure | 
				
			||||
 | 
					        a dealer after contract signed.""" | 
				
			||||
 | 
					    _inherit = 'res.users' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    is_dealer_user = fields.Boolean(string='Is Dealer', | 
				
			||||
 | 
					                                    help='Dealer User identification field') | 
				
			||||
@ -0,0 +1,94 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!--Agreement based report template--> | 
				
			||||
 | 
					    <template id="agreement_based_report_pdf"> | 
				
			||||
 | 
					        <t t-call="web.html_container"> | 
				
			||||
 | 
					            <t t-call="web.external_layout"> | 
				
			||||
 | 
					                <div class="page"> | 
				
			||||
 | 
					                    <div class="text-center"> | 
				
			||||
 | 
					                        <h1 style="font-size:35px"> | 
				
			||||
 | 
					                            <b>FRANCHISE LIST</b> | 
				
			||||
 | 
					                        </h1> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="text-center"> | 
				
			||||
 | 
					                        <t t-if="form_data.get('agreement_id')"> | 
				
			||||
 | 
					                            <h2 style="font-size:25px"> | 
				
			||||
 | 
					                                <b> | 
				
			||||
 | 
					                                    <t t-esc="form_data['agreement_id'][1]"/> | 
				
			||||
 | 
					                                </b> | 
				
			||||
 | 
					                            </h2> | 
				
			||||
 | 
					                        </t> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <t t-if="form_data.get('from_date')"> | 
				
			||||
 | 
					                        From Date : | 
				
			||||
 | 
					                        <t t-esc="form_data['from_date']"/> | 
				
			||||
 | 
					                    </t> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <t t-if="form_data.get('to_date')"> | 
				
			||||
 | 
					                        To Date : | 
				
			||||
 | 
					                        <t t-esc="form_data['to_date']"/> | 
				
			||||
 | 
					                    </t> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <div class="row"> | 
				
			||||
 | 
					                        <table class="table"> | 
				
			||||
 | 
					                            <thead> | 
				
			||||
 | 
					                                <tr> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Sl.no</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Reference</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Franchises Name</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Signed On</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>City Interested</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Investment From</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Investment To</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                </tr> | 
				
			||||
 | 
					                            </thead> | 
				
			||||
 | 
					                            <t t-foreach="fetch_agreement_details" t-as="line"> | 
				
			||||
 | 
					                                <tr> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line_index+1"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['serial_no']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['name']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['signed_on']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['business_city']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['investment_from']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['investment_to']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                </tr> | 
				
			||||
 | 
					                            </t> | 
				
			||||
 | 
					                        </table> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </t> | 
				
			||||
 | 
					        </t> | 
				
			||||
 | 
					    </template> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,73 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					<!--Dealer based report pdf template--> | 
				
			||||
 | 
					    <template id="dealer_based_report_pdf"> | 
				
			||||
 | 
					        <t t-call="web.html_container"> | 
				
			||||
 | 
					            <t t-call="web.external_layout"> | 
				
			||||
 | 
					                <div class="page"> | 
				
			||||
 | 
					                    <div class="text-center"> | 
				
			||||
 | 
					                        <h1 style="font-size:35px"> | 
				
			||||
 | 
					                            <b>FRANCHISE LIST</b> | 
				
			||||
 | 
					                        </h1> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="text-center"> | 
				
			||||
 | 
					                        <t t-if="form_data.get('dealer_id')"> | 
				
			||||
 | 
					                            <h2 style="font-size:25px"> | 
				
			||||
 | 
					                                <b><t t-esc="form_data['dealer_id'][1]"/></b> | 
				
			||||
 | 
					                            </h2> | 
				
			||||
 | 
					                        </t> | 
				
			||||
 | 
					                    </div><br/><br/> | 
				
			||||
 | 
					                    <t t-if="form_data.get('from_date')"> | 
				
			||||
 | 
					                        From Date : | 
				
			||||
 | 
					                        <t t-esc="form_data['from_date']"/> | 
				
			||||
 | 
					                    </t><br/><br/> | 
				
			||||
 | 
					                    <t t-if="form_data.get('to_date')"> | 
				
			||||
 | 
					                        To Date : | 
				
			||||
 | 
					                        <t t-esc="form_data['to_date']"/> | 
				
			||||
 | 
					                    </t><br/><br/> | 
				
			||||
 | 
					                    <div class="row"> | 
				
			||||
 | 
					                        <table class="table"> | 
				
			||||
 | 
					                            <thead> | 
				
			||||
 | 
					                                <tr> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Sl.no</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Reference</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Signed On</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Franchise Agreement</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>City Interested</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Investment From</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Investment To</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                </tr> | 
				
			||||
 | 
					                            </thead> | 
				
			||||
 | 
					                            <t t-foreach="fetch_dealer_details" t-as="line"> | 
				
			||||
 | 
					                                <tr> | 
				
			||||
 | 
					                                <td><span t-esc="line_index+1"/></td> | 
				
			||||
 | 
					                                <td><span t-esc="line['serial_no']"/></td> | 
				
			||||
 | 
					                                <td><span t-esc="line['signed_on']"/></td> | 
				
			||||
 | 
					                                <td><span t-esc="line['agreement_type']"/></td> | 
				
			||||
 | 
					                                <td><span t-esc="line['business_city']"/></td> | 
				
			||||
 | 
					                                <td><span t-esc="line['investment_from']"/></td> | 
				
			||||
 | 
					                                <td><span t-esc="line['investment_to']"/></td> | 
				
			||||
 | 
					                                </tr> | 
				
			||||
 | 
					                            </t> | 
				
			||||
 | 
					                        </table> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </t> | 
				
			||||
 | 
					        </t> | 
				
			||||
 | 
					    </template> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,94 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!--Sale feedback report on dealer based--> | 
				
			||||
 | 
					    <template id="dealer_sale_on_dealer_report_pdf"> | 
				
			||||
 | 
					        <t t-call="web.html_container"> | 
				
			||||
 | 
					            <t t-call="web.external_layout"> | 
				
			||||
 | 
					                <div class="page"> | 
				
			||||
 | 
					                    <div class="text-center"> | 
				
			||||
 | 
					                        <h1 style="font-size:35px"> | 
				
			||||
 | 
					                            <b>Franchise Sale List</b> | 
				
			||||
 | 
					                        </h1> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="text-center"> | 
				
			||||
 | 
					                        <t t-if="form_data.get('dealer_id')"> | 
				
			||||
 | 
					                            <h2 style="font-size:25px"> | 
				
			||||
 | 
					                                <b> | 
				
			||||
 | 
					                                    <t t-esc="form_data['dealer_id'][1]"/> | 
				
			||||
 | 
					                                </b> | 
				
			||||
 | 
					                            </h2> | 
				
			||||
 | 
					                        </t> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <t t-if="form_data.get('from_date')"> | 
				
			||||
 | 
					                        From Date : | 
				
			||||
 | 
					                        <t t-esc="form_data['from_date']"/> | 
				
			||||
 | 
					                    </t> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <t t-if="form_data.get('to_date')"> | 
				
			||||
 | 
					                        To Date : | 
				
			||||
 | 
					                        <t t-esc="form_data['to_date']"/> | 
				
			||||
 | 
					                    </t> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <div class="row"> | 
				
			||||
 | 
					                        <table class="table"> | 
				
			||||
 | 
					                            <thead> | 
				
			||||
 | 
					                                <tr> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Sl.no</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Agreement Type</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Signed on</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Monthly Target</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Total Sale Amount</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Sale qty</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Target Gained</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                </tr> | 
				
			||||
 | 
					                            </thead> | 
				
			||||
 | 
					                            <t t-foreach="fetch_dealer_details" t-as="line"> | 
				
			||||
 | 
					                                <tr> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line_index+1"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['agreement_type']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['dealership_signed_on']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['monthly_target_amount']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['total_sale_amount']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['sale_quantity']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['monthly_target_gained']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                </tr> | 
				
			||||
 | 
					                            </t> | 
				
			||||
 | 
					                        </table> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </t> | 
				
			||||
 | 
					        </t> | 
				
			||||
 | 
					    </template> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,95 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!--Dealer sale report on agreement based--> | 
				
			||||
 | 
					    <template id="dealer_sale_on_agreement_report_pdf"> | 
				
			||||
 | 
					        <t t-call="web.html_container"> | 
				
			||||
 | 
					            <t t-call="web.external_layout"> | 
				
			||||
 | 
					                <div class="page"> | 
				
			||||
 | 
					                    <div class="text-center"> | 
				
			||||
 | 
					                        <h1 style="font-size:35px"> | 
				
			||||
 | 
					                            <b>Franchise Sale List</b> | 
				
			||||
 | 
					                        </h1> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="text-center"> | 
				
			||||
 | 
					                        <t t-if="form_data.get('agreement_id')"> | 
				
			||||
 | 
					                            <h2 style="font-size:25px"> | 
				
			||||
 | 
					                                <b> | 
				
			||||
 | 
					                                    <t t-esc="form_data['agreement_id'][1]"/> | 
				
			||||
 | 
					                                </b> | 
				
			||||
 | 
					                            </h2> | 
				
			||||
 | 
					                        </t> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <t t-if="form_data.get('from_date')"> | 
				
			||||
 | 
					                        From Date : | 
				
			||||
 | 
					                        <t t-esc="form_data['from_date']"/> | 
				
			||||
 | 
					                    </t> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <t t-if="form_data.get('to_date')"> | 
				
			||||
 | 
					                        To Date : | 
				
			||||
 | 
					                        <t t-esc="form_data['to_date']"/> | 
				
			||||
 | 
					                    </t> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <div class="row"> | 
				
			||||
 | 
					                        <table class="table"> | 
				
			||||
 | 
					                            <thead> | 
				
			||||
 | 
					                                <tr> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Sl.no</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Franchise Dealer</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Signed on</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Monthly Target</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Total Sale Amount</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Sale qty</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                    <th width="10px"> | 
				
			||||
 | 
					                                        <strong>Target Gained</strong> | 
				
			||||
 | 
					                                    </th> | 
				
			||||
 | 
					                                </tr> | 
				
			||||
 | 
					                            </thead> | 
				
			||||
 | 
					                            <t t-foreach="fetch_agreement_details" t-as="line"> | 
				
			||||
 | 
					                                <tr> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line_index+1"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['dealer_name']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['dealership_signed_on']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['monthly_target_amount']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['total_sale_amount']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['sale_quantity']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                    <td> | 
				
			||||
 | 
					                                        <span t-esc="line['monthly_target_gained']"/> | 
				
			||||
 | 
					                                    </td> | 
				
			||||
 | 
					                                </tr> | 
				
			||||
 | 
					                            </t> | 
				
			||||
 | 
					                        </table> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </t> | 
				
			||||
 | 
					        </t> | 
				
			||||
 | 
					    </template> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,83 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					<!--All dealer sales report--> | 
				
			||||
 | 
					    <template id="all_dealer_sale_report_pdf"> | 
				
			||||
 | 
					        <t t-call="web.html_container"> | 
				
			||||
 | 
					            <t t-call="web.external_layout"> | 
				
			||||
 | 
					                <div class="page"> | 
				
			||||
 | 
					                    <div class="text-center"> | 
				
			||||
 | 
					                        <h1 style="font-size:35px"><b>Dealer Sale List</b></h1> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <br/><br/> | 
				
			||||
 | 
					                    <t t-if="form_data.get('from_date')"> | 
				
			||||
 | 
					                        From Date : | 
				
			||||
 | 
					                        <t t-esc="form_data['from_date']"/> | 
				
			||||
 | 
					                    </t> | 
				
			||||
 | 
					                    <br/><br/> | 
				
			||||
 | 
					                    <t t-if="form_data.get('to_date')"> | 
				
			||||
 | 
					                        To Date : | 
				
			||||
 | 
					                        <t t-esc="form_data['to_date']"/> | 
				
			||||
 | 
					                    </t> | 
				
			||||
 | 
					                    <br/><br/> | 
				
			||||
 | 
					                    <div class="row"> | 
				
			||||
 | 
					                    <table class="table"> | 
				
			||||
 | 
					                        <thead> | 
				
			||||
 | 
					                            <tr> | 
				
			||||
 | 
					                                <th width="10px"> | 
				
			||||
 | 
					                                    <strong>Sl.no</strong> | 
				
			||||
 | 
					                                </th> | 
				
			||||
 | 
					                                <th width="10px"> | 
				
			||||
 | 
					                                    <strong>Dealer Name</strong> | 
				
			||||
 | 
					                                </th> | 
				
			||||
 | 
					                                <th width="10px"> | 
				
			||||
 | 
					                                    <strong>Agreement</strong> | 
				
			||||
 | 
					                                </th> | 
				
			||||
 | 
					                                <th width="10px"> | 
				
			||||
 | 
					                                    <strong>Total Sale Qty</strong> | 
				
			||||
 | 
					                                </th> | 
				
			||||
 | 
					                                <th width="10px"> | 
				
			||||
 | 
					                                    <strong>Total Sale Amount</strong> | 
				
			||||
 | 
					                                </th> | 
				
			||||
 | 
					                                <th width="10px"> | 
				
			||||
 | 
					                                    <strong>Scrap Qty</strong> | 
				
			||||
 | 
					                                </th> | 
				
			||||
 | 
					                                <th width="10px"> | 
				
			||||
 | 
					                                    <strong>Target Amount</strong> | 
				
			||||
 | 
					                                </th> | 
				
			||||
 | 
					                                <th width="10px"> | 
				
			||||
 | 
					                                    <strong>Target Gained</strong> | 
				
			||||
 | 
					                                </th> | 
				
			||||
 | 
					                            </tr> | 
				
			||||
 | 
					                        </thead> | 
				
			||||
 | 
					                        <t t-foreach="fetch_all_details" t-as="line"> | 
				
			||||
 | 
					                            <tr> | 
				
			||||
 | 
					                                <td> | 
				
			||||
 | 
					                                    <span t-esc="line_index+1"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                 <td> | 
				
			||||
 | 
					                                    <span t-esc="line['dealer_name']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td> | 
				
			||||
 | 
					                                    <span t-esc="line['sale_quantity']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td> | 
				
			||||
 | 
					                                    <span t-esc="line['total_sale_amount']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td> | 
				
			||||
 | 
					                                    <span t-esc="line['scrap_quantity']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td> | 
				
			||||
 | 
					                                    <span t-esc="line['monthly_target_amount']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td> | 
				
			||||
 | 
					                                    <span t-esc="line['monthly_target_gained']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                            </tr> | 
				
			||||
 | 
					                        </t> | 
				
			||||
 | 
					                    </table> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </t> | 
				
			||||
 | 
					        </t> | 
				
			||||
 | 
					    </template> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,935 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					<!--Franchise Dealership Report contract template--> | 
				
			||||
 | 
					    <template id="franchise_dealership_contract_template"> | 
				
			||||
 | 
					        <t t-call="web.html_container"> | 
				
			||||
 | 
					            <t t-call="web.external_layout"> | 
				
			||||
 | 
					                <div class="page"> | 
				
			||||
 | 
					                    <div class="row mt64 mb32"> | 
				
			||||
 | 
					                        <div class="col-md-12"> | 
				
			||||
 | 
					                            <h2 class="text-center" style="font-size:35px"> | 
				
			||||
 | 
					                                <b> | 
				
			||||
 | 
					                                    <span>DEALERSHIP CONTRACT</span> | 
				
			||||
 | 
					                                </b> | 
				
			||||
 | 
					                            </h2> | 
				
			||||
 | 
					                            <p> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                As a prospective account, you must provide | 
				
			||||
 | 
					                                the following: | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                1. Completed and signed dealer application. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                2. Copy of your Certificate of Liability | 
				
			||||
 | 
					                                Insurance for your business. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                3. Copy of state sales tax certificate or | 
				
			||||
 | 
					                                resale certificate. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                4. Copy of business license and/or | 
				
			||||
 | 
					                                occupational license. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                5. A brief summary (1 paragraph) of your | 
				
			||||
 | 
					                                company’s business products and strategy. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                6. Photos of your retail/commercial business | 
				
			||||
 | 
					                                location: including storefront with | 
				
			||||
 | 
					                                signage, merchandising, and the service | 
				
			||||
 | 
					                                repair area if available. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                7. A current advertisement with your company | 
				
			||||
 | 
					                                name. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                                Thank you for your interest in establishing | 
				
			||||
 | 
					                                a dealer account with us. | 
				
			||||
 | 
					                                Our friendly, knowledgeable customer support | 
				
			||||
 | 
					                                team will guide you through the process. | 
				
			||||
 | 
					                                Please complete the application and initial | 
				
			||||
 | 
					                                each page; keep in mind that incomplete | 
				
			||||
 | 
					                                paperwork can delay your application. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                We are dedicated to serving our dealers and | 
				
			||||
 | 
					                                to ensure we protect them; | 
				
			||||
 | 
					                                your business must operate as a | 
				
			||||
 | 
					                                brick-and-mortar business. | 
				
			||||
 | 
					                                Internet sales are only approved through the | 
				
			||||
 | 
					                                dealers’ webpage and will not be | 
				
			||||
 | 
					                                permitted to sell on eBay or any other | 
				
			||||
 | 
					                                auction, or discount site. | 
				
			||||
 | 
					                                To be considered a brick and mortar | 
				
			||||
 | 
					                                business, your shop must be: | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                1. Clearly identifiable as a retail shop | 
				
			||||
 | 
					                                with dedication to the servicing your | 
				
			||||
 | 
					                                customers. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                2. Committed to maintaining our standards. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                a) All dealer candidates must demonstrate | 
				
			||||
 | 
					                                the ability to conduct themselves in an | 
				
			||||
 | 
					                                ethical, professional and courteous manner | 
				
			||||
 | 
					                                with our throughout the application | 
				
			||||
 | 
					                                process and thereafter. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                b) Web, Mail Order, Mobile repair accounts | 
				
			||||
 | 
					                                must have a physical retail location that | 
				
			||||
 | 
					                                allows the business to serve its customers | 
				
			||||
 | 
					                                during regular business hours. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                c) All our dealers are to service our | 
				
			||||
 | 
					                                products and customers regardless of point | 
				
			||||
 | 
					                                of purchase. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                d) Controllers, batteries, motors and | 
				
			||||
 | 
					                                chargers will need to be sent back to us for | 
				
			||||
 | 
					                                testing if replaced under warranty. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                e) We only pays for labor for the first 30 | 
				
			||||
 | 
					                                days at the listed rates in the dealer | 
				
			||||
 | 
					                                agreement. | 
				
			||||
 | 
					                                Any charges over the listed rates will need | 
				
			||||
 | 
					                                to be authorized in advance by us. (Exhibit | 
				
			||||
 | 
					                                C.) | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                                Please submit your signed, completed | 
				
			||||
 | 
					                                application and required additional | 
				
			||||
 | 
					                                documents | 
				
			||||
 | 
					                                to: sales@odoo.com or you may fax them to | 
				
			||||
 | 
					                                954-974-6729. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                We reserves the right to close an account if | 
				
			||||
 | 
					                                the dealer fails to comply with any part | 
				
			||||
 | 
					                                spelled out in this agreement, including | 
				
			||||
 | 
					                                failure to provide true or complete | 
				
			||||
 | 
					                                information on this application. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Date offered via Fax or Email ___________, | 
				
			||||
 | 
					                                20___ | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                            </p> | 
				
			||||
 | 
					                            <br/> | 
				
			||||
 | 
					                            <br/> | 
				
			||||
 | 
					                            <h2 class="text-center" style="font-size:35px"> | 
				
			||||
 | 
					                                <b> | 
				
			||||
 | 
					                                    <span>Authorized Dealer Agreement</span> | 
				
			||||
 | 
					                                </b> | 
				
			||||
 | 
					                            </h2> | 
				
			||||
 | 
					                            <p> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                This AGREEMENT, to become effective | 
				
			||||
 | 
					                                ______________, 20___ (hereafter called | 
				
			||||
 | 
					                                "Agreement") | 
				
			||||
 | 
					                                between us at 1201 NE 38th St suite B1 Ft. | 
				
			||||
 | 
					                                Lauderdale, Fl 33334, | 
				
			||||
 | 
					                                and _________________________________ | 
				
			||||
 | 
					                                (hereafter called “Dealer”) located at the | 
				
			||||
 | 
					                                above | 
				
			||||
 | 
					                                address for the retail sale and servicing of | 
				
			||||
 | 
					                                our products covered by this “Agreement”. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <b>I. Purpose of this “Agreement”</b>– To | 
				
			||||
 | 
					                                establish “Dealer” as an authorized | 
				
			||||
 | 
					                                reseller/service | 
				
			||||
 | 
					                                center for us with the non-exclusive right | 
				
			||||
 | 
					                                to sell and service a selection of our | 
				
			||||
 | 
					                                products | 
				
			||||
 | 
					                                (list of products authorized for resale is | 
				
			||||
 | 
					                                attached as Exhibit A. Part 1. hereafter | 
				
			||||
 | 
					                                called “Products”) | 
				
			||||
 | 
					                                in the trade area served by “Dealer” and to | 
				
			||||
 | 
					                                establish the responsibilities of the | 
				
			||||
 | 
					                                parties. | 
				
			||||
 | 
					                                The trade area will consist of the | 
				
			||||
 | 
					                                authorized territory and sales channels set | 
				
			||||
 | 
					                                forth. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <b>II. Terms of Sale</b> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Product Cost – The price to “Dealer” for | 
				
			||||
 | 
					                                “Products” shall follow our current standard | 
				
			||||
 | 
					                                USA Domestic | 
				
			||||
 | 
					                                Product price list as shown in Exhibit A. | 
				
			||||
 | 
					                                Part 2. we have the right to change the | 
				
			||||
 | 
					                                “Products” offering, | 
				
			||||
 | 
					                                the terms and MSRP pricing at any time and | 
				
			||||
 | 
					                                will give notice to “Dealer” of such changes | 
				
			||||
 | 
					                                prior to the | 
				
			||||
 | 
					                                effective date of change. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                MAP Pricing – “Dealer” must adhere to the | 
				
			||||
 | 
					                                MAP pricing for advertisements and follow | 
				
			||||
 | 
					                                our | 
				
			||||
 | 
					                                MAP pricing as shown in Exhibit A. | 
				
			||||
 | 
					                                “Dealer’s” whom do not follow MAP pricing | 
				
			||||
 | 
					                                will have | 
				
			||||
 | 
					                                their account terminated and be in default | 
				
			||||
 | 
					                                of the agreement. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Territory and Sales Channels -“Dealer” is | 
				
			||||
 | 
					                                authorized to sell “Products” in the | 
				
			||||
 | 
					                                following territory and channels: | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Territory: | 
				
			||||
 | 
					                                ___________________________________________________________________ | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Channels: | 
				
			||||
 | 
					                                __________________________________________________________________ | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Off limit channels/customers – National | 
				
			||||
 | 
					                                accounts are exclusive to us and off limits | 
				
			||||
 | 
					                                to “Dealer” unless approved in | 
				
			||||
 | 
					                                writing prior to the “Dealer” contacting of | 
				
			||||
 | 
					                                such accounts. National accounts include USA | 
				
			||||
 | 
					                                retailers with 25 store | 
				
			||||
 | 
					                                locations or more throughout USA | 
				
			||||
 | 
					                                territories, or annual sales in excess of | 
				
			||||
 | 
					                                $100,000,000 unless approved in writing | 
				
			||||
 | 
					                                prior to “Dealer” contacting such accounts. | 
				
			||||
 | 
					                                No ebay advertisements are allowed unless | 
				
			||||
 | 
					                                specifically approved in writing. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Internet sales – Internet sales are not | 
				
			||||
 | 
					                                exclusive to any dealer or dealer and not | 
				
			||||
 | 
					                                considered part | 
				
			||||
 | 
					                                of the exclusive zone or sales channels. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Shipping – FOB , Ft Lauderdale, Florida. | 
				
			||||
 | 
					                                Products shall be sent by Freight Carrier, | 
				
			||||
 | 
					                                Federal Express or any other courier at the | 
				
			||||
 | 
					                                discretion of us unless other means are | 
				
			||||
 | 
					                                requested by “Dealer”. | 
				
			||||
 | 
					                                “Dealer” agrees to pay for shipping and | 
				
			||||
 | 
					                                insurance according to terms of the order. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Taxes/Duties – Any duties, taxes, | 
				
			||||
 | 
					                                governmental or broker charges for | 
				
			||||
 | 
					                                international orders incurred by | 
				
			||||
 | 
					                                the “Dealer” for their shipments are the | 
				
			||||
 | 
					                                sole responsibility of the “Dealer”. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Drop Shipping – “Dealer” shall be approved | 
				
			||||
 | 
					                                prior to be allowed to drop-ship | 
				
			||||
 | 
					                                orders and follow prices as shown in Exhibit | 
				
			||||
 | 
					                                A. part 2, drop-ship pricing column. | 
				
			||||
 | 
					                                <br></br> | 
				
			||||
 | 
					                                Payment – Payment for “Products” will be | 
				
			||||
 | 
					                                pre-paid prior to shipment by us. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Any other terms are subject to our written | 
				
			||||
 | 
					                                agreement. For International orders a 30% | 
				
			||||
 | 
					                                deposit is required prior to building an | 
				
			||||
 | 
					                                order and the remainder paid upon | 
				
			||||
 | 
					                                completion. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Warranty – “Products” are sold subject to | 
				
			||||
 | 
					                                the applicable our standard printed warranty | 
				
			||||
 | 
					                                found in “Products” | 
				
			||||
 | 
					                                manual enclosed with each product sold and | 
				
			||||
 | 
					                                attached as Exhibit B. “Dealer” is not | 
				
			||||
 | 
					                                authorized to accept or commit, | 
				
			||||
 | 
					                                on our behalf, any liabilities in connection | 
				
			||||
 | 
					                                with “Dealer's” sale of “Products” other | 
				
			||||
 | 
					                                than as set | 
				
			||||
 | 
					                                forth in our standard warranty. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <b>III. Authorized Service Center</b> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                At all times during the Term of this | 
				
			||||
 | 
					                                Agreement, Service Center agrees: | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                a. It has, and it shall at all times | 
				
			||||
 | 
					                                maintain adequate, suitable and clean | 
				
			||||
 | 
					                                facility, associated tools and equipment, | 
				
			||||
 | 
					                                all as are necessary to ensure the efficient | 
				
			||||
 | 
					                                and timely performance by Service Center. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                b. “Appointed Services” means the | 
				
			||||
 | 
					                                performance of, without limitation, service, | 
				
			||||
 | 
					                                repair, regular maintenance, | 
				
			||||
 | 
					                                warranty, recall on our products, regardless | 
				
			||||
 | 
					                                of point of purchase, including, if | 
				
			||||
 | 
					                                required, the use of genuine our | 
				
			||||
 | 
					                                products and parts purchased from us. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                c. To promptly provide, upon our direction, | 
				
			||||
 | 
					                                any records regarding us in a format as may | 
				
			||||
 | 
					                                be requested by us, | 
				
			||||
 | 
					                                to enable us to conduct or issue, without | 
				
			||||
 | 
					                                limitation, product recalls, safety alerts, | 
				
			||||
 | 
					                                warranty notices, | 
				
			||||
 | 
					                                technical service bulletins, or otherwise. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                d. To at all times cooperate and use its | 
				
			||||
 | 
					                                best efforts to assist us in the | 
				
			||||
 | 
					                                dissemination and/or the timely | 
				
			||||
 | 
					                                performance of, without limitation, any | 
				
			||||
 | 
					                                product safety alerts, recalls, technical | 
				
			||||
 | 
					                                service bulletins, etc., | 
				
			||||
 | 
					                                should they arise, or any other information | 
				
			||||
 | 
					                                as may be requested by us. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                e. It shall procure and at all times | 
				
			||||
 | 
					                                maintain at its own cost and expense, | 
				
			||||
 | 
					                                without limitation, | 
				
			||||
 | 
					                                all current and future required licenses, | 
				
			||||
 | 
					                                permits and governmental approvals as | 
				
			||||
 | 
					                                applicable to enable Service Center, | 
				
			||||
 | 
					                                its facilities, and its Technician(s) to | 
				
			||||
 | 
					                                lawfully comply with all the sections of | 
				
			||||
 | 
					                                this Agreement. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                f. Not to install or otherwise use any | 
				
			||||
 | 
					                                product or part except in strict accordance | 
				
			||||
 | 
					                                with its intended use/application, | 
				
			||||
 | 
					                                applicable our instructions, and local, | 
				
			||||
 | 
					                                state and federal laws where Service Center | 
				
			||||
 | 
					                                is located or where it performs Services. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                g. To provide it's our customers, with such | 
				
			||||
 | 
					                                information and/or documentation as we may | 
				
			||||
 | 
					                                direct from time to time. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                h. To serve as our liaison and promptly | 
				
			||||
 | 
					                                handle, in coordination with us the | 
				
			||||
 | 
					                                following, without limitation, | 
				
			||||
 | 
					                                as we deem appropriate and as it may direct, | 
				
			||||
 | 
					                                all inquiries, orders and complaints that | 
				
			||||
 | 
					                                Service Center receives | 
				
			||||
 | 
					                                regarding our products, including complaints | 
				
			||||
 | 
					                                regarding Service Center's performance. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                i. It shall not submit any claims, whether | 
				
			||||
 | 
					                                warranty, recall, or otherwise, to us that | 
				
			||||
 | 
					                                is not identified as a | 
				
			||||
 | 
					                                reimbursable cost or charge associated with | 
				
			||||
 | 
					                                Service Center’s Services, | 
				
			||||
 | 
					                                or charge customers for any Services that | 
				
			||||
 | 
					                                have not been first authorized in writing by | 
				
			||||
 | 
					                                us. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Prices of “Parts” outside the warranty | 
				
			||||
 | 
					                                period – The price to “Service | 
				
			||||
 | 
					                                Center/Dealer” for parts | 
				
			||||
 | 
					                                outside the warranty coverage shall be equal | 
				
			||||
 | 
					                                to our current standard US domestic Service | 
				
			||||
 | 
					                                Center price list | 
				
			||||
 | 
					                                (Detailed lists per model will be furnished | 
				
			||||
 | 
					                                upon acceptance of agreement). | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                We has the right to change the “Products” | 
				
			||||
 | 
					                                and “Parts” offering including terms and | 
				
			||||
 | 
					                                prices at any time. | 
				
			||||
 | 
					                                We will give notice to “Service Center” of | 
				
			||||
 | 
					                                such changes prior to the effective date of | 
				
			||||
 | 
					                                change. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                            </p> | 
				
			||||
 | 
					                            <br></br> | 
				
			||||
 | 
					                            <p> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Shipping charges of “Parts” outside the | 
				
			||||
 | 
					                                warranty period – FOB , Pompano, Florida. | 
				
			||||
 | 
					                                “Parts” shall be sent by Freight Carrier, | 
				
			||||
 | 
					                                Federal Express or any other courier at the | 
				
			||||
 | 
					                                discretion of | 
				
			||||
 | 
					                                us unless other means are requested by | 
				
			||||
 | 
					                                “Service Center/Dealer”. | 
				
			||||
 | 
					                                “Service Center/Dealer” agrees to pay for | 
				
			||||
 | 
					                                shipping and insurance according to sales | 
				
			||||
 | 
					                                order/invoice. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Payment – Payment for “Parts” outside of the | 
				
			||||
 | 
					                                warranty period will be in full payment | 
				
			||||
 | 
					                                prior to shipment by us. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Warranty – “Products” and “Parts” are sold | 
				
			||||
 | 
					                                subject to the applicable our standard | 
				
			||||
 | 
					                                printed warranty attached as | 
				
			||||
 | 
					                                found in “Products” manual enclosed with | 
				
			||||
 | 
					                                each product sold (a copy of the standard | 
				
			||||
 | 
					                                warranty is attached as Exhibit B.). | 
				
			||||
 | 
					                                “Service Center” is not authorized to accept | 
				
			||||
 | 
					                                or commit, on our behalf, any liabilities in | 
				
			||||
 | 
					                                connection with | 
				
			||||
 | 
					                                “Service Center/Dealer” sale of “Products” | 
				
			||||
 | 
					                                or “Parts” other than as set forth in our | 
				
			||||
 | 
					                                standard warranty. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Request for Parts – “Service Center/Dealer” | 
				
			||||
 | 
					                                will fill out Warranty Part Replacement form | 
				
			||||
 | 
					                                (attached as Exhibit C.) | 
				
			||||
 | 
					                                and either email, fax or call our Customer | 
				
			||||
 | 
					                                Service at 800-943-6190 with the information | 
				
			||||
 | 
					                                to obtain part replacement. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Parts and Service – “Dealer” shall encourage | 
				
			||||
 | 
					                                retail customers to use our original | 
				
			||||
 | 
					                                equipment parts in their repair | 
				
			||||
 | 
					                                and replacement of “Products” outside of | 
				
			||||
 | 
					                                warranty in order to maintain our high | 
				
			||||
 | 
					                                quality performance. | 
				
			||||
 | 
					                                We will furnish “Dealer” with warranty parts | 
				
			||||
 | 
					                                in a timely manner. Upon the situation of an | 
				
			||||
 | 
					                                original part not being | 
				
			||||
 | 
					                                available under warranty, we will furnish a | 
				
			||||
 | 
					                                compatible part of equal or higher quality | 
				
			||||
 | 
					                                to “Dealer”. | 
				
			||||
 | 
					                                “Dealer” will send to our parts being | 
				
			||||
 | 
					                                replaced by warranty issues in a timely | 
				
			||||
 | 
					                                manner unless written approval by | 
				
			||||
 | 
					                                our allowing “Dealer’s” request for “Dealer” | 
				
			||||
 | 
					                                not to return warranty part being replaced. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Out of Stock – We maintain a complete | 
				
			||||
 | 
					                                inventory of all parts on hand. In the rare | 
				
			||||
 | 
					                                occasion a part is not available. | 
				
			||||
 | 
					                                We will furnish a compatible part of equal | 
				
			||||
 | 
					                                or higher quality to “Service | 
				
			||||
 | 
					                                Center/Dealer”. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Returning of Warranty Covered “Parts” – | 
				
			||||
 | 
					                                “Service Center/Dealer” will store defective | 
				
			||||
 | 
					                                “Parts” covered under | 
				
			||||
 | 
					                                warranty until we request for the parts to | 
				
			||||
 | 
					                                be sent back to us. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <b>IV. Additional Obligations of We and | 
				
			||||
 | 
					                                    “Dealer” | 
				
			||||
 | 
					                                </b> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Marketing – We shall furnish “Dealer” with | 
				
			||||
 | 
					                                Hi Res images and detailed specifications of | 
				
			||||
 | 
					                                “Products” | 
				
			||||
 | 
					                                in assisting “Dealer” and their customers | 
				
			||||
 | 
					                                with the promoting of “Products”. | 
				
			||||
 | 
					                                “Dealer” shall use its best efforts to | 
				
			||||
 | 
					                                promote the resale of “Products” to realize | 
				
			||||
 | 
					                                a maximum sales | 
				
			||||
 | 
					                                potential for the “Products” in the | 
				
			||||
 | 
					                                territory and channels. If “Dealer” wishes | 
				
			||||
 | 
					                                to create its own “single occasion” | 
				
			||||
 | 
					                                marketing material or issue a “single | 
				
			||||
 | 
					                                occasion” discounted sale price, “Dealer” | 
				
			||||
 | 
					                                shall prior to its use of | 
				
			||||
 | 
					                                such materials or discounts submit examples | 
				
			||||
 | 
					                                and pricing to us for a written “single | 
				
			||||
 | 
					                                occasion” approval with date limits. | 
				
			||||
 | 
					                                Training – “Dealer” will properly train | 
				
			||||
 | 
					                                sales and service staff on the functions of | 
				
			||||
 | 
					                                “Products”. | 
				
			||||
 | 
					                                “Dealer” will make available to its staff | 
				
			||||
 | 
					                                all manuals, documents, brochures, catalogs, | 
				
			||||
 | 
					                                videos and support material | 
				
			||||
 | 
					                                furnished by us for assisting in the sale | 
				
			||||
 | 
					                                and servicing of “Products”. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                New Locations – If “Dealer” intends to open | 
				
			||||
 | 
					                                any additional business locations, sales | 
				
			||||
 | 
					                                channels or service of “Products” | 
				
			||||
 | 
					                                other than described in Section II under | 
				
			||||
 | 
					                                Paragraph B of this “Agreement”, “Dealer” | 
				
			||||
 | 
					                                must initially obtain written approval | 
				
			||||
 | 
					                                from our prior to “Dealer” offering | 
				
			||||
 | 
					                                “Products” for sale in new locations. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Purchasing – “Dealer” shall only purchase | 
				
			||||
 | 
					                                products shown on Exhibit A of this | 
				
			||||
 | 
					                                “Agreement” from us. | 
				
			||||
 | 
					                                We will make available to “Dealer” for | 
				
			||||
 | 
					                                immediate delivery “Products” in stock and | 
				
			||||
 | 
					                                on hand in our | 
				
			||||
 | 
					                                warehouses and storage facilities. We shall | 
				
			||||
 | 
					                                not hold “Products” from shipping to | 
				
			||||
 | 
					                                “Dealer” while “Dealer” is in | 
				
			||||
 | 
					                                compliance with this “Agreement”. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <b>V. Term and Termination</b> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                The term of this “Agreement” shall be for a | 
				
			||||
 | 
					                                period of one (1) year, commencing on the | 
				
			||||
 | 
					                                effective date hereof. | 
				
			||||
 | 
					                                This “Agreement” shall be automatically | 
				
			||||
 | 
					                                renewed for successive terms of one (1) year | 
				
			||||
 | 
					                                each unless either party | 
				
			||||
 | 
					                                shall give the other notice of non-renewal | 
				
			||||
 | 
					                                not less than thirty (30) days prior to the | 
				
			||||
 | 
					                                end of the then current | 
				
			||||
 | 
					                                term or unless this “Agreement” is otherwise | 
				
			||||
 | 
					                                terminated as provided herein. Unless | 
				
			||||
 | 
					                                otherwise provided by applicable | 
				
			||||
 | 
					                                state law, either party may terminate this | 
				
			||||
 | 
					                                “Agreement” without cause and for any | 
				
			||||
 | 
					                                reason, upon not less than thirty (30) | 
				
			||||
 | 
					                                days written notice given to the other | 
				
			||||
 | 
					                                party. Nothing contained herein shall | 
				
			||||
 | 
					                                prevent us from immediately terminating this | 
				
			||||
 | 
					                                “Agreement” in the event of bankruptcy or | 
				
			||||
 | 
					                                insolvency of “Dealer”, “Dealer's” failure | 
				
			||||
 | 
					                                to pay any amounts owing us when due. | 
				
			||||
 | 
					                                Upon termination for any reason, all amounts | 
				
			||||
 | 
					                                owed to us will become immediately due and | 
				
			||||
 | 
					                                payable. This Agreement shall continue | 
				
			||||
 | 
					                                in full force and effect until the | 
				
			||||
 | 
					                                indebtedness is paid in full; and all | 
				
			||||
 | 
					                                representations and warranties and all | 
				
			||||
 | 
					                                provisions herein for | 
				
			||||
 | 
					                                indemnity of us (and any other provisions | 
				
			||||
 | 
					                                herein specified to survive) shall survive | 
				
			||||
 | 
					                                payment in full of the indebtedness and any | 
				
			||||
 | 
					                                release or termination of this Agreement. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <b>VI. Repurchase</b> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                In the event this “Agreement” is terminated, | 
				
			||||
 | 
					                                We have a right but not an obligation to | 
				
			||||
 | 
					                                purchase back from “Dealer” all new, unused, | 
				
			||||
 | 
					                                current, complete and undamaged “Products” | 
				
			||||
 | 
					                                at the price of original invoice less any | 
				
			||||
 | 
					                                applicable discounts or payments made | 
				
			||||
 | 
					                                thereon | 
				
			||||
 | 
					                                and less a fifteen (15) % restocking charge, | 
				
			||||
 | 
					                                computed on “Dealer's” net cost. In | 
				
			||||
 | 
					                                addition, We have a right but not an | 
				
			||||
 | 
					                                obligation to | 
				
			||||
 | 
					                                purchase back “Dealer's” “Products” parts | 
				
			||||
 | 
					                                subject to such parts being current, unused | 
				
			||||
 | 
					                                and in a new physical condition and | 
				
			||||
 | 
					                                appearance, | 
				
			||||
 | 
					                                including packaging, and suitable for | 
				
			||||
 | 
					                                reshipment by us to other dealers. We will | 
				
			||||
 | 
					                                not repurchase parts whose condition may | 
				
			||||
 | 
					                                have | 
				
			||||
 | 
					                                deteriorated while in “Dealer’s” inventory. | 
				
			||||
 | 
					                                The price to be paid or credited to | 
				
			||||
 | 
					                                “Dealer's” account for such parts will be at | 
				
			||||
 | 
					                                current | 
				
			||||
 | 
					                                “Dealer’s” net cost less a fifteen (15) % | 
				
			||||
 | 
					                                restocking charge. “Dealer” will provide | 
				
			||||
 | 
					                                invoices showing proof of purchase from us. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <b>VII. Authorized Dealer, Trademarks and | 
				
			||||
 | 
					                                    Brand Name | 
				
			||||
 | 
					                                </b> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                “Dealer” is hereby licensed to use our name | 
				
			||||
 | 
					                                and trademarks in the normal course of | 
				
			||||
 | 
					                                distributing our “Products” and performing | 
				
			||||
 | 
					                                related | 
				
			||||
 | 
					                                services under this “Agreement”. Dealer | 
				
			||||
 | 
					                                agrees not to use our name as part of | 
				
			||||
 | 
					                                “Dealer's” name or in any manner which would | 
				
			||||
 | 
					                                misrepresent | 
				
			||||
 | 
					                                the relationship between “Dealer” and us. | 
				
			||||
 | 
					                                “Dealer” may represent itself as an | 
				
			||||
 | 
					                                "authorized dealer" of us, and may use our | 
				
			||||
 | 
					                                name and | 
				
			||||
 | 
					                                “Products” model names in the promoting of | 
				
			||||
 | 
					                                “Products”. Upon termination of this | 
				
			||||
 | 
					                                “Agreement”, “Dealer” shall immediately | 
				
			||||
 | 
					                                cease | 
				
			||||
 | 
					                                representing itself as a “Dealer” of us and | 
				
			||||
 | 
					                                shall cease use of all our names, model | 
				
			||||
 | 
					                                names, trademarks and any signs or other | 
				
			||||
 | 
					                                material, of whatever nature, identifying | 
				
			||||
 | 
					                                “Dealer” as a dealer of us shall be removed | 
				
			||||
 | 
					                                or obliterated. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <b>VIII. Mutual Indemnities</b> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Each party shall indemnify and hold the | 
				
			||||
 | 
					                                other harmless for any losses, claims, | 
				
			||||
 | 
					                                damages, awards, penalties, | 
				
			||||
 | 
					                                or injuries incurred by any third party, | 
				
			||||
 | 
					                                including reasonable attorney's fees, which | 
				
			||||
 | 
					                                arise from any alleged breach of such | 
				
			||||
 | 
					                                indemnifying party's representations and | 
				
			||||
 | 
					                                warranties made under this agreement. The | 
				
			||||
 | 
					                                indemnifying party shall have the sole right | 
				
			||||
 | 
					                                to defend such claims at its own expense. | 
				
			||||
 | 
					                                The other party shall provide, at the | 
				
			||||
 | 
					                                indemnifying party's expense, such | 
				
			||||
 | 
					                                assistance in | 
				
			||||
 | 
					                                investigating and defending such claims as | 
				
			||||
 | 
					                                the indemnifying party may reasonably | 
				
			||||
 | 
					                                request. This indemnity shall survive the | 
				
			||||
 | 
					                                termination | 
				
			||||
 | 
					                                of this Agreement. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                            </p> | 
				
			||||
 | 
					                            <br/> | 
				
			||||
 | 
					                            <br/> | 
				
			||||
 | 
					                            <p> | 
				
			||||
 | 
					                                <b>IX. Confidentiality and Non-Disclosure | 
				
			||||
 | 
					                                    Agreement | 
				
			||||
 | 
					                                </b> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                We and “Dealer” wish to define the rights | 
				
			||||
 | 
					                                and obligations of each other with respect | 
				
			||||
 | 
					                                to their handling and disclosure of | 
				
			||||
 | 
					                                Confidential | 
				
			||||
 | 
					                                Information as it pertains to the respective | 
				
			||||
 | 
					                                business relationship of both we and | 
				
			||||
 | 
					                                Dealer”. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                We and “Dealer” agrees to the following: | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Confidential Information is any information | 
				
			||||
 | 
					                                relating to prices for “Products” and | 
				
			||||
 | 
					                                business practices (including pending or | 
				
			||||
 | 
					                                potential projects or business opportunities | 
				
			||||
 | 
					                                of “Dealer”) of either party, whether | 
				
			||||
 | 
					                                reduced to writing or other tangible | 
				
			||||
 | 
					                                expression, | 
				
			||||
 | 
					                                which the disclosing party considers to be | 
				
			||||
 | 
					                                proprietary and confidential. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Confidential Information shall include but | 
				
			||||
 | 
					                                not be limited to terms and pricing, | 
				
			||||
 | 
					                                technical and other specifications for | 
				
			||||
 | 
					                                “Products” | 
				
			||||
 | 
					                                and all information clearly identified as | 
				
			||||
 | 
					                                confidential. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Confidential Information will not include | 
				
			||||
 | 
					                                any information which: | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                i) is already known to the receiving party | 
				
			||||
 | 
					                                prior to the time of disclosure by the | 
				
			||||
 | 
					                                disclosing party; | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                ii) is available or becomes generally | 
				
			||||
 | 
					                                available to the public other than through a | 
				
			||||
 | 
					                                breach of “Agreement” by the receiving | 
				
			||||
 | 
					                                party; | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                iii) is acquired or received rightfully and | 
				
			||||
 | 
					                                without confidential limitation by the | 
				
			||||
 | 
					                                receiving party from a third party; | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                iv) is independently developed by the | 
				
			||||
 | 
					                                receiving party without breach of Agreement; | 
				
			||||
 | 
					                                or | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                v) the disclosure of which is required by | 
				
			||||
 | 
					                                law or governmental order. | 
				
			||||
 | 
					                                If the receiving party becomes legally | 
				
			||||
 | 
					                                required to disclose Confidential | 
				
			||||
 | 
					                                Information, | 
				
			||||
 | 
					                                or any part thereof the receiving party will | 
				
			||||
 | 
					                                give the disclosing party prompt advance | 
				
			||||
 | 
					                                notice of such requirement. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Both parties agree to hold Confidential | 
				
			||||
 | 
					                                Information in confidence during the term of | 
				
			||||
 | 
					                                this “Agreement” and for a period of | 
				
			||||
 | 
					                                two years after termination of this | 
				
			||||
 | 
					                                “Agreement”. “Dealer” agrees to take all | 
				
			||||
 | 
					                                reasonable steps to ensure that Confidential | 
				
			||||
 | 
					                                Information | 
				
			||||
 | 
					                                is not disclosed or distributed by its | 
				
			||||
 | 
					                                employees, representatives or agents in | 
				
			||||
 | 
					                                violation of the terms of this “Agreement”. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                All Confidential Information furnished under | 
				
			||||
 | 
					                                this Agreement is and shall remain the | 
				
			||||
 | 
					                                property of us and shall be returned or | 
				
			||||
 | 
					                                otherwise | 
				
			||||
 | 
					                                disposed of by the “Dealer” as instructed by | 
				
			||||
 | 
					                                us promptly upon demand or upon the | 
				
			||||
 | 
					                                termination or expiration of this Agreement. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <b>X. General</b> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                “Dealer” is not an agent of us nor is | 
				
			||||
 | 
					                                “Dealer” authorized to incur any obligations | 
				
			||||
 | 
					                                or make any representations on behalf of our | 
				
			||||
 | 
					                                company. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                This “Agreement” is binding on the parties, | 
				
			||||
 | 
					                                their heirs, executors, administrators, | 
				
			||||
 | 
					                                successors, and assignors. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Force Majeure- Neither party shall be | 
				
			||||
 | 
					                                responsible for any failure to carry out its | 
				
			||||
 | 
					                                obligation hereunder which is due to causes | 
				
			||||
 | 
					                                beyond | 
				
			||||
 | 
					                                its control, including, but not limited to, | 
				
			||||
 | 
					                                acts of God, public enemy, fires, floods, | 
				
			||||
 | 
					                                epidemics, strikes, embargoes, severe | 
				
			||||
 | 
					                                weather, | 
				
			||||
 | 
					                                war, or delays of supply due to such causes. | 
				
			||||
 | 
					                                Limitation of Liability/Waivers and | 
				
			||||
 | 
					                                Disclaimers us shall not be liable for any | 
				
			||||
 | 
					                                damages | 
				
			||||
 | 
					                                whatsoever or claims of any kind, whether | 
				
			||||
 | 
					                                based on contract, warranty, tort including | 
				
			||||
 | 
					                                negligence or otherwise, or for any loss or | 
				
			||||
 | 
					                                damage arising out of, connected with, or | 
				
			||||
 | 
					                                resulting from, this Agreement, or from the | 
				
			||||
 | 
					                                performance or breach thereof, or with | 
				
			||||
 | 
					                                respect | 
				
			||||
 | 
					                                to any and all goods covered by or furnished | 
				
			||||
 | 
					                                under this Agreement. In no event shall be | 
				
			||||
 | 
					                                liable for special, incidental, exemplary or | 
				
			||||
 | 
					                                consequential damages including, but not | 
				
			||||
 | 
					                                limited to, loss of profits or revenue, loss | 
				
			||||
 | 
					                                of use of the Product or any associated | 
				
			||||
 | 
					                                equipment, | 
				
			||||
 | 
					                                cost of capital, cost of purchased power, | 
				
			||||
 | 
					                                cost of substitute products or equipment, | 
				
			||||
 | 
					                                facilities or services, downtime costs, or | 
				
			||||
 | 
					                                claims or | 
				
			||||
 | 
					                                damages of Dealer or employees, agents or | 
				
			||||
 | 
					                                contractors of Dealer for such damages, | 
				
			||||
 | 
					                                regardless of whether such claims or damages | 
				
			||||
 | 
					                                are based | 
				
			||||
 | 
					                                on contract, warranty, or tort including | 
				
			||||
 | 
					                                negligence or otherwise. We shall not be | 
				
			||||
 | 
					                                liable for any delay or failure to perform | 
				
			||||
 | 
					                                its | 
				
			||||
 | 
					                                obligations due to any cause beyond its | 
				
			||||
 | 
					                                reasonable control, including, without | 
				
			||||
 | 
					                                limitation, fire, weather, accident, act of | 
				
			||||
 | 
					                                public | 
				
			||||
 | 
					                                enemy, war, rebellion, insurrection, strike, | 
				
			||||
 | 
					                                lockout, work slowdown, or similar | 
				
			||||
 | 
					                                industrial or labor action, sabotage, | 
				
			||||
 | 
					                                transportation | 
				
			||||
 | 
					                                delay, shortage of raw material, energy or | 
				
			||||
 | 
					                                machinery, act of God, acts or omissions of | 
				
			||||
 | 
					                                Dealer, or the order or judgment of any | 
				
			||||
 | 
					                                federal, | 
				
			||||
 | 
					                                state, local or foreign court, | 
				
			||||
 | 
					                                administrative agency or governmental | 
				
			||||
 | 
					                                officer or body. Claims for shortages must | 
				
			||||
 | 
					                                be reported within twenty-four | 
				
			||||
 | 
					                                (24) hours. Except as expressly provided in | 
				
			||||
 | 
					                                this Agreement, We makes no warranties, | 
				
			||||
 | 
					                                express or implied, and specifically | 
				
			||||
 | 
					                                disclaims any warranty | 
				
			||||
 | 
					                                of merchantability, fitness for a particular | 
				
			||||
 | 
					                                purpose, title or non-infringement or any | 
				
			||||
 | 
					                                warranty arising by usage of trade, course | 
				
			||||
 | 
					                                of dealing | 
				
			||||
 | 
					                                or course of performance nor do us warrant | 
				
			||||
 | 
					                                that the Product will meet Dealer's | 
				
			||||
 | 
					                                requirements. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                We do not authorize anyone to make a | 
				
			||||
 | 
					                                warranty of any kind on its behalf and | 
				
			||||
 | 
					                                customer should not rely on anyone making | 
				
			||||
 | 
					                                such statements. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Organization, Power and Authority/Validity | 
				
			||||
 | 
					                                of Documents Dealer is (A) an entity duly | 
				
			||||
 | 
					                                organized, validly existing and in good | 
				
			||||
 | 
					                                standing | 
				
			||||
 | 
					                                under the laws of the state or country of | 
				
			||||
 | 
					                                its incorporation or creation, (B) has the | 
				
			||||
 | 
					                                power and authority to carry on its business | 
				
			||||
 | 
					                                as now | 
				
			||||
 | 
					                                being conducted, (C) is in compliance with | 
				
			||||
 | 
					                                all governmental requirements; and (D) has | 
				
			||||
 | 
					                                the power and authority to enter into this | 
				
			||||
 | 
					                                Agreement | 
				
			||||
 | 
					                                and any other documents related therewith. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Litigation There are no judgments | 
				
			||||
 | 
					                                outstanding against Dealer and there is no | 
				
			||||
 | 
					                                action, suit, proceeding, or investigation | 
				
			||||
 | 
					                                now pending against, | 
				
			||||
 | 
					                                involving or affecting Dealer, at law, in | 
				
			||||
 | 
					                                equity or before any governmental authority | 
				
			||||
 | 
					                                that if adversely determined as to Dealer | 
				
			||||
 | 
					                                would | 
				
			||||
 | 
					                                result in a material adverse change in the | 
				
			||||
 | 
					                                business or financial condition of Dealer, | 
				
			||||
 | 
					                                nor is there any basis for such action, | 
				
			||||
 | 
					                                suit, | 
				
			||||
 | 
					                                proceeding or investigation. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Assignment of Interest/Changes of | 
				
			||||
 | 
					                                Ownership/Name Dealer shall not voluntarily | 
				
			||||
 | 
					                                or by operation of law assign, transfer or | 
				
			||||
 | 
					                                otherwise | 
				
			||||
 | 
					                                encumber all or any part of Dealer's | 
				
			||||
 | 
					                                interest or obligations under Agreement | 
				
			||||
 | 
					                                without the prior written consent of us, | 
				
			||||
 | 
					                                which consent | 
				
			||||
 | 
					                                shall be at the sole discretion of us. | 
				
			||||
 | 
					                                Dealer further represents and warrants that | 
				
			||||
 | 
					                                it shall: | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                (A) notify our immediately of any changes in | 
				
			||||
 | 
					                                its ownership structure or name. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Insurance Dealer shall obtain and maintain, | 
				
			||||
 | 
					                                at Dealer's cost and expense, in full force | 
				
			||||
 | 
					                                and effect at all times, | 
				
			||||
 | 
					                                with all premiums paid thereon, and without | 
				
			||||
 | 
					                                notice or demand, insurance with respect to | 
				
			||||
 | 
					                                the Product against risks encompassed within | 
				
			||||
 | 
					                                the standard policy of fire insurance with | 
				
			||||
 | 
					                                extended coverage endorsement, theft and | 
				
			||||
 | 
					                                other risks as “We” may require. | 
				
			||||
 | 
					                                Upon request, Dealer shall provide us with | 
				
			||||
 | 
					                                proof of such insurance. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Forum Dealer hereby irrevocably submits | 
				
			||||
 | 
					                                generally and unconditionally for itself to | 
				
			||||
 | 
					                                the jurisdiction of the [Eleventh | 
				
			||||
 | 
					                                Judicial Circuit Court] of the State of | 
				
			||||
 | 
					                                Florida and the United States District Court | 
				
			||||
 | 
					                                for the Southern District of Florida, over | 
				
			||||
 | 
					                                any suit, | 
				
			||||
 | 
					                                action or proceeding arising out of or | 
				
			||||
 | 
					                                relating to this Agreement or the Product. | 
				
			||||
 | 
					                                Dealer hereby agrees and consents that, in | 
				
			||||
 | 
					                                addition to any methods of service or | 
				
			||||
 | 
					                                process provided for under applicable law, | 
				
			||||
 | 
					                                all service of process in any such suit, | 
				
			||||
 | 
					                                action or proceeding in any state court, or | 
				
			||||
 | 
					                                any United States federal court, | 
				
			||||
 | 
					                                sitting in the state specified in this | 
				
			||||
 | 
					                                Section may be made by certified or | 
				
			||||
 | 
					                                registered mail, return receipt requested, | 
				
			||||
 | 
					                                directed to Dealer at its address for notice | 
				
			||||
 | 
					                                stated in this Agreement, or at a subsequent | 
				
			||||
 | 
					                                address of which received actual notice from | 
				
			||||
 | 
					                                Dealer in accordance with the Agreement, and | 
				
			||||
 | 
					                                service so made shall be complete five (5) | 
				
			||||
 | 
					                                days after the same shall have been so | 
				
			||||
 | 
					                                mailed. | 
				
			||||
 | 
					                                Nothing herein shall affect the right of us | 
				
			||||
 | 
					                                to serve process in any manner permitted by | 
				
			||||
 | 
					                                law or limit the right of us to bring | 
				
			||||
 | 
					                                proceedings | 
				
			||||
 | 
					                                against Dealer in any other court or | 
				
			||||
 | 
					                                jurisdiction. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Miscellaneous This Agreement may be executed | 
				
			||||
 | 
					                                in several counterparts, all of which are | 
				
			||||
 | 
					                                identical, and all of which counterparts | 
				
			||||
 | 
					                                together | 
				
			||||
 | 
					                                shall constitute one and the same | 
				
			||||
 | 
					                                instrument. A determination that any | 
				
			||||
 | 
					                                provision of this Agreement is unenforceable | 
				
			||||
 | 
					                                or invalid shall not | 
				
			||||
 | 
					                                affect the enforceability or validity of any | 
				
			||||
 | 
					                                other provision and the determination that | 
				
			||||
 | 
					                                the application of any provision of this | 
				
			||||
 | 
					                                Agreement to any person or circumstance is | 
				
			||||
 | 
					                                illegal or unenforceable shall not affect | 
				
			||||
 | 
					                                the enforceability or validity of such | 
				
			||||
 | 
					                                provision | 
				
			||||
 | 
					                                as it may apply to other persons or | 
				
			||||
 | 
					                                circumstances. This Agreement, and its | 
				
			||||
 | 
					                                validity, enforcement and interpretation, | 
				
			||||
 | 
					                                shall be governed | 
				
			||||
 | 
					                                by the laws of the State of Florida (without | 
				
			||||
 | 
					                                regard to any conflict of laws principles) | 
				
			||||
 | 
					                                and applicable United States federal law. | 
				
			||||
 | 
					                                This Agreement shall be binding upon Dealer, | 
				
			||||
 | 
					                                and Dealer’s heirs, devices, | 
				
			||||
 | 
					                                representatives, successors and assigns, and | 
				
			||||
 | 
					                                shall inure to | 
				
			||||
 | 
					                                the benefit of us and its successors and | 
				
			||||
 | 
					                                assigners. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Notices Unless specifically provided | 
				
			||||
 | 
					                                otherwise, any notice for purposes of this | 
				
			||||
 | 
					                                Agreement or any other Document shall be | 
				
			||||
 | 
					                                given in | 
				
			||||
 | 
					                                writing or by telex or by facsimile (fax) | 
				
			||||
 | 
					                                transmission and shall be addressed or | 
				
			||||
 | 
					                                delivered to the respective addresses set | 
				
			||||
 | 
					                                forth | 
				
			||||
 | 
					                                in the introduction of this Agreement. If | 
				
			||||
 | 
					                                sent by prepaid, registered or certified | 
				
			||||
 | 
					                                mail (return receipt requested), the notice | 
				
			||||
 | 
					                                shall be deemed effective when the receipt | 
				
			||||
 | 
					                                is signed or when the attempted initial | 
				
			||||
 | 
					                                delivery is refused or cannot be made | 
				
			||||
 | 
					                                because | 
				
			||||
 | 
					                                of a change of address of which the sending | 
				
			||||
 | 
					                                party has not been notified; if transmitted | 
				
			||||
 | 
					                                by telex, the notice shall be effective | 
				
			||||
 | 
					                                when transmitted (answer back confirmed); | 
				
			||||
 | 
					                                and if transmitted by facsimile or personal | 
				
			||||
 | 
					                                delivery, the notice shall be effective when | 
				
			||||
 | 
					                                received. | 
				
			||||
 | 
					                                No notice of change of address shall be | 
				
			||||
 | 
					                                effective except upon actual receipt, and | 
				
			||||
 | 
					                                service of a notice required by any | 
				
			||||
 | 
					                                applicable statute | 
				
			||||
 | 
					                                shall be considered complete when the | 
				
			||||
 | 
					                                requirements of that statute are met. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Waiver of jury trial. Dealer, by its | 
				
			||||
 | 
					                                execution, and we, by its acceptance of this | 
				
			||||
 | 
					                                agreement, hereby agree as follows: | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                (a) each of them knowingly, voluntarily, | 
				
			||||
 | 
					                                intentionally, and irrevocably waives any | 
				
			||||
 | 
					                                right it may have to a trial by jury in any | 
				
			||||
 | 
					                                lawsuit, | 
				
			||||
 | 
					                                proceeding, counterclaim, or other | 
				
			||||
 | 
					                                litigation (as used in this section an | 
				
			||||
 | 
					                                "action") based upon, or arising out of, | 
				
			||||
 | 
					                                under, or | 
				
			||||
 | 
					                                in connection with, this agreement or any | 
				
			||||
 | 
					                                related documents, instruments, or | 
				
			||||
 | 
					                                agreements (whether oral or written and | 
				
			||||
 | 
					                                whether | 
				
			||||
 | 
					                                express or implied as a result of a course | 
				
			||||
 | 
					                                of dealing, a course of conduct, a | 
				
			||||
 | 
					                                statement, or other action of either party); | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                (b) neither of them may seek a trial by jury | 
				
			||||
 | 
					                                in any such action; | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                (c) neither of them will seek to consolidate | 
				
			||||
 | 
					                                any such action | 
				
			||||
 | 
					                                (in which a jury trial has been waived) with | 
				
			||||
 | 
					                                any other action in which a jury trial | 
				
			||||
 | 
					                                cannot be or has not been waived; and | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                (d) neither of them has in any way agreed | 
				
			||||
 | 
					                                with or represented to the other of them | 
				
			||||
 | 
					                                that the provisions of this section will | 
				
			||||
 | 
					                                not be fully enforced in all instances. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                The laws of the State of Florida will govern | 
				
			||||
 | 
					                                this “Agreement”. | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Authorized Signatures | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                “Dealer” | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                                Company Name _____________________________ | 
				
			||||
 | 
					                                <br/> | 
				
			||||
 | 
					                            </p> | 
				
			||||
 | 
					                            <t t-esc="data"/> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </t> | 
				
			||||
 | 
					        </t> | 
				
			||||
 | 
					    </template> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,68 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!--Contract Action--> | 
				
			||||
 | 
					    <record id="franchise_contract_report_action" model="ir.actions.report"> | 
				
			||||
 | 
					        <field name="name">Contract</field> | 
				
			||||
 | 
					        <field name="model">franchise.dealer</field> | 
				
			||||
 | 
					        <field name="report_type">qweb-pdf</field> | 
				
			||||
 | 
					        <field name="report_name">franchise_management.franchise_dealership_contract_template</field> | 
				
			||||
 | 
					        <field name="report_file">franchise_management.franchise_dealership_contract_template</field> | 
				
			||||
 | 
					        <field name="binding_model_id" ref="model_franchise_dealer"/> | 
				
			||||
 | 
					        <field name="binding_type">report</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					    <!--Report Action--> | 
				
			||||
 | 
					    <record id="franchise_dealer_details_report_action" model="ir.actions.report"> | 
				
			||||
 | 
					        <field name="name">franchise Dealer Details</field> | 
				
			||||
 | 
					        <field name="model">franchise.dealer</field> | 
				
			||||
 | 
					        <field name="report_type">qweb-pdf</field> | 
				
			||||
 | 
					        <field name="report_name">franchise_management.all_dealer_based_report_pdf</field> | 
				
			||||
 | 
					        <field name="report_file">franchise_management.all_dealer_based_report_pdf</field> | 
				
			||||
 | 
					        <field name="binding_type">report</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					    <!--Dealer Based Report Action--> | 
				
			||||
 | 
					    <record id="action_dealer_based_report_pdf" model="ir.actions.report"> | 
				
			||||
 | 
					        <field name="name">Dealer Franchisee</field> | 
				
			||||
 | 
					        <field name="model">franchise.dealer</field> | 
				
			||||
 | 
					        <field name="report_type">qweb-pdf</field> | 
				
			||||
 | 
					        <field name="report_name">franchise_management.dealer_based_report_pdf</field> | 
				
			||||
 | 
					        <field name="report_file">franchise_management.dealer_based_report_pdf</field> | 
				
			||||
 | 
					        <field name="binding_type">report</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					    <!--Product based report action--> | 
				
			||||
 | 
					    <record id="action_agreement_based_report_pdf" model="ir.actions.report"> | 
				
			||||
 | 
					        <field name="name">Agreement Based Report</field> | 
				
			||||
 | 
					        <field name="model">franchise.dealer</field> | 
				
			||||
 | 
					        <field name="report_type">qweb-pdf</field> | 
				
			||||
 | 
					        <field name="report_name">franchise_management.agreement_based_report_pdf</field> | 
				
			||||
 | 
					        <field name="report_file">franchise_management.agreement_based_report_pdf</field> | 
				
			||||
 | 
					        <field name="binding_type">report</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					    <!--Dealer Sale Feedback Report Action.--> | 
				
			||||
 | 
					    <record id="action_dealer_sale_based_report_pdf" model="ir.actions.report"> | 
				
			||||
 | 
					        <field name="name">Dealer Based Report</field> | 
				
			||||
 | 
					        <field name="model">dealer.sale</field> | 
				
			||||
 | 
					        <field name="report_type">qweb-pdf</field> | 
				
			||||
 | 
					        <field name="report_name">franchise_management.all_dealer_sale_report_pdf</field> | 
				
			||||
 | 
					        <field name="report_file">franchise_management.all_dealer_sale_report_pdf</field> | 
				
			||||
 | 
					        <field name="binding_type">report</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					    <!--Dealer Sale feedback on dealer action--> | 
				
			||||
 | 
					    <record id="action_dealer_sale_on_dealer_report_pdf" | 
				
			||||
 | 
					            model="ir.actions.report"> | 
				
			||||
 | 
					        <field name="name">Dealer Based Sale Report</field> | 
				
			||||
 | 
					        <field name="model">dealer.sale</field> | 
				
			||||
 | 
					        <field name="report_type">qweb-pdf</field> | 
				
			||||
 | 
					        <field name="report_name">franchise_management.dealer_sale_on_dealer_report_pdf</field> | 
				
			||||
 | 
					        <field name="report_file">franchise_management.dealer_sale_on_dealer_report_pdf</field> | 
				
			||||
 | 
					        <field name="binding_type">report</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					    <!--Dealer Sale feedback on product action--> | 
				
			||||
 | 
					    <record id="action_dealer_sale_on_agreement_report_pdf" model="ir.actions.report"> | 
				
			||||
 | 
					        <field name="name">Agreement Based Sale Report</field> | 
				
			||||
 | 
					        <field name="model">dealer.sale</field> | 
				
			||||
 | 
					        <field name="report_type">qweb-pdf</field> | 
				
			||||
 | 
					        <field name="report_name">franchise_management.dealer_sale_on_agreement_report_pdf</field> | 
				
			||||
 | 
					        <field name="report_file">franchise_management.dealer_sale_on_agreement_report_pdf</field> | 
				
			||||
 | 
					        <field name="binding_type">report</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,74 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					<!--All dealer based report--> | 
				
			||||
 | 
					    <template id="all_dealer_based_report_pdf"> | 
				
			||||
 | 
					        <t t-call="web.html_container"> | 
				
			||||
 | 
					            <t t-call="web.external_layout"> | 
				
			||||
 | 
					                <div class="page"> | 
				
			||||
 | 
					                    <div class="text-center"> | 
				
			||||
 | 
					                        <h1 style="font-size:35px"><b>Dealer List</b></h1> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <br/><br/> | 
				
			||||
 | 
					                    <t t-if="form_data.get('from_date')"> | 
				
			||||
 | 
					                        From Date : | 
				
			||||
 | 
					                        <t t-esc="form_data['from_date']"/> | 
				
			||||
 | 
					                    </t> | 
				
			||||
 | 
					                    <br/><br/> | 
				
			||||
 | 
					                    <t t-if="form_data.get('to_date')"> | 
				
			||||
 | 
					                        To Date : | 
				
			||||
 | 
					                        <t t-esc="form_data['to_date']"/> | 
				
			||||
 | 
					                    </t> | 
				
			||||
 | 
					                    <br/><br/> | 
				
			||||
 | 
					                    <div class="row"> | 
				
			||||
 | 
					                    <table class="table"> | 
				
			||||
 | 
					                        <thead> | 
				
			||||
 | 
					                            <tr> | 
				
			||||
 | 
					                                <th width="10px"> | 
				
			||||
 | 
					                                    <strong>Sl.no</strong> | 
				
			||||
 | 
					                                </th> | 
				
			||||
 | 
					                                <th width="10px"> | 
				
			||||
 | 
					                                    <strong>Reference</strong> | 
				
			||||
 | 
					                                </th> | 
				
			||||
 | 
					                                <th width="10px"> | 
				
			||||
 | 
					                                    <strong>Dealer Name</strong> | 
				
			||||
 | 
					                                </th> | 
				
			||||
 | 
					                                <th width="10px"> | 
				
			||||
 | 
					                                    <strong>Signed On</strong> | 
				
			||||
 | 
					                                </th> | 
				
			||||
 | 
					                                <th width="10px"> | 
				
			||||
 | 
					                                    <strong>Email</strong> | 
				
			||||
 | 
					                                </th> | 
				
			||||
 | 
					                                <th width="10px"> | 
				
			||||
 | 
					                                    <strong>Franchise Agreement</strong> | 
				
			||||
 | 
					                                </th> | 
				
			||||
 | 
					                            </tr> | 
				
			||||
 | 
					                        </thead> | 
				
			||||
 | 
					                        <t t-foreach="fetch_all_details" t-as="line"> | 
				
			||||
 | 
					                            <tr> | 
				
			||||
 | 
					                                <td> | 
				
			||||
 | 
					                                    <span t-esc="line_index+1"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                 <td> | 
				
			||||
 | 
					                                    <span t-esc="line['serial_no']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td> | 
				
			||||
 | 
					                                    <span t-esc="line['name']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td> | 
				
			||||
 | 
					                                    <span t-esc="line['signed_on']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td> | 
				
			||||
 | 
					                                    <span t-esc="line['dealer_mail']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td> | 
				
			||||
 | 
					                                    <span t-esc="line['agreement_type']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                            </tr> | 
				
			||||
 | 
					                        </t> | 
				
			||||
 | 
					                    </table> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </t> | 
				
			||||
 | 
					        </t> | 
				
			||||
 | 
					    </template> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,20 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					<!--Security user access groups user and manager--> | 
				
			||||
 | 
					    <data noupdate="1"> | 
				
			||||
 | 
					        <record model="ir.module.category" id="franchise_management"> | 
				
			||||
 | 
					            <field name="name">Dealer</field> | 
				
			||||
 | 
					            <field name="description">User access levels for Franchise Management</field> | 
				
			||||
 | 
					            <field name="sequence">10</field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					        <record id="dealer_user_access" model="res.groups"> | 
				
			||||
 | 
					            <field name="name">Franchise User</field> | 
				
			||||
 | 
					            <field name="category_id" ref="franchise_management"/> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					        <record id="dealer_manager_access" model="res.groups"> | 
				
			||||
 | 
					            <field name="name">Franchise Manager</field> | 
				
			||||
 | 
					            <field name="category_id" ref="franchise_management"/> | 
				
			||||
 | 
					            <field name="implied_ids" eval="[(4, ref('dealer_user_access'))]"/> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					    </data> | 
				
			||||
 | 
					</odoo> | 
				
			||||
		
		
			
  | 
| 
		 After Width: | Height: | Size: 3.6 KiB  | 
| 
		 After Width: | Height: | Size: 310 B  | 
| 
		 After Width: | Height: | Size: 1.3 KiB  | 
| 
		 After Width: | Height: | Size: 1.4 KiB  | 
| 
		 After Width: | Height: | Size: 576 B  | 
| 
		 After Width: | Height: | Size: 733 B  | 
| 
		 After Width: | Height: | Size: 911 B  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 3.4 KiB  | 
| 
		 After Width: | Height: | Size: 673 B  | 
| 
		 After Width: | Height: | Size: 878 B  | 
| 
		 After Width: | Height: | Size: 653 B  | 
| 
		 After Width: | Height: | Size: 905 B  | 
| 
		 After Width: | Height: | Size: 839 B  | 
| 
		 After Width: | Height: | Size: 427 B  | 
| 
		 After Width: | Height: | Size: 627 B  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 988 B  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 1.5 KiB  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 1.9 KiB  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 2.1 KiB  | 
| 
		 After Width: | Height: | Size: 4.4 KiB  | 
| 
		 After Width: | Height: | Size: 589 B  | 
| 
		 After Width: | Height: | Size: 3.4 KiB  | 
| 
		 After Width: | Height: | Size: 1.7 KiB  | 
| 
		 After Width: | Height: | Size: 2.3 KiB  | 
| 
		 After Width: | Height: | Size: 967 B  | 
| 
		 After Width: | Height: | Size: 1.6 KiB  | 
| 
		 After Width: | Height: | Size: 3.8 KiB  | 
| 
		 After Width: | Height: | Size: 5.0 KiB  | 
| 
		 After Width: | Height: | Size: 55 KiB  | 
| 
		 After Width: | Height: | Size: 75 KiB  | 
| 
		 After Width: | Height: | Size: 45 KiB  | 
| 
		 After Width: | Height: | Size: 76 KiB  | 
| 
		 After Width: | Height: | Size: 49 KiB  | 
| 
		 After Width: | Height: | Size: 51 KiB  | 
| 
		 After Width: | Height: | Size: 47 KiB  | 
| 
		 After Width: | Height: | Size: 88 KiB  | 
| 
		 After Width: | Height: | Size: 59 KiB  | 
| 
		 After Width: | Height: | Size: 60 KiB  | 
| 
		 After Width: | Height: | Size: 79 KiB  | 
| 
		 After Width: | Height: | Size: 82 KiB  | 
| 
		 After Width: | Height: | Size: 60 KiB  | 
| 
		 After Width: | Height: | Size: 60 KiB  | 
| 
		 After Width: | Height: | Size: 56 KiB  | 
| 
		 After Width: | Height: | Size: 83 KiB  | 
| 
		 After Width: | Height: | Size: 58 KiB  | 
| 
		 After Width: | Height: | Size: 15 KiB  | 
| 
		 After Width: | Height: | Size: 678 KiB  | 
| 
		 After Width: | Height: | Size: 96 KiB  | 
| 
		 After Width: | Height: | Size: 96 KiB  | 
| 
		 After Width: | Height: | Size: 20 KiB  | 
| 
		 After Width: | Height: | Size: 83 KiB  | 
| 
		 After Width: | Height: | Size: 80 KiB  | 
| 
		 After Width: | Height: | Size: 147 KiB  | 
| 
		 After Width: | Height: | Size: 113 KiB  | 
| 
		 After Width: | Height: | Size: 100 KiB  | 
| 
		 After Width: | Height: | Size: 61 KiB  | 
| 
		 After Width: | Height: | Size: 221 KiB  | 
| 
		 After Width: | Height: | Size: 169 KiB  | 
| 
		 After Width: | Height: | Size: 38 KiB  | 
| 
		 After Width: | Height: | Size: 70 KiB  | 
| 
		 After Width: | Height: | Size: 103 KiB  | 
| 
		 After Width: | Height: | Size: 156 KiB  |