@ -0,0 +1,17 @@ |
|||
Access Restriction By IP V12 |
|||
============================ |
|||
|
|||
This module will restrict users access to his account from the specified IP only. If user access his |
|||
account from non-specified IP, login will be restricted and a warning message will be displayed in |
|||
login page. |
|||
|
|||
If no IP is specified for a user, then there will not be restriction by IP. He can access from any IP. |
|||
|
|||
|
|||
Credits |
|||
======= |
|||
Cybrosys Techno Solutions |
|||
|
|||
Author |
|||
------ |
|||
* Niyas Raphy <odoo@cybrosys.com> |
@ -0,0 +1,26 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# Author: Niyas Raphy(<https://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 controllers |
|||
from . import models |
|||
|
|||
|
@ -0,0 +1,43 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2019-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# Author: Niyas Raphy(<https://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': 'Access Restriction By IP', |
|||
'summary': """User Can Access His Account Only From Specified IP Address""", |
|||
'version': '12.0.1.0.0', |
|||
'description': """User Can Access His Account Only From Specified IP Address""", |
|||
'author': 'Cybrosys Techno Solutions', |
|||
'company': 'Cybrosys Techno Solutions', |
|||
'website': 'https://www.cybrosys.com', |
|||
'category': 'Tools', |
|||
'depends': ['base', 'mail'], |
|||
'license': 'AGPL-3', |
|||
'data': [ |
|||
'security/ir.model.access.csv', |
|||
'views/allowed_ips_view.xml', |
|||
], |
|||
'images': ['static/description/banner.jpg'], |
|||
'demo': [], |
|||
'installable': True, |
|||
'auto_install': False, |
|||
} |
|||
|
@ -0,0 +1,24 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# Author: Niyas Raphy(<https://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 main |
|||
|
@ -0,0 +1,85 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# Author: Niyas Raphy(<https://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.addons.web.controllers import main |
|||
from odoo.http import request |
|||
from odoo.exceptions import Warning |
|||
import odoo |
|||
import odoo.modules.registry |
|||
from odoo.tools.translate import _ |
|||
from odoo import http |
|||
|
|||
|
|||
class Home(main.Home): |
|||
|
|||
@http.route('/web/login', type='http', auth="public") |
|||
def web_login(self, redirect=None, **kw): |
|||
main.ensure_db() |
|||
request.params['login_success'] = False |
|||
if request.httprequest.method == 'GET' and redirect and request.session.uid: |
|||
return http.redirect_with_hash(redirect) |
|||
|
|||
if not request.uid: |
|||
request.uid = odoo.SUPERUSER_ID |
|||
|
|||
values = request.params.copy() |
|||
try: |
|||
values['databases'] = http.db_list() |
|||
except odoo.exceptions.AccessDenied: |
|||
values['databases'] = None |
|||
if request.httprequest.method == 'POST': |
|||
old_uid = request.uid |
|||
ip_address = request.httprequest.environ['REMOTE_ADDR'] |
|||
if request.params['login']: |
|||
user_rec = request.env['res.users'].sudo().search([('login', '=', request.params['login'])]) |
|||
if user_rec.allowed_ips: |
|||
ip_list = [] |
|||
print ("ip_list",ip_list) |
|||
for rec in user_rec.allowed_ips: |
|||
ip_list.append(rec.ip_address) |
|||
print("ipaddressssssss",ip_list) |
|||
if ip_address in ip_list: |
|||
uid = request.session.authenticate(request.session.db, request.params['login'], request.params['password']) |
|||
print("uiddddddddd",uid) |
|||
if uid is not False: |
|||
request.params['login_success'] = True |
|||
if not redirect: |
|||
redirect = '/web' |
|||
return http.redirect_with_hash(redirect) |
|||
request.uid = old_uid |
|||
values['error'] = _("Wrong login/password") |
|||
request.uid = old_uid |
|||
values['error'] = _("Not allowed to login from this IP") |
|||
print("ippppppppppp",ip_list) |
|||
else: |
|||
uid = request.session.authenticate(request.session.db, request.params['login'], |
|||
request.params['password']) |
|||
if uid is not False: |
|||
request.params['login_success'] = True |
|||
if not redirect: |
|||
redirect = '/web' |
|||
return http.redirect_with_hash(redirect) |
|||
request.uid = old_uid |
|||
values['error'] = _("Wrong login/password") |
|||
|
|||
|
|||
return request.render('web.login', values) |
@ -0,0 +1,5 @@ |
|||
## Module <access_restriction_by_ip> |
|||
|
|||
#### 20.02.2019 |
|||
#### Version 12.0.1.0.0 |
|||
#### Module Migrated |
@ -0,0 +1,25 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# Author: Niyas Raphy(<https://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 allowed_ips |
|||
|
|||
|
@ -0,0 +1,36 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# Author: Niyas Raphy(<https://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 |
|||
|
|||
|
|||
class ResUsersInherit(models.Model): |
|||
_inherit = 'res.users' |
|||
|
|||
allowed_ips = fields.One2many('allowed.ips', 'users_ip', string='IP') |
|||
|
|||
|
|||
class AllowedIPs(models.Model): |
|||
_name = 'allowed.ips' |
|||
|
|||
users_ip = fields.Many2one('res.users', string='IP') |
|||
ip_address = fields.Char(string='Allowed IP') |
|
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 133 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 32 KiB |
@ -0,0 +1,309 @@ |
|||
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-header-banner.png); background-repeat:no-repeat; background-size:cover;padding: 13% 0% 22% 15%;"> |
|||
<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;"> |
|||
Access Restriction By IP |
|||
</h2> |
|||
<h3 class="oe_slogan" style="font-size: 25px;color: #fff;font-weight: 600;text-align: left;opacity: 1;margin: 0 !important;"> |
|||
User can access his account only from specified IP's |
|||
</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> |
|||
</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 will restrict the users access to his account from specified IP address only |
|||
</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: 19% 0% 30% 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> |
|||
Administrator can set a IP or a group of IP address for each users |
|||
</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> |
|||
Users can access their account only from the specified IP's |
|||
</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> |
|||
Accessing system from a non-specified IP will restrict the user login |
|||
</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> |
|||
A warning message will be displayed</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> |
|||
If no IP is set to user means there is no any restriction by IP</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> |
|||
IP Address for each users can be set from users form view</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;"> |
|||
Setting IP address for User |
|||
</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> |
|||
Setting IP address for user from users form view<br/> |
|||
<i class="fa fa-check" aria-hidden="true" style="color: #cd2d47;font-size: 15px;"></i> |
|||
User will be able to access his account only from this IP's |
|||
</h3> |
|||
<div class="oe_row oe_spaced"> |
|||
<img src="user_set_ip.png" alt="" style="width: 95%;"/> |
|||
</div> |
|||
<h2 class="oe_slogan" style="text-align: left;font-size: 28px;font-weight: 600;margin: 0px !important;"> |
|||
User accessing his account |
|||
</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> |
|||
On accessing account from a non specified IP |
|||
</h3> |
|||
<div class="oe_row oe_spaced"> |
|||
<img src="access_non_set_ip.png" alt="" style="width: 95%;"/> |
|||
</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 Service |
|||
</h2> |
|||
<div style="display:flex;padding-top: 20px;justify-content: space-between;"> |
|||
<div style="flex-basis: 18%;"> |
|||
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"> |
|||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
|||
<img src="https://www.cybrosys.com/images/odoo-customization.png" style="width: 100%;border-radius: 100%;"/> |
|||
</div> |
|||
<h3 class="oe_slogan" style="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;"> |
|||
Odoo <br/>Customization |
|||
</h3> |
|||
</a> |
|||
</div> |
|||
<div style="flex-basis: 18%;"> |
|||
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"> |
|||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
|||
<img src="https://www.cybrosys.com/images/odoo-erp-implementation.png" style="width: 100%;border-radius: 100%;"/> |
|||
</div> |
|||
<h3 class="oe_slogan" style="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;"> |
|||
Odoo <br/>Implementation |
|||
</h3> |
|||
</a> |
|||
</div> |
|||
<div style="flex-basis: 18%;"> |
|||
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"> |
|||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
|||
<img src="https://www.cybrosys.com/images/odoo-erp-integration.png" style="width: 100%;border-radius: 100%;"/> |
|||
</div> |
|||
<h3 class="oe_slogan" style="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;"> |
|||
Odoo <br/>Integration |
|||
</h3> |
|||
</a> |
|||
</div> |
|||
<div style="flex-basis: 18%;"> |
|||
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"> |
|||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
|||
<img src="https://www.cybrosys.com/images/odoo-erp-support.png" style="width: 100%;border-radius: 100%;"/> |
|||
</div> |
|||
<h3 class="oe_slogan" style="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;"> |
|||
Odoo <br/>Support |
|||
</h3> |
|||
</a> |
|||
</div> |
|||
<div style="flex-basis: 18%;"> |
|||
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"> |
|||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"> |
|||
<img src="https://www.cybrosys.com/images/hire-odoo-developer.png" style="width: 100%;border-radius: 100%;"/> |
|||
</div> |
|||
<h3 class="oe_slogan" style="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;"> |
|||
Hire <br/>Odoo Developer |
|||
</h3> |
|||
</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<section class="oe_container" style="padding: 3% 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;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"> |
|||
<div style="width:30%; float:left;"> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<img src="https://www.cybrosys.com/images/odoo-index-industry-1.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|||
</div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:600;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;"> |
|||
Trading |
|||
</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> |
|||
</a> |
|||
</div> |
|||
<div style="flex-basis: 32%;padding-top: 20px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" target="_blank"> |
|||
<div style="width:30%; float:left;"> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<img src="https://www.cybrosys.com/images/odoo-index-industry-2.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|||
</div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:600;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;"> |
|||
Manufacturing |
|||
</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> |
|||
</a> |
|||
</div> |
|||
<div style="flex-basis: 32%;padding-top: 20px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank"> |
|||
<div style="width:30%; float:left;"> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<img src="https://www.cybrosys.com/images/odoo-index-industry-3.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|||
</div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:600;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;"> |
|||
Restaurant |
|||
</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> |
|||
</a> |
|||
</div> |
|||
<div style="flex-basis: 32%;padding-top: 20px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"> |
|||
<div style="width:30%; float:left;"> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<img src="https://www.cybrosys.com/images/odoo-index-industry-4.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|||
|
|||
</div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:600;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;"> |
|||
POS |
|||
</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> |
|||
</a> |
|||
</div> |
|||
<div style="flex-basis: 32%;padding-top: 20px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"> |
|||
<div style="width:30%; float:left;"> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<img src="https://www.cybrosys.com/images/odoo-index-industry-5.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|||
|
|||
</div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:600;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;"> |
|||
E-commerce & Website |
|||
</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> |
|||
</a> |
|||
</div> |
|||
<div style="flex-basis: 32%;padding-top: 20px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank"> |
|||
<div style="width:30%; float:left;"> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<img src="https://www.cybrosys.com/images/odoo-index-industry-6.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|||
|
|||
</div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:600;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;"> |
|||
Hotel Management |
|||
</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> |
|||
</a> |
|||
</div> |
|||
<div style="flex-basis: 32%;padding-top: 20px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank"> |
|||
<div style="width:30%; float:left;"> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<img src="https://www.cybrosys.com/images/odoo-index-industry-7.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|||
|
|||
</div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:600;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;"> |
|||
Education |
|||
</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> |
|||
</a> |
|||
</div> |
|||
<div style="flex-basis: 32%;padding-top: 20px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"> |
|||
<div style="width:30%; float:left;"> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<img src="https://www.cybrosys.com/images/odoo-index-industry-8.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|||
|
|||
</div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:600;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;"> |
|||
Service Management |
|||
</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> |
|||
</a> |
|||
</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: 14px;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"><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: 14px;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: 14px;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/odoo-customization-and-installation/"><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: 105 KiB |
@ -0,0 +1,21 @@ |
|||
<?xml version="1.0" encoding="utf-8" ?> |
|||
<odoo> |
|||
<data> |
|||
<record model="ir.ui.view" id="res_users_allowed_ips"> |
|||
<field name="name">res.users</field> |
|||
<field name="model">res.users</field> |
|||
<field name="inherit_id" ref="base.view_users_form"/> |
|||
<field name="arch" type="xml"> |
|||
<xpath expr="//page[1]" position='after'> |
|||
<page string="Allowed IP"> |
|||
<field name="allowed_ips"> |
|||
<tree editable="bottom"> |
|||
<field name="ip_address"/> |
|||
</tree> |
|||
</field> |
|||
</page> |
|||
</xpath> |
|||
</field> |
|||
</record> |
|||
</data> |
|||
</odoo> |
@ -0,0 +1,32 @@ |
|||
==================== |
|||
Event Management v12 |
|||
==================== |
|||
Event management is a core module which can manage any type of events. |
|||
The user can selectively download and install different service modules to extend the scope of this module. |
|||
The new service will be automatically get attached to this core Event management module. |
|||
It is different from Odoo's event module. |
|||
Here you can manage different types of events and allocate services to different users. |
|||
|
|||
Note: Presently we have released the service “Event Catering” under this module. New services are being developed by our team. |
|||
|
|||
Features |
|||
======== |
|||
* Event order creation. |
|||
* Automatically creates service orders. |
|||
* Allocate the services to different users. |
|||
* Integrated with Accounting module. |
|||
* Simple Workflow. |
|||
* Attractive Design. |
|||
|
|||
Contributors |
|||
============ |
|||
|
|||
* Avinash Nk <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,20 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# This program is free software: you can modify |
|||
# it under the terms of the GNU Affero General Public License (AGPL) as |
|||
# published by the Free Software Foundation, either version 3 of the |
|||
# License, or (at your option) any later version. |
|||
# |
|||
# This program is distributed in the hope that it will be useful, |
|||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
# GNU Affero General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU Affero General Public License |
|||
# along with this program. If not, see <https://www.gnu.org/licenses/>. |
|||
# |
|||
################################################################################### |
|||
from . import models |
@ -0,0 +1,46 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2019-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# Author: Avinash Nk(<avinash@cybrosys.in>) |
|||
# |
|||
# This program is free software: you can modify |
|||
# it under the terms of the GNU Affero General Public License (AGPL) as |
|||
# published by the Free Software Foundation, either version 3 of the |
|||
# License, or (at your option) any later version. |
|||
# |
|||
# This program is distributed in the hope that it will be useful, |
|||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
# GNU Affero General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU Affero General Public License |
|||
# along with this program. If not, see <https://www.gnu.org/licenses/>. |
|||
# |
|||
################################################################################### |
|||
{ |
|||
'name': 'Event Management', |
|||
'version': '12.0.1.0.0', |
|||
'summary': """Core Module for Managing Different Types Of Events.""", |
|||
'description': """Core Module for Managing Different Types Of Events""", |
|||
"category": "Industry", |
|||
'author': 'Cybrosys Techno Solutions', |
|||
'company': 'Cybrosys Techno Solutions', |
|||
'maintainer': 'Cybrosys Techno Solutions', |
|||
'website': "https://www.cybrosys.com", |
|||
'depends': ['product', 'account'], |
|||
'data': ['security/event_security.xml', |
|||
'security/ir.model.access.csv', |
|||
'views/event_management_view.xml', |
|||
'views/event_type_view.xml', |
|||
'views/dashboard.xml', |
|||
'data/event_management.xml', |
|||
], |
|||
'demo': [ |
|||
], |
|||
'images': ['static/description/banner.jpg'], |
|||
'license': 'AGPL-3', |
|||
'installable': True, |
|||
'application': True, |
|||
} |
@ -0,0 +1,40 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<data noupdate="1"> |
|||
|
|||
<record id="event_type1" model="event.management.type"> |
|||
<field name="name">Wedding</field> |
|||
<field name="image" type="base64" file="event_management/static/img/event_type_image1.jpg"/> |
|||
</record> |
|||
<record id="event_type2" model="event.management.type"> |
|||
<field name="name">Birthday</field> |
|||
<field name="image" type="base64" file="event_management/static/img/event_type_image2.jpeg"/> |
|||
</record> |
|||
<record id="event_type3" model="event.management.type"> |
|||
<field name="name">Family Events</field> |
|||
<field name="image" type="base64" file="event_management/static/img/event_type_image3.jpeg"/> |
|||
</record> |
|||
<record id="event_type4" model="event.management.type"> |
|||
<field name="name">Press Conference</field> |
|||
<field name="image" type="base64" file="event_management/static/img/event_type_image4.jpeg"/> |
|||
</record> |
|||
<record id="event_type5" model="event.management.type"> |
|||
<field name="name">Seminars</field> |
|||
<field name="image" type="base64" file="event_management/static/img/event_type_image5.jpeg"/> |
|||
</record> |
|||
<record id="event_type6" model="event.management.type"> |
|||
<field name="name">Conferences</field> |
|||
<field name="image" type="base64" file="event_management/static/img/event_type_image6.jpeg"/> |
|||
</record> |
|||
|
|||
<record id="sequence_event_order" model="ir.sequence"> |
|||
<field name="name">Event Order</field> |
|||
<field name="code">event.order.sequence</field> |
|||
<field name="suffix"> %(day)s/%(month)s/%(year)s</field> |
|||
<field name="prefix">EVE-</field> |
|||
<field name="number_increment">1</field> |
|||
<field name="padding">2</field> |
|||
</record> |
|||
|
|||
</data> |
|||
</odoo> |
@ -0,0 +1,5 @@ |
|||
## Module <event_management> |
|||
|
|||
#### 18.02.2019 |
|||
#### Version 12.0.1.0.0 |
|||
#### Module Migrated |
@ -0,0 +1,20 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# This program is free software: you can modify |
|||
# it under the terms of the GNU Affero General Public License (AGPL) as |
|||
# published by the Free Software Foundation, either version 3 of the |
|||
# License, or (at your option) any later version. |
|||
# |
|||
# This program is distributed in the hope that it will be useful, |
|||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
# GNU Affero General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU Affero General Public License |
|||
# along with this program. If not, see <https://www.gnu.org/licenses/>. |
|||
# |
|||
################################################################################### |
|||
from . import event_management |
@ -0,0 +1,222 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# Author: Avinash Nk(<avinash@cybrosys.in>) |
|||
# |
|||
# This program is free software: you can modify |
|||
# it under the terms of the GNU Affero General Public License (AGPL) as |
|||
# published by the Free Software Foundation, either version 3 of the |
|||
# License, or (at your option) any later version. |
|||
# |
|||
# This program is distributed in the hope that it will be useful, |
|||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
# GNU Affero General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU Affero General Public License |
|||
# along with this program. If not, see <https://www.gnu.org/licenses/>. |
|||
# |
|||
################################################################################### |
|||
from odoo import models, fields, api, _ |
|||
from odoo.exceptions import UserError, ValidationError |
|||
|
|||
|
|||
class EventManagement(models.Model): |
|||
_name = 'event.management' |
|||
|
|||
name = fields.Char(string="Name", readonly=True) |
|||
type_of_event = fields.Many2one('event.management.type', string="Type", required=True) |
|||
partner_id = fields.Many2one('res.partner', string="Customer", required=True) |
|||
date = fields.Date(string="Date", default=fields.Date.today, required=True) |
|||
start_date = fields.Datetime(string="Start date", default=lambda self: fields.datetime.now(), required=True) |
|||
end_date = fields.Datetime(string="End date", required=True) |
|||
service_line = fields.One2many('event.service.line', 'event_id', string="Services") |
|||
state = fields.Selection([('draft', 'Draft'), ('confirm', 'Confirmed'), ('invoice', 'Invoiced'), |
|||
('close', 'Close'), ('cancel', 'Canceled')], string="State", default="draft") |
|||
note = fields.Text('Terms and conditions') |
|||
price_subtotal = fields.Float(string='Total', compute='sub_total_update', readonly=True, store=True) |
|||
image = fields.Binary("Image", attachment=True, |
|||
help="This field holds the image used as image for the event, limited to 1080x720px.") |
|||
currency_id = fields.Many2one('res.currency', readonly=True, |
|||
default=lambda self: self.env.user.company_id.currency_id) |
|||
invoice_count = fields.Integer(string='# of Invoices') |
|||
invoice_ids = fields.Many2many("account.invoice", string='Invoices', copy=False) |
|||
pending_invoice = fields.Boolean(string="Invoice Pending", compute='pending_invoice_find') |
|||
|
|||
@api.multi |
|||
@api.depends('service_line', 'service_line.state') |
|||
def pending_invoice_find(self): |
|||
pending = 0 |
|||
for lines in self.service_line: |
|||
if lines.invoiced is False and lines.state == "done": |
|||
pending = 1 |
|||
if pending == 1: |
|||
self.pending_invoice = True |
|||
else: |
|||
self.pending_invoice = False |
|||
|
|||
@api.multi |
|||
@api.depends('service_line', 'service_line.amount') |
|||
def sub_total_update(self): |
|||
total = 0 |
|||
for items in self.service_line: |
|||
total += items.amount |
|||
self.price_subtotal = total |
|||
|
|||
@api.model |
|||
def create(self, values): |
|||
start_date = values['start_date'] |
|||
end_date = values['end_date'] |
|||
if start_date >= end_date: |
|||
raise UserError(_('Start date must be less than End date')) |
|||
sequence_code = 'event.order.sequence' |
|||
sequence_number = self.env['ir.sequence'].next_by_code(sequence_code) |
|||
values['name'] = sequence_number |
|||
return super(EventManagement, self).create(values) |
|||
|
|||
@api.multi |
|||
def event_confirm(self): |
|||
self.state = "confirm" |
|||
|
|||
@api.multi |
|||
def event_cancel(self): |
|||
self.state = "cancel" |
|||
|
|||
@api.multi |
|||
def event_close(self): |
|||
pending = 0 |
|||
for lines in self.service_line: |
|||
if lines.invoiced is False: |
|||
pending = 1 |
|||
if pending == 1: |
|||
raise ValidationError(_('You can close an event only when all services is Done and Invoiced')) |
|||
else: |
|||
self.state = "close" |
|||
|
|||
@api.multi |
|||
def action_view_invoice_event(self): |
|||
invoices = self.mapped('invoice_ids') |
|||
action = self.env.ref('account.action_invoice_tree1').read()[0] |
|||
if len(invoices) > 1: |
|||
action['domain'] = [('id', 'in', invoices.ids)] |
|||
elif len(invoices) == 1: |
|||
action['views'] = [(self.env.ref('account.invoice_form').id, 'form')] |
|||
action['res_id'] = invoices.ids[0] |
|||
else: |
|||
action = {'type': 'ir.actions.act_window_close'} |
|||
return action |
|||
|
|||
@api.multi |
|||
def event_invoice_create(self): |
|||
product_line = [] |
|||
for lines in self.service_line: |
|||
if lines.invoiced is False and lines.state == "done": |
|||
product_line.append({'product_id': lines.related_product, 'price_unit': lines.amount}) |
|||
lines.invoiced = True |
|||
if len(product_line) > 0: |
|||
journal_id = self.env['account.invoice'].default_get(['journal_id'])['journal_id'] |
|||
company_id = self.env.user.company_id.id |
|||
inv_obj = self.env['account.invoice'] |
|||
inv_line_obj = self.env['account.invoice.line'] |
|||
partner = self.partner_id |
|||
inv_data = { |
|||
'name': partner.name, |
|||
'reference': partner.name, |
|||
'account_id': partner.property_account_payable_id.id, |
|||
'partner_id': partner.id, |
|||
'currency_id': self.currency_id.id, |
|||
'journal_id': journal_id, |
|||
'origin': self.name, |
|||
'company_id': company_id, |
|||
} |
|||
inv_id = inv_obj.create(inv_data) |
|||
for records in product_line: |
|||
product_id = records['product_id'] |
|||
price_unit = records['price_unit'] |
|||
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)) |
|||
inv_line_data = { |
|||
'name': self.name, |
|||
'account_id': income_account, |
|||
'price_unit': price_unit, |
|||
'quantity': 1, |
|||
'product_id': product_id.id, |
|||
'invoice_id': inv_id.id, |
|||
'uom_id': product_id.uom_id.id, |
|||
} |
|||
inv_line_obj.create(inv_line_data) |
|||
imd = self.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'} |
|||
self.state = "invoice" |
|||
all_invoice_ids = self.invoice_ids.ids |
|||
all_invoice_ids.append(inv_id.id) |
|||
self.update({'invoice_ids': all_invoice_ids, 'invoice_count': self.invoice_count + 1}) |
|||
return result |
|||
|
|||
|
|||
class EventServiceLine(models.Model): |
|||
_name = 'event.service.line' |
|||
|
|||
service = fields.Selection([('none', 'None')], string="Services", required=True) |
|||
event_id = fields.Many2one('event.management', string="Event") |
|||
date_from = fields.Datetime(string="Date from", required=True) |
|||
date_to = fields.Datetime(string="Date to", required=True) |
|||
amount = fields.Float(string="Amount", readonly=True) |
|||
state = fields.Selection([('done', 'Done'), ('pending', 'Pending')], string="State", default="pending", |
|||
readonly=True) |
|||
currency_id = fields.Many2one('res.currency', readonly=True, |
|||
default=lambda self: self.env.user.company_id.currency_id) |
|||
invoiced = fields.Boolean(string="Invoiced") |
|||
related_product = fields.Many2one('product.product', string="Related Product") |
|||
|
|||
_sql_constraints = [('event_supplier_unique', 'unique(event_id, service)', |
|||
'Duplication Of Service In The Service Lines Is not Allowed')] |
|||
|
|||
@api.multi |
|||
@api.constrains('date_from', 'date_to') |
|||
def _check_date_to_date_from(self): |
|||
if self.date_to < self.date_from: |
|||
raise ValidationError(_('"Date to" cannot be set before "Date from".\n\n' |
|||
'Check the "Date from" and "Date to" of the "%s" service' % self.service)) |
|||
|
|||
|
|||
class EventManagementType(models.Model): |
|||
_name = 'event.management.type' |
|||
|
|||
name = fields.Char(string="Name") |
|||
image = fields.Binary("Image", attachment=True, |
|||
help="This field holds the image used as image for the event, limited to 1080x720px.") |
|||
event_count = fields.Integer(string="# of Events", compute='event_count_calculation') |
|||
|
|||
@api.multi |
|||
def event_count_calculation(self): |
|||
for records in self: |
|||
events = self.env['event.management'].search([('type_of_event', '=', records.id)]) |
|||
records.event_count = len(events) |
@ -0,0 +1,17 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<data> |
|||
|
|||
<record id="category_event_management" model="ir.module.category"> |
|||
<field name="name">Event Management</field> |
|||
<field name="sequence">19</field> |
|||
</record> |
|||
|
|||
<record id="group_event_manager" model="res.groups"> |
|||
<field name="name">Event Manager</field> |
|||
<field name="category_id" ref="category_event_management"/> |
|||
<field name="users" eval="[(4, ref('base.user_root'))]"/> |
|||
</record> |
|||
|
|||
</data> |
|||
</odoo> |
|
After Width: | Height: | Size: 136 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 284 KiB |
After Width: | Height: | Size: 165 KiB |
After Width: | Height: | Size: 102 KiB |
After Width: | Height: | Size: 234 KiB |
After Width: | Height: | Size: 1.2 MiB |
After Width: | Height: | Size: 35 KiB |
@ -0,0 +1,375 @@ |
|||
<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;"> |
|||
Event Management |
|||
</h2> |
|||
<h3 class="oe_slogan" style="font-size: 25px;color: #fff;font-weight: 600;text-align: left;opacity: 1;margin: 0 !important;"> |
|||
Manage different types of events.<br> |
|||
Core Module for Event Management. |
|||
</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;"> |
|||
Event management is a core module which can manage any type of events. The user can selectively download and install different service modules to extend the scope of this module. The new service will be automatically get attached to this core Event management module. It is different from Odoo's event module. Here you can manage different types of events and allocate services to different users. |
|||
Note: Presently we have released the service 'Event Catering' under this module. New services are being developed by our team. |
|||
</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: 19% 0% 30% 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> |
|||
Event order 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> |
|||
Automatically creates service orders. |
|||
</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> |
|||
Allocate the services to different users. |
|||
</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 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> |
|||
Simple Workflow. |
|||
</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> |
|||
Attractive Design. |
|||
</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> |
|||
Event Dashboard |
|||
</h3> |
|||
<div class="oe_row oe_spaced"> |
|||
<img src="cybrosys-event-management-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> |
|||
Event Order View |
|||
</h3> |
|||
<div class="oe_row oe_spaced"> |
|||
<img src="cybrosys-event-management-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> |
|||
Event Order Form View |
|||
</h3> |
|||
<div class="oe_row oe_spaced"> |
|||
<img src="cybrosys-event-management-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> |
|||
Event Type |
|||
</h3> |
|||
<div class="oe_row oe_spaced"> |
|||
<img src="cybrosys-event-management-4.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> |
|||
Event Services |
|||
</h3> |
|||
<p class="oe_mt32"> |
|||
<p>After installing a new service, you will get an option to select the service in the event order.</p> |
|||
</p> |
|||
<p class="oe_mt32"> |
|||
<p>Creating an Event Order</p> |
|||
</p> |
|||
<div class="oe_row oe_spaced"> |
|||
<img src="cybrosys-event-management-5.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: 164 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 98 KiB |
After Width: | Height: | Size: 63 KiB |
After Width: | Height: | Size: 101 KiB |
After Width: | Height: | Size: 70 KiB |
@ -0,0 +1,12 @@ |
|||
.style_event { |
|||
text-align: center; |
|||
flex: none !important; |
|||
background: none !important; |
|||
box-shadow: none !important; |
|||
} |
|||
.style_event_type { |
|||
text-align: center; |
|||
flex: none !important; |
|||
background: none !important; |
|||
box-shadow: none !important; |
|||
} |
@ -0,0 +1,63 @@ |
|||
<?xml version="1.0" encoding="utf-8" ?> |
|||
<odoo> |
|||
<data> |
|||
<record id="event_management_kanban" model="ir.ui.view" > |
|||
<field name="name">event_management_kanban.dashboard</field> |
|||
<field name="model">event.management.type</field> |
|||
<field name="type">kanban</field> |
|||
<field name="arch" type="xml"> |
|||
<kanban class="oe_background_grey o_kanban_dashboard" create="0"> |
|||
<field name="name"/> |
|||
<field name="event_count"/> |
|||
<field name="id"/> |
|||
<templates> |
|||
<t t-name="kanban-box"> |
|||
<div class="col-md-12" style="margin-bottom: 2%;"> |
|||
<div class="o_primary style_event_type col-md-12" style="padding-bottom: 4%;"> |
|||
<div class="col-md-10"> |
|||
<h1 style="text-align:left;"><field name="name"/></h1> |
|||
</div> |
|||
<div class="col-md-2"> |
|||
<button type="edit" string="Settings" class="button_background" style="margin-top: 22px;background: none !important;border: none !IMPORTANT;FONT-SIZE: 16px;"> |
|||
<i class="fa fa-cog fa-spin"/> |
|||
</button> |
|||
</div> |
|||
<div class="col-md-12"> |
|||
<img t-att-src="kanban_image('event.management.type', 'image', record.id.raw_value)" class="img-responsive" style="width:100%; border-radius: 13px;"/> |
|||
</div> |
|||
<div class="col-md-12"> |
|||
<span style="margin-top: 6%;margin-bottom: 2%;font-weight: 600;"> |
|||
<span class=" o_primary" style="float: left;">Total Orders :</span> |
|||
<!--<span class=" o_primary" style="">--> |
|||
<field name="event_count"/> |
|||
<!--</span>--> |
|||
</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</t> |
|||
</templates> |
|||
</kanban> |
|||
</field> |
|||
</record> |
|||
|
|||
<template id="assets_backend" name="sales_team assets" inherit_id="web.assets_backend"> |
|||
<xpath expr="." position="inside"> |
|||
<link rel="stylesheet" |
|||
href="/event_management/static/src/css/event_dashboard.css"/> |
|||
</xpath> |
|||
</template> |
|||
|
|||
|
|||
<record id="event_dashboard_action" model="ir.actions.act_window"> |
|||
<field name="name">Dashboard</field> |
|||
<field name="res_model">event.management.type</field> |
|||
<field name="view_type">form</field> |
|||
<field name="view_mode">kanban,form</field> |
|||
<field name="context">{}</field> |
|||
</record> |
|||
|
|||
<menuitem id="event_management_dashboard" parent="event_management.event_management_main_menu" |
|||
action="event_dashboard_action" sequence="1"/> |
|||
</data> |
|||
</odoo> |
@ -0,0 +1,206 @@ |
|||
<?xml version="1.0" encoding="utf-8" ?> |
|||
<odoo> |
|||
<data> |
|||
|
|||
<!-- Tree Views --> |
|||
|
|||
<record id="event_management_tree_view" model="ir.ui.view"> |
|||
<field name="name">event_management_tree_view.tree</field> |
|||
<field name="model">event.management</field> |
|||
<field name="arch" type="xml"> |
|||
<tree> |
|||
<field name="name"/> |
|||
<field name="type_of_event"/> |
|||
<field name="partner_id"/> |
|||
<field name="date"/> |
|||
<field name="start_date"/> |
|||
<field name="end_date"/> |
|||
<field name="state"/> |
|||
</tree> |
|||
</field> |
|||
</record> |
|||
|
|||
<!-- Kanban Views --> |
|||
|
|||
<record id="event_management_kanban_view" model="ir.ui.view"> |
|||
<field name="name">event_management_kanban_view.kanban</field> |
|||
<field name="model">event.management</field> |
|||
<field name="arch" type="xml"> |
|||
<kanban quick_create="false" > |
|||
<field name="type_of_event"/> |
|||
<templates> |
|||
<t t-name="kanban-box"> |
|||
<div t-attf-class="oe_kanban_global_click col-md-2 style_event"> |
|||
|
|||
|
|||
<div class="o_kanban_image" style="width:100%; "> |
|||
<t> |
|||
<img t-att-src="kanban_image('event.management.type', 'image', record.type_of_event.raw_value)" style="width:100%; border-radius: 28px;"/> |
|||
</t> |
|||
</div> |
|||
<div class="oe_kanban_content" style="padding-left: 0px !important;"> |
|||
<div style="text-align: center;padding-top: 4px;"> |
|||
<strong><field name="name"/></strong> |
|||
</div> |
|||
</div> |
|||
<div class="oe_clear"/> |
|||
</div> |
|||
</t> |
|||
</templates> |
|||
</kanban> |
|||
</field> |
|||
</record> |
|||
|
|||
<!-- Form Views --> |
|||
|
|||
<record id="event_management_form_view" model="ir.ui.view"> |
|||
<field name="name">event_management_form_view.form</field> |
|||
<field name="model">event.management</field> |
|||
<field name="arch" type="xml"> |
|||
<form> |
|||
<header> |
|||
<button name="event_confirm" string="Confirm" type="object" class="oe_highlight" states="draft"/> |
|||
<button name="event_invoice_create" string="Create Invoice" type="object" class="oe_highlight" attrs="{'invisible': ['|', ('state', 'not in', ['invoice', 'confirm']), ('pending_invoice', '=', False)]}"/> |
|||
<button name="event_cancel" string="Cancel" type="object" states="draft"/> |
|||
<button name="event_close" string="Close" type="object" states="invoice"/> |
|||
<field name="state" widget="statusbar" statusbar_visible="draft,confirm,invoice,close"/> |
|||
</header> |
|||
<sheet> |
|||
<div class="oe_button_box" name="button_box"> |
|||
<button name="action_view_invoice_event" |
|||
type="object" |
|||
class="oe_stat_button" |
|||
icon="fa-pencil-square-o" |
|||
attrs="{'invisible': [('state', 'not in', ['invoice', 'close'])]}"> |
|||
<field name="invoice_count" widget="statinfo" string="Invoices"/> |
|||
</button> |
|||
</div> |
|||
<h1> |
|||
<field name="name"/> |
|||
</h1> |
|||
<group> |
|||
<group> |
|||
<field name="type_of_event" attrs="{'readonly': [('state', 'not in', ['draft'])]}"/> |
|||
<field name="partner_id" attrs="{'readonly': [('state', 'not in', ['draft'])]}"/> |
|||
</group> |
|||
<group> |
|||
<field name="date" attrs="{'readonly': [('state', 'not in', ['draft'])]}"/> |
|||
<field name="start_date" attrs="{'readonly': [('state', 'not in', ['draft'])]}"/> |
|||
<field name="end_date" attrs="{'readonly': [('state', 'not in', ['draft'])]}"/> |
|||
<field name="currency_id" invisible="1"/> |
|||
<field name="pending_invoice" invisible="1"/> |
|||
</group> |
|||
</group> |
|||
<notebook> |
|||
<page string="Service Lines"> |
|||
<field name="service_line" mode="tree" attrs="{'readonly': [('state', 'not in', ['draft'])]}"> |
|||
<form string="Service Lines Form"> |
|||
<group> |
|||
<group> |
|||
<field name="service"/> |
|||
<field name="date_from"/> |
|||
<field name="date_to"/> |
|||
<field name="amount"/> |
|||
</group> |
|||
</group> |
|||
</form> |
|||
<tree string="Service Lines Tree" editable="bottom" colors="#10993b:state=='done';#f20b07:state=='pending'"> |
|||
<field name="service"/> |
|||
<field name="date_from"/> |
|||
<field name="date_to"/> |
|||
<field name="state" readonly="1"/> |
|||
<field name="invoiced" readonly="1"/> |
|||
<field name="currency_id" invisible="1"/> |
|||
<field name="related_product" invisible="1"/> |
|||
<field name="invoiced" invisible="1"/> |
|||
<field name="amount" widget="monetary" options="{'currency_field': 'currency_id'}"/> |
|||
</tree> |
|||
</field> |
|||
<group class="oe_subtotal_footer oe_right" colspan="2" name="event_total"> |
|||
<div class="oe_subtotal_footer_separator oe_inline o_td_label"> |
|||
<label for="price_subtotal"/> |
|||
</div> |
|||
<field name="price_subtotal" nolabel="1" class="oe_subtotal_footer_separator" widget="monetary" options="{'currency_field': 'currency_id'}"/> |
|||
</group> |
|||
<field name="note" class="oe_inline" placeholder="Setup default terms and conditions in your company settings." attrs="{'readonly': [('state', 'not in', ['draft'])]}"/> |
|||
<div class="oe_clear"/> |
|||
</page> |
|||
</notebook> |
|||
</sheet> |
|||
</form> |
|||
</field> |
|||
</record> |
|||
|
|||
<!-- Search Views --> |
|||
|
|||
<record id="event_management_search_view" model="ir.ui.view"> |
|||
<field name="name">event_management_view.search</field> |
|||
<field name="model">event.management</field> |
|||
<field name="arch" type="xml"> |
|||
<search string="Event Management"> |
|||
<field name="name"/> |
|||
<field name="type_of_event"/> |
|||
<field name="partner_id"/> |
|||
<field name="service_line"/> |
|||
<group expand="0" string="Group By"> |
|||
<filter string="Event Type" name="group_by_event" domain="[]" context="{'group_by':'type_of_event'}"/> |
|||
<filter string="State" name="group_by_state" domain="[]" context="{'group_by':'state'}"/> |
|||
</group> |
|||
</search> |
|||
</field> |
|||
</record> |
|||
|
|||
<!-- Calendar View --> |
|||
|
|||
<record id="event_management_calender_view" model="ir.ui.view"> |
|||
<field name="name">event_management_view.calendar</field> |
|||
<field name="model">event.management</field> |
|||
<field name="arch" type="xml"> |
|||
<calendar string="Event Orders" date_start="start_date" date_stop="end_date" color="type_of_event"> |
|||
<field name="name"/> |
|||
<field name="partner_id"/> |
|||
<field name="state"/> |
|||
</calendar> |
|||
</field> |
|||
</record> |
|||
|
|||
<!-- Graph View --> |
|||
|
|||
<record id="event_management_graph_view" model="ir.ui.view"> |
|||
<field name="name">event_management_view.graph</field> |
|||
<field name="model">event.management</field> |
|||
<field name="arch" type="xml"> |
|||
<graph string="Event Orders"> |
|||
<field name="partner_id"/> |
|||
<field name="type_of_event"/> |
|||
<field name="price_subtotal" type="measure"/> |
|||
</graph> |
|||
</field> |
|||
</record> |
|||
|
|||
|
|||
<record id="event_management_action" model="ir.actions.act_window"> |
|||
<field name="name">Event Management</field> |
|||
<field name="res_model">event.management</field> |
|||
<field name="type">ir.actions.act_window</field> |
|||
<field name="view_type">form</field> |
|||
<field name="view_mode">kanban,tree,form,calendar,graph</field> |
|||
<field name="help" type="html"> |
|||
<p class="oe_view_nocontent_create"> |
|||
Click to add an event order. |
|||
</p><p> |
|||
Here you can create and manage your events. |
|||
</p> |
|||
</field> |
|||
</record> |
|||
|
|||
<menuitem id="event_management_main_menu" name="Event Management"/> |
|||
<menuitem id="event_management_sub_menu1" name="Event Management" parent="event_management_main_menu" |
|||
sequence="5"/> |
|||
<menuitem id="event_management_sub_menu2" name="Event Management" parent="event_management_sub_menu1" |
|||
action="event_management_action" sequence="2"/> |
|||
<menuitem id="event_management_service" name="Service" parent="event_management_sub_menu1" sequence="4"/> |
|||
|
|||
|
|||
</data> |
|||
</odoo> |
@ -0,0 +1,52 @@ |
|||
<?xml version="1.0" encoding="utf-8" ?> |
|||
<odoo> |
|||
<data> |
|||
|
|||
<record id="event_type_tree_view" model="ir.ui.view"> |
|||
<field name="name">event_type_tree_view.tree</field> |
|||
<field name="model">event.management.type</field> |
|||
<field name="arch" type="xml"> |
|||
<tree> |
|||
<field name="name"/> |
|||
</tree> |
|||
</field> |
|||
</record> |
|||
|
|||
<record id="event_type_form_view" model="ir.ui.view"> |
|||
<field name="name">event_type_form_view.form</field> |
|||
<field name="model">event.management.type</field> |
|||
<field name="arch" type="xml"> |
|||
<form> |
|||
<sheet> |
|||
<div style="text-align:center;padding-top:20px;"> |
|||
<field name="image" widget='image' style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);"/> |
|||
</div> |
|||
<h1 style="text-align: center;"> |
|||
<field name="name" required="1"/> |
|||
</h1> |
|||
</sheet> |
|||
</form> |
|||
</field> |
|||
</record> |
|||
|
|||
<record id="event_management_type_action" model="ir.actions.act_window"> |
|||
<field name="name">Event type</field> |
|||
<field name="res_model">event.management.type</field> |
|||
<field name="type">ir.actions.act_window</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 an event type. |
|||
</p><p> |
|||
Here you can create different types of events. |
|||
</p> |
|||
</field> |
|||
</record> |
|||
|
|||
<menuitem id="event_management_configuration_menu" name="Configuration" parent="event_management_main_menu" groups="event_management.group_event_manager"/> |
|||
<menuitem id="event_management_type_menu" name="Event Type" parent="event_management_configuration_menu" |
|||
action="event_management_type_action"/> |
|||
|
|||
</data> |
|||
</odoo> |
@ -0,0 +1,17 @@ |
|||
Stock Move With Invoice v12 |
|||
=========================== |
|||
This module is developed to manage the stock picking from invoice .It helps to transfer/receive products from |
|||
customer/supplier invoice. |
|||
|
|||
Installation |
|||
============ |
|||
Just select it from available modules to install it, there is no need to extra installations. |
|||
|
|||
Configuration |
|||
============= |
|||
|
|||
Nothing to configure. |
|||
|
|||
Credits |
|||
======= |
|||
Developer: Saritha Sahadevan @ cybrosys, odoo@cybrosys.com |
@ -0,0 +1,22 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://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 <https://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################## |
|||
from . import models |
@ -0,0 +1,38 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2019-TODAY Cybrosys Technologies(<https://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 <https://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################## |
|||
{ |
|||
'name': "Stock Picking From Invoice", |
|||
'version': '12.0.1.0.0', |
|||
'summary': """Stock Picking From Customer/Supplier Invoice""", |
|||
'description': """This Module Enables To Create Stocks Picking From Customer/Supplier Invoice""", |
|||
'author': "Cybrosys Techno Solutions", |
|||
'company': 'Cybrosys Techno Solutions', |
|||
'website': "https://www.cybrosys.com", |
|||
'category': 'Accounting', |
|||
'depends': ['base', 'account', 'stock'], |
|||
'data': ['views/invoice_stock_move_view.xml'], |
|||
'images': ['static/description/banner.jpg'], |
|||
'license': 'LGPL-3', |
|||
'installable': True, |
|||
'auto_install': False, |
|||
'application': False, |
|||
} |
@ -0,0 +1,5 @@ |
|||
## Module <invoice_stock_move> |
|||
|
|||
#### 19.02.2019 |
|||
#### Version 12.0.1.0.0 |
|||
#### Module Migrated |
@ -0,0 +1,22 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://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 <https://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################## |
|||
from . import invoice_stock |
@ -0,0 +1,193 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# Author: Saritha Sahadevan(<https://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 <https://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################## |
|||
from odoo.exceptions import UserError |
|||
from odoo import models, fields, api, _ |
|||
|
|||
|
|||
class InvoiceStockMove(models.Model): |
|||
_inherit = 'account.invoice' |
|||
|
|||
@api.model |
|||
def _default_picking_receive(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', '=', 'incoming'), ('warehouse_id.company_id', '=', company_id)], limit=1) |
|||
if not types: |
|||
types = type_obj.search([('code', '=', 'incoming'), ('warehouse_id', '=', False)]) |
|||
return types[:1] |
|||
|
|||
@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] |
|||
|
|||
picking_count = fields.Integer(string="Count") |
|||
invoice_picking_id = fields.Many2one('stock.picking', string="Picking Id") |
|||
picking_type_id = fields.Many2one('stock.picking.type', 'Picking Type', required=True, |
|||
default=_default_picking_receive, |
|||
help="This will determine picking type of incoming shipment") |
|||
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") |
|||
state = fields.Selection([ |
|||
('draft', 'Draft'), |
|||
('proforma', 'Pro-forma'), |
|||
('proforma2', 'Pro-forma'), |
|||
('open', 'Open'), |
|||
('paid', 'Paid'), |
|||
('cancel', 'Cancelled'), |
|||
('done', 'Received'), |
|||
], string='Status', index=True, readonly=True, default='draft', |
|||
track_visibility='onchange', copy=False) |
|||
|
|||
@api.multi |
|||
def action_stock_receive(self): |
|||
for order in self: |
|||
if not order.invoice_line_ids: |
|||
raise UserError(_('Please create some invoice lines.')) |
|||
if not self.number: |
|||
raise UserError(_('Please Validate invoice.')) |
|||
if not self.invoice_picking_id: |
|||
pick = { |
|||
'picking_type_id': self.picking_type_id.id, |
|||
'partner_id': self.partner_id.id, |
|||
'origin': self.number, |
|||
'location_dest_id': self.picking_type_id.default_location_dest_id.id, |
|||
'location_id': self.partner_id.property_stock_supplier.id |
|||
} |
|||
picking = self.env['stock.picking'].create(pick) |
|||
self.invoice_picking_id = picking.id |
|||
self.picking_count = len(picking) |
|||
moves = order.invoice_line_ids.filtered(lambda r: r.product_id.type in ['product', 'consu'])._create_stock_moves(picking) |
|||
move_ids = moves._action_confirm() |
|||
move_ids._action_assign() |
|||
|
|||
@api.multi |
|||
def action_stock_transfer(self): |
|||
for order in self: |
|||
if not order.invoice_line_ids: |
|||
raise UserError(_('Please create some invoice lines.')) |
|||
if not self.number: |
|||
raise UserError(_('Please Validate invoice.')) |
|||
if not self.invoice_picking_id: |
|||
pick = { |
|||
'picking_type_id': self.picking_transfer_id.id, |
|||
'partner_id': self.partner_id.id, |
|||
'origin': self.number, |
|||
'location_dest_id': self.partner_id.property_stock_customer.id, |
|||
'location_id': self.picking_transfer_id.default_location_src_id.id |
|||
} |
|||
picking = self.env['stock.picking'].create(pick) |
|||
self.invoice_picking_id = picking.id |
|||
self.picking_count = len(picking) |
|||
moves = order.invoice_line_ids.filtered(lambda r: r.product_id.type in ['product', 'consu'])._create_stock_moves_transfer(picking) |
|||
move_ids = moves._action_confirm() |
|||
move_ids._action_assign() |
|||
|
|||
@api.multi |
|||
def action_view_picking(self): |
|||
action = self.env.ref('stock.action_picking_tree_ready') |
|||
result = action.read()[0] |
|||
result.pop('id', None) |
|||
result['context'] = {} |
|||
result['domain'] = [('id', '=', self.invoice_picking_id.id)] |
|||
pick_ids = sum([self.invoice_picking_id.id]) |
|||
if pick_ids: |
|||
res = self.env.ref('stock.view_picking_form', False) |
|||
result['views'] = [(res and res.id or False, 'form')] |
|||
result['res_id'] = pick_ids or False |
|||
return result |
|||
|
|||
|
|||
class SupplierInvoiceLine(models.Model): |
|||
_inherit = 'account.invoice.line' |
|||
|
|||
@api.multi |
|||
def _create_stock_moves(self, picking): |
|||
moves = self.env['stock.move'] |
|||
done = self.env['stock.move'].browse() |
|||
for line in self: |
|||
price_unit = line.price_unit |
|||
template = { |
|||
'name': line.name or '', |
|||
'product_id': line.product_id.id, |
|||
'product_uom': line.uom_id.id, |
|||
'location_id': line.invoice_id.partner_id.property_stock_supplier.id, |
|||
'location_dest_id': picking.picking_type_id.default_location_dest_id.id, |
|||
'picking_id': picking.id, |
|||
'move_dest_id': False, |
|||
'state': 'draft', |
|||
'company_id': line.invoice_id.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, |
|||
} |
|||
diff_quantity = line.quantity |
|||
tmp = template.copy() |
|||
tmp.update({ |
|||
'product_uom_qty': diff_quantity, |
|||
}) |
|||
template['product_uom_qty'] = diff_quantity |
|||
done += moves.create(template) |
|||
return done |
|||
|
|||
def _create_stock_moves_transfer(self, picking): |
|||
moves = self.env['stock.move'] |
|||
done = self.env['stock.move'].browse() |
|||
for line in self: |
|||
price_unit = line.price_unit |
|||
template = { |
|||
'name': line.name or '', |
|||
'product_id': line.product_id.id, |
|||
'product_uom': line.uom_id.id, |
|||
'location_id': picking.picking_type_id.default_location_src_id.id, |
|||
'location_dest_id': line.invoice_id.partner_id.property_stock_customer.id, |
|||
'picking_id': picking.id, |
|||
'move_dest_id': False, |
|||
'state': 'draft', |
|||
'company_id': line.invoice_id.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, |
|||
} |
|||
diff_quantity = line.quantity |
|||
tmp = template.copy() |
|||
tmp.update({ |
|||
'product_uom_qty': diff_quantity, |
|||
}) |
|||
template['product_uom_qty'] = diff_quantity |
|||
done += moves.create(template) |
|||
return done |
|||
|
|||
|
|||
|
After Width: | Height: | Size: 128 KiB |
After Width: | Height: | Size: 131 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,350 @@ |
|||
|
|||
<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% 4% 15%;background-position-y: -128px;"> |
|||
<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;"> |
|||
Stock Picking From Invoice |
|||
</h2> |
|||
<h3 class="oe_slogan" style="font-size: 25px;color: #fff;font-weight: 600;text-align: left;opacity: 1;margin: 0 !important;"> |
|||
This Module Enables To Stock Pickings From Customer/Supplier Invoice. |
|||
</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;"> |
|||
Currently in Odoo , We cannot transfer stocks directly from customer/supplier invoice. |
|||
We need to depend sales module or purchase module to transfer or receive goods. |
|||
This module enable to transfer stocks from invoices without depending sales and purchase module. |
|||
</h3> |
|||
</div> |
|||
</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: 19% 0% 30% 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> |
|||
Stock Picking From Customer Invoice. |
|||
</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> |
|||
Stock Picking From Supplier Invoice. |
|||
</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> |
|||
Transfer Button in Customer invoice |
|||
</h3> |
|||
<div class="oe_row oe_spaced"> |
|||
<img src="stock-picking-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> |
|||
On clicking Transfer Button, Stock Is Moved To Customer Inventory. |
|||
</h3> |
|||
<div class="oe_row oe_spaced"> |
|||
<img src="stock-picking-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> |
|||
Receive Button in Vendor Bill. |
|||
</h3> |
|||
<div class="oe_row oe_spaced"> |
|||
<img src="stock-picking-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> |
|||
>On clicking Receive Button, Stock Is Moved To Our Inventory. |
|||
</h3> |
|||
<div class="oe_row oe_spaced"> |
|||
<img src="stock-picking-cybrosys-2.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: 141 KiB |
After Width: | Height: | Size: 119 KiB |
After Width: | Height: | Size: 146 KiB |
@ -0,0 +1,56 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<data> |
|||
<record id="customer_invoice_stock_move_view" model="ir.ui.view"> |
|||
<field name="name">Move Name</field> |
|||
<field name="model">account.invoice</field> |
|||
<field name="inherit_id" ref="account.invoice_form"/> |
|||
<field name="arch" type="xml"> |
|||
<xpath expr="//header" position="inside"> |
|||
<button name="action_stock_transfer" string="Transfer" type="object" class="oe_highlight" |
|||
attrs="{'invisible':[('origin', '!=', False)]}"/> |
|||
</xpath> |
|||
<xpath expr="//field[@name='date_due']" position="after"> |
|||
<field name="picking_transfer_id"/> |
|||
<field name="invoice_picking_id" invisible="1"/> |
|||
</xpath> |
|||
<xpath expr="//field[@name='number']" position="before"> |
|||
<div class="oe_button_box" name="button_box"> |
|||
<button type="object" |
|||
name="action_view_picking" states="open,paid" |
|||
class="oe_stat_button" attrs="{'invisible':[('origin', '!=', False)]}" |
|||
icon="fa-truck"> |
|||
<field name="picking_count" string="Shipment" widget="statinfo"/> |
|||
</button> |
|||
</div> |
|||
</xpath> |
|||
</field> |
|||
</record> |
|||
|
|||
<record id="supplier_invoice_stock_move_view" model="ir.ui.view"> |
|||
<field name="name">Move Name</field> |
|||
<field name="model">account.invoice</field> |
|||
<field name="inherit_id" ref="account.invoice_supplier_form"/> |
|||
<field name="arch" type="xml"> |
|||
<xpath expr="//header" position="inside"> |
|||
<button name="action_stock_receive" string="Receive" class="oe_highlight" |
|||
type="object" attrs="{'invisible':[('origin', '!=', False)]}"/> |
|||
</xpath> |
|||
<xpath expr="//field[@name='date_due']" position="after"> |
|||
<field name="picking_type_id"/> |
|||
<field name="invoice_picking_id" invisible="1"/> |
|||
</xpath> |
|||
<xpath expr="//field[@name='number']" position="before"> |
|||
<div class="oe_button_box" name="button_box"> |
|||
<button type="object" |
|||
name="action_view_picking" |
|||
class="oe_stat_button" attrs="{'invisible':[('origin', '!=', False)]}" |
|||
icon="fa-truck"> |
|||
<field name="picking_count" string="Shipment" widget="statinfo"/> |
|||
</button> |
|||
</div> |
|||
</xpath> |
|||
</field> |
|||
</record> |
|||
</data> |
|||
</odoo> |
@ -0,0 +1,54 @@ |
|||
==================== |
|||
POS Session Lock V12 |
|||
==================== |
|||
|
|||
This module allows pos user to lock pos screen. |
|||
|
|||
Installation |
|||
============ |
|||
|
|||
- www.odoo.com/documentation/12.0/setup/install.html |
|||
- Install our custom addon |
|||
|
|||
|
|||
Configuration |
|||
============= |
|||
|
|||
* Using the Boolean button in POS configuration you can enable screen lock. |
|||
* Security pin for each pos user can be set from Point of Sale tab under Settings -> Users -> Users. |
|||
|
|||
|
|||
Features |
|||
======== |
|||
|
|||
* Screen lock option in POS session configuration. |
|||
* Screen lock button in pos. |
|||
* Lock screen using keyboard shortcut 'CTRL+L'. |
|||
* Login/Unlock screen in pos. |
|||
* Extra layer of security. |
|||
|
|||
|
|||
License |
|||
======= |
|||
GNU LESSER GENERAL PUBLIC LICENSE, Version 3 (LGPLv3) |
|||
(http://www.gnu.org/licenses/agpl.html) |
|||
|
|||
Bug Tracker |
|||
=========== |
|||
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. |
|||
|
|||
Credits |
|||
======= |
|||
* Cybrosys Techno Solutions<https://www.cybrosys.com> |
|||
|
|||
Author |
|||
------ |
|||
|
|||
Developer: Aswani PC @ 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,21 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# |
|||
# This program is free software: you can modify |
|||
# it under the terms of the GNU Affero General Public License (AGPL) as |
|||
# published by the Free Software Foundation, either version 3 of the |
|||
# License, or (at your option) any later version. |
|||
# |
|||
# This program is distributed in the hope that it will be useful, |
|||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
# GNU Affero General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU Affero General Public License |
|||
# along with this program. If not, see <https://www.gnu.org/licenses/>. |
|||
# |
|||
################################################################################### |
|||
from . import models |
@ -0,0 +1,42 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2019-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# |
|||
# This program is free software: you can modify |
|||
# it under the terms of the GNU Affero General Public License (AGPL) as |
|||
# published by the Free Software Foundation, either version 3 of the |
|||
# License, or (at your option) any later version. |
|||
# |
|||
# This program is distributed in the hope that it will be useful, |
|||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
# GNU Affero General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU Affero General Public License |
|||
# along with this program. If not, see <https://www.gnu.org/licenses/>. |
|||
# |
|||
################################################################################### |
|||
{ |
|||
'name': "POS Session Lock", |
|||
'version': '12.0.1.0.0', |
|||
'summary': """The Module Allows the POS User to Set Screen Lock for POS Screen""", |
|||
'description': """This module allows pos user to lock pos screen.""", |
|||
'author': "Cybrosys Techno Solutions", |
|||
'maintainer': 'Cybrosys Techno Solutions', |
|||
'company': "Cybrosys Techno Solutions", |
|||
'website': "https://www.cybrosys.com", |
|||
'category': 'Point of Sale', |
|||
'depends': ['point_of_sale'], |
|||
'data': [ |
|||
'views/pos_lock.xml', |
|||
'views/pos_templates.xml', |
|||
], |
|||
'qweb': ['static/src/xml/session_lock.xml'], |
|||
'images': ['static/description/banner.jpg'], |
|||
'license': 'AGPL-3', |
|||
'installable': True, |
|||
'auto_install': False, |
|||
'application': False, |
|||
} |
@ -0,0 +1,5 @@ |
|||
## Module <pos_lock_session> |
|||
|
|||
#### 13.02.2019 |
|||
#### Version 12.0.1.0.0 |
|||
#### Module Migrated |
@ -0,0 +1,3 @@ |
|||
# -*- coding: utf-8 -*- |
|||
|
|||
from . import pos_lock |
@ -0,0 +1,12 @@ |
|||
# -*- coding: utf-8 -*- |
|||
|
|||
from odoo import models, fields |
|||
|
|||
|
|||
class PosLockConfig(models.Model): |
|||
_inherit = 'pos.config' |
|||
|
|||
pos_lock = fields.Boolean(string='Enable Lock Screen') |
|||
bg_color = fields.Char('Background Color', default='rgb(218, 218, 218)', |
|||
help='The background color of the lock screen, ' |
|||
'(must be specified in a html-compatible format)') |
After Width: | Height: | Size: 89 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 34 KiB |
@ -0,0 +1,352 @@ |
|||
<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;"> |
|||
POS Session Lock |
|||
</h2> |
|||
<h3 class="oe_slogan" style="font-size: 25px;color: #fff;font-weight: 600;text-align: left;opacity: 1;margin: 0 !important;"> |
|||
CLock Pos Screen |
|||
</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;"> |
|||
The module allows the POS user to set screen lock for his/her POS screen when it is left unattended. The lock feature will provide an extra layer security for individual POS. |
|||
</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: 19% 0% 30% 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> |
|||
Screen lock option in POS session configuration. |
|||
</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> |
|||
Screen lock button in POS. |
|||
</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> |
|||
Lock screen using keyboard shortcut 'CTRL+L'. |
|||
</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> |
|||
Login/Unlock screen in pos. |
|||
</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> |
|||
Extra layer of security. |
|||
</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> |
|||
Configuration |
|||
<h4> |
|||
Using the newly appeared Boolean button in POS configuration user can enable screen lock option. |
|||
</h4> |
|||
</h3> |
|||
<div class="oe_row oe_spaced"> |
|||
<img src="pos_session_lock_01.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> |
|||
Lock Screen |
|||
</h3> |
|||
<div class="oe_row oe_spaced"> |
|||
<img src="pos_session_lock_02.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> |
|||
Login/Unlock Screen |
|||
</h3> |
|||
<div class="oe_row oe_spaced"> |
|||
<img src="pos_session_lock_03.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: 112 KiB |
After Width: | Height: | Size: 124 KiB |
After Width: | Height: | Size: 46 KiB |
@ -0,0 +1,53 @@ |
|||
.login-screen{ |
|||
position:fixed !important; |
|||
} |
|||
.pos .modal-dialog .screen_lock{ |
|||
position: absolute; |
|||
top: 0; left: 0; right: 0; bottom: 0; |
|||
margin: auto; |
|||
width:100px; |
|||
height:100px; |
|||
text-align:center; |
|||
border-radius: 3px; |
|||
z-index:1200; |
|||
} |
|||
|
|||
.pos .modal-dialog .screen_lock .fa-lock { |
|||
position: absolute; |
|||
left: 13px; |
|||
top: 13px; |
|||
color:black; |
|||
font-size: 100px; |
|||
border-radius: 100%; |
|||
} |
|||
|
|||
.pos_login .fa-arrow-circle-right { |
|||
font-size: 40px; |
|||
background: #FFFFFF; |
|||
color: rgb(0,128,0); |
|||
line-height: 30px; |
|||
width: 30px; |
|||
border-radius: 100%; |
|||
margin-top: 8px; |
|||
} |
|||
|
|||
.back_pos .fa-arrow-circle-left { |
|||
position: absolute; |
|||
left: 13px; |
|||
top: 13px; |
|||
margin-right: 8px; |
|||
font-size: 40px; |
|||
background: #FFFFFF; |
|||
color: red; |
|||
line-height: 30px; |
|||
width: 30px; |
|||
border-radius: 100%; |
|||
} |
|||
|
|||
.pos_invalid_password{ |
|||
color: red; |
|||
} |
|||
|
|||
.login-picture{ |
|||
padding-top:130px; |
|||
} |
@ -0,0 +1,109 @@ |
|||
odoo.define('pos_lock_session.session_lock', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var chrome = require('point_of_sale.chrome'); |
|||
var gui = require('point_of_sale.gui'); |
|||
var PopupWidget = require('point_of_sale.popups'); |
|||
var _t = core._t; |
|||
|
|||
var SessionLock = PopupWidget.extend({ |
|||
template:'SessionLock', |
|||
events: _.extend({}, PopupWidget.prototype.events,{ |
|||
"click .screen_lock" : "unlock_screen", |
|||
}), |
|||
show: function(options){ |
|||
var self = this; |
|||
this._super(options); |
|||
$(document).keydown(function(e) { |
|||
if(e.keyCode == 13) { |
|||
e.preventDefault(); |
|||
self.gui.show_screen('login',{lock:true}); |
|||
} |
|||
}); |
|||
}, |
|||
unlock_screen:function(){ |
|||
var self = this; |
|||
this.gui.show_screen('login',{lock:true}); |
|||
} |
|||
}); |
|||
gui.define_popup({name:'lock', widget: SessionLock}); |
|||
|
|||
|
|||
chrome.Chrome.include({ |
|||
events: { |
|||
"click .pos-lock": "on_click_pos_lock", |
|||
}, |
|||
|
|||
init: function() { |
|||
var self = this; |
|||
this._super(); |
|||
$(document).keydown(function(e) { |
|||
if(self.pos.config.pos_lock){ |
|||
if(e.keyCode == 76 && e.ctrlKey) { |
|||
e.preventDefault(); |
|||
e.stopPropagation(); |
|||
var cashier = self.pos.get_cashier().id; |
|||
for (var i = 0; i < self.pos.users.length; i++) { |
|||
var user = self.pos.users[i]; |
|||
if (user.id === cashier) { |
|||
var cashier_pswd = user.pos_security_pin; |
|||
} |
|||
} |
|||
if(!cashier_pswd){ |
|||
self.gui.show_popup('error', { |
|||
'title': _t('Security pin is not set'), |
|||
'body': _t('Please set a security pin.'), |
|||
}); |
|||
} |
|||
else{ |
|||
self.gui.show_popup('lock',{}); |
|||
} |
|||
} |
|||
} |
|||
}); |
|||
}, |
|||
renderElement: function(){ |
|||
var self = this; |
|||
return this._super(); |
|||
|
|||
}, |
|||
|
|||
build_widgets: function(){ |
|||
this._super(); |
|||
var cashier = this.pos.get_cashier().id; |
|||
for (var i = 0; i < this.pos.users.length; i++) { |
|||
var user = this.pos.users[i]; |
|||
if (user.id === cashier) { |
|||
var cashier_pswd = user.pos_security_pin; |
|||
} |
|||
} |
|||
if (this.pos.config.pos_lock && cashier_pswd) { |
|||
this.gui.set_startup_screen('login'); |
|||
} |
|||
}, |
|||
|
|||
on_click_pos_lock: function (e) { |
|||
var self = this; |
|||
e.stopPropagation(); |
|||
var cashier = this.pos.get_cashier().id; |
|||
for (var i = 0; i < this.pos.users.length; i++) { |
|||
var user = this.pos.users[i]; |
|||
if (user.id === cashier) { |
|||
var cashier_pswd = user.pos_security_pin; |
|||
} |
|||
} |
|||
if(!cashier_pswd){ |
|||
this.gui.show_popup('error', { |
|||
'title': _t('Security pin is not set'), |
|||
'body': _t('Please set a security pin.'), |
|||
}); |
|||
} |
|||
else{ |
|||
self.gui.show_popup('lock',{}); |
|||
} |
|||
}, |
|||
|
|||
}); |
|||
|
|||
}); |
@ -0,0 +1,125 @@ |
|||
odoo.define('pos_lock_session.screen', function (require) { |
|||
"use strict"; |
|||
|
|||
var screens = require('point_of_sale.screens'); |
|||
var gui = require('point_of_sale.gui'); |
|||
var models = require('point_of_sale.models'); |
|||
var _super_posmodel = models.PosModel.prototype; |
|||
|
|||
var _t = require('web.core')._t; |
|||
|
|||
var LoginScreenWidget = screens.ScreenWidget.extend({ |
|||
template: 'LoginScreenWidget', |
|||
|
|||
barcode_product_action: function(code){}, |
|||
barcode_discount_action: function(code){}, |
|||
barcode_client_action: function(code){}, |
|||
|
|||
init: function(parent, options) { |
|||
this._super(parent, options); |
|||
|
|||
}, |
|||
|
|||
show: function(){ |
|||
var self = this; |
|||
this._super(); |
|||
this.renderElement(); |
|||
this.$('.pos_invalid_password').val(''); |
|||
this.$('.user_password').val(''); |
|||
var cashier = this.pos.get_cashier().id; |
|||
for (var i = 0; i < this.pos.users.length; i++) { |
|||
var user = this.pos.users[i]; |
|||
if (user.id === cashier) { |
|||
this.user = user; |
|||
} |
|||
} |
|||
// this.user = this.pos.get_cashier();
|
|||
this.chrome.$('.pos-topheader').hide(); |
|||
if(this.pos.config.iface_vkeyboard && this.chrome.widget.keyboard){ |
|||
this.chrome.widget.keyboard.connect(this.$('.user_password')); |
|||
} |
|||
this.$el.css({"background-color": _.escape(this.pos.config.bg_color)}); |
|||
if (! this.user.pos_security_pin){ |
|||
self.$('.pos_invalid_password').text('Please set a security pin.'); |
|||
} |
|||
this.$('.back').click(function(){ |
|||
if (self.gui.get_current_screen_param('lock')){ |
|||
self.gui.show_screen('products'); |
|||
self.chrome.$('.pos-topheader').show(); |
|||
if(self.pos.config.iface_vkeyboard && self.chrome.widget.keyboard){ |
|||
self.chrome.widget.keyboard.hide(); |
|||
} |
|||
self.gui.show_popup('lock',{}); |
|||
} |
|||
else{ |
|||
self.gui.close(); |
|||
} |
|||
|
|||
}); |
|||
this.$('.login').click(function(){ |
|||
if (self.$('.user_password').val() === self.user.pos_security_pin){ |
|||
if (!self.gui.get_current_screen_param('lock')){ |
|||
_super_posmodel.set_start_order.call(self.pos); |
|||
} |
|||
self.gui.show_screen('products'); |
|||
self.chrome.$('.pos-topheader').show(); |
|||
if(self.pos.config.iface_vkeyboard && self.chrome.widget.keyboard){ |
|||
self.chrome.widget.keyboard.hide(); |
|||
} |
|||
} |
|||
else{ |
|||
self.$('.pos_invalid_password').text('Invalid Password'); |
|||
} |
|||
}); |
|||
$(document).keyup(function(e) { |
|||
if(e.keyCode == 13) { |
|||
e.preventDefault(); |
|||
e.stopPropagation(); |
|||
if (self.$('.user_password').val() === self.user.pos_security_pin){ |
|||
if (!self.gui.get_current_screen_param('lock')){ |
|||
_super_posmodel.set_start_order.call(self.pos); |
|||
} |
|||
self.gui.show_screen('products'); |
|||
self.chrome.$('.pos-topheader').show(); |
|||
if(self.pos.config.iface_vkeyboard && self.chrome.widget.keyboard){ |
|||
self.chrome.widget.keyboard.hide(); |
|||
} |
|||
} |
|||
else{ |
|||
self.$('.pos_invalid_password').text('Invalid Password'); |
|||
} |
|||
} |
|||
}); |
|||
}, |
|||
user_icon_url: function(id){ |
|||
return '/web/image?model=res.users&id='+id+'&field=image'; |
|||
}, |
|||
|
|||
}); |
|||
|
|||
gui.define_screen({ |
|||
'name': 'login', |
|||
'widget': LoginScreenWidget, |
|||
'condition': function(){ |
|||
return this.pos.config.pos_lock; |
|||
}, |
|||
}); |
|||
|
|||
models.PosModel = models.PosModel.extend({ |
|||
// set when the user login to session.
|
|||
set_start_order: function() { |
|||
var cashier = this.get_cashier().id; |
|||
for (var i = 0; i < this.users.length; i++) { |
|||
var user = this.users[i]; |
|||
if (user.id === cashier) { |
|||
var cashier_pswd = user.pos_security_pin; |
|||
} |
|||
} |
|||
if (!this.config.pos_lock || !cashier_pswd) { |
|||
_super_posmodel.set_start_order.apply(this,arguments); |
|||
} |
|||
}, |
|||
|
|||
}); |
|||
|
|||
}); |
@ -0,0 +1,47 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<templates id="template" xml:space="preserve"> |
|||
|
|||
<t t-extend="Chrome"> |
|||
<t t-jquery="div.pos-rightheader" t-operation="append"> |
|||
<t t-if='widget.pos.config and widget.pos.config.pos_lock'> |
|||
<div class="oe_status"> |
|||
<i class="fa fa-lock pos-lock"/> |
|||
</div> |
|||
</t> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-name="SessionLock"> |
|||
<div class="modal-dialog"> |
|||
<div class='screen_lock'> |
|||
<i class='fa fa-lock' /> |
|||
</div> |
|||
</div> |
|||
</t> |
|||
|
|||
<t t-name="LoginScreenWidget"> |
|||
<div class='login-screen screen'> |
|||
<div class='screen-content-flexbox'> |
|||
<div class='button back back_pos'> |
|||
<i class='fa fa-arrow-circle-left'/> |
|||
</div> |
|||
<div class='login-picture'> |
|||
<t t-if='!widget.pos.get_cashier().id'> |
|||
<i class='fa fa-camera'></i> |
|||
</t> |
|||
<t t-if='widget.pos.get_cashier().id'> |
|||
<img t-att-src='widget.user_icon_url(widget.pos.get_cashier().id)' /> |
|||
</t> |
|||
</div> |
|||
<div><h2><t t-esc="widget.pos.get_cashier().name"/></h2></div> |
|||
<div class="password_input"> |
|||
<input class='user_password' name='password' placeholder='Password' type="password"/> |
|||
</div> |
|||
<div><span class="pos_invalid_password"/></div> |
|||
<div class='button login pos_login'> |
|||
<i class="fa fa-arrow-circle-right" aria-hidden="true"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</t> |
|||
</templates> |
@ -0,0 +1,32 @@ |
|||
<odoo> |
|||
<data> |
|||
<record id="view_pos_quick_payment_config_form" model="ir.ui.view"> |
|||
<field name="name">pos.config.form.view</field> |
|||
<field name="model">pos.config</field> |
|||
<field name="inherit_id" ref="point_of_sale.pos_config_view_form"/> |
|||
<field name="arch" type="xml"> |
|||
<xpath expr="//h2" position="before"> |
|||
<h2>Screen Lock</h2> |
|||
<group name="session_lock"> |
|||
<div class="row mt16 o_settings_container"> |
|||
<div class="col-xs-12 col-md-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
<field name="pos_lock"/> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<label for="pos_lock"/> |
|||
</div> |
|||
</div> |
|||
<div class="col-xs-12 col-md-6 o_setting_box"> |
|||
<div class="o_setting_right_pane"> |
|||
<label for="bg_color"/> |
|||
<field name="bg_color" style="height:30px;width:200px"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</group> |
|||
</xpath> |
|||
</field> |
|||
</record> |
|||
</data> |
|||
</odoo> |
@ -0,0 +1,12 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<data> |
|||
<template id="assets" inherit_id="point_of_sale.assets"> |
|||
<xpath expr="." position="inside"> |
|||
<link rel="stylesheet" href="/pos_lock_session/static/src/css/session_lock.css"/> |
|||
<script type="text/javascript" src="/pos_lock_session/static/src/js/unlock_screen.js"/> |
|||
<script type="text/javascript" src="/pos_lock_session/static/src/js/session_lock.js"/> |
|||
</xpath> |
|||
</template> |
|||
</data> |
|||
</odoo> |