@ -0,0 +1,32 @@ |
|||||
|
Gender in Contacts v11 |
||||
|
=========================== |
||||
|
This module will helps you to give the gender details for your contact |
||||
|
|
||||
|
Features |
||||
|
======== |
||||
|
|
||||
|
* Gender for Contacts. |
||||
|
|
||||
|
Tech |
||||
|
==== |
||||
|
* [Python] - Models |
||||
|
* [XML] - Odoo views |
||||
|
|
||||
|
Installation |
||||
|
============ |
||||
|
- www.odoo.com/documentation/11.0/setup/install.html |
||||
|
- Install our custom addon |
||||
|
|
||||
|
Bug Tracker |
||||
|
=========== |
||||
|
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. |
||||
|
|
||||
|
|
||||
|
Developer: Tintuk Tomin @ cybrosys, odoo@cybrosys.com |
||||
|
|
||||
|
Maintainer |
||||
|
---------- |
||||
|
|
||||
|
This module is maintained by Cybrosys Technologies. |
||||
|
|
||||
|
For support and more information, please visit https://www.cybrosys.com. |
@ -0,0 +1,3 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
|
||||
|
from . import models |
@ -0,0 +1,38 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2018-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Tintuk Tomin(<https://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU AGPL (v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 AGPL (AGPL v3) for more details. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
{ |
||||
|
'name': 'Gender in Contacts', |
||||
|
'version': '12.0.1.0.0', |
||||
|
'summary': """This module will helps you to give gender details for your contact.""", |
||||
|
'description': "Module helps you to manage the gender information of your partner as well as in the contacts.", |
||||
|
'category': "Human Resource", |
||||
|
'author': 'Cybrosys Techno Solutions', |
||||
|
'company': 'Cybrosys Techno Solutions', |
||||
|
'website': "https://www.cybrosys.com", |
||||
|
'depends': ['base','contacts'], |
||||
|
'data': ['security/ir.model.access.csv', |
||||
|
'views/gender_view.xml' |
||||
|
], |
||||
|
'demo': [], |
||||
|
'images': ['static/description/banner.png'], |
||||
|
'license': 'AGPL-3', |
||||
|
'installable': True, |
||||
|
'application': True, |
||||
|
} |
@ -0,0 +1,6 @@ |
|||||
|
## Module <gender_contact> |
||||
|
|
||||
|
#### 09.04.2019 |
||||
|
#### Version 12.0.1.0.0 |
||||
|
##### ADD |
||||
|
- Initial commit |
@ -0,0 +1,3 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
|
||||
|
from . import gender |
@ -0,0 +1,11 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
|
||||
|
from odoo import api, models, fields |
||||
|
|
||||
|
class FirstNameLastName(models.Model): |
||||
|
_inherit = 'res.partner' |
||||
|
|
||||
|
gender = fields.Selection([ ('male', 'Male'), |
||||
|
('female', 'female'), |
||||
|
('other', 'Others')], |
||||
|
string='Gender') |
|
After Width: | Height: | Size: 83 KiB |
After Width: | Height: | Size: 73 KiB |
After Width: | Height: | Size: 44 KiB |
@ -0,0 +1,329 @@ |
|||||
|
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-header-banner.png);background-repeat:no-repeat;background-size:100%;padding: 4% 0% 2% 15%;background-position-y: -107px;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="font-size: 35px;color: #fff;font-weight: 900;text-transform: uppercase;text-align: left;margin: 0;margin-bottom: 16px;"> |
||||
|
Gender for Contacts |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="font-size: 25px;color: #fff;font-weight: 600;text-align: left;opacity: 1;margin: 0 !important;"> |
||||
|
Provides option for gender in Contacts |
||||
|
</h3> |
||||
|
<h5 class="oe_slogan" style="text-align: left;background: #fff;width: 293px;padding: 10px;color: #080808 !important;opacity: 1 !important;font-weight: 600;font-size: 20px;"> |
||||
|
<a style="color: #080808 !important;" href="https://www.cybrosys.com">Cybrosys Technologies</a> |
||||
|
</h5> |
||||
|
<a style="color: #080808 !important;" href="https://www.cybrosys.com" target="_blank"> |
||||
|
<div style="width: 215px;margin-left: 57%;text-align: center;background: #ffffff;height: 215px;border-radius: 100%;display: flex;justify-content: center;align-items: center;box-shadow: 0 0 12px 4px #00000059;"> |
||||
|
<img src="https://www.cybrosys.com/images/cybro-logo-oca.png" alt="cybrosys technologies" style="width: 180px;"/> </div> |
||||
|
</a> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="oe_container" style="padding: 3% 0% 3% 15%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Overview |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
Provides option to add gender for all contacts including partners. |
||||
|
</h3> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 300;margin: 0px !important;"> |
||||
|
Configuration |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
No additional configuration is required. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-banner1.png); background-repeat:no-repeat; background-size:cover;padding: 19% 0% 14% 15%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Features |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Gender details |
||||
|
</h3> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container" style="padding: 3% 0% 0% 15%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Screenshots |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 5% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Provision for gender in all contacts |
||||
|
</h3> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="gender-partner-cybrosys.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container" style="padding: 7px 0% 0% 3%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<a style="color: #080808 !important;" href="https://apps.odoo.com/apps/modules/browse?search=cybrosys" target="_blank"><img src="https://www.cybrosys.com/images/view-more-apps.jpg" alt="cybrosys technologies" style="width: 100%;margin-bottom: 50px;"/></a> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container" style="padding: 1% 0% 0% 3%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Our Services |
||||
|
</h2> |
||||
|
<div style="display:flex;padding-top: 20px;justify-content: space-between;"> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-customization.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"> |
||||
|
Odoo Customization |
||||
|
</a> |
||||
|
</h3> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-erp-implementation.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"> |
||||
|
Odoo Implementation </a> |
||||
|
</h3> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-erp-integration.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"> |
||||
|
Odoo Integration |
||||
|
</a> |
||||
|
</h3> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-erp-support.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"> |
||||
|
Odoo Support</a> |
||||
|
</h3> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/hire-odoo-developer.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"> |
||||
|
Hire Odoo Developers</a> |
||||
|
</h3> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="oe_container" style="padding: 1% 0% 0% 3%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Our Industries |
||||
|
</h2> |
||||
|
<div style="display:flex;justify-content: space-between;flex-wrap:wrap;"> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-1.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"> |
||||
|
Trading |
||||
|
</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Easily procure and sell your products. |
||||
|
</h3> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-2.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" target="_blank"> |
||||
|
Manufacturing</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Plan, track and schedule your operations. |
||||
|
</h3> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-3.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank"> |
||||
|
Restaurant</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Run your bar or restaurant methodical. |
||||
|
</h3> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-4.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"> |
||||
|
POS</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Easy configuring and convivial selling. |
||||
|
</h3> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-5.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 0px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"> |
||||
|
E-commerce & Website</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Mobile friendly, awe-inspiring product pages. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-6.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank"> |
||||
|
Hotel Management</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
An all-inclusive hotel management application. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-7.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank"> |
||||
|
Education</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
A Collaborative platform for educational management. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-8.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"> |
||||
|
Service Management</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Keep track of services and invoice accordingly. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-footer-bg.png); background-repeat:no-repeat; background-size:100%;padding: 13% 0% 6% 0%;"> |
||||
|
<div class="oe_slogan" style="margin-top:10px !important;margin-bottom: 0px;"> |
||||
|
<div> |
||||
|
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="mailto:odoo@cybrosys.com"><i class="fa fa-envelope"></i> Email us </a> |
||||
|
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="https://www.cybrosys.com/contact/"><i class="fa fa-phone"></i> Contact Us </a> |
||||
|
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="https://www.cybrosys.com/contact/"><i class="fa fa-check-square"></i> Request Customization </a> |
||||
|
</div> |
||||
|
<br> |
||||
|
<img src="https://www.cybrosys.com/images/logo.png" style="width: 190px; margin-bottom: 25px;margin-top: 30px;" class="center-block"> |
||||
|
<div> |
||||
|
<a href="https://twitter.com/cybrosys" target="_blank"><i class="fa fa-2x fa-twitter" style="color:white;background: #00a0d1;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
<a href="https://www.linkedin.com/company/cybrosys-technologies-pvt-ltd" target="_blank"><i class="fa fa-2x fa-linkedin" style="color:white;background: #31a3d6;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
<a href="https://www.facebook.com/cybrosystechnologies" target="_blank"><i class="fa fa-2x fa-facebook" style="color:white;background: #3b5998;width:35px; ;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
<a href="https://plus.google.com/106641282743045431892/about" target="_blank"><i class="fa fa-2x fa-google-plus" style="color:white;background: #c53c2c;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
<a href="https://in.pinterest.com/cybrosys" target="_blank"><i class="fa fa-2x fa-pinterest" style="color:white;background: #ac0f18;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
@ -0,0 +1,18 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
<data> |
||||
|
<record id="view_partner_simple_form_gender" model="ir.ui.view"> |
||||
|
<field name="name">res.partner.simplified.form.gender</field> |
||||
|
<field name="model">res.partner</field> |
||||
|
<field name="inherit_id" ref="base.view_partner_form"/> |
||||
|
<field name="arch" type="xml"> |
||||
|
<xpath expr="//field[@name='vat']" position="after"> |
||||
|
<field name="gender" |
||||
|
widget="radio" |
||||
|
string="Gender" |
||||
|
attrs="{'invisible': [('company_type', '=', 'company')]}"/> |
||||
|
</xpath> |
||||
|
</field> |
||||
|
</record> |
||||
|
</data> |
||||
|
</odoo> |
@ -0,0 +1,42 @@ |
|||||
|
Mobile Service Manager v12 |
||||
|
=================== |
||||
|
Module for mobile service shop daily activities |
||||
|
|
||||
|
Features |
||||
|
======== |
||||
|
* Service request creation. |
||||
|
* Assigning service request to technicians. |
||||
|
* Mobile service ticket generation. |
||||
|
* Service status tracking. |
||||
|
* Integrated with accounting and sales module. |
||||
|
* Access Rights From Multiple Level. |
||||
|
* Mobile complaint templates. |
||||
|
* Invoice for parts usage and service charges. |
||||
|
* Email notifications to customer. |
||||
|
* Parts inventory. |
||||
|
|
||||
|
Installation |
||||
|
============ |
||||
|
- www.odoo.com/documentation/12.0/setup/install.html |
||||
|
- Install our custom addon |
||||
|
- You need 'report_xlsx' module in order to get XLSX report. |
||||
|
- Install 'report_xlsx' from https://apps.odoo.com/apps/modules/11.0/report_xlsx/ |
||||
|
|
||||
|
Configuration |
||||
|
============= |
||||
|
|
||||
|
No additional configurations needed |
||||
|
|
||||
|
Bug Tracker |
||||
|
=========== |
||||
|
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. |
||||
|
|
||||
|
Developer: (v11 $ v12) Milind Mohan @ cybrosys, Contact: odoo@cybrosys.com |
||||
|
|
||||
|
Maintainer |
||||
|
---------- |
||||
|
|
||||
|
This module is maintained by Cybrosys Technologies. |
||||
|
|
||||
|
For support and more information, please visit https://www.cybrosys.com. |
||||
|
|
@ -0,0 +1,4 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
|
||||
|
from . import models |
||||
|
from . import wizard |
@ -0,0 +1,42 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2018-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU AGPL (v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 AGPL (AGPL v3) for more details. |
||||
|
# |
||||
|
############################################################################## |
||||
|
{ |
||||
|
'name': 'Mobile Service Manager', |
||||
|
'version': '12.0.1.0.0', |
||||
|
'summary': 'Module for managing mobile service shop daily activities.', |
||||
|
'category': 'Industries', |
||||
|
'author': 'Cybrosys Techno Solutions', |
||||
|
'maintainer': 'Cybrosys Techno Solutions', |
||||
|
'company': 'Cybrosys Techno Solutions', |
||||
|
'website': 'https://www.cybrosys.com', |
||||
|
'depends': ['stock_account', 'mail', 'product', 'account'], |
||||
|
'data': ['security/security.xml', |
||||
|
'security/ir.model.access.csv', |
||||
|
'views/mobile_service_views.xml', |
||||
|
'wizard/mobile_create_invoice_views.xml', |
||||
|
'reports/mobile_service_ticket.xml', |
||||
|
'reports/service_ticket_template.xml', |
||||
|
'data/mobile_service_data.xml', |
||||
|
'data/mobile_service_email_template.xml'], |
||||
|
'image': ['static/description/banner.jpg'], |
||||
|
'installable': True, |
||||
|
'application': True, |
||||
|
'auto_install': False, |
||||
|
'license': 'AGPL-3', |
||||
|
} |
@ -0,0 +1,24 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
|
||||
|
<data noupdate="1"> |
||||
|
<record model="account.journal" id="mobile_service_journal"> |
||||
|
<field name="name">Mobile Service</field> |
||||
|
<field name="type">sale</field> |
||||
|
<field name="code">SERV</field> |
||||
|
<field name="active">TRUE</field> |
||||
|
</record> |
||||
|
<record model="product.template" id="mobile_service_product"> |
||||
|
<field name="name">Mobile Service Charge</field> |
||||
|
<field name="type">service</field> |
||||
|
<field name="invoice_policy">order</field> |
||||
|
</record> |
||||
|
<record model="product.template" id="mobile_service_advance_product"> |
||||
|
<field name="name">Mobile Service Advance</field> |
||||
|
<field name="type">service</field> |
||||
|
<field name="invoice_policy">order</field> |
||||
|
</record> |
||||
|
|
||||
|
</data> |
||||
|
|
||||
|
</odoo> |
@ -0,0 +1,24 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
|
||||
|
<data noupdate="1"> |
||||
|
<!--Email template --> |
||||
|
<record id="email_template_mobile_service" model="mail.template"> |
||||
|
<field name="name">Service Status Email</field> |
||||
|
<field name="model_id" ref="mobile_service_shop.model_mobile_service"/> |
||||
|
<field name="email_from">${(object.user_id.email |safe}</field> |
||||
|
<field name="email_to" >${object.person_name.email |safe}</field> |
||||
|
<field name="subject">Ref ${object.name or 'n/a' }</field> |
||||
|
<field name="auto_delete" eval="True"/> |
||||
|
<field name="lang">${object.person_name.lang}</field> |
||||
|
<field name="body_html"><![CDATA[ |
||||
|
<p>Dear ${object.person_name.name},</p> |
||||
|
<p>Your service request for ${object.brand_name.brand_name or 'n/a' } (${object.model_name.mobile_brand_models or 'n/a' }) with reference no <b>${object.name or 'n/a' }</b> has been processed to <b>${object.service_state or 'n/a' }</b> stage.</p> |
||||
|
<p>If you have any questions, please let us know.</p> |
||||
|
<p>Best regards,</p>]]> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
</data> |
||||
|
|
||||
|
</odoo> |
@ -0,0 +1,6 @@ |
|||||
|
## Module <mobile_service_shop> |
||||
|
|
||||
|
#### 09.04.2019 |
||||
|
#### Version 12.0.1.0.0 |
||||
|
##### ADD |
||||
|
- Initial commit |
@ -0,0 +1,4 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
|
||||
|
from . import mobile_service |
||||
|
from . import service_ticket |
@ -0,0 +1,446 @@ |
|||||
|
from datetime import datetime, date, timedelta |
||||
|
from odoo import models, fields, api, _ |
||||
|
from odoo.exceptions import Warning, UserError |
||||
|
import pytz |
||||
|
|
||||
|
|
||||
|
class MobileServiceShop(models.Model): |
||||
|
|
||||
|
_name = 'mobile.service' |
||||
|
_rec_name = 'name' |
||||
|
_inherit = ['mail.thread', 'mail.activity.mixin'] |
||||
|
|
||||
|
name = fields.Char(string='Code', copy=False, default="New") |
||||
|
person_name = fields.Many2one('res.partner', string="Customer Name", required=True, |
||||
|
domain="[('customer','=','True')]") |
||||
|
contact_no = fields.Char(related='person_name.mobile', string="Contact Number") |
||||
|
email_id = fields.Char(related='person_name.email', string="Email") |
||||
|
|
||||
|
street = fields.Char(related='person_name.street', string="Address") |
||||
|
street2 = fields.Char(related='person_name.street2', string="Address") |
||||
|
city = fields.Char(related='person_name.city', string="Address") |
||||
|
state_id = fields.Many2one(related='person_name.state_id', string="Address") |
||||
|
zip = fields.Char(related='person_name.zip', string="Address") |
||||
|
country_id = fields.Many2one(related='person_name.country_id', string="Address") |
||||
|
|
||||
|
brand_name = fields.Many2one('mobile.brand', string="Mobile Brand", required=True) |
||||
|
is_in_warranty = fields.Boolean( |
||||
|
'In Warranty', default=False, |
||||
|
help="Specify if the product is in warranty.") |
||||
|
|
||||
|
warranty_number = fields.Char(string="Warranty No ", help="warranty details") |
||||
|
|
||||
|
re_repair = fields.Boolean( |
||||
|
'Re-repair', default=False, |
||||
|
help="Re-repairing.") |
||||
|
|
||||
|
imei_no = fields.Char(string="IMEI Number") |
||||
|
|
||||
|
model_name = fields.Many2one('brand.model', string="Model",required=True, domain="[('mobile_brand_name','=',brand_name)]") |
||||
|
image_medium = fields.Binary(related='model_name.image_medium', store=True, attachment=True) |
||||
|
date_request = fields.Date(string="Requested date", default=fields.Date.context_today) |
||||
|
return_date = fields.Date(string="Return date", required=True) |
||||
|
technicion_name = fields.Many2one('res.users', string="Technician Name", |
||||
|
default=lambda self: self.env.user, required=True) |
||||
|
service_state = fields.Selection([('draft', 'Draft'), ('assigned', 'Assigned'), |
||||
|
('completed', 'Completed'), ('returned', 'Returned'), |
||||
|
('not_solved', 'Not solved')], |
||||
|
string='Service Status', default='draft', track_visibility='always') |
||||
|
|
||||
|
complaints_tree = fields.One2many('mobile.complaint.tree', 'complaint_id', string='Complaints Tree') |
||||
|
|
||||
|
product_order_line = fields.One2many('product.order.line', 'product_order_id', string='Parts Order Lines') |
||||
|
|
||||
|
internal_notes = fields.Text(string="Internal notes") |
||||
|
invoice_count = fields.Integer(compute='_invoice_count', string='# Invoice', copy=False) |
||||
|
invoice_ids = fields.Many2many("account.invoice", string='Invoices', compute="_get_invoiced", readonly=True, copy=False) |
||||
|
|
||||
|
first_payment_inv = fields.Many2one('account.invoice', copy=False) |
||||
|
|
||||
|
first_invoice_created = fields.Boolean(string="First Invoice Created", invisible=True, copy=False) |
||||
|
|
||||
|
journal_type = fields.Many2one('account.journal', 'Journal', invisible=True, |
||||
|
default=lambda self: self.env['account.journal'].search([('code', '=', 'SERV')])) |
||||
|
account_type = fields.Many2one('account.account', 'Account', invisible=True, |
||||
|
default=lambda self: self.env['account.account'].search([('code', '=', 200110)])) |
||||
|
|
||||
|
@api.model |
||||
|
def _default_picking_transfer(self): |
||||
|
type_obj = self.env['stock.picking.type'] |
||||
|
company_id = self.env.context.get('company_id') or self.env.user.company_id.id |
||||
|
types = type_obj.search([('code', '=', 'outgoing'), ('warehouse_id.company_id', '=', company_id)], limit=1) |
||||
|
if not types: |
||||
|
types = type_obj.search([('code', '=', 'outgoing'), ('warehouse_id', '=', False)]) |
||||
|
return types[:4] |
||||
|
|
||||
|
stock_picking_id = fields.Many2one('stock.picking', string="Picking Id") |
||||
|
|
||||
|
picking_transfer_id = fields.Many2one('stock.picking.type', 'Deliver To', required=True, |
||||
|
default=_default_picking_transfer, |
||||
|
help="This will determine picking type of outgoing shipment") |
||||
|
|
||||
|
@api.onchange('return_date') |
||||
|
def check_date(self): |
||||
|
if self.return_date != False: |
||||
|
return_date_string = datetime.strptime(str(self.return_date), "%Y-%m-%d") |
||||
|
request_date_string = datetime.strptime(str(self.date_request), "%Y-%m-%d") |
||||
|
if return_date_string < request_date_string: |
||||
|
raise UserError("Return date should be greater than requested date") |
||||
|
|
||||
|
@api.multi |
||||
|
def approve(self): |
||||
|
self.service_state = 'assigned' |
||||
|
|
||||
|
@api.multi |
||||
|
def complete(self): |
||||
|
self.service_state = 'completed' |
||||
|
|
||||
|
@api.multi |
||||
|
def return_to(self): |
||||
|
self.service_state = 'returned' |
||||
|
|
||||
|
@api.multi |
||||
|
def not_solved(self): |
||||
|
self.service_state = 'not_solved' |
||||
|
|
||||
|
@api.multi |
||||
|
def action_send_mail(self): |
||||
|
''' |
||||
|
This function opens a window to compose an email, with the edi sale template message loaded by default |
||||
|
''' |
||||
|
self.ensure_one() |
||||
|
ir_model_data = self.env['ir.model.data'] |
||||
|
try: |
||||
|
template_id = ir_model_data.get_object_reference('mobile_service_shop', 'email_template_mobile_service')[1] |
||||
|
except ValueError: |
||||
|
template_id = False |
||||
|
try: |
||||
|
compose_form_id = ir_model_data.get_object_reference('mail', 'email_compose_message_wizard_form')[1] |
||||
|
except ValueError: |
||||
|
compose_form_id = False |
||||
|
ctx = { |
||||
|
'default_model': 'mobile.service', |
||||
|
'default_res_id': self.ids[0], |
||||
|
'default_use_template': bool(template_id), |
||||
|
'default_template_id': template_id, |
||||
|
'default_composition_mode': 'comment', |
||||
|
} |
||||
|
return { |
||||
|
'name': _('Compose Email'), |
||||
|
'type': 'ir.actions.act_window', |
||||
|
'view_type': 'form', |
||||
|
'view_mode': 'form', |
||||
|
'res_model': 'mail.compose.message', |
||||
|
'views': [(compose_form_id, 'form')], |
||||
|
'view_id': compose_form_id, |
||||
|
'target': 'new', |
||||
|
'context': ctx, |
||||
|
} |
||||
|
|
||||
|
@api.multi |
||||
|
def return_advance(self): |
||||
|
inv_obj = self.env['account.invoice'].search([('origin', '=', self.name)]) |
||||
|
inv_ids = [] |
||||
|
for each in inv_obj: |
||||
|
inv_ids.append(each.id) |
||||
|
view_id = self.env.ref('account.invoice_form').id |
||||
|
if inv_ids: |
||||
|
if len(inv_ids) <= 1: |
||||
|
value = { |
||||
|
'view_type': 'form', |
||||
|
'view_mode': 'form', |
||||
|
'res_model': 'account.invoice', |
||||
|
'view_id': view_id, |
||||
|
'type': 'ir.actions.act_window', |
||||
|
'name': 'Invoice', |
||||
|
'res_id': inv_ids and inv_ids[0] |
||||
|
} |
||||
|
else: |
||||
|
value = { |
||||
|
'domain': str([('id', 'in', inv_ids)]), |
||||
|
'view_type': 'form', |
||||
|
'view_mode': 'tree,form', |
||||
|
'res_model': 'account.invoice', |
||||
|
'view_id': False, |
||||
|
'type': 'ir.actions.act_window', |
||||
|
'name': 'Invoice', |
||||
|
'res_id': inv_ids |
||||
|
} |
||||
|
|
||||
|
return value |
||||
|
else: |
||||
|
raise UserError("No invoice created") |
||||
|
|
||||
|
@api.multi |
||||
|
def _invoice_count(self): |
||||
|
invoice_ids = self.env['account.invoice'].search([('origin', '=', self.name)]) |
||||
|
self.invoice_count = len(invoice_ids) |
||||
|
|
||||
|
@api.model |
||||
|
def create(self, vals): |
||||
|
vals['name'] = self.env['ir.sequence'].next_by_code('mobile.service') |
||||
|
vals['service_state'] = 'draft' |
||||
|
return super(MobileServiceShop, self).create(vals) |
||||
|
|
||||
|
@api.multi |
||||
|
def unlink(self): |
||||
|
for i in self: |
||||
|
if i.service_state != 'draft': |
||||
|
raise UserError(_('You cannot delete an assigned service request')) |
||||
|
return super(MobileServiceShop, i).unlink() |
||||
|
|
||||
|
@api.multi |
||||
|
def action_invoice_create_wizard(self): |
||||
|
|
||||
|
return { |
||||
|
'name': _('Create Invoice'), |
||||
|
'view_type': 'form', |
||||
|
'view_mode': 'form', |
||||
|
'res_model': 'mobile.invoice', |
||||
|
'type': 'ir.actions.act_window', |
||||
|
'target': 'new' |
||||
|
} |
||||
|
|
||||
|
@api.multi |
||||
|
def action_post_stock(self): |
||||
|
flag = 0 |
||||
|
for order in self.product_order_line: |
||||
|
if order.product_uom_qty > order.qty_stock_move: |
||||
|
flag = 1 |
||||
|
pick = { |
||||
|
'picking_type_id': self.picking_transfer_id.id, |
||||
|
'partner_id': self.person_name.id, |
||||
|
'origin': self.name, |
||||
|
'location_dest_id': self.person_name.property_stock_customer.id, |
||||
|
'location_id': self.picking_transfer_id.default_location_src_id.id, |
||||
|
} |
||||
|
|
||||
|
picking = self.env['stock.picking'].create(pick) |
||||
|
self.stock_picking_id = picking.id |
||||
|
self.picking_count = len(picking) |
||||
|
moves = order.filtered( |
||||
|
lambda r: r.product_id.type in ['product', 'consu'])._create_stock_moves_transfer(picking) |
||||
|
move_ids = moves._action_confirm() |
||||
|
move_ids._action_assign() |
||||
|
if order.product_uom_qty < order.qty_stock_move: |
||||
|
raise UserError(_('Used quantity is less than quantity stock move posted. ')) |
||||
|
if flag != 1: |
||||
|
raise UserError(_('Nothing to post stock move')) |
||||
|
|
||||
|
@api.multi |
||||
|
def action_view_invoice(self): |
||||
|
inv_obj = self.env['account.invoice'].search([('origin', '=', self.name)]) |
||||
|
inv_ids = [] |
||||
|
for each in inv_obj: |
||||
|
inv_ids.append(each.id) |
||||
|
view_id = self.env.ref('account.invoice_form').id |
||||
|
|
||||
|
if inv_ids: |
||||
|
if len(inv_ids) <= 1: |
||||
|
value = { |
||||
|
'view_type': 'form', |
||||
|
'view_mode': 'form', |
||||
|
'res_model': 'account.invoice', |
||||
|
'view_id': view_id, |
||||
|
'type': 'ir.actions.act_window', |
||||
|
'name': 'Invoice', |
||||
|
'res_id': inv_ids and inv_ids[0] |
||||
|
} |
||||
|
else: |
||||
|
value = { |
||||
|
'domain': str([('id', 'in', inv_ids)]), |
||||
|
'view_type': 'form', |
||||
|
'view_mode': 'tree,form', |
||||
|
'res_model': 'account.invoice', |
||||
|
'view_id': False, |
||||
|
'type': 'ir.actions.act_window', |
||||
|
'name': 'Invoice', |
||||
|
'res_id': inv_ids |
||||
|
} |
||||
|
|
||||
|
return value |
||||
|
|
||||
|
@api.multi |
||||
|
def get_ticket(self): |
||||
|
self.ensure_one() |
||||
|
user = self.env['res.users'].browse(self.env.uid) |
||||
|
if user.tz: |
||||
|
tz = pytz.timezone(user.tz) |
||||
|
time = pytz.utc.localize(datetime.now()).astimezone(tz) |
||||
|
date_today = time.strftime("%Y-%m-%d %H:%M %p") |
||||
|
else: |
||||
|
date_today = datetime.strftime(datetime.now(), "%Y-%m-%d %I:%M:%S %p") |
||||
|
complaint_text = "" |
||||
|
description_text = "" |
||||
|
complaint_id = self.env['mobile.complaint.tree'].search([('complaint_id', '=', self.id)]) |
||||
|
if complaint_id: |
||||
|
for obj in complaint_id: |
||||
|
complaint = obj.complaint_type_tree |
||||
|
description = obj.description_tree |
||||
|
complaint_text = complaint.complaint_type + ", " + complaint_text |
||||
|
if description.description: |
||||
|
description_text = description.description + ", " + description_text |
||||
|
else: |
||||
|
for obj in complaint_id: |
||||
|
complaint = obj.complaint_type_tree |
||||
|
complaint_text = complaint.complaint_type + ", " + complaint_text |
||||
|
data = { |
||||
|
'ids': self.ids, |
||||
|
'model': self._name, |
||||
|
'date_today': date_today, |
||||
|
'date_request': self.date_request, |
||||
|
'date_return': self.return_date, |
||||
|
'sev_id': self.name, |
||||
|
'warranty': self.is_in_warranty, |
||||
|
'customer_name': self.person_name.name, |
||||
|
'imei_no': self.imei_no, |
||||
|
'technician': self.technicion_name.name, |
||||
|
'complaint_types': complaint_text, |
||||
|
'complaint_description': description_text, |
||||
|
'mobile_brand': self.brand_name.brand_name, |
||||
|
'model_name': self.model_name.mobile_brand_models, |
||||
|
|
||||
|
|
||||
|
} |
||||
|
return self.env.ref('mobile_service_shop.mobile_service_ticket').report_action(self, data=data) |
||||
|
|
||||
|
|
||||
|
class MobileBrand(models.Model): |
||||
|
|
||||
|
_name = 'mobile.brand' |
||||
|
_rec_name = 'brand_name' |
||||
|
|
||||
|
brand_name = fields.Char(string="Mobile Brand", required=True) |
||||
|
|
||||
|
|
||||
|
class MobileComplaintType(models.Model): |
||||
|
|
||||
|
_name = 'mobile.complaint' |
||||
|
_rec_name = 'complaint_type' |
||||
|
|
||||
|
complaint_type = fields.Char(string="Complaint Type", required=True) |
||||
|
|
||||
|
|
||||
|
class MobileComplaintTypeTemplate(models.Model): |
||||
|
|
||||
|
_name = 'mobile.complaint.description' |
||||
|
_rec_name = 'description' |
||||
|
|
||||
|
complaint_type_template = fields.Many2one('mobile.complaint', string="Complaint Type Template", required=True) |
||||
|
description = fields.Text(string="Complaint Description") |
||||
|
|
||||
|
|
||||
|
class MobileComplaintTree(models.Model): |
||||
|
|
||||
|
_name = 'mobile.complaint.tree' |
||||
|
_rec_name = 'complaint_type_tree' |
||||
|
|
||||
|
complaint_id = fields.Many2one('mobile.service') |
||||
|
|
||||
|
complaint_type_tree = fields.Many2one('mobile.complaint', string="Category", required=True) |
||||
|
description_tree = fields.Many2one('mobile.complaint.description', string="Description", |
||||
|
domain="[('complaint_type_template','=',complaint_type_tree)]") |
||||
|
|
||||
|
|
||||
|
class MobileBrandModels(models.Model): |
||||
|
|
||||
|
_name = 'brand.model' |
||||
|
_rec_name = 'mobile_brand_models' |
||||
|
|
||||
|
mobile_brand_name = fields.Many2one('mobile.brand', string="Mobile Brand", required=True) |
||||
|
mobile_brand_models = fields.Char(string="Model Name", required=True) |
||||
|
image_medium = fields.Binary(string='image', store=True, attachment=True) |
||||
|
|
||||
|
|
||||
|
class MobileServiceTermsAndConditions(models.Model): |
||||
|
|
||||
|
_name = 'terms.conditions' |
||||
|
_rec_name = 'terms_id' |
||||
|
|
||||
|
terms_id = fields.Char(String="Terms and condition", compute="_find_id") |
||||
|
terms_conditions = fields.Text(string="Terms and Conditions") |
||||
|
|
||||
|
def _find_id(self): |
||||
|
self.terms_id = self.id or '' |
||||
|
|
||||
|
|
||||
|
class ProductProduct(models.Model): |
||||
|
_inherit = 'product.template' |
||||
|
|
||||
|
is_a_parts = fields.Boolean( |
||||
|
'Is a Mobile Part', default=False, |
||||
|
help="Specify if the product is a mobile part or not.") |
||||
|
|
||||
|
brand_name = fields.Many2one('mobile.brand', String="Brand", help="Select a mobile brand for the part") |
||||
|
model_name = fields.Many2one('brand.model', String="Model Name", domain="[('mobile_brand_name','=',brand_name)]", |
||||
|
help="Select a model for the part") |
||||
|
model_colour = fields.Char(string="Colour", help="colour for the part") |
||||
|
extra_descriptions = fields.Text(string="Note") |
||||
|
|
||||
|
|
||||
|
class ProductOrderLine(models.Model): |
||||
|
_name = 'product.order.line' |
||||
|
|
||||
|
product_order_id = fields.Many2one('mobile.service') |
||||
|
|
||||
|
product_id = fields.Many2one('product.product', string='Product', |
||||
|
domain="[('is_a_parts','=', True)]") |
||||
|
product_uom_qty = fields.Float(string='Used Quantity', default=1.0) |
||||
|
price_unit = fields.Float(string='Unit Price', default=0.0) |
||||
|
qty_invoiced = fields.Float(string='Invoiced qty', readonly=True) |
||||
|
qty_stock_move = fields.Float(string='Stock Move Posted Qty', readonly=True) |
||||
|
part_price = fields.Char(compute='_compute_amount', string='Price', readonly=True, store=True) |
||||
|
product_uom = fields.Char(string='Unit of Measure') |
||||
|
|
||||
|
@api.onchange('product_id') |
||||
|
def change_prod(self): |
||||
|
self.ensure_one() |
||||
|
if self.product_id: |
||||
|
product_template_obj = self.product_id.product_tmpl_id |
||||
|
self.price_unit = product_template_obj.list_price |
||||
|
self.product_uom = product_template_obj.uom_id.name |
||||
|
|
||||
|
@api.depends('product_uom_qty', 'product_id') |
||||
|
def _compute_amount(self): |
||||
|
""" |
||||
|
Compute the amount |
||||
|
""" |
||||
|
for line in self: |
||||
|
price = line.price_unit * line.product_uom_qty |
||||
|
|
||||
|
line.update({ |
||||
|
'part_price': price, |
||||
|
}) |
||||
|
|
||||
|
def _create_stock_moves_transfer(self, picking): |
||||
|
moves = self.env['stock.move'] |
||||
|
done = self.env['stock.move'].browse() |
||||
|
if self.product_id.product_tmpl_id.type != 'service': |
||||
|
price_unit = self.price_unit |
||||
|
template = { |
||||
|
'name': self.product_id.product_tmpl_id.name or '', |
||||
|
'product_id': self.product_id.id, |
||||
|
'product_uom': self.product_id.product_tmpl_id.uom_id.id, |
||||
|
'location_id': picking.picking_type_id.default_location_src_id.id, |
||||
|
'location_dest_id': self.product_order_id.person_name.property_stock_customer.id, |
||||
|
'picking_id': picking.id, |
||||
|
'move_dest_id': False, |
||||
|
'state': 'draft', |
||||
|
'company_id': self.product_order_id.account_type.company_id.id, |
||||
|
'price_unit': price_unit, |
||||
|
'picking_type_id': picking.picking_type_id.id, |
||||
|
'procurement_id': False, |
||||
|
'route_ids': 1 and [ |
||||
|
(6, 0, [x.id for x in self.env['stock.location.route'].search([('id', 'in', (2, 3))])])] or [], |
||||
|
'warehouse_id': picking.picking_type_id.warehouse_id.id, |
||||
|
} |
||||
|
qty = self.product_uom_qty - self.qty_stock_move |
||||
|
diff_quantity = qty |
||||
|
tmp = template.copy() |
||||
|
tmp.update({ |
||||
|
'product_uom_qty': diff_quantity, |
||||
|
}) |
||||
|
template['product_uom_qty'] = diff_quantity |
||||
|
done += moves.create(template) |
||||
|
self.qty_stock_move = self.qty_stock_move + qty |
||||
|
return done |
@ -0,0 +1,26 @@ |
|||||
|
from odoo import models, api |
||||
|
|
||||
|
|
||||
|
class StockMoveReport(models.AbstractModel): |
||||
|
|
||||
|
_name = 'report.mobile_service_shop.mobile_service_ticket_template' |
||||
|
|
||||
|
@api.model |
||||
|
def _get_report_values(self, docids, data): |
||||
|
terms = self.env['terms.conditions'].search([]) |
||||
|
return { |
||||
|
'date_today': data['date_today'], |
||||
|
'date_request': data['date_request'], |
||||
|
'date_return': data['date_return'], |
||||
|
'sev_id': data['sev_id'], |
||||
|
'imei_no': data['imei_no'], |
||||
|
'technician': data['technician'], |
||||
|
'complaint_types': data['complaint_types'], |
||||
|
'complaint_description': data['complaint_description'], |
||||
|
'mobile_brand': data['mobile_brand'], |
||||
|
'model_name': data['model_name'], |
||||
|
'customer_name': data['customer_name'], |
||||
|
'warranty': data['warranty'], |
||||
|
'terms': terms, |
||||
|
} |
||||
|
|
@ -0,0 +1,12 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<odoo> |
||||
|
<report |
||||
|
id="mobile_service_ticket" |
||||
|
model="mobile.service" |
||||
|
string="Mobile Service Ticket" |
||||
|
report_type="qweb-pdf" |
||||
|
name="mobile_service_shop.mobile_service_ticket_template" |
||||
|
file="mobile_service_shop.mobile_service_ticket_template" |
||||
|
menu="False" |
||||
|
/> |
||||
|
</odoo> |
@ -0,0 +1,83 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
|
||||
|
<template id="mobile_service_ticket_template"> |
||||
|
<t t-call="web.external_layout"> |
||||
|
<t t-call="web.html_container"> |
||||
|
<div class="row"> |
||||
|
<br/> |
||||
|
<div style="margin-bottom:30px; text-align:center;margin-left:35%;margin-top:2%;"> |
||||
|
<h2>Service Ticket</h2> |
||||
|
</div> |
||||
|
<div class="col-xs-6" style="margin-top:10%; margin-left:-55%;"> |
||||
|
<table style="width:100%;"> |
||||
|
<tbody style="line-height:2"> |
||||
|
<tr> |
||||
|
<td><strong>Ref no</strong></td><td style="padding-left:15%;">:</td> |
||||
|
<td style="padding-left:2%;"><strong><span style="font-size:16px; font-weight:2px;" t-esc="sev_id"/></strong></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td> <strong>Customer name</strong></td><td style="padding-left:15%;">:</td> |
||||
|
<td style="padding-left:2%;"><span t-esc="customer_name"/></td> |
||||
|
</tr> |
||||
|
</tbody> |
||||
|
</table> |
||||
|
</div> |
||||
|
<div class="col-xs-6" style="margin-top:10%; margin-left:15%;"> |
||||
|
<table style="width:100%;"> |
||||
|
<tbody style="line-height:2"> |
||||
|
<tr> |
||||
|
<td style="margin-right:10%;"><strong>Requested date</strong></td><td style="padding-left:15%;">:</td> |
||||
|
<td style="padding-left:2%;"> <span t-esc="date_request"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td style="margin-right:10%;"><strong>Return date</strong></td><td style="padding-left:15%;">:</td> |
||||
|
<td style="padding-left:2%;"><span t-esc="date_return"/></td> |
||||
|
</tr> |
||||
|
|
||||
|
</tbody> |
||||
|
</table> |
||||
|
</div> |
||||
|
<div class="col-xs-12" style="margin-top:20%;margin-left:-73%;"><h4>Device details</h4></div> |
||||
|
<table style="margin-top:25%;margin-left:-23%;width:95%;border:1px solid black;line-height:2;text-align:center;"> |
||||
|
<thead style="background-color:#c9cacc;font-size:15px;"> |
||||
|
<tr> |
||||
|
<td>Sl no.</td> |
||||
|
<td>Device brand</td> |
||||
|
<td>Model name</td> |
||||
|
<td>IMEI</td> |
||||
|
<td>Complaints</td> |
||||
|
<td>Description</td> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
<tr> |
||||
|
<td>1</td> |
||||
|
<td><t t-esc="mobile_brand"/></td> |
||||
|
<td><t t-esc="model_name"/></td> |
||||
|
<td><t t-esc="imei_no"/></td> |
||||
|
<td><t t-esc="complaint_types"/></td> |
||||
|
<td><t t-esc="complaint_description"/></td> |
||||
|
</tr> |
||||
|
</tbody> |
||||
|
</table> |
||||
|
</div> |
||||
|
<div style="margin-top:10px;"> |
||||
|
<t t-if="warranty==True"> |
||||
|
<span>The device is in warranty range !!</span> |
||||
|
</t> |
||||
|
</div> |
||||
|
<div style="margin-top:30px;"> |
||||
|
<h5><strong>Terms and Conditions</strong></h5> |
||||
|
<t t-foreach="terms" t-as="term"> |
||||
|
<span><t t-esc="term.terms_conditions"/><br/></span> |
||||
|
</t> |
||||
|
</div> |
||||
|
<div style="margin-top:200px;"> |
||||
|
<span>Keep this ticket safely for future reference.</span><br/> |
||||
|
<span>Issue Date :</span> <t t-esc="date_today"/> |
||||
|
</div> |
||||
|
</t> |
||||
|
</t> |
||||
|
</template> |
||||
|
</odoo> |
|
@ -0,0 +1,36 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<odoo> |
||||
|
|
||||
|
<record id="mobile_service_execute" model="ir.module.category"> |
||||
|
<field name="name">Mobile Service</field> |
||||
|
<field name="sequence">5</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_service_group_executer" model="res.groups"> |
||||
|
<field name="name">Mobile Technician</field> |
||||
|
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/> |
||||
|
<field name="category_id" ref="mobile_service_execute"/> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_service_group_manager" model="res.groups"> |
||||
|
<field name="name">Manager</field> |
||||
|
<field name="implied_ids" eval="[(4, ref('mobile_service_group_executer'))]"/> |
||||
|
<field name="category_id" ref="mobile_service_execute"/> |
||||
|
<field name="users" eval="[(4, ref('base.user_admin')), (4, ref('base.user_root'))]"/> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_service_tech_rules" model="ir.rule"> |
||||
|
<field name="name">Mobile Service rule</field> |
||||
|
<field name="model_id" ref="model_mobile_service" /> |
||||
|
<field name="domain_force">[('technicion_name','=',user.id),('service_state','!=','draft')]</field> |
||||
|
<field name="groups" eval="[(4,ref('mobile_service_group_executer'))]"/> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_service_rule_manager" model="ir.rule"> |
||||
|
<field name="name">Mobile Service Manager rule</field> |
||||
|
<field name="model_id" ref="model_mobile_service" /> |
||||
|
<field name="domain_force">[]</field> |
||||
|
<field name="groups" eval="[(4,ref('mobile_service_group_manager'))]"/> |
||||
|
</record> |
||||
|
|
||||
|
</odoo> |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 18 KiB |
@ -0,0 +1,542 @@ |
|||||
|
|
||||
|
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-header-banner.png);background-repeat:no-repeat;background-size:100%;padding: 4% 0% 2% 15%;background-position-y: -107px;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="font-size: 35px;color: #fff;font-weight: 900;text-transform: uppercase;text-align: left;margin: 0;margin-bottom: 16px;"> |
||||
|
Mobile Service Manager |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="font-size: 25px;color: #fff;font-weight: 600;text-align: left;opacity: 1;margin: 0 !important;"> |
||||
|
This module helps in managing mobile service shop daily activities. |
||||
|
</h3> |
||||
|
<h5 class="oe_slogan" style="text-align: left;background: #fff;width: 293px;padding: 10px;color: #080808 !important;opacity: 1 !important;font-weight: 600;font-size: 20px;"> |
||||
|
<a style="color: #080808 !important;" href="https://www.cybrosys.com" target="_blank">Cybrosys Technologies</a> |
||||
|
</h5> |
||||
|
<a style="color: #080808 !important;" href="https://www.cybrosys.com" target="_blank"> |
||||
|
<div style="width: 215px;margin-left: 57%;text-align: center;background: #ffffff;height: 215px;border-radius: 100%;display: flex;justify-content: center;align-items: center;box-shadow: 0 0 12px 4px #00000059;"> |
||||
|
<img src="https://www.cybrosys.com/images/cybro-logo-oca.png" alt="cybrosys technologies" style="width: 180px;"/> </div> |
||||
|
</a> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container" style="padding: 3% 0% 3% 15%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Overview |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
This module is an application for Mobile Service shop which helps in managing the daily activities inside a service center. |
||||
|
This module is integrated with accounting and inventory modules.This module has a feature for adding complaint templates |
||||
|
which makes it user-friendly application. It helps in generating service tickets also. |
||||
|
</h3> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Access Rights |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
<strong>Manager</strong> :- Manager has the complete access across mobile shop management <br/> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
<strong>Mobile Technician</strong> :- Mobile Technician can read and write service requests and also update the parts usage. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-banner.png); background-repeat:no-repeat; background-size:cover;padding: 10% 0% 10% 15%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Features |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Service request creation. |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Assigning service request to technicians. </h3><h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Mobile service ticket generation. |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Service status tracking..</h3> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Integrated with accounting and sales module. </h3> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Access Rights From Multiple Level. </h3> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Mobile complaint templates.</h3> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Invoice for parts usage and service charges. </h3> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Email notifications to customer. </h3> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Parts inventory. </h3> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Flexible for further customization. </h3> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="oe_container" style="padding: 3% 0% 0% 15%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Mobile Service Shop |
||||
|
</h2> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
When you install the module, an extra menu named Mobile Service is created. |
||||
|
Here you can see service requests and configure your mobile service shop. |
||||
|
</h3> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop1.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h4>Mobile Service -> Service Request -> Create</h4> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
This is the service request creation form. Service request can be create according to the device brand and model. |
||||
|
Also we can assign the service request a technician and provide warranty details, customer details, IMEI no, |
||||
|
request and return dates etc.... |
||||
|
</h3> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop2.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Service Tickets |
||||
|
</h2> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h4>Generating tickets for service request.</h4> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Here you can create tickets for service requests by using the 'Print Ticket' button. |
||||
|
</h3> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop16.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Service ticket will be generated as follows, |
||||
|
</h3> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop4.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Parts Inventory |
||||
|
</h2> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h4>Mobile parts inventory</h4> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Here you see the mobile parts used for service processing. |
||||
|
</h3> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop18.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Product will be only visible in the parts inventory if 'is a mobile part' is checked. |
||||
|
<br>You can provide a brand, model and colour details from here. |
||||
|
</h3> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop17.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Service Invoice |
||||
|
</h2> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h4>Invoice for service requests</h4> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Here you can create invoices for service requests. |
||||
|
</h3> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop14.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Invoice can be created based on advance or full amount. |
||||
|
</h3> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop5.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
The parts used during the service process will be automatically added to invoice line. |
||||
|
</h3> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop6.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Post Stock moves |
||||
|
</h2> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
No need to create stock moves for parts usage manually. 'Post Stock Moves' will generate stock for the parts usage. |
||||
|
</h3> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop15.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Email Notification |
||||
|
</h2> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
The system will send email notification to the customer for each stage in the service request.</br> |
||||
|
<br><I>Note:- You should configure outgoing and incoming e-mail settings from your odoo for email service.</I> |
||||
|
</h3> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop7.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
|
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Brands Configuration |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Create mobile brands which is used in service request creation. |
||||
|
<br> <strong> Mobile Service -> Configuration -> Brands</strong> |
||||
|
</h3> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop8.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Models Configuration |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
You can also create models for different mobile brands from |
||||
|
<br><strong>Mobile Service -> Configuration -> Models</strong> |
||||
|
</h3> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop9.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Complaint Types |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
You can create different complaint types from |
||||
|
<br><strong>Mobile Service -> Configuration -> Complaint Types</strong> |
||||
|
</h3> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop10.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Complaint Templates |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Complaint Templates can be created from |
||||
|
<br><strong>Mobile Service -> Configuration -> Complaint Types</strong> |
||||
|
</h3> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop11.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
You can select different complaint templates from the 'Complaints' page while creating service requests. |
||||
|
</h3> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop12.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Terms and conditions |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 1% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Terms and conditions for service request can be added from, |
||||
|
<br><strong>Mobile Service -> Configuration -> Terms and Conditions</strong> |
||||
|
which will be added to the service tickets. |
||||
|
</h3> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="mobile-service-shop13.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container" style="padding: 7px 0% 0% 3%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<a style="color: #080808 !important;" href="https://apps.odoo.com/apps/modules/browse?search=cybrosys" target="_blank"><img src="https://www.cybrosys.com/images/view-more-apps.jpg" alt="cybrosys technologies" style="width: 100%;margin-bottom: 50px;"/></a> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="oe_container" style="padding: 1% 0% 0% 3%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Our Services |
||||
|
</h2> |
||||
|
<div style="display:flex;padding-top: 20px;justify-content: space-between;"> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-customization.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"> |
||||
|
Odoo Customization |
||||
|
</a> |
||||
|
</h3> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-erp-implementation.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"> |
||||
|
Odoo Implementation </a> |
||||
|
</h3> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-erp-integration.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"> |
||||
|
Odoo Integration |
||||
|
</a> |
||||
|
</h3> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-erp-support.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"> |
||||
|
Odoo Support</a> |
||||
|
</h3> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/hire-odoo-developer.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"> |
||||
|
Hire Odoo Developers</a> |
||||
|
</h3> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="oe_container" style="padding: 1% 0% 0% 3%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Our Industries |
||||
|
</h2> |
||||
|
<div style="display:flex;justify-content: space-between;flex-wrap:wrap;"> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-1.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"> |
||||
|
Trading |
||||
|
</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Easily procure and sell your products. |
||||
|
</h3> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-2.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" target="_blank"> |
||||
|
Manufacturing</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Plan, track and schedule your operations. |
||||
|
</h3> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-3.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank"> |
||||
|
Restaurant</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Run your bar or restaurant methodical. |
||||
|
</h3> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-4.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"> |
||||
|
POS</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Easy configuring and convivial selling. |
||||
|
</h3> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-5.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 0px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"> |
||||
|
E-commerce & Website</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Mobile friendly, awe-inspiring product pages. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-6.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank"> |
||||
|
Hotel Management</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
An all-inclusive hotel management application. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-7.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank"> |
||||
|
Education</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
A Collaborative platform for educational management. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-8.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"> |
||||
|
Service Management</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Keep track of services and invoice accordingly. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-footer-bg.png); background-repeat:no-repeat; background-size:100%;padding: 13% 0% 6% 0%;"> |
||||
|
<div class="oe_slogan" style="margin-top:10px !important;margin-bottom: 0px;"> |
||||
|
<div> |
||||
|
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="mailto:odoo@cybrosys.com"><i class="fa fa-envelope"></i> Email us </a> |
||||
|
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="https://www.cybrosys.com/contact/"><i class="fa fa-phone"></i> Contact Us </a> |
||||
|
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="https://www.cybrosys.com/contact/"><i class="fa fa-check-square"></i> Request Customization </a> |
||||
|
</div> |
||||
|
<br> |
||||
|
<img src="https://www.cybrosys.com/images/logo.png" style="width: 190px; margin-bottom: 25px;margin-top: 30px;" class="center-block"> |
||||
|
<div> |
||||
|
<a href="https://twitter.com/cybrosys" target="_blank"><i class="fa fa-2x fa-twitter" style="color:white;background: #00a0d1;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
<a href="https://www.linkedin.com/company/cybrosys-technologies-pvt-ltd" target="_blank"><i class="fa fa-2x fa-linkedin" style="color:white;background: #31a3d6;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
<a href="https://www.facebook.com/cybrosystechnologies" target="_blank"><i class="fa fa-2x fa-facebook" style="color:white;background: #3b5998;width:35px; ;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
<a href="https://plus.google.com/106641282743045431892/about" target="_blank"><i class="fa fa-2x fa-google-plus" style="color:white;background: #c53c2c;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
<a href="https://in.pinterest.com/cybrosys" target="_blank"><i class="fa fa-2x fa-pinterest" style="color:white;background: #ac0f18;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
After Width: | Height: | Size: 158 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 98 KiB |
After Width: | Height: | Size: 193 KiB |
After Width: | Height: | Size: 91 KiB |
After Width: | Height: | Size: 148 KiB |
After Width: | Height: | Size: 191 KiB |
After Width: | Height: | Size: 192 KiB |
After Width: | Height: | Size: 115 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 175 KiB |
After Width: | Height: | Size: 116 KiB |
After Width: | Height: | Size: 94 KiB |
After Width: | Height: | Size: 115 KiB |
After Width: | Height: | Size: 198 KiB |
After Width: | Height: | Size: 121 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 224 KiB |
After Width: | Height: | Size: 5.7 KiB |
@ -0,0 +1,594 @@ |
|||||
|
<odoo> |
||||
|
<data> |
||||
|
<template id="assets_backend" inherit_id="web.assets_backend"> |
||||
|
<xpath expr="." position="inside"> |
||||
|
<style> |
||||
|
.Your_custom_class { height: 80px; width: 80px; overflow:hidden;} |
||||
|
.openerp .oe_form .oe_form_field_image img { max-width:80px; max-height: 80px; } |
||||
|
</style> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
|
||||
|
<record id="mobile_service_sequence" model="ir.sequence"> |
||||
|
<field name="name">Service Code</field> |
||||
|
<field name="code">mobile.service</field> |
||||
|
<field name="prefix">SERV/</field> |
||||
|
<field eval="4" name="padding" /> |
||||
|
<field eval="False" name="mobile_brand_models"/> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_service_request_search_view" model="ir.ui.view"> |
||||
|
<field name="name">service.request.search1</field> |
||||
|
<field name="model">mobile.service</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<search string="Search in requests"> |
||||
|
<field name="person_name"/> |
||||
|
<field name="contact_no"/> |
||||
|
<field name="technicion_name"/> |
||||
|
<field name="imei_no"/> |
||||
|
<field name="return_date"/> |
||||
|
<field name="service_state"/> |
||||
|
|
||||
|
<filter string="Returned" name="Service Status" domain="[('service_state', '=', 'returned')]" /> |
||||
|
<filter string="Draft" name="Service Status" domain="[('service_state', '=', 'draft')]" /> |
||||
|
<filter string="Not Solved" name="Service Status" domain="[('service_state', '=', 'not_solved')]" /> |
||||
|
|
||||
|
<separator/> |
||||
|
<group expand="0" string="Group By"> |
||||
|
<filter string="Service State" name="service_state" domain="[]" context="{'group_by': 'service_state'}"/> |
||||
|
<filter string="Technician" name="technician" domain="[]" context="{'group_by': 'technicion_name'}"/> |
||||
|
</group> |
||||
|
</search> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_service_request_form_view" model="ir.ui.view"> |
||||
|
<field name="name">mobile.service.request.form</field> |
||||
|
<field name="model">mobile.service</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form string="Mobile Shop"> |
||||
|
<header> |
||||
|
<button string="Assign to technician" type="object" name="approve" |
||||
|
class="oe_highlight" |
||||
|
attrs="{'invisible': [('service_state','not in',('draft'))]}" |
||||
|
groups="mobile_service_shop.mobile_service_group_manager"/> |
||||
|
<button string="Completed" type="object" name="complete" |
||||
|
class="oe_highlight" |
||||
|
attrs="{'invisible': [('service_state','not in',('assigned'))]}"/> |
||||
|
|
||||
|
<button string="Return advance" type="object" name="return_advance" |
||||
|
class="oe_highlight" |
||||
|
attrs="{'invisible': [('service_state','not in',('not_solved'))]}" |
||||
|
groups="mobile_service_shop.mobile_service_group_manager"/> |
||||
|
|
||||
|
<button name="action_invoice_create_wizard" string="Create Invoice" |
||||
|
attrs="{'invisible': [('service_state','not in',('completed', 'assigned'))]}" |
||||
|
type="object" class="oe_highlight" groups="mobile_service_shop.mobile_service_group_manager"/> |
||||
|
|
||||
|
<button name="action_post_stock" string="Post Stock moves" |
||||
|
attrs="{'invisible': [('service_state','not in',('completed', 'assigned'))]}" |
||||
|
type="object" class="oe_highlight" groups="mobile_service_shop.mobile_service_group_manager"/> |
||||
|
|
||||
|
<button string="Return to customer" type="object" name="return_to" |
||||
|
attrs="{'invisible': [('service_state','not in',('completed'))]}" |
||||
|
groups="mobile_service_shop.mobile_service_group_manager"/> |
||||
|
|
||||
|
<button string="Not Solved" type="object" name="not_solved" |
||||
|
attrs="{'invisible': [('service_state','not in',('assigned'))]}"/> |
||||
|
|
||||
|
<button name="get_ticket" string="Print Ticket" type="object" class="oe_highlight" |
||||
|
groups="mobile_service_shop.mobile_service_group_manager"/> |
||||
|
|
||||
|
<button name="action_send_mail" string="Send email" type="object" |
||||
|
attrs="{'invisible': [('service_state','=',('draft'))]}" |
||||
|
groups="mobile_service_shop.mobile_service_group_manager"/> |
||||
|
|
||||
|
|
||||
|
<field name="service_state" widget="statusbar" statusbar_visible="draft,returned,not_solved"/> |
||||
|
</header> |
||||
|
<sheet> |
||||
|
<div class="oe_right oe_button_box" style="width: 300px;" name="buttons"> |
||||
|
|
||||
|
<button name='action_view_invoice' class="oe_stat_button" type="object" icon="fa-money" |
||||
|
attrs="{'invisible': [('service_state','=',('draft'))]}"> |
||||
|
<field string="Invoice" name="invoice_count" widget="statinfo" /> |
||||
|
</button> |
||||
|
</div> |
||||
|
<div class="oe_title"> |
||||
|
<h1> |
||||
|
<field name="name" readonly="1"/> |
||||
|
</h1> |
||||
|
</div> |
||||
|
<group> |
||||
|
<div> |
||||
|
<field name="is_in_warranty" attrs="{'readonly': [('service_state','in',('returned','not_solved'))]}"/> |
||||
|
<label for="is_in_warranty"/> |
||||
|
<field name="re_repair" attrs="{'readonly': [('service_state','in',('returned','not_solved'))]}"/> |
||||
|
<label for="re_repair"/> |
||||
|
</div> |
||||
|
</group> |
||||
|
|
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="person_name" style="width:50%;" attrs="{'readonly': [('service_state','not in',('draft'))]}"/> |
||||
|
<field name="contact_no" style="width:50%;" attrs="{'readonly': [('service_state','in',('returned','not_solved'))]}"/> |
||||
|
<field name="email_id" style="width:50%;" attrs="{'readonly': [('service_state','in',('returned','not_solved'))]}"/> |
||||
|
<label for="street" string="Address"/> |
||||
|
<div class="o_address_format"> |
||||
|
<field name="street" placeholder="Street..." class="o_address_street"/> |
||||
|
<field name="street2" placeholder="Street 2..." class="o_address_street"/> |
||||
|
<field name="city" placeholder="City" class="o_address_city"/> |
||||
|
<field name="state_id" class="o_address_state" placeholder="State" options='{"no_open": True}'/> |
||||
|
<field name="zip" placeholder="ZIP" class="o_address_zip"/> |
||||
|
<field name="country_id" placeholder="Country" class="o_address_country" |
||||
|
options='{"no_open": True, "no_create": True}'/> |
||||
|
</div> |
||||
|
</group> |
||||
|
<group> |
||||
|
<label for="brand_name"/> |
||||
|
<div class="o_row"> |
||||
|
<field name="brand_name" placeholder="Brand name" attrs="{'readonly': [('service_state','not in',('draft'))]}"/> |
||||
|
<field name="model_name" placeholder="Model name" attrs="{'readonly': [('service_state','not in',('draft'))]}"/> |
||||
|
</div> |
||||
|
<field name="date_request" style="width:50%;" attrs="{'readonly': [('service_state','not in',('draft'))]}"/> |
||||
|
<field name="return_date" style="width:50%;" attrs="{'readonly': [('service_state','in',('returned','not_solved'))]}"/> |
||||
|
<field name="technicion_name" style="width:50%;" attrs="{'readonly': [('service_state','not in',('draft'))]}"/> |
||||
|
</group> |
||||
|
|
||||
|
</group> |
||||
|
<notebook> |
||||
|
<page string="Description"> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="imei_no" style="width:50%;" colspan="1" attrs="{'readonly': [('service_state','not in',('draft'))]}"/> |
||||
|
<field name="warranty_number" style="width:50%;" attrs="{'readonly': [('service_state','not in',('draft'))], |
||||
|
'required': [('is_in_warranty', '=', True)], 'invisible': [('is_in_warranty', '!=', True)]}"/> |
||||
|
</group> |
||||
|
<group> |
||||
|
<field name="internal_notes" placeholder="Notes used internally (eg: device password)" attrs="{'readonly': [('service_state','in',('returned','not_solved'))]}" /> |
||||
|
</group> |
||||
|
</group> |
||||
|
</page> |
||||
|
<page string="Complaints"> |
||||
|
<field name="complaints_tree" mode="tree" attrs="{'readonly': [('service_state','in',('returned','not_solved'))]}"> |
||||
|
<tree string="Complaints" editable="bottom"> |
||||
|
<field name="complaint_type_tree"/> |
||||
|
<field name="description_tree"/> |
||||
|
</tree> |
||||
|
<form> |
||||
|
<field name="complaint_type_tree"/> |
||||
|
<field name="description_tree"/> |
||||
|
</form> |
||||
|
</field> |
||||
|
</page> |
||||
|
<page string="Parts Usage"> |
||||
|
<field name="product_order_line" mode="tree" attrs="{'readonly': [('service_state','in',('returned','not_solved'))]}"> |
||||
|
<tree string="Complaints" editable="bottom"> |
||||
|
<field name="product_id"/> |
||||
|
<field name="product_uom_qty"/> |
||||
|
<field name="product_uom"/> |
||||
|
<field name="price_unit"/> |
||||
|
<field name="qty_stock_move"/> |
||||
|
<field name="qty_invoiced"/> |
||||
|
<field name="part_price"/> |
||||
|
</tree> |
||||
|
<form> |
||||
|
<field name="product_id"/> |
||||
|
<field name="product_uom_qty"/> |
||||
|
</form> |
||||
|
</field> |
||||
|
</page> |
||||
|
|
||||
|
</notebook> |
||||
|
</sheet> |
||||
|
<div class="oe_chatter"> |
||||
|
<field name="message_follower_ids" widget="mail_followers"/> |
||||
|
<field name="message_ids" widget="mail_thread"/> |
||||
|
</div> |
||||
|
|
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="service_request_view_kanban" model="ir.ui.view"> |
||||
|
<field name="name">mobile.service.kanban.view</field> |
||||
|
<field name="model">mobile.service</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<kanban class="o_kanban_small_column"> |
||||
|
<field name="image_medium"/> |
||||
|
<field name="id"/> |
||||
|
<templates> |
||||
|
<t t-name="kanban-box"> |
||||
|
<div class="oe_kanban_card oe_kanban_global_click"> |
||||
|
<div class="o_kanban_image"> |
||||
|
<img t-att-src="kanban_image('mobile.service', 'image_medium', record.id.raw_value)"/> |
||||
|
</div> |
||||
|
<div class="oe_kanban_content"> |
||||
|
<div> |
||||
|
<strong class="o_kanban_record_title"><field name="name"/></strong> |
||||
|
</div> |
||||
|
<div class="text-muted o_kanban_record_subtitle"> |
||||
|
<field name="person_name"/><br/> |
||||
|
<field name="service_state"/> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div class="oe_clear"></div> |
||||
|
</div> |
||||
|
</t> |
||||
|
</templates> |
||||
|
</kanban> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_brand_form_view" model="ir.ui.view"> |
||||
|
<field name="name">mobile.brand.form</field> |
||||
|
<field name="model">mobile.brand</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form string="Brand"> |
||||
|
<sheet> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="brand_name"/> |
||||
|
</group> |
||||
|
</group> |
||||
|
</sheet> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_brand_model_form_view" model="ir.ui.view"> |
||||
|
<field name="name">mobile.brand.model.form</field> |
||||
|
<field name="model">brand.model</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form string="Brand Model"> |
||||
|
<sheet> |
||||
|
<field name="image_medium" widget='image' class="oe_avatar"/> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="mobile_brand_name"/> |
||||
|
<field name="mobile_brand_models"/> |
||||
|
</group> |
||||
|
</group> |
||||
|
</sheet> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
|
||||
|
<record id="mobile_brand_model_view_kanban" model="ir.ui.view"> |
||||
|
<field name="name">mobile.service.kanban.view</field> |
||||
|
<field name="model">brand.model</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<kanban class="o_kanban_small_column"> |
||||
|
<field name="image_medium"/> |
||||
|
<field name="id"/> |
||||
|
<templates> |
||||
|
<t t-name="kanban-box"> |
||||
|
<div class="oe_kanban_card oe_kanban_global_click"> |
||||
|
<div class="o_kanban_image"> |
||||
|
<img t-att-src="kanban_image('brand.model', 'image_medium', record.id.raw_value)"/> |
||||
|
</div> |
||||
|
<div class="oe_kanban_content"> |
||||
|
<div> |
||||
|
<strong class="o_kanban_record_title"><h4><field name="mobile_brand_name"/></h4></strong> |
||||
|
</div> |
||||
|
<div class="text-muted o_kanban_record_subtitle"> |
||||
|
<h6><field name="mobile_brand_models"/><br/></h6> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div class="oe_clear"></div> |
||||
|
</div> |
||||
|
</t> |
||||
|
</templates> |
||||
|
</kanban> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_complaint_type_form_view" model="ir.ui.view"> |
||||
|
<field name="name">mobile.complaint.type.form</field> |
||||
|
<field name="model">mobile.complaint</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form string="Complaint Type"> |
||||
|
<sheet> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="complaint_type"/> |
||||
|
</group> |
||||
|
</group> |
||||
|
</sheet> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_complaint_template_form_view" model="ir.ui.view"> |
||||
|
<field name="name">mobile.complaint.template.form</field> |
||||
|
<field name="model">mobile.complaint.description</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form string="Complaint Template"> |
||||
|
<sheet> |
||||
|
<group> |
||||
|
<field name="complaint_type_template"/> |
||||
|
<field name="description"/> |
||||
|
</group> |
||||
|
</sheet> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_terms_and_conditions_form_view" model="ir.ui.view"> |
||||
|
<field name="name">mobile.terms.and.conditions.form</field> |
||||
|
<field name="model">terms.conditions</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form string="Complaint Type"> |
||||
|
<sheet> |
||||
|
<group> |
||||
|
<field name="terms_conditions"/> |
||||
|
</group> |
||||
|
</sheet> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
|
||||
|
<record id="mobile_brand_tree_view" model="ir.ui.view"> |
||||
|
<field name="name">mobile.brand.tree</field> |
||||
|
<field name="model">mobile.brand</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree> |
||||
|
<field name="brand_name"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_brand_model_tree_view" model="ir.ui.view"> |
||||
|
<field name="name">mobile.brand.model.tree</field> |
||||
|
<field name="model">brand.model</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree> |
||||
|
<field name="mobile_brand_name"/> |
||||
|
<field name="mobile_brand_models"/> |
||||
|
<field name="image_medium" widget='image' class="Your_custom_class"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_complaint_type_tree_view" model="ir.ui.view"> |
||||
|
<field name="name">mobile.complaint.type.tree</field> |
||||
|
<field name="model">mobile.complaint</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree> |
||||
|
<field name="complaint_type"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_complaint_template_tree_view" model="ir.ui.view"> |
||||
|
<field name="name">mobile.complaint.type.tree</field> |
||||
|
<field name="model">mobile.complaint.description</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree> |
||||
|
<field name="complaint_type_template"/> |
||||
|
<field name="description"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_terms_and_conditions_tree_view" model="ir.ui.view"> |
||||
|
<field name="name">mobile.terms.and.conditions.tree</field> |
||||
|
<field name="model">terms.conditions</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree> |
||||
|
<field name="terms_conditions"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_service_graph" model="ir.ui.view"> |
||||
|
<field name="name">mobile.service.graph</field> |
||||
|
<field name="model">mobile.service</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<graph string="Service Graph"> |
||||
|
<field name="technicion_name" type="row"/> |
||||
|
</graph> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
|
||||
|
|
||||
|
<record id="mobile_service_request_tree_view" model="ir.ui.view"> |
||||
|
<field name="name">mobile.service.request.tree</field> |
||||
|
<field name="model">mobile.service</field> |
||||
|
<field name="domain">[]</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree decoration-danger="service_state == 'not_solved'" decoration-muted="service_state=='returned'" |
||||
|
default_order="name desc"> |
||||
|
<field name="name"/> |
||||
|
<field name="person_name"/> |
||||
|
<field name="contact_no"/> |
||||
|
<field name="brand_name"/> |
||||
|
<field name="model_name"/> |
||||
|
<field name="imei_no"/> |
||||
|
<field name="image_medium" widget='image' class="Your_custom_class"/> |
||||
|
<field name="technicion_name"/> |
||||
|
<field name="return_date"/> |
||||
|
<field name="service_state"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="action_mobile_brand" model="ir.actions.act_window"> |
||||
|
<field name="name">Brand</field> |
||||
|
<field name="res_model">mobile.brand</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">tree,form</field> |
||||
|
<field name="rental_view_id" ref="mobile_brand_form_view"/> |
||||
|
<field name="help" type="html"> |
||||
|
<p class="oe_view_nocontent_create"> |
||||
|
Click to Create a New Record. |
||||
|
</p> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="action_mobile_service_request" model="ir.actions.act_window"> |
||||
|
<field name="name">Service Request</field> |
||||
|
<field name="res_model">mobile.service</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">tree,form,kanban,pivot,graph</field> |
||||
|
<field name="search_view_id" ref="mobile_service_request_search_view"/> |
||||
|
<field name="rental_view_id" ref="mobile_service_request_form_view"/> |
||||
|
<field name="help" type="html"> |
||||
|
<p class="oe_view_nocontent_create"> |
||||
|
Click to Create a New Record. |
||||
|
</p> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="action_mobile_complaint_type" model="ir.actions.act_window"> |
||||
|
<field name="name">Complaint Types</field> |
||||
|
<field name="res_model">mobile.complaint</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">tree,form</field> |
||||
|
<field name="rental_view_id" ref="mobile_complaint_type_form_view"/> |
||||
|
<field name="help" type="html"> |
||||
|
<p class="oe_view_nocontent_create"> |
||||
|
Click to Create a New Record. |
||||
|
</p> |
||||
|
</field> |
||||
|
|
||||
|
</record> |
||||
|
|
||||
|
<record id="action_mobile_complaint_template" model="ir.actions.act_window"> |
||||
|
<field name="name">Complaint Types</field> |
||||
|
<field name="res_model">mobile.complaint.description</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">tree,form</field> |
||||
|
<field name="rental_view_id" ref="mobile_complaint_template_form_view"/> |
||||
|
<field name="help" type="html"> |
||||
|
<p class="oe_view_nocontent_create"> |
||||
|
Click to Create a New Record. |
||||
|
</p> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="action_mobile_terms_and_conditions" model="ir.actions.act_window"> |
||||
|
<field name="name">Terms and Conditions</field> |
||||
|
<field name="res_model">terms.conditions</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">tree,form</field> |
||||
|
<field name="view_id" ref="mobile_terms_and_conditions_tree_view"/> |
||||
|
<field name="help" type="html"> |
||||
|
<p class="oe_view_nocontent_create"> |
||||
|
Click to Create a New Record. |
||||
|
</p> |
||||
|
</field> |
||||
|
|
||||
|
</record> |
||||
|
|
||||
|
<record id="action_mobile_brand_models" model="ir.actions.act_window"> |
||||
|
<field name="name">Models</field> |
||||
|
<field name="res_model">brand.model</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">kanban,tree,form</field> |
||||
|
<field name="rental_view_id" ref="mobile_brand_model_form_view"/> |
||||
|
<field name="help" type="html"> |
||||
|
<p class="oe_view_nocontent_create"> |
||||
|
Click to Create a New Record. |
||||
|
</p> |
||||
|
</field> |
||||
|
|
||||
|
</record> |
||||
|
|
||||
|
<record id="view_product_name_kanban" model="ir.ui.view"> |
||||
|
<field name="name">product.template.product.kanban</field> |
||||
|
<field name="model">product.template</field> |
||||
|
<field name="inherit_id" ref="product.product_template_kanban_view"/> |
||||
|
<field name="arch" type="xml"> |
||||
|
<xpath expr="//kanban/templates/t/div/div[@class='oe_kanban_details']/strong[1]/field[@name='name']" position="after"> |
||||
|
<strong> |
||||
|
<field name="brand_name"/> |
||||
|
<field name="model_name"/> |
||||
|
</strong> |
||||
|
</xpath> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mobile_service_products_parts" model="ir.ui.view"> |
||||
|
<field name="name">product.parts.form.view</field> |
||||
|
<field name="model">product.template</field> |
||||
|
<field name="inherit_id" ref="product.product_template_form_view"/> |
||||
|
<field name="arch" type="xml"> |
||||
|
<xpath expr="//div[@name='options']" position="inside"> |
||||
|
<field name="is_a_parts"/> |
||||
|
<label for="is_a_parts"/> |
||||
|
</xpath> |
||||
|
<xpath expr="//page[@name='general_information']" position="after"> |
||||
|
<page string="Parts details" attrs="{'invisible': [('is_a_parts', '=', False)]}"> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="brand_name" attrs="{'required': [('is_a_parts', '=', True)]}"/> |
||||
|
<field name="model_name" attrs="{'required': [('is_a_parts', '=', True)]}"/> |
||||
|
</group> |
||||
|
<group> |
||||
|
<field name="model_colour"/> |
||||
|
<field name="extra_descriptions"/> |
||||
|
</group> |
||||
|
|
||||
|
</group> |
||||
|
|
||||
|
</page> |
||||
|
</xpath> |
||||
|
|
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="product_template_action_product" model="ir.actions.act_window"> |
||||
|
<field name="name">Products</field> |
||||
|
<field name="type">ir.actions.act_window</field> |
||||
|
<field name="res_model">product.template</field> |
||||
|
<field name="view_mode">kanban,tree,form</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="context">{"search_default_consumable":1, 'default_type': 'product'}</field> |
||||
|
<field name="domain">[('is_a_parts', '=', True)]</field> |
||||
|
<field name="help" type="html"> |
||||
|
<p class="oe_view_nocontent_create"> |
||||
|
Click to define a new product. |
||||
|
</p> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
|
||||
|
<menuitem id="mobile_service_main_menu" web_icon="mobile_service_shop,static/description/web-icon.png" |
||||
|
name="Mobile Service" sequence="20"/> |
||||
|
|
||||
|
<menuitem id="mobile_service_shop_menu" parent="mobile_service_main_menu" name="Car Rental" sequence="20"/> |
||||
|
|
||||
|
<menuitem action="action_mobile_service_request" id="mobile_service_shop_menu2" parent="mobile_service_main_menu" |
||||
|
name="Service Request" sequence="1"/> |
||||
|
|
||||
|
<menuitem action="product_template_action_product" id="mobile_service_shop_parts " parent="mobile_service_main_menu" |
||||
|
name="Parts inventory" sequence="1"/> |
||||
|
|
||||
|
<menuitem id="mobile_service_shop_configuration" parent="mobile_service_main_menu" |
||||
|
name="Configuration" sequence="3"/> |
||||
|
|
||||
|
<menuitem action="action_mobile_brand" id="mobile_service_shop_conf1" parent="mobile_service_shop_configuration" |
||||
|
name="Brand" sequence="1"/> |
||||
|
|
||||
|
<menuitem action="action_mobile_complaint_type" id="mobile_service_shop_conf2" parent="mobile_service_shop_configuration" |
||||
|
name="Complaint Type" sequence="3"/> |
||||
|
|
||||
|
<menuitem action="action_mobile_complaint_template" id="mobile_service_shop_conf6" parent="mobile_service_shop_configuration" |
||||
|
name="Complaint Templates" sequence="3"/> |
||||
|
|
||||
|
<menuitem action="action_mobile_brand_models" id="mobile_service_shop_conf3" parent="mobile_service_shop_configuration" |
||||
|
name="Models" sequence="2"/> |
||||
|
|
||||
|
<menuitem action="action_mobile_terms_and_conditions" id="mobile_service_shop_conf5" parent="mobile_service_shop_configuration" |
||||
|
name="Terms and Conditions" sequence="4"/> |
||||
|
|
||||
|
|
||||
|
</data> |
||||
|
</odoo> |
@ -0,0 +1,5 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details. |
||||
|
|
||||
|
from . import mobile_create_invoice |
||||
|
|
@ -0,0 +1,138 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details. |
||||
|
|
||||
|
import time |
||||
|
|
||||
|
from odoo import api, fields, models, _ |
||||
|
from odoo.exceptions import Warning, UserError |
||||
|
|
||||
|
|
||||
|
class MobileServiceInvoice(models.Model): |
||||
|
|
||||
|
_name = 'mobile.invoice' |
||||
|
|
||||
|
|
||||
|
advance_payment_method = fields.Selection([('advance', 'Advance'), ('full_amount', 'Full amount')], |
||||
|
string='Invoice method', default='advance') |
||||
|
amount = fields.Integer(string='Amount') |
||||
|
number = fields.Char(string='Service Id') |
||||
|
|
||||
|
@api.multi |
||||
|
def action_invoice_create(self): |
||||
|
active_id = self._context.get('active_id') |
||||
|
service_id = self.env['mobile.service'].search([('id', '=', active_id)]) |
||||
|
|
||||
|
if not service_id.env['product.product'].search([("name", "=", "Mobile Service Advance")]): |
||||
|
vals = self._prepare_advance_product() |
||||
|
self.env['product.product'].create(vals) |
||||
|
|
||||
|
if not service_id.env['product.product'].search([("name", "=", "Mobile Service Charge")]): |
||||
|
vals1 = self._prepare_service_product() |
||||
|
self.env['product.product'].create(vals1) |
||||
|
|
||||
|
service_id.first_invoice_created = True |
||||
|
inv_obj = self.env['account.invoice'] |
||||
|
inv_line_obj = self.env['account.invoice.line'] |
||||
|
supplier = service_id.person_name |
||||
|
inv_data = { |
||||
|
'name': supplier.name, |
||||
|
'type': 'out_invoice', |
||||
|
'reference': supplier.name, |
||||
|
'account_id': supplier.property_account_receivable_id.id, |
||||
|
'partner_id': supplier.id, |
||||
|
'currency_id': service_id.account_type.company_id.currency_id.id, |
||||
|
'journal_id': service_id.journal_type.id, |
||||
|
'origin': service_id.name, |
||||
|
'company_id': service_id.account_type.company_id.id, |
||||
|
'date_due': service_id.return_date, |
||||
|
} |
||||
|
inv_id = inv_obj.create(inv_data) |
||||
|
service_id.first_payment_inv = inv_id.id |
||||
|
self.number = service_id.name |
||||
|
if self.advance_payment_method != 'advance': |
||||
|
product_id = service_id.env['product.product'].search([("name", "=", "Mobile Service Charge")]) |
||||
|
else: |
||||
|
product_id = service_id.env['product.product'].search([("name", "=", "Mobile Service Advance")]) |
||||
|
|
||||
|
if product_id.property_account_income_id.id: |
||||
|
income_account = product_id.property_account_income_id.id |
||||
|
elif product_id.categ_id.property_account_income_categ_id.id: |
||||
|
income_account = product_id.categ_id.property_account_income_categ_id.id |
||||
|
else: |
||||
|
raise UserError('Please define income account for this product: "%s" (id:%d).' % |
||||
|
(product_id.name, product_id.id)) |
||||
|
flag = 0 |
||||
|
if self.amount: |
||||
|
flag = 1 |
||||
|
inv_line_data = { |
||||
|
'name': product_id.name, |
||||
|
'account_id': income_account, |
||||
|
'price_unit': self.amount, |
||||
|
'quantity': 1, |
||||
|
'product_id': product_id.id, |
||||
|
'invoice_id': inv_id.id, |
||||
|
} |
||||
|
inv_line_obj.create(inv_line_data) |
||||
|
|
||||
|
sale_order_product = self.env['product.order.line'].search([('product_order_id', '=', service_id.name)]) |
||||
|
for line_data in sale_order_product: |
||||
|
qty = line_data.product_uom_qty - line_data.qty_invoiced |
||||
|
if line_data.product_uom_qty < line_data.qty_invoiced: |
||||
|
raise UserError(_('Used quantity is less than invoiced quantity')) |
||||
|
uom_id = line_data.product_id.product_tmpl_id.uom_id |
||||
|
if qty > 0: |
||||
|
flag = 1 |
||||
|
price = line_data.product_id.list_price |
||||
|
inv_line_data = { |
||||
|
'name': line_data.product_id.name, |
||||
|
'account_id': income_account, |
||||
|
'price_unit': price, |
||||
|
'quantity': qty, |
||||
|
'uom_id': uom_id.id, |
||||
|
'product_id': line_data.product_id.id, |
||||
|
'invoice_id': inv_id.id, |
||||
|
} |
||||
|
inv_line_obj.create(inv_line_data) |
||||
|
line_data.qty_invoiced = line_data.qty_invoiced + qty |
||||
|
|
||||
|
# inv_id.action_invoice_open() |
||||
|
if flag != 1: |
||||
|
raise UserError(_('Nothing to create invoice')) |
||||
|
imd = service_id.env['ir.model.data'] |
||||
|
action = imd.xmlid_to_object('account.action_invoice_tree1') |
||||
|
list_view_id = imd.xmlid_to_res_id('account.invoice_tree') |
||||
|
form_view_id = imd.xmlid_to_res_id('account.invoice_form') |
||||
|
result = { |
||||
|
'name': action.name, |
||||
|
'help': action.help, |
||||
|
'type': 'ir.actions.act_window', |
||||
|
'views': [[list_view_id, 'tree'], [form_view_id, 'form'], [False, 'graph'], [False, 'kanban'], |
||||
|
[False, 'calendar'], [False, 'pivot']], |
||||
|
'target': action.target, |
||||
|
'context': action.context, |
||||
|
'res_model': 'account.invoice', |
||||
|
} |
||||
|
if len(inv_id) > 1: |
||||
|
result['domain'] = "[('id','in',%s)]" % inv_id.ids |
||||
|
elif len(inv_id) == 1: |
||||
|
result['views'] = [(form_view_id, 'form')] |
||||
|
result['res_id'] = inv_id.ids[0] |
||||
|
else: |
||||
|
result = {'type': 'ir.actions.act_window_close'} |
||||
|
return result |
||||
|
|
||||
|
def _prepare_advance_product(self): |
||||
|
return { |
||||
|
'name': 'Mobile Service Advance', |
||||
|
'type': 'service', |
||||
|
'invoice_policy': 'order', |
||||
|
'company_id': False, |
||||
|
} |
||||
|
|
||||
|
def _prepare_service_product(self): |
||||
|
return { |
||||
|
'name': 'Mobile Service Charge', |
||||
|
'type': 'service', |
||||
|
'invoice_policy': 'order', |
||||
|
'company_id': False, |
||||
|
} |
@ -0,0 +1,39 @@ |
|||||
|
<odoo> |
||||
|
<record id="view_mobile_create_inv" model="ir.ui.view"> |
||||
|
<field name="name">Create Invoice</field> |
||||
|
<field name="model">mobile.invoice</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form string="Invoice Service Order"> |
||||
|
<p class="oe_grey"> |
||||
|
Invoices will be created in draft so that you can review |
||||
|
them before validation. |
||||
|
</p> |
||||
|
<group> |
||||
|
<field name="advance_payment_method" class="oe_inline" widget="radio" /> |
||||
|
<label for="amount"/> |
||||
|
<div> |
||||
|
<field name="amount" |
||||
|
class="oe_inline" widget="monetary"/> |
||||
|
</div> |
||||
|
</group> |
||||
|
<footer> |
||||
|
<button name="action_invoice_create" string="Create Invoices" type="object" |
||||
|
class="btn-primary"/> |
||||
|
<button string="Cancel" class="btn-default" special="cancel"/> |
||||
|
</footer> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
|
||||
|
<record id="action_mobile_service_inv" model="ir.actions.act_window"> |
||||
|
<field name="name">Create Invoice</field> |
||||
|
<field name="type">ir.actions.act_window</field> |
||||
|
<field name="res_model">mobile.invoice</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">form</field> |
||||
|
<field name="target">new</field> |
||||
|
<!--<field name="binding_model_id" ref="mobile_service_request_form_view" />--> |
||||
|
<!--<field name="rental_view_id" ref="view_mobile_create_inv"/>--> |
||||
|
</record> |
||||
|
</odoo> |
@ -0,0 +1,32 @@ |
|||||
|
Contact First And Last Name v11 |
||||
|
=========================== |
||||
|
This module will helps you to give the personal details for your contact |
||||
|
|
||||
|
Features |
||||
|
======== |
||||
|
|
||||
|
* Personal details like nationality,personal mobile , email, id proof details etc for Contacts. |
||||
|
|
||||
|
Tech |
||||
|
==== |
||||
|
* [Python] - Models |
||||
|
* [XML] - Odoo views |
||||
|
|
||||
|
Installation |
||||
|
============ |
||||
|
- www.odoo.com/documentation/11.0/setup/install.html |
||||
|
- Install our custom addon |
||||
|
|
||||
|
Bug Tracker |
||||
|
=========== |
||||
|
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. |
||||
|
|
||||
|
|
||||
|
Developer: Tintuk Tomin @ cybrosys, odoo@cybrosys.com |
||||
|
|
||||
|
Maintainer |
||||
|
---------- |
||||
|
|
||||
|
This module is maintained by Cybrosys Technologies. |
||||
|
|
||||
|
For support and more information, please visit https://www.cybrosys.com. |
@ -0,0 +1,3 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
|
||||
|
from . import models |
@ -0,0 +1,38 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2018-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Tintuk Tomin(<https://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU AGPL (v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 AGPL (AGPL v3) for more details. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
{ |
||||
|
'name': 'Personal Information in Contacts', |
||||
|
'version': '12.0.1.0.0', |
||||
|
'summary': """This module will helps you to give personal details in your contact.""", |
||||
|
'description': "Module helps you to manage the personal information of your partner as well as in the contacts.", |
||||
|
'category': "Human Resource", |
||||
|
'author': 'Cybrosys Techno Solutions', |
||||
|
'company': 'Cybrosys Techno Solutions', |
||||
|
'website': "https://www.cybrosys.com", |
||||
|
'depends': ['base','contacts','first_last_name','gender_contact'], |
||||
|
'data': ['security/ir.model.access.csv', |
||||
|
'views/info_view.xml' |
||||
|
], |
||||
|
'demo': [], |
||||
|
'images': ['static/description/banner.png'], |
||||
|
'license': 'AGPL-3', |
||||
|
'installable': True, |
||||
|
'application': True, |
||||
|
} |
@ -0,0 +1,6 @@ |
|||||
|
## Module <first_last_name> |
||||
|
|
||||
|
#### 09.04.2019 |
||||
|
#### Version 11.0.1.0.0 |
||||
|
##### ADD |
||||
|
- Initial commit |
@ -0,0 +1,3 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
|
||||
|
from . import personal |
@ -0,0 +1,22 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
|
||||
|
from odoo import api, models, fields |
||||
|
|
||||
|
class FirstNameLastName(models.Model): |
||||
|
_inherit = 'res.partner' |
||||
|
|
||||
|
dob = fields.Date(string="Date of Birth") |
||||
|
nationality = fields.Char(string="Nationality") |
||||
|
personal_number = fields.Char(string="Personal Number") |
||||
|
personal_email = fields.Char(string="Email") |
||||
|
marital = fields.Selection([ |
||||
|
('single', 'Single'), |
||||
|
('married', 'Married'), |
||||
|
('cohabitant', 'Legal Cohabitant'), |
||||
|
('widower', 'Widower'), |
||||
|
('divorced', 'Divorced')], string='Marital Status') |
||||
|
social_twitter = fields.Char('Twitter Account') |
||||
|
social_facebook = fields.Char('Facebook Account') |
||||
|
social_github = fields.Char('GitHub Account') |
||||
|
social_linkedin = fields.Char('LinkedIn Account') |
||||
|
social_youtube = fields.Char('Youtube Account') |
|
After Width: | Height: | Size: 94 KiB |
After Width: | Height: | Size: 48 KiB |
@ -0,0 +1,340 @@ |
|||||
|
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-header-banner.png);background-repeat:no-repeat;background-size:100%;padding: 4% 0% 2% 15%;background-position-y: -107px;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="font-size: 35px;color: #fff;font-weight: 900;text-transform: uppercase;text-align: left;margin: 0;margin-bottom: 16px;"> |
||||
|
Personal Information in Contacts |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="font-size: 25px;color: #fff;font-weight: 600;text-align: left;opacity: 1;margin: 0 !important;"> |
||||
|
Provision for enter the personal informations |
||||
|
</h3> |
||||
|
<h5 class="oe_slogan" style="text-align: left;background: #fff;width: 293px;padding: 10px;color: #080808 !important;opacity: 1 !important;font-weight: 600;font-size: 20px;"> |
||||
|
<a style="color: #080808 !important;" href="https://www.cybrosys.com">Cybrosys Technologies</a> |
||||
|
</h5> |
||||
|
<a style="color: #080808 !important;" href="https://www.cybrosys.com" target="_blank"> |
||||
|
<div style="width: 215px;margin-left: 57%;text-align: center;background: #ffffff;height: 215px;border-radius: 100%;display: flex;justify-content: center;align-items: center;box-shadow: 0 0 12px 4px #00000059;"> |
||||
|
<img src="https://www.cybrosys.com/images/cybro-logo-oca.png" alt="cybrosys technologies" style="width: 180px;"/> </div> |
||||
|
</a> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="oe_container" style="padding: 3% 0% 3% 15%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Overview |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
Provides option add more personal details for all contacts including partners. |
||||
|
</h3> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 300;margin: 0px !important;"> |
||||
|
Configuration |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
No additional configuration is required. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-banner1.png); background-repeat:no-repeat; background-size:cover;padding: 19% 0% 14% 15%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Features |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
First name, Last name, Nick name and gender for partners. |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
New tab for personal informaions. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container" style="padding: 3% 0% 0% 15%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Screenshots |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 5% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Names and gender |
||||
|
</h3> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="personal-details-cybrosys.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 5% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
New tab for personal info |
||||
|
</h3> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="personal-details-cybrosys-1.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container" style="padding: 7px 0% 0% 3%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<a style="color: #080808 !important;" href="https://apps.odoo.com/apps/modules/browse?search=cybrosys" target="_blank"><img src="https://www.cybrosys.com/images/view-more-apps.jpg" alt="cybrosys technologies" style="width: 100%;margin-bottom: 50px;"/></a> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container" style="padding: 1% 0% 0% 3%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Our Services |
||||
|
</h2> |
||||
|
<div style="display:flex;padding-top: 20px;justify-content: space-between;"> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-customization.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"> |
||||
|
Odoo Customization |
||||
|
</a> |
||||
|
</h3> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-erp-implementation.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"> |
||||
|
Odoo Implementation </a> |
||||
|
</h3> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-erp-integration.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"> |
||||
|
Odoo Integration |
||||
|
</a> |
||||
|
</h3> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-erp-support.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"> |
||||
|
Odoo Support</a> |
||||
|
</h3> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/hire-odoo-developer.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"> |
||||
|
Hire Odoo Developers</a> |
||||
|
</h3> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="oe_container" style="padding: 1% 0% 0% 3%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Our Industries |
||||
|
</h2> |
||||
|
<div style="display:flex;justify-content: space-between;flex-wrap:wrap;"> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-1.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"> |
||||
|
Trading |
||||
|
</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Easily procure and sell your products. |
||||
|
</h3> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-2.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" target="_blank"> |
||||
|
Manufacturing</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Plan, track and schedule your operations. |
||||
|
</h3> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-3.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank"> |
||||
|
Restaurant</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Run your bar or restaurant methodical. |
||||
|
</h3> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-4.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"> |
||||
|
POS</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Easy configuring and convivial selling. |
||||
|
</h3> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-5.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 0px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"> |
||||
|
E-commerce & Website</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Mobile friendly, awe-inspiring product pages. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-6.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank"> |
||||
|
Hotel Management</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
An all-inclusive hotel management application. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-7.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank"> |
||||
|
Education</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
A Collaborative platform for educational management. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-8.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"> |
||||
|
Service Management</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Keep track of services and invoice accordingly. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-footer-bg.png); background-repeat:no-repeat; background-size:100%;padding: 13% 0% 6% 0%;"> |
||||
|
<div class="oe_slogan" style="margin-top:10px !important;margin-bottom: 0px;"> |
||||
|
<div> |
||||
|
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="mailto:odoo@cybrosys.com"><i class="fa fa-envelope"></i> Email us </a> |
||||
|
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="https://www.cybrosys.com/contact/"><i class="fa fa-phone"></i> Contact Us </a> |
||||
|
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="https://www.cybrosys.com/contact/"><i class="fa fa-check-square"></i> Request Customization </a> |
||||
|
</div> |
||||
|
<br> |
||||
|
<img src="https://www.cybrosys.com/images/logo.png" style="width: 190px; margin-bottom: 25px;margin-top: 30px;" class="center-block"> |
||||
|
<div> |
||||
|
<a href="https://twitter.com/cybrosys" target="_blank"><i class="fa fa-2x fa-twitter" style="color:white;background: #00a0d1;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
<a href="https://www.linkedin.com/company/cybrosys-technologies-pvt-ltd" target="_blank"><i class="fa fa-2x fa-linkedin" style="color:white;background: #31a3d6;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
<a href="https://www.facebook.com/cybrosystechnologies" target="_blank"><i class="fa fa-2x fa-facebook" style="color:white;background: #3b5998;width:35px; ;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
<a href="https://plus.google.com/106641282743045431892/about" target="_blank"><i class="fa fa-2x fa-google-plus" style="color:white;background: #c53c2c;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
<a href="https://in.pinterest.com/cybrosys" target="_blank"><i class="fa fa-2x fa-pinterest" style="color:white;background: #ac0f18;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
After Width: | Height: | Size: 92 KiB |
After Width: | Height: | Size: 102 KiB |
@ -0,0 +1,33 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
<data> |
||||
|
<record id="view_partner_simple_form_personal_info" model="ir.ui.view"> |
||||
|
<field name="name">res.partner.simplified.form.personal.info</field> |
||||
|
<field name="model">res.partner</field> |
||||
|
<field name="inherit_id" ref="base.view_partner_form"/> |
||||
|
<field name="arch" type="xml"> |
||||
|
<xpath expr="//notebook/page[@name='internal_notes']" position="before"> |
||||
|
<page name='personal_information' string="Personal Information" attrs="{'invisible': [('company_type', '=', 'company')]}"> |
||||
|
<group col="2"> |
||||
|
<group string="Personal Info" name="personal_info" > |
||||
|
<field name="dob" string="Date of Birth"/> |
||||
|
<field name="nationality" string="Nationality"/> |
||||
|
<field name="marital" string="Maritial Status"/> |
||||
|
<field name="personal_number" string="Personal Number"/> |
||||
|
<field name="personal_email" string="Personal Email"/> |
||||
|
</group> |
||||
|
<group string="Social Media" name="social_media"> |
||||
|
<field name="social_twitter"/> |
||||
|
<field name="social_facebook"/> |
||||
|
<field name="social_github"/> |
||||
|
<field name="social_linkedin"/> |
||||
|
<field name="social_youtube"/> |
||||
|
</group> |
||||
|
</group> |
||||
|
</page> |
||||
|
</xpath> |
||||
|
</field> |
||||
|
|
||||
|
</record> |
||||
|
</data> |
||||
|
</odoo> |
@ -0,0 +1,28 @@ |
|||||
|
==================================== |
||||
|
Floor Wise Charges in Restaurant v12 |
||||
|
==================================== |
||||
|
This module adds floor wise charging facility in POS Restaurant. |
||||
|
|
||||
|
Installation |
||||
|
============ |
||||
|
Just select it from available modules to install it, there is no need to extra installations. |
||||
|
|
||||
|
Configuration |
||||
|
============= |
||||
|
Nothing to configure. |
||||
|
|
||||
|
Usage |
||||
|
===== |
||||
|
* Create some Facility and its charging percentage. |
||||
|
* POS-> Configuration-> Floor Facility. |
||||
|
|
||||
|
* Add created facility to floors. |
||||
|
* POS-> Configuration-> Floor Plans-> Add Facility Lines |
||||
|
|
||||
|
* On clicking a product in pos screen, Amount will add automatically. |
||||
|
|
||||
|
Credits |
||||
|
======= |
||||
|
Developer: Nilmar Shereef(v10) @ cybrosys, odoo@cybrosys.com |
||||
|
Akshay Babu(v12) |
||||
|
|
@ -0,0 +1,22 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2017-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
from . import models |
@ -0,0 +1,43 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2017-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). |
||||
|
# Author: Nilmar Shereef(<http://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
{ |
||||
|
'name': 'Floor Wise Charge in Restaurant', |
||||
|
'version': '12.0.1.0.0', |
||||
|
'summary': """Product Price Change Based on Floor of POS Restaurant.""", |
||||
|
'description': """Module adds the facility charge of floor with each products in POS restaurant""", |
||||
|
'author': 'Cybrosys Techno Solutions', |
||||
|
'website': "http://www.cybrosys.com", |
||||
|
'company': 'Cybrosys Techno Solutions', |
||||
|
'category': 'Point Of Sale', |
||||
|
'depends': ['point_of_sale', |
||||
|
'pos_restaurant'], |
||||
|
'data': [ |
||||
|
'security/ir.model.access.csv', |
||||
|
'views/pos_restaurant_extra_facility.xml', |
||||
|
'views/templates.xml', |
||||
|
], |
||||
|
'images': ['static/description/banner.jpg'], |
||||
|
'license': 'LGPL-3', |
||||
|
'installable': True, |
||||
|
'auto_install': False, |
||||
|
} |
@ -0,0 +1,23 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2017-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). |
||||
|
# Author: Nilmar Shereef(<http://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
from . import pos_restaurant_extra_facility |
@ -0,0 +1,64 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2017-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). |
||||
|
# Author: Nilmar Shereef(<http://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
from odoo import models, fields, api |
||||
|
|
||||
|
|
||||
|
class FacilityRestaurant(models.Model): |
||||
|
|
||||
|
_inherit = "restaurant.floor" |
||||
|
|
||||
|
rest_floor_facility = fields.One2many('restaurant.floor.line', 'ref_field', string='Floor Facility') |
||||
|
facility_service_percentage = fields.Float(compute='onchange_rest_facility', string="Active Facility Charge %") |
||||
|
|
||||
|
@api.multi |
||||
|
@api.depends('rest_floor_facility') |
||||
|
def onchange_rest_facility(self): |
||||
|
for rec in self: |
||||
|
sum_of_percentage = 0.0 |
||||
|
if rec.rest_floor_facility: |
||||
|
for records in rec.rest_floor_facility: |
||||
|
sum_of_percentage += records.line_percentage |
||||
|
rec.facility_service_percentage = sum_of_percentage |
||||
|
|
||||
|
|
||||
|
class FacilityRestaurantLines(models.Model): |
||||
|
_name = "restaurant.floor.line" |
||||
|
|
||||
|
name = fields.Many2one('restaurant.floor.facility') |
||||
|
line_percentage = fields.Float(string="Extra Charging Percentage") |
||||
|
ref_field = fields.Many2one('restaurant.floor', invisible=True, ondelete='cascade') |
||||
|
|
||||
|
@api.onchange('name') |
||||
|
def onchange_facility(self): |
||||
|
if self.name: |
||||
|
self.line_percentage = self.name.percentage |
||||
|
|
||||
|
|
||||
|
class FloorFacility(models.Model): |
||||
|
|
||||
|
_name = "restaurant.floor.facility" |
||||
|
|
||||
|
name = fields.Char(string="Name", required=True,) |
||||
|
percentage = fields.Float(string="Extra Charging Percentage(%)", required=True, |
||||
|
help="Increment percentage of the each Product Price ") |
||||
|
description = fields.Html(string="Description") |
|
After Width: | Height: | Size: 197 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 8.5 KiB |
@ -0,0 +1,369 @@ |
|||||
|
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-header-banner.png);background-repeat:no-repeat;background-size:100%;padding: 4% 0% 2% 15%;background-position-y: -107px;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="font-size: 35px;color: #fff;font-weight: 900;text-transform: uppercase;text-align: left;margin: 0;margin-bottom: 16px;"> |
||||
|
Floor Wise Charges in Restaurant |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="font-size: 25px;color: #fff;font-weight: 600;text-align: left;opacity: 1;margin: 0 !important;"> |
||||
|
User can set floor facility charges on Products |
||||
|
</h3> |
||||
|
<h5 class="oe_slogan" style="text-align: left;background: #fff;width: 293px;padding: 10px;color: #080808 !important;opacity: 1 !important;font-weight: 600;font-size: 20px;"> |
||||
|
<a style="color: #080808 !important;" href="https://www.cybrosys.com" target="_blank">Cybrosys Technologies</a> |
||||
|
</h5> |
||||
|
<a style="color: #080808 !important;" href="https://www.cybrosys.com" target="_blank"> |
||||
|
<div style="width: 215px;margin-left: 57%;text-align: center;background: #ffffff;height: 215px;border-radius: 100%;display: flex;justify-content: center;align-items: center;box-shadow: 0 0 12px 4px #00000059;"> |
||||
|
<img src="https://www.cybrosys.com/images/cybro-logo-oca.png" alt="cybrosys technologies" style="width: 180px;"/> |
||||
|
</div> |
||||
|
</a> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container" style="padding: 1% 0% 3% 15%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Overview |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
This module allows users to set floor facility charges on Products,i.e |
||||
|
extra charges are set for products according to the floor used by customers. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-banner.png); background-repeat:no-repeat; background-size:cover;padding: 10% 0% 25% 15%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Features |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Facilities With Charging Percentage. |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Facility Lines in Floor Master. |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Enables Separate Price in Floors Wise. |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style="text-align: left;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 18px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Simple Configuration. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="oe_container" style="padding: 3% 0% 0% 15%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Screenshots |
||||
|
</h2> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 5% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Facility Master - Tree View |
||||
|
</h3> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="pos-restaurant-cybrosys-1.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 5% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Facility Master - Form View |
||||
|
<ul> |
||||
|
<li>Facilities with its charging percentage.</li> |
||||
|
<li>Images and bullet points of facility.</li> |
||||
|
</ul> |
||||
|
</h3> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="pos-restaurant-cybrosys-2.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 5% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Floor Master With Facility Lines - Form View |
||||
|
<ul> |
||||
|
<li>Facility lines with its charging percentage.</li> |
||||
|
<li>User can alter its charges from this lines.</li> |
||||
|
<li>Automated total affecting facility percentage of floor.</li> |
||||
|
</ul> |
||||
|
</h3> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="pos-restaurant-cybrosys-3.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="text-align: left;padding: 5% 0% 0% 0%;font-size: 16px;width: 90%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 24px;"> |
||||
|
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
||||
|
Floor Wise Price Change - POS Screen |
||||
|
<ul> |
||||
|
<li>Floor facility charge will added with actual price of product.</li> |
||||
|
</ul> |
||||
|
</h3> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<img src="pos-restaurant-cybrosys-4.png" alt="" style="width: 95%;"/> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="oe_container" style="padding: 7px 0% 0% 3%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<a style="color: #080808 !important;" href="https://apps.odoo.com/apps/modules/browse?search=cybrosys" target="_blank"><img src="https://www.cybrosys.com/images/view-more-apps.jpg" alt="cybrosys technologies" style="width: 100%;margin-bottom: 50px;"/></a> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="oe_container" style="padding: 1% 0% 0% 3%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Our Services |
||||
|
</h2> |
||||
|
<div style="display:flex;padding-top: 20px;justify-content: space-between;"> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-customization.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"> |
||||
|
Odoo Customization |
||||
|
</a> |
||||
|
</h3> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-erp-implementation.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"> |
||||
|
Odoo Implementation </a> |
||||
|
</h3> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-erp-integration.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"> |
||||
|
Odoo Integration |
||||
|
</a> |
||||
|
</h3> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-erp-support.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"> |
||||
|
Odoo Support</a> |
||||
|
</h3> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 18%;"> |
||||
|
|
||||
|
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
||||
|
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/hire-odoo-developer.png" style="width: 100%;border-radius: 100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
||||
|
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"> |
||||
|
Hire Odoo Developers</a> |
||||
|
</h3> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="oe_container" style="padding: 1% 0% 0% 3%;"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
||||
|
Our Industries |
||||
|
</h2> |
||||
|
<div style="display:flex;justify-content: space-between;flex-wrap:wrap;"> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-1.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"> |
||||
|
Trading |
||||
|
</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Easily procure and sell your products. |
||||
|
</h3> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-2.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" target="_blank"> |
||||
|
Manufacturing</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Plan, track and schedule your operations. |
||||
|
</h3> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-3.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank"> |
||||
|
Restaurant</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Run your bar or restaurant methodical. |
||||
|
</h3> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-4.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"> |
||||
|
POS</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Easy configuring and convivial selling. |
||||
|
</h3> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-5.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 0px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"> |
||||
|
E-commerce & Website</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Mobile friendly, awe-inspiring product pages. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-6.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank"> |
||||
|
Hotel Management</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
An all-inclusive hotel management application. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-7.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank"> |
||||
|
Education</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
A Collaborative platform for educational management. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="flex-basis: 32%;padding-top: 20px;"> |
||||
|
|
||||
|
<div style="width:30%; float:left;"> |
||||
|
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"> |
||||
|
<img src="https://www.cybrosys.com/images/odoo-index-industry-8.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="width:70%;float:left;"> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
||||
|
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"> |
||||
|
Service Management</a> |
||||
|
</h3> |
||||
|
<h3 class="oe_slogan" style=" text-align: left;font-size: 13px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;"> |
||||
|
Keep track of services and invoice accordingly. |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-footer-bg.png); background-repeat:no-repeat; background-size:100%;padding: 13% 0% 6% 0%;"> |
||||
|
<div class="oe_slogan" style="margin-top:10px !important;margin-bottom: 0px;"> |
||||
|
<div> |
||||
|
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="mailto:odoo@cybrosys.com"><i class="fa fa-envelope"></i> Email us </a> |
||||
|
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="https://www.cybrosys.com/contact/"><i class="fa fa-phone"></i> Contact Us </a> |
||||
|
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="https://www.cybrosys.com/contact/"><i class="fa fa-check-square"></i> Request Customization </a> |
||||
|
</div> |
||||
|
<br> |
||||
|
<img src="https://www.cybrosys.com/images/logo.png" style="width: 190px; margin-bottom: 25px;margin-top: 30px;" class="center-block"> |
||||
|
<div> |
||||
|
<a href="https://twitter.com/cybrosys" target="_blank"><i class="fa fa-2x fa-twitter" style="color:white;background: #00a0d1;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
<a href="https://www.linkedin.com/company/cybrosys-technologies-pvt-ltd" target="_blank"><i class="fa fa-2x fa-linkedin" style="color:white;background: #31a3d6;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
<a href="https://www.facebook.com/cybrosystechnologies" target="_blank"><i class="fa fa-2x fa-facebook" style="color:white;background: #3b5998;width:35px; ;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
<a href="https://plus.google.com/106641282743045431892/about" target="_blank"><i class="fa fa-2x fa-google-plus" style="color:white;background: #c53c2c;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
<a href="https://in.pinterest.com/cybrosys" target="_blank"><i class="fa fa-2x fa-pinterest" style="color:white;background: #ac0f18;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
|
After Width: | Height: | Size: 133 KiB |
After Width: | Height: | Size: 132 KiB |
After Width: | Height: | Size: 164 KiB |
After Width: | Height: | Size: 156 KiB |
@ -0,0 +1,22 @@ |
|||||
|
odoo.define('pos_restaurant_floor_facility.floor_facility_rate_addition', function (require) { |
||||
|
'use strict'; |
||||
|
|
||||
|
var models = require('point_of_sale.models'); |
||||
|
var screens = require('point_of_sale.screens'); |
||||
|
var restaurant = require('pos_restaurant.floors'); |
||||
|
|
||||
|
|
||||
|
models.load_fields("restaurant.floor",['facility_service_percentage']); |
||||
|
|
||||
|
screens.ProductScreenWidget.include({ |
||||
|
click_product: function(product) { |
||||
|
console.log(screens); |
||||
|
if(product.to_weight && this.pos.config.iface_electronic_scale){ |
||||
|
this.gui.show_screen('scale',{product: product}); |
||||
|
}else{ |
||||
|
this.pos.get_order().add_product(product,{ price: product.list_price + |
||||
|
(product.list_price * this.pos.table.floor.facility_service_percentage)/100}); |
||||
|
} |
||||
|
}, |
||||
|
}); |
||||
|
}); |
@ -0,0 +1,20 @@ |
|||||
|
odoo.define('pos_restaurant_floor_facility.floor_facility_rate_addition', function (require) { |
||||
|
'use strict'; |
||||
|
alert("aaaaaaaa"); |
||||
|
var models = require('point_of_sale.models'); |
||||
|
var screens = require('point_of_sale.screens'); |
||||
|
var restaurant = require('pos_restaurant.floors'); |
||||
|
|
||||
|
models.load_fields("restaurant.floor",['facility_service_percentage']); |
||||
|
|
||||
|
screens.ProductScreenWidget.include({ |
||||
|
click_product: function(product) { |
||||
|
if(product.to_weight && this.pos.config.iface_electronic_scale){ |
||||
|
this.gui.show_screen('scale',{product: product}); |
||||
|
}else{ |
||||
|
this.pos.get_order().add_product(product,{ price: product.price + |
||||
|
(product.price * this.pos.table.floor.facility_service_percentage)/100}); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
}); |
@ -0,0 +1,69 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
<data> |
||||
|
<record id="restaurant_extra_feature_form_view" model="ir.ui.view"> |
||||
|
<field name="name">Floor View Extra</field> |
||||
|
<field name="model">restaurant.floor</field> |
||||
|
<field name="inherit_id" ref="pos_restaurant.view_restaurant_floor_form"/> |
||||
|
<field name="arch" type="xml"> |
||||
|
<xpath expr="//field[@name='background_color']" position="after"> |
||||
|
<field name="facility_service_percentage"/> |
||||
|
</xpath> |
||||
|
<xpath expr="//field[@name='table_ids']" position="after"> |
||||
|
<group col="1"> |
||||
|
<field name="rest_floor_facility"> |
||||
|
<tree string='Floor Facility' editable="bottom"> |
||||
|
<field name="name" /> |
||||
|
<field name="line_percentage" /> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</group> |
||||
|
</xpath> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="extra_features_form_view" model="ir.ui.view"> |
||||
|
<field name="name">Floor Facility Form</field> |
||||
|
<field name="model">restaurant.floor.facility</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form> |
||||
|
<sheet> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="name"/> |
||||
|
</group> |
||||
|
<group> |
||||
|
<field name="percentage"/> |
||||
|
</group> |
||||
|
</group> |
||||
|
<field name="description"/> |
||||
|
</sheet> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="extra_features_tree_view" model="ir.ui.view"> |
||||
|
<field name="name">Floor Facility Tree</field> |
||||
|
<field name="model">restaurant.floor.facility</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree> |
||||
|
<field name="name"/> |
||||
|
<field name="percentage"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="action_restaurant_extra_features" model="ir.actions.act_window"> |
||||
|
<field name="name">Floor Facility</field> |
||||
|
<field name="res_model">restaurant.floor.facility</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">tree,form</field> |
||||
|
<field name="help" type="html"> |
||||
|
<p class="oe_view_nocontent_create"> |
||||
|
Click to add a new facility. |
||||
|
</p> |
||||
|
</field> |
||||
|
</record> |
||||
|
<menuitem id="menu_restaurant_extra_features" name="Floor Facility" sequence="31" parent="point_of_sale.menu_point_config_product" action="action_restaurant_extra_features"/> |
||||
|
</data> |
||||
|
</odoo> |
@ -0,0 +1,10 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
<data> |
||||
|
<template id="assets" inherit_id="point_of_sale.assets"> |
||||
|
<xpath expr="." position="inside"> |
||||
|
<script type="text/javascript" src="/pos_restaurant_floor_facility/static/src/js/facility_floor.js"></script> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
</data> |
||||
|
</odoo> |