Browse Source

[ADD] Initial Commit

pull/164/head
Ajmal Cybro 5 years ago
parent
commit
a311fcc43e
  1. 21
      front_office_management/README.rst
  2. 23
      front_office_management/__init__.py
  3. 49
      front_office_management/__manifest__.py
  4. 6
      front_office_management/doc/RELEASE_NOTES.md
  5. 30
      front_office_management/models/__init__.py
  6. 49
      front_office_management/models/fo_property_counter.py
  7. 102
      front_office_management/models/fo_visit.py
  8. 45
      front_office_management/models/fo_visitor.py
  9. 57
      front_office_management/report/fo_property_label.xml
  10. 70
      front_office_management/report/fo_visitor_label.xml
  11. 32
      front_office_management/report/report.xml
  12. 64
      front_office_management/report/visitors_report.xml
  13. 17
      front_office_management/security/fo_security.xml
  14. 14
      front_office_management/security/ir.model.access.csv
  15. BIN
      front_office_management/static/description/banner.png
  16. BIN
      front_office_management/static/description/icon.png
  17. BIN
      front_office_management/static/description/images/banner_lifeline_for_task.jpeg
  18. BIN
      front_office_management/static/description/images/banner_project_report_xls_pdf.png
  19. BIN
      front_office_management/static/description/images/banner_project_status_report.png
  20. BIN
      front_office_management/static/description/images/banner_subtask.jpeg
  21. BIN
      front_office_management/static/description/images/banner_task_deadline_reminder.jpeg
  22. BIN
      front_office_management/static/description/images/banner_task_statusbar.jpeg
  23. BIN
      front_office_management/static/description/images/checked.png
  24. BIN
      front_office_management/static/description/images/cybrosys.png
  25. BIN
      front_office_management/static/description/images/property counter.png
  26. BIN
      front_office_management/static/description/images/property label.png
  27. BIN
      front_office_management/static/description/images/today_s visit.png
  28. BIN
      front_office_management/static/description/images/visit.png
  29. BIN
      front_office_management/static/description/images/visitor creation.png
  30. BIN
      front_office_management/static/description/images/visitor pass.png
  31. BIN
      front_office_management/static/description/images/visitor report.png
  32. BIN
      front_office_management/static/description/images/visitor.png
  33. 600
      front_office_management/static/description/index.html
  34. 90
      front_office_management/views/fo_property_counter.xml
  35. 186
      front_office_management/views/fo_visit.xml
  36. 119
      front_office_management/views/fo_visitor.xml
  37. 45
      sale_product_image/README.rst
  38. 23
      sale_product_image/__init__.py
  39. 45
      sale_product_image/__manifest__.py
  40. 6
      sale_product_image/doc/RELEASE_NOTES.md
  41. 23
      sale_product_image/models/__init__.py
  42. 46
      sale_product_image/models/res_config_settings.py
  43. 29
      sale_product_image/models/sale_order_line_image.py
  44. 23
      sale_product_image/report/sale_order_report.xml
  45. BIN
      sale_product_image/static/description/banner.png
  46. BIN
      sale_product_image/static/description/icon.png
  47. BIN
      sale_product_image/static/description/images/banner_barcode_scanning.jpeg
  48. BIN
      sale_product_image/static/description/images/banner_currency_total.png
  49. BIN
      sale_product_image/static/description/images/banner_customer_sequence.jpeg
  50. BIN
      sale_product_image/static/description/images/banner_previous_rates.jpeg
  51. BIN
      sale_product_image/static/description/images/banner_product_branding.png
  52. BIN
      sale_product_image/static/description/images/banner_product_expiry.jpeg
  53. BIN
      sale_product_image/static/description/images/checked.png
  54. BIN
      sale_product_image/static/description/images/cybrosys.png
  55. BIN
      sale_product_image/static/description/images/sale_order_line_image.png
  56. BIN
      sale_product_image/static/description/images/sale_order_line_image1.png
  57. BIN
      sale_product_image/static/description/images/sale_order_line_image2.png
  58. BIN
      sale_product_image/static/description/images/sale_order_line_image_3.png
  59. 508
      sale_product_image/static/description/index.html
  60. 23
      sale_product_image/views/res_config_settings.xml
  61. 16
      sale_product_image/views/sale_order_line_image.xml

21
front_office_management/README.rst

@ -0,0 +1,21 @@
===========================
Front Office Management v14
===========================
Helps You To Manage Front Office Operations.
Installation
============
Just install the module.
Configuration
=============
Nothing to configure.
Credits
=======
Anusha P P @ cybrosys, anusha@cybrosys.in
Niyas Raphy @ cybrosys, niyas@cybrosys.in
Vinaya S B @ cybrosys

23
front_office_management/__init__.py

@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2020-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Anusha P P (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from . import models

49
front_office_management/__manifest__.py

@ -0,0 +1,49 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2020-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Anusha P P (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
{
'name': "Front Office Management",
'version': '14.0.1.0.0',
'summary': """Manage Front Office Operations:Visitors, Devices Carrying Register, Actions""",
'description': """Helps You To Manage Front Office Operations, Odoo14""",
'author': "Cybrosys Techno Solutions",
'maintainer': 'Cybrosys Techno Solutions',
'company': "Cybrosys Techno Solutions",
'website': "https://www.cybrosys.com",
'category': 'Industries',
'depends': ['base', 'hr'],
'data': [
'views/fo_visit.xml',
'views/fo_visitor.xml',
'views/fo_property_counter.xml',
'report/report.xml',
'report/fo_property_label.xml',
'report/fo_visitor_label.xml',
'report/visitors_report.xml',
'security/fo_security.xml',
'security/ir.model.access.csv',
],
'images': ['static/description/banner.png'],
'license': 'AGPL-3',
'installable': True,
'auto_install': False,
}

6
front_office_management/doc/RELEASE_NOTES.md

@ -0,0 +1,6 @@
## Module <front_office_management>
#### 03.10.2020
#### Version 14.0.1.0.0
##### ADD
- Migrated to version 14

30
front_office_management/models/__init__.py

@ -0,0 +1,30 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2020-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Anusha P P (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from . import fo_visitor
from . import fo_property_counter
from . import fo_visit

49
front_office_management/models/fo_property_counter.py

@ -0,0 +1,49 @@
# -*- coding: utf-8 -*-
from odoo import models, fields, api,_
from odoo.exceptions import UserError
class VisitDetails(models.Model):
_name = 'fo.property.counter'
_inherit = 'mail.thread'
_rec_name = 'employee'
_description = 'Property Details'
employee = fields.Many2one('hr.employee', string="Employee", required=True)
date = fields.Date(string="Date", required=True)
visitor_belongings = fields.One2many('fo.belongings', 'belongings_id_fov_employee', string="Personal Belongings",
copy=False)
state = fields.Selection([
('draft', 'Draft'),
('prop_in', 'Taken In'),
('prop_out', 'Taken out'),
('cancel', 'Cancelled'),
], track_visibility='onchange', default='draft',
help='If the employee taken the belongings to the company change state to ""Taken In""'
'when he/she leave office change the state to ""Taken out""')
def action_cancel(self):
self.state = "cancel"
def action_prop_in(self):
count = 0
number = 0
for data in self.visitor_belongings:
if not data.property_count:
raise UserError(_('Please Add the Count.'))
if data.permission == '1':
count += 1
number = data.number
if number == count:
raise UserError(_('No property can be taken in.'))
else:
self.state = 'prop_in'
def action_prop_out(self):
self.state = "prop_out"

102
front_office_management/models/fo_visit.py

@ -0,0 +1,102 @@
# -*- coding: utf-8 -*-
import datetime
from odoo import models, fields, api, _
class VisitDetails(models.Model):
_name = 'fo.visit'
_inherit = ['mail.thread']
_description = 'Visit'
name = fields.Char(string="sequence", default=lambda self: _('New'))
visitor = fields.Many2one("fo.visitor", string='Visitor')
phone = fields.Char(string="Phone", required=True)
email = fields.Char(string="Email", required=True)
reason = fields.Many2many('fo.purpose', string='Purpose Of Visit', required=True,
help='Enter the reason for visit')
visitor_belongings = fields.One2many('fo.belongings', 'belongings_id_fov_visitor', string="Personal Belongings",
help='Add the belongings details here.')
check_in_date = fields.Datetime(string="Check In Time", help='Visitor check in time automatically'
' fills when he checked in to the office.')
check_out_date = fields.Datetime(string="Check Out Time", help='Visitor check out time automatically '
'fills when he checked out from the office.')
visiting_person = fields.Many2one('hr.employee', string="Meeting With")
department = fields.Many2one('hr.department', string="Department")
state = fields.Selection([
('draft', 'Draft'),
('check_in', 'Checked In'),
('check_out', 'Checked Out'),
('cancel', 'Cancelled'),
], track_visibility='onchange', default='draft')
@api.model
def create(self, vals):
if vals:
vals['name'] = self.env['ir.sequence'].next_by_code('fo.visit') or _('New')
result = super(VisitDetails, self).create(vals)
return result
def action_cancel(self):
self.state = "cancel"
def action_check_in(self):
self.state = "check_in"
self.check_in_date = datetime.datetime.now()
def action_check_out(self):
self.state = "check_out"
self.check_out_date = datetime.datetime.now()
@api.onchange('visitor')
def visitor_details(self):
if self.visitor:
if self.visitor.phone:
self.phone = self.visitor.phone
if self.visitor.email:
self.email = self.visitor.email
@api.onchange('visiting_person')
def get_employee_dpt(self):
if self.visiting_person:
self.department = self.visiting_person.department_id
class PersonalBelongings(models.Model):
_name = 'fo.belongings'
property_name = fields.Char(string="Property", help='Employee belongings name')
property_count = fields.Char(string="Count", help='Count of property')
number = fields.Integer(compute='get_number', store=True, string="Sl")
belongings_id_fov_visitor = fields.Many2one('fo.visit', string="Belongings")
belongings_id_fov_employee = fields.Many2one('fo.property.counter', string="Belongings")
permission = fields.Selection([
('0', 'Allowed'),
('1', 'Not Allowed'),
('2', 'Allowed With Permission'),
], 'Permission', required=True, index=True, default='0', track_visibility='onchange')
@api.depends('belongings_id_fov_visitor', 'belongings_id_fov_employee')
def get_number(self):
for visit in self.mapped('belongings_id_fov_visitor'):
number = 1
for line in visit.visitor_belongings:
line.number = number
number += 1
for visit in self.mapped('belongings_id_fov_employee'):
number = 1
for line in visit.visitor_belongings:
line.number = number
number += 1
class VisitPurpose(models.Model):
_name = 'fo.purpose'
name = fields.Char(string='Purpose', required=True, help='Meeting purpose in short term.eg:Meeting.')
description = fields.Text(string='Description Of Purpose', help='Description for the Purpose.')

45
front_office_management/models/fo_visitor.py

@ -0,0 +1,45 @@
# -*- coding: utf-8 -*-
from odoo import models, fields, api
class VisitorDetails(models.Model):
_name = 'fo.visitor'
name = fields.Char(string="Visitor", required=True)
visitor_image = fields.Binary(string='Image', attachment=True)
street = fields.Char(string="Street")
street2 = fields.Char(string="Street2")
zip = fields.Char(change_default=True)
city = fields.Char()
state_id = fields.Many2one("res.country.state", string='State', ondelete='restrict')
country_id = fields.Many2one('res.country', string='Country', ondelete='restrict')
phone = fields.Char(string="Phone", required=True)
email = fields.Char(string="Email", required=True)
id_proof = fields.Many2one('id.proof', string="ID Proof")
id_proof_no = fields.Char(string="ID Number", help='Id proof number')
company_info = fields.Many2one('res.partner', string="Company", help='Visiting persons company details')
visit_count = fields.Integer(compute='_no_visit_count', string='# Visits')
_sql_constraints = [
('field_uniq_email_and_id_proof', 'unique (email,id_proof)', "Please give the correct data !"),
]
def _no_visit_count(self):
data = self.env['fo.visit'].search([('visitor', '=', self.ids), ('state', '!=', 'cancel')]).ids
self.visit_count = len(data)
class VisitorProof(models.Model):
_name = 'id.proof'
_rec_name = 'id_proof'
id_proof = fields.Char(string="Name")
code = fields.Char(string="Code")

57
front_office_management/report/fo_property_label.xml

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<template id="report_property_label">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="o">
<t>
<div class="page">
<div class="oe_structure"/>
<div class="row">
<div class="col-xs-2" style="margin:auto;">
</div>
<center>
<div class="col-xs-8" style="margin:auto">
<table class="table table-condensed" style="border: 3px solid black !important;">
<tr>
<td width="100%">
<p style="text-align:center;padding-top:10px;">
<img t-if="not o.employee.image_1920" t-att-src="'/web/static/src/img/placeholder.png'" height="120" border="1" width="120"/>
<img t-if="o.employee.image_1920" t-att-src="image_data_uri( o.employee.image_1920)" class="float-left" alt="Logo" height="120" border="1" width="120" />
</p>
<p style="text-align:center;">
Name : <strong><span t-field="o.employee.name"/></strong>
</p>
<p style="text-align:center;">
Department : <strong><span t-field="o.employee.department_id.name"/></strong>
</p>
<h4 style="margin-left:50px"><b>Personal Belongings</b></h4>
<table width="90%" style="border:1px solid black;margin-left:15px">
<thead>
<th style="border:1px solid black;" width="13%" >Name</th>
<th style="border:1px solid black;" width="13%" >Count</th>
</thead>
<tbody>
<t t-foreach="o.visitor_belongings" t-as="l">
<t t-if="l.permission=='1'">
<tr>
<td style="border:1px solid black;"><span t-esc="l.property_name" style="font-size:16px;"/></td>
<td style="border:1px solid black;"><span t-esc="l.property_count" style="font-size:16px;"/></td>
</tr>
</t>
</t>
</tbody>
</table>
</td>
</tr>
</table>
</div>
</center>
</div>
</div>
</t>
</t>
</t>
</template>
</data>
</odoo>

70
front_office_management/report/fo_visitor_label.xml

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<template id="report_visitor_label">
<t t-call="web.html_container">
<t t-call="web.external_layout">
<t t-foreach="docs" t-as="o">
<t>
<div class="page">
<div class="oe_structure"/>
<div class="row">
<div class="col-xs-2" style="margin:auto;">
</div>
<center>
<div class="col-xs-8" style="margin:auto">
<br />
<table class="table table-condensed" style="border: 2px solid black !important;">
<tr>
<td width="40%">
<p style="text-align:center;padding-top:10px;">
<img t-if="not o.visitor.visitor_image" t-att-src="'/web/static/src/img/placeholder.png'" height="120" border="1" width="120"/>
<img t-if="o.visitor.visitor_image" t-att-src="image_data_uri(o.visitor.visitor_image)" class="float-left" alt="Logo" height="120" border="1" width="120" />
</p>
<p style="text-align:center;">
<strong><span t-field="o.visitor"/></strong>
</p>
</td>
<td width="50%">
<table>
<tr>
<t t-if="o.visiting_person">
<td>
<p style="text-align:right;padding-top:10px;"><strong>Visitor ID: </strong></p>
<p style="text-align:right;"><strong>Phone: </strong></p>
<t t-if="o.visiting_person"><p style="text-align:right;"><strong>Meeting With: </strong></p></t>
<t t-if="o.visiting_person"><p style="text-align:right;"><strong>Department: </strong></p></t>
</td>
<td>
<p style="text-align:left;padding-top:10px;padding-left:10px;" t-field="o.name"/>
<p style="text-align:left;padding-left:10px;" t-field="o.phone"/>
<t t-if="o.visiting_person"><p style="text-align:left;padding-left:10px;" t-field="o.visiting_person"/></t>
<t t-if="o.visiting_person"><p style="text-align:left;padding-left:10px;" t-field="o.department"/></t>
</td>
</t>
<t t-if="not o.visiting_person">
<td>
<p style="text-align:right;padding-top:30px;"><strong>VisitorID: </strong></p>
<p style="text-align:right;padding-top:30px;"><strong>Phone: </strong></p>
</td>
<td>
<p style="text-align:left;padding-top:30px;" t-field="o.visitor"/>
<p style="text-align:left;padding-top:30px;" t-field="o.phone"/>
</td>
</t>
</tr>
</table>
</td>
</tr>
</table>
</div>
</center>
</div>
</div>
</t>
</t>
</t>
</t>
</template>
</data>
</odoo>

32
front_office_management/report/report.xml

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<report
string="Visitor Pass"
id="action_print_visit_card"
model="fo.visit"
report_type="qweb-pdf"
name="front_office_management.report_visitor_label"
file="front_office_management.report_visitor_label"
/>
<report
string="Visitors Report"
id="action_print_visit_report"
model="fo.visit"
report_type="qweb-pdf"
name="front_office_management.report_visitor_report"
file="front_office_management.report_visitor_report"
/>
<report
string="Property Label"
id="action_print_property_label"
model="fo.property.counter"
report_type="qweb-pdf"
name="front_office_management.report_property_label"
file="front_office_management.report_property_label"
/>
</data>
</odoo>

64
front_office_management/report/visitors_report.xml

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<template id="report_visitor_report">
<t t-call="web.html_container">
<t t-call="web.external_layout">
<t t-foreach="docs" t-as="o">
<div class="page">
<div class="oe_structure" />
<t t-if="o and 'company_id' in o">
<t t-set="company" t-value="o.company_id"> </t>
</t>
<t t-if="not o or not 'company_id' in o">
<t t-set="company" t-value="res_company"> </t>
</t>
<br />
<h3 style="text-align:center;margin-top:50;"><b>Visitor Report</b></h3>
<br/>
<table width="100%" style="margin-left:50px;margin-top:5px;border: None solid black;">
<tr class="tr2">
<td style="width:50px;height:25px;" ><span>Visitor: </span><span t-att-style="style" t-esc="o.visitor.name"/></td>
<td style="width:50px;height:25px;" ><span>Email: </span><span t-att-style="style" t-esc="o.email"/></td>
<td style="width:50px;height:25px;" ><span>phone: </span><span t-att-style="style" t-esc="o.phone"/></td>
</tr>
<tr class="tr2">
<t t-if ="o.visiting_person"><td style="width:50px;height:25px;" ><span>Meeting With : </span><span t-att-style="style" t-esc="o.visiting_person.name"/></td></t>
<t t-if ="o.visiting_person"><td style="width:50px;height:25px;" ><span>Department : </span><span t-att-style="style" t-esc="o.department.name"/></td></t>
</tr>
</table>
<br/>
<br/>
<h4 style="margin-left:50px"><b>In Out Details</b></h4>
<table width="99%" style="margin-left:50px;margin-top:5px;border: None solid black;">
<tr class="tr2">
<td style="width:50px;height:25px;" ><span>Check In : </span><span t-att-style="style" t-esc="o.check_in_date"/></td>
<td style="width:50px;height:25px;" ><span>Check Out : </span><span t-att-style="style" t-esc="o.check_out_date"/></td>
</tr>
</table>
<br/>
<br/>
<h4 style="margin-left:50px"><b>Personal Belongings</b></h4>
<table width="90%" style="border:1px solid black;margin-left:50px">
<thead>
<th style="border:1px solid black;" width="13%" >Name</th>
<th style="border:1px solid black;" width="13%" >Count</th>
</thead>
<tbody>
<t t-foreach="o.visitor_belongings" t-as="l">
<tr>
<td style="border:1px solid black;"><span t-esc="l.property_name" style="font-size:16px;"/></td>
<td style="border:1px solid black;"><span t-esc="l.property_count" style="font-size:16px;"/></td>
</tr>
</t>
</tbody>
</table>
</div>
<p style="page-break-after:always"/>
</t>
</t>
</t>
</template>
</data>
</odoo>

17
front_office_management/security/fo_security.xml

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record model="ir.module.category" id="module_fo_front_office">
<field name="name">Reception</field>
<field name="sequence">0</field>
<field name="visible" eval="0" />
</record>
<record id="group_receptionist" model="res.groups">
<field name="name">Receptionist</field>
<field name="category_id" ref="module_fo_front_office"/>
</record>
</data>
</odoo>

14
front_office_management/security/ir.model.access.csv

@ -0,0 +1,14 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_fo_visit_receptionist,fo.visit,model_fo_visit,front_office_management.group_receptionist,1,1,1,1
access_fo_visitor_receptionist,fo_visitor,model_fo_visitor,front_office_management.group_receptionist,1,1,1,1
access_fo_belongings_receptionist,fo.belongings,model_fo_belongings,front_office_management.group_receptionist,1,1,1,1
access_id_proof_receptionist,id.proof,model_id_proof,front_office_management.group_receptionist,1,1,1,1
access_fo_property_counter_receptionist,fo.property.counter,model_fo_property_counter,front_office_management.group_receptionist,1,1,1,1
access_fo_purpose_receptionist,fo.purpose,model_fo_purpose,front_office_management.group_receptionist,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_fo_visit_receptionist fo.visit model_fo_visit front_office_management.group_receptionist 1 1 1 1
3 access_fo_visitor_receptionist fo_visitor model_fo_visitor front_office_management.group_receptionist 1 1 1 1
4 access_fo_belongings_receptionist fo.belongings model_fo_belongings front_office_management.group_receptionist 1 1 1 1
5 access_id_proof_receptionist id.proof model_id_proof front_office_management.group_receptionist 1 1 1 1
6 access_fo_property_counter_receptionist fo.property.counter model_fo_property_counter front_office_management.group_receptionist 1 1 1 1
7 access_fo_purpose_receptionist fo.purpose model_fo_purpose front_office_management.group_receptionist 1 1 1 1

BIN
front_office_management/static/description/banner.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
front_office_management/static/description/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
front_office_management/static/description/images/banner_lifeline_for_task.jpeg

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

BIN
front_office_management/static/description/images/banner_project_report_xls_pdf.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

BIN
front_office_management/static/description/images/banner_project_status_report.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

BIN
front_office_management/static/description/images/banner_subtask.jpeg

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

BIN
front_office_management/static/description/images/banner_task_deadline_reminder.jpeg

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
front_office_management/static/description/images/banner_task_statusbar.jpeg

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

BIN
front_office_management/static/description/images/checked.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
front_office_management/static/description/images/cybrosys.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
front_office_management/static/description/images/property counter.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
front_office_management/static/description/images/property label.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
front_office_management/static/description/images/today_s visit.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
front_office_management/static/description/images/visit.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

BIN
front_office_management/static/description/images/visitor creation.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

BIN
front_office_management/static/description/images/visitor pass.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

BIN
front_office_management/static/description/images/visitor report.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

BIN
front_office_management/static/description/images/visitor.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

600
front_office_management/static/description/index.html

@ -0,0 +1,600 @@
<div class="row"
style="margin: 0;position: relative;color: #000;background-position: center;background: #ffffff;border-bottom: 1px solid #e4e4e4;text-align: center; margin: auto; display: flex;justify-content: center;">
<a href="https://www.cybrosys.com/" target="_blank"><img src="images/cybrosys.png"
style=" width: 293px; padding: 1rem 0rem; margin: auto"
alt="cybrosys-logo"></a></div>
<div class="row"
style="margin:75px 0;position: relative;color: #000;background-position: center;background: #ffffff;border-bottom: 1px solid #e4e4e4; padding-bottom: 30px;">
<div class="col-md-7 col-sm-12 col-xs-12" style="padding: 0px">
<div style=" margin: 0 0 0px;padding: 20px 0 10;font-size: 23px;line-height: 35px;font-weight: 400;color: #000;border-top: 1px solid rgba(255,255,255,0.1);border-bottom: 1px solid rgba(255,255,255,0.11);text-align: left;">
<h1 style="font-size: 39px;font-weight: 600;margin: 0px !important;">Front Office Management </h1>
<h3 style="font-size: 21px;margin-top: 8px;position: relative;">Manages Visitors and Employee
Belongings </h3>
</div>
<h2 style="font-weight: 600;font-size: 1.8rem;margin-top: 15px;">Key Highlights</h2>
<ul style=" padding: 0 1px; list-style: none; ">
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><i
class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> Manage visitors.
</li>
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><i
class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> Issue Visitor Pass.
</li>
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><i
class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> Keep Check in, Check out Details
of Visitors.
</li>
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><i
class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> Manage Visitor Belongings.
</li>
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><i
class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> Print Report Of visitor.
</li>
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><i
class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> Manage Employee Belongings.
</li>
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><i
class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> Print Property Label.
</li>
</ul>
</div>
<div class="col-md-5 col-sm-12 col-xs-12"><img src="images/visitor.png" class="img-responsive" alt=""></div>
</div>
<div>
<section class="oe_container" style="padding: 1rem 0rem 1rem; background-color: #ffffff !important;">
<div class="row py-4 px-3">
<div class="w-100" style="padding-top:30px;padding-bottom:45px;border-radius: 10px;">
<ul role="tablist" class="nav nav-pills justify-content-center" data-tabs="tabs" id="pills-tab"
style="border: none;background: unset;">
<li class="nav-item mr-1 mb-3"
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #d31c22;background-color: #d31c22;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;">
<a id="pills-home-tab" data-toggle="pill" href="#pills-home" role="tab"
aria-controls="pills-home" aria-selected="true" class="nav-link active show" style="color: #000000;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400;text-align: center;
color: #fff;">Overview </a></li>
<li class="nav-item mr-1 mb-3"
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #d31c22;background-color: #d31c22;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;">
<a id="pills-home-tab" data-toggle="pill" href="#pills-home1" role="tab"
aria-controls="pills-home" aria-selected="true" class="nav-link " style="color: #000000;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center;
color: #fff;">Features </a></li>
<li class="nav-item mr-1 mb-3"
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #ffffff;background-color: #d31c22;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;">
<a class="nav-link" id="pills-profile-tab" data-toggle="pill" href="#pills-profile" role="tab"
aria-controls="pills-profile" aria-selected="false" style="color: #000000;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center;
color: #fff;">Screenshots </a></li>
</ul>
<div class="tab-content" id="pills-tabContent"
style="padding-top: 30px; padding-bottom: 30px; padding: 30px;">
<div class="px-3 pt-1 tab-pane fade active show" id="pills-home" role="tabpanel" aria-labelledby="
pills-home-tab">
<!-- Overview-->
<h2 style="font-weight: 600;text-align: center;width: 100%;">Overview</h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<h3 class="oe_slogan"
style="text-align: center;font-size: 19px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 31px;font-weight: 400;letter-spacing: .5px;margin-bottom: 21px;">
This app will help you to manage the visitors coming to your office by issuing entry passes
and handling their belongings. The app can also manage the belongings of your
employees. </h3>
</div>
<div class="px-3 pt-1 tab-pane fade " id="pills-home1" role="tabpanel" aria-labelledby="
pills-home-tab">
<!-- feature tab-->
<h2 style="font-weight: 600;text-align: center;width: 100%;"> Front Office Management</h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<ul>
<p class="mb8"
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;">
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> Manage visitors.
</p>
<p class="mb8"
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;">
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> Issue Visitor
Pass.
</p>
<p class="mb8"
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;">
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> Keep Check in,
Check out Details of Visitors.
</p>
<p class="mb8"
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;">
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i>Manage Visitor
Belongings.
</p>
<p class="mb8"
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;">
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i>Print Report Of
visitor.
</p>
<p class="mb8"
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;">
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> Manage Employee
Belongings.
</p>
<p class="mb8"
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;">
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i> Print Property Label.
</p>
</ul>
</div>
<!-- Screenshot tab-->
<div class="px-3 tab-pane fade" id="pills-profile" role="tabpanel"
aria-labelledby="pills-profile-tab">
<div class="tab-pane">
<h2 style="font-weight: 600;text-align: center;width: 100%;">Screenshots</h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<div>
<section class="oe_container">
<div id="demo" class="row carousel slide mb32" data-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active" style="min-height: 0px;">
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16"
style="float: left;">
<h3 class="alert"
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;">
<i class="fa fa-check-circle-o"
style="width:40px; color:#07B700"></i> Visitors </h3>
<p> Create visitors. </p>
<div style=""><img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/visitor creation.png"></div>
</div>
</div>
<div class="carousel-item " style="min-height: 0px;">
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16"
style="float: left;">
<h3 class="alert"
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;">
<i class="fa fa-check-circle-o"
style="width:40px; color:#07B700"></i>Visits </h3>
<p>Add visiting details. </p>
<div style=""><img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/visit.png"></div>
</div>
</div>
<div class="carousel-item" style="min-height: 0px;">
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16"
style="float: left;">
<h3 class="alert"
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;">
<i class="fa fa-check-circle-o"
style="width:40px; color:#07B700"></i>Visitor Pass </h3>
<p> Go to Visitor Management -> Visits -> Print -> Visitor Pass </p>
<div style=""><img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/visitor pass.png"></div>
</div>
</div>
<div class="carousel-item " style="min-height: 0px;">
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16"
style="float: left;">
<h3 class="alert"
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;">
<i class="fa fa-check-circle-o"
style="width:40px; color:#07B700"></i>Visitor Report </h3>
<p>Go to Visitor Management -> Visits -> Print -> Visitors
Report </p>
<div style=""><img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/visitor report.png"></div>
</div>
</div>
<div class="carousel-item" style="min-height: 0px;">
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16"
style="float: left;">
<h3 class="alert"
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;">
<i class="fa fa-check-circle-o"
style="width:40px; color:#07B700"></i>Today's Visits</h3>
<div style=""><img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/today's visit.png"></div>
</div>
</div>
<div class="carousel-item " style="min-height: 0px;">
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16"
style="float: left;">
<h3 class="alert"
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;">
<i class="fa fa-check-circle-o"
style="width:40px; color:#07B700"></i>Employee Belongings
</h3>
<p> Here you can specify the field 'Permission' with the values of
Allowed,Not Allowed and Allowed with permission. </p>
<div style=""><img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/property counter.png"></div>
</div>
</div>
<div class="carousel-item " style="min-height: 0px;">
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16"
style="float: left;">
<h3 class="alert"
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;">
<i class="fa fa-check-circle-o"
style="width:40px; color:#07B700"></i>Property Label </h3>
<p> Print the properties name that are not allowed to enter to the
office. </p>
<div style=""><img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/property label.png"></div>
</div>
</div>
</div>
</div>
<a class="carousel-control-prev" href="#demo" data-slide="prev"
style="left:-25px;width: 35px;color: #000;"> <span
class="carousel-control-prev-icon"><i class="fa fa-chevron-left"
style="font-size:24px"></i></span>
</a> <a class="carousel-control-next" href="#demo" data-slide="next"
style="right:-25px;width: 35px;color: #000;"> <span
class="carousel-control-next-icon"><i class="fa fa-chevron-right"
style="font-size:24px"></i></span> </a>
</div>
</section>
</div>
</div>
</div>
<!-- faq tab-->
<div class="px-2 px-lg-4 pt-3 tab-pane fade" id="pills-contact" role="tabpanel" aria-labelledby="pills-contact-tab">
<ul class="list-unstyled">
</ul>
</div>
</div>
</div>
</div>
</section>
<section class="oe_container" style="padding: 2rem 3rem 1rem;">
<h2 style="font-weight: 600;text-align: center;margin-bottom: 25px;width: 100%;"> Suggested Products </h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<div id="demo1" class="row carousel slide" data-ride="carousel">
<!-- The slideshow -->
<div class="carousel-inner">
<div class="carousel-item active" style="min-height: 0px;">
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
<a href="https://apps.odoo.com/apps/modules/12.0/project_report_pdf/" target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/banner_project_report_xls_pdf.png"></div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
<a href="https://apps.odoo.com/apps/modules/10.0/project_status_level_report/" target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/banner_project_status_report.png"></div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
<a href="https://apps.odoo.com/apps/modules/10.0/project_lifeline/" target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/banner_lifeline_for_task.jpeg"></div>
</a>
</div>
</div>
<div class="carousel-item" style="min-height: 0px;">
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
<a href="https://apps.odoo.com/apps/modules/10.0/project_subtask/" target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/banner_subtask.jpeg"></div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
<a href="https://apps.odoo.com/apps/modules/12.0/task_deadline_reminder/" target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/banner_task_deadline_reminder.jpeg"></div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
<a href="https://apps.odoo.com/apps/modules/10.0/project_time_spend/" target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/banner_task_statusbar.jpeg"></div>
</a>
</div>
</div>
</div>
<!-- Left and right controls -->
<a class="carousel-control-prev" href="#demo1" data-slide="prev" style="left:-25px;width: 35px;color: #000;">
<span class="carousel-control-prev-icon"><i class="fa fa-chevron-left" style="font-size:24px"></i></span>
</a> <a class="carousel-control-next" href="#demo1" data-slide="next"
style="right:-25px;width: 35px;color: #000;"> <span class="carousel-control-next-icon"><i
class="fa fa-chevron-right" style="font-size:24px"></i></span> </a>
</div>
</section>
<section class="row" style="padding: 2rem 3rem 1rem;margin:0px">
<h2 style="font-weight: 600;margin-bottom: 20px;text-align: center;width: 100%;"> Our Service </h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<div class="row" style=" display: flex; justify-content: center; flex-wrap: wrap;width: 100%; ">
<!-- <div style="display:flex;padding-top: 20px;justify-content: space-between;"> -->
<div class="col-md-2 col-sm-6 col-xs-12">
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Odoo Customization </a></h3>
</div>
<div class="col-md-2 col-sm-6 col-xs-12">
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Odoo Implementation </a></h3>
</div>
<div class="col-md-2 col-sm-6 col-xs-12">
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Odoo Integration </a></h3>
</div>
<div class="col-md-2 col-sm-6 col-xs-12">
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Odoo Support</a></h3>
</div>
<div class="col-md-2 col-sm-6 col-xs-12">
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Hire Odoo Developers</a></h3>
</a>
</div>
<!-- </div> -->
</div>
</section>
<section class="row" style="padding: 2rem 3rem 1rem;margin:0px">
<div class="row" style="margin: 0">
<h2 style="font-weight: 600;margin-bottom: 20px;text-align: center;width: 100%;"> Our Industries</h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<!-- <div style="display:flex;justify-content: space-between;flex-wrap:wrap;"> -->
<div class="row" style="width: 100%">
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div>
<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"
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
Trading </a></h3>
<h3 class="oe_slogan"
style=" text-align: left;font-size: 12px;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; font-family: 'Montserrat',sans-serif;">
Easily procure and sell your products. </h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div>
<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;" style=" margin-bottom: 10px; ">
<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"
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
Manufacturing</a></h3>
<h3 class="oe_slogan"
style=" text-align: left;font-size: 12px;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;font-family: 'Montserrat',sans-serif;">
Plan, track and schedule your operations. </h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div>
<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"
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
Restaurant</a></h3>
<h3 class="oe_slogan"
style=" text-align: left;font-size: 12px;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;font-family: 'Montserrat',sans-serif;">
Run your bar or restaurant methodical. </h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div>
<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"
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
POS</a></h3>
<h3 class="oe_slogan"
style=" text-align: left;font-size: 12px;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;font-family: 'Montserrat',sans-serif;">
Easy configuring and convivial selling. </h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div>
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
E-commerce & Website</a></h3>
<h3 class="oe_slogan"
style=" text-align: left;font-size: 12px;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; font-family: 'Montserrat',sans-serif;">
Mobile friendly, awe-inspiring product pages. </h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div>
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Hotel Management</a></h3>
<h3 class="oe_slogan"
style=" text-align: left;font-size: 12px;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; font-family: 'Montserrat',sans-serif;">
An all-inclusive hotel management application. </h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div>
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Education</a></h3>
<h3 class="oe_slogan"
style=" text-align: left;font-size: 12px;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; font-family: 'Montserrat',sans-serif;">
A Collaborative platform for educational management. </h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div>
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Service Management</a></h3>
<h3 class="oe_slogan"
style=" text-align: left;font-size: 12px;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; font-family: 'Montserrat',sans-serif;">
Keep track of services and invoice accordingly. </h3>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="oe_container" style="padding: 0% 0% 6% 0%;">
<center>
<div class="col-md-12" style="margin: auto !important;
width: 70%;
padding: 30px;">
<h2 style="font-weight: 600;text-align: center;width: 100%;"> Need Any Help? </h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<h4 style="font-size:16px;"> If you have anything to share with us based on your use of this module, please
let us know. We are ready to offer our support. </h4>
<div class="col-md-6" style="float:left; padding:20px;">
<h4><i class="fa fa-envelope"></i> Email us </h4>
<p>odoo@cybrosys.com / info@cybrosys.com</p>
</div>
<div class="col-md-6" style="float:left; padding:20px;">
<h4><i class="fa fa-phone"></i> Contact Us </h4>
<a href="https://www.cybrosys.com/contact/" target="_blank"> www.cybrosys.com </a>
</div>
</div>
</center>
</section>
<section class="oe_container" style="padding: 0% 0% 6% 0%;">
<div class="oe_slogan" style="margin-bottom: 0px;">
<div style=" display: flex; justify-content: center; flex-wrap: wrap; ">
</div>
<br>
<img src="https://www.cybrosys.com/images/logo.png" style="width: 190px; margin-bottom: 25px;margin-top: 30px;"
class="center-block">
<div style=" display: flex; justify-content: center; flex-wrap: wrap; "><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;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://in.pinterest.com/cybrosys" target="_blank"><i class="fa fa-2x fa-pinterest"
style="color:white;background: #ac0f18;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a>
</td>
</div>
</div>
</section>
</div>

90
front_office_management/views/fo_property_counter.xml

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record model="ir.ui.view" id="fo_property_counter_form_view">
<field name="name">Property Counter</field>
<field name="model">fo.property.counter</field>
<field name="arch" type="xml">
<form string="Visits">
<header>
<button name="action_prop_in"
string="Take In"
type="object"
states="draft"
class="oe_highlight"
/>
<button name="action_prop_out"
string="Take Out"
type="object"
states="prop_in"
class="oe_highlight"
/>
<button name="action_cancel"
string="Cancel"
type="object"
states="draft"
attrs = "{'invisible': [('state', 'in', ('prop_in','prop_out'))]}"/>
<field name="state"
widget="statusbar"
statusbar_visible="draft,prop_in,prop_out,cancel"
/>
</header>
<sheet>
<group>
<group>
<field name="employee"/>
<field name="date"/>
</group>
<group>
</group>
</group>
<notebook>
<page string="Personal belongings">
<field name="visitor_belongings" widget="one2many_list" nolabel="1">
<tree decoration-success="permission == '0' or permission == '2'" decoration-danger="permission == '1'" string="Items" editable="bottom">
<field name="number"/>
<field name="property_name"/>
<field name="property_count"/>
<field name="permission"/>
</tree>
</field>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
<field name="message_ids" widget="mail_thread"/>
</div>
</form>
</field>
</record>
<record model="ir.ui.view" id="fo_property_counter_tree_view">
<field name="name">Property Counter</field>
<field name="model">fo.property.counter</field>
<field name="arch" type="xml">
<tree string="Visits" decoration-success="state == 'prop_in'" decoration-muted="state == 'prop_out'">
<field name="employee"/>
<field name="date"/>
<field name="state"/>
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="fo_property_counter_action">
<field name="name">Property Counter</field>
<field name="res_model">fo.property.counter</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">Record Personal Belongings.
</p>
</field>
</record>
<menuitem id="fo_property_counter_menu" name="Property Counter" parent="front_office_mgmnt_main"
sequence="4"/>
<menuitem id="fo_property_counter_menu_child" name="Property Counter" parent="fo_property_counter_menu" action="fo_property_counter_action"
groups="base.group_user" sequence="2"/>
</data>
</odoo>

186
front_office_management/views/fo_visit.xml

@ -0,0 +1,186 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record model="ir.ui.view" id="fo_visit_form_view">
<field name="name">Visits</field>
<field name="model">fo.visit</field>
<field name="arch" type="xml">
<form string="Visits">
<header>
<button name="action_check_in"
string="Check In"
type="object"
states="draft"
class="oe_highlight"
/>
<button name="action_check_out"
string="Check Out"
type="object"
states="check_in"
class="oe_highlight"
/>
<button name="action_cancel"
string="Cancel"
type="object"
states="draft"
attrs = "{'invisible': [('state', 'in', ('check_in','check_out'))]}"/>
<field name="state"
widget="statusbar"
statusbar_visible="draft,check_in,check_out,cancel"
/>
</header>
<sheet>
<div class="oe_title">
<h1>
<field name="name" readonly="1"/>
</h1>
</div>
<group>
<group>
<field name="visitor"/>
<field name="phone"/>
<field name="email"/>
</group>
<group string="Check In/Out Details">
<field name="check_in_date" />
<field name="check_out_date" />
</group>
</group>
<group string="Purpose Of Visit">
<group>
<field name="visiting_person"/>
<field name="department"/>
<field name="reason" widget="many2many_tags"/>
</group>
<group>
</group>
</group>
<notebook>
<page string="Personal Belongings">
<field name="visitor_belongings" widget="one2many_list" nolabel="1">
<tree decoration-success="permission == '0' or permission == '2'" decoration-danger="permission == '1'" string="Items" editable="bottom">
<field name="number"/>
<field name="property_name"/>
<field name="property_count"/>
<field name="permission"/>
</tree>
</field>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
<field name="message_ids" widget="mail_thread"/>
</div>
</form>
</field>
</record>
<record model="ir.ui.view" id="fo_visit_tree_view">
<field name="name">Visits</field>
<field name="model">fo.visit</field>
<field name="arch" type="xml">
<tree string="Visits" decoration-success="state == 'check_in'" decoration-muted="state == 'check_out'">
<field name="visitor"/>
<field name="reason"/>
<field name="visiting_person"/>
<field name="state"/>
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="fo_visit_action">
<field name="name">Visits</field>
<field name="res_model">fo.visit</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">Create Visits.
</p>
<p>
The check in time will be automatically filled when the visitor check in to the office.
</p>
<p>
The check out time automatically filled when the visitor check out from office.
</p>
</field>
</record>
<record id="fo_today_visit_action" model="ir.actions.act_window">
<field name="name">Today's Visits</field>
<field name="res_model">fo.visit</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('check_in_date', '&gt;=',((context_today()-datetime.timedelta(days=0)).strftime('%Y-%m-%d 00:00:00'))),
('check_in_date', '&lt;=',((context_today()-datetime.timedelta(days=0)).strftime('%Y-%m-%d 23:59:59')))]
</field>
</record>
<record model="ir.sequence" id="seq_lab_visit">
<field name="name">Visits</field>
<field name="code">fo.visit</field>
<field name="prefix">VID</field>
<field name="padding">3</field>
<field name="company_id" eval="False" />
</record>
<record model="ir.ui.view" id="fo_belongings_form_view">
<field name="name">Belongings</field>
<field name="model">fo.belongings</field>
<field name="arch" type="xml">
<form string="Belongings">
<sheet>
<group>
<group>
<field name="property_name"/>
</group>
<group>
<field name="property_count"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<!--Proof Form view-->
<record model="ir.ui.view" id="fo_id_proof_form_view">
<field name="name">ID Proof</field>
<field name="model">id.proof</field>
<field name="arch" type="xml">
<form string="ID Proof">
<sheet>
<group>
<group>
<field name="id_proof"/>
</group>
<group>
<field name="code"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<!--visiting purpose view-->
<record model="ir.ui.view" id="fo_visiting_purpose_form_view">
<field name="name">Visiting Purpose</field>
<field name="model">fo.purpose</field>
<field name="arch" type="xml">
<form string="Visiting Purpose">
<sheet>
<group>
<group>
<field name="name"/>
</group>
<group>
<field name="description"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
</data>
</odoo>

119
front_office_management/views/fo_visitor.xml

@ -0,0 +1,119 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record model="ir.ui.view" id="fo_visitor_form_view">
<field name="name">Visitors</field>
<field name="model">fo.visitor</field>
<field name="arch" type="xml">
<form string="Visitors">
<sheet>
<div class="oe_right oe_button_box" name="button_box">
<button class="oe_inline oe_stat_button" name="%(fo_visit_action)d" type="action" icon="fa-arrows-v"
context="{'default_visitor': [active_id],'search_default_visitor': [active_id]}">
<field name="visit_count" widget="statinfo" string="Visits" style="margin-right:50px"/>
</button>
</div>
<field name="visitor_image" widget="image" class="oe_avatar" style="margin-right:50px"/>
<div name="title_name" class="oe_title">
<h1>
<table>
<tr>
<td>
<field name="name"
placeholder="FullName"
style="padding-right:10px" />
</td>
</tr>
</table>
</h1>
</div>
<group>
<group>
<label for="street" string="Address"/>
<div class="o_address_format">
<field name="street" placeholder="Street..." class="o_address_street"/>
<field name="street2" placeholder="Street 2..." class="o_address_street"/>
<field name="city" placeholder="City" class="o_address_city"/>
<field name="state_id" class="o_address_state" placeholder="State" options='{"no_open": True}'/>
<field name="zip" placeholder="ZIP" class="o_address_zip"/>
<field name="country_id" placeholder="Country" class="o_address_country" options='{"no_open": True, "no_create": True}'/>
</div>
<field name="company_info"/>
</group>
<group>
<field name="phone"/>
<field name="email"/>
<field name="id_proof" />
<field name="id_proof_no"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="fo_visitor_kanban_view" model="ir.ui.view">
<field name="name">fo.visitor.kanban</field>
<field name="model">fo.visitor</field>
<field name="arch" type="xml">
<kanban>
<field name="id"/>
<templates>
<t t-name="kanban-box">
<div class="oe_kanban_global_click">
<div class="o_kanban_image">
<img t-att-src="kanban_image('fo.visitor', 'visitor_image', record.id.value)"/>
</div>
<div class="oe_kanban_details">
<strong>
<ul>
<li>Name :<field name="name"/></li>
<li>Phone:<field name="phone"/></li>
</ul>
</strong>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record model="ir.ui.view" id="fo_visitor_tree_view">
<field name="name">Visitors</field>
<field name="model">fo.visitor</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string='Visitors'>
<field name="name"/>
<field name="phone"/>
<field name="company_info"/>
</tree>
</field>
</record>
<record id="fo_visitor_action" model="ir.actions.act_window">
<field name="name">Visitors</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">fo.visitor</field>
<field name="view_mode">kanban,tree,form</field>
<field name="view_id" ref="fo_visitor_kanban_view"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to Create New Visitor.
</p>
</field>
</record>
<menuitem id="front_office_mgmnt_main" name="Front Office" sequence="2"/>
<menuitem id="visitor_mgmnt_menu" name="Visitor Management" parent="front_office_mgmnt_main" sequence="1"/>
<menuitem id="visitor_menu" name="Visitor" parent="visitor_mgmnt_menu" action="fo_visitor_action"
groups="base.group_user" sequence="1"/>
<menuitem id="fo_visit_menu" name="Visits" parent="visitor_mgmnt_menu" action="fo_visit_action"
sequence="2"/>
<menuitem id="fo_today_visit_menu" name="Today's Visits" parent="front_office_mgmnt_main" sequence="2"/>
<menuitem id="fo_today_visit_menu_child" name="Today's Visits" parent="fo_today_visit_menu" action="fo_today_visit_action"
groups="base.group_user" sequence="2"/>
</data>
</odoo>

45
sale_product_image/README.rst

@ -0,0 +1,45 @@
Sale Order Line Images
======================
Order Line Images In Sale
Installation
============
- www.odoo.com/documentation/14.0/setup/install.html
- Install our custom addon
Configuration
=============
- No additional configurations needed
Company
-------
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__
Credits
-------
* Developer v13: Anusha @ Cybrosys
* Developer v14: Vinaya @ Cybrosys
Contacts
--------
* Mail Contact : odoo@cybrosys.com
* Website : https://cybrosys.com
Bug Tracker
-----------
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported.
Maintainer
==========
.. image:: https://cybrosys.com/images/logo.png
:target: https://cybrosys.com
This module is maintained by Cybrosys Technologies.
For support and more information, please visit `Our Website <https://cybrosys.com/>`__
Further information
===================
HTML Description: `<static/description/index.html>`__

23
sale_product_image/__init__.py

@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2020-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from . import models

45
sale_product_image/__manifest__.py

@ -0,0 +1,45 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2020-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
{
"name": "Sale Order Line Images",
"summary": "Order Line Images In Sale and Sale Report",
"version": "14.0.1.0.0",
"category": 'Sales',
"website": "https://www.cybrosys.com",
"description": """Order Line Images In Sale and Sale Report, odoo 14, order line images""",
'author': 'Cybrosys Techno Solutions',
'company': 'Cybrosys Techno Solutions',
'maintainer': 'Cybrosys Techno Solutions',
"depends": [
'sale_management',
],
"data": [
'views/sale_order_line_image.xml',
'views/res_config_settings.xml',
'report/sale_order_report.xml',
],
'images': ['static/description/banner.png'],
'license': 'LGPL-3',
'installable': True,
'auto_install': False,
'application': False,
}

6
sale_product_image/doc/RELEASE_NOTES.md

@ -0,0 +1,6 @@
## Module <sale_orderline_image>
#### 03.10.2020
#### Version 14.0.1.0.0
##### ADD
- Initial commit for Sale Order Line Images

23
sale_product_image/models/__init__.py

@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2020-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from . import sale_order_line_image
from . import res_config_settings

46
sale_product_image/models/res_config_settings.py

@ -0,0 +1,46 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2020-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from odoo import fields, models, api
class ResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'
show_product_image_in_sale_report = fields.Boolean(string="Show Product Image", default=False)
@api.model
def set_values(self):
self.env['ir.config_parameter'].sudo().set_param('sale_product_image.show_product_image_in_sale_report',
self.show_product_image_in_sale_report)
res = super(ResConfigSettings, self).set_values()
return res
def get_values(self):
res = super(ResConfigSettings, self).get_values()
param = self.env['ir.config_parameter'].sudo().get_param(
'sale_product_image.show_product_image_in_sale_report',
self.show_product_image_in_sale_report)
res.update(
show_product_image_in_sale_report=param
)
return res

29
sale_product_image/models/sale_order_line_image.py

@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2020-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from odoo import fields, models
class SaleOrderLine(models.Model):
_inherit = 'sale.order.line'
order_line_image = fields.Binary(string="Image",
related="product_id.image_1920")

23
sale_product_image/report/sale_order_report.xml

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="report_saleorder_inherit" inherit_id="sale.report_saleorder_document">
<xpath expr="//table//tr/th[1]" position="after">
<t t-if="request.env['ir.config_parameter'].sudo().get_param('sale_product_image.show_product_image_in_sale_report')">
<th>
<strong>Image</strong>
</th>
</t>
</xpath>
<xpath expr="//t[@t-foreach='doc.order_line']//td[@name='td_name']" position="after">
<t t-if="request.env['ir.config_parameter'].sudo().get_param('sale_product_image.show_product_image_in_sale_report')">
<td style="height:20px !important;width:20px !important;">
<span t-field="line.order_line_image" t-options='{"widget": "image"}'
/>
</td>
</t>
</xpath>
</template>
</odoo>

BIN
sale_product_image/static/description/banner.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

BIN
sale_product_image/static/description/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
sale_product_image/static/description/images/banner_barcode_scanning.jpeg

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

BIN
sale_product_image/static/description/images/banner_currency_total.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

BIN
sale_product_image/static/description/images/banner_customer_sequence.jpeg

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

BIN
sale_product_image/static/description/images/banner_previous_rates.jpeg

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

BIN
sale_product_image/static/description/images/banner_product_branding.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

BIN
sale_product_image/static/description/images/banner_product_expiry.jpeg

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

BIN
sale_product_image/static/description/images/checked.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
sale_product_image/static/description/images/cybrosys.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
sale_product_image/static/description/images/sale_order_line_image.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

BIN
sale_product_image/static/description/images/sale_order_line_image1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

BIN
sale_product_image/static/description/images/sale_order_line_image2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

BIN
sale_product_image/static/description/images/sale_order_line_image_3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

508
sale_product_image/static/description/index.html

@ -0,0 +1,508 @@
<div class="row"
style="margin: 0;position: relative;color: #000;background-position: center;background: #ffffff;border-bottom: 1px solid #e4e4e4;text-align: center; margin: auto; display: flex;justify-content: center;">
<a href="https://www.cybrosys.com/" target="_blank"><img src="images/cybrosys.png"
style=" width: 293px; padding: 1rem 0rem; margin: auto"
alt="cybrosys-logo"></a></div>
<div class="row"
style="margin:75px 0;position: relative;color: #000;background-position: center;background: #ffffff;border-bottom: 1px solid #e4e4e4; padding-bottom: 30px;">
<div class="col-md-7 col-sm-12 col-xs-12" style="padding: 0px">
<div style=" margin: 0 0 0px;padding: 20px 0 10;font-size: 23px;line-height: 35px;font-weight: 400;color: #000;border-top: 1px solid rgba(255,255,255,0.1);border-bottom: 1px solid rgba(255,255,255,0.11);text-align: left;">
<h1 style="font-size: 39px;font-weight: 600;margin: 0px !important;">Sale Order Line Images</h1>
<h3 style="font-size: 21px;margin-top: 8px;position: relative;">Order Line Image In Sale Order.</h3>
</div>
<h2 style="font-weight: 600;font-size: 1.8rem;margin-top: 15px;">Key Highlights</h2>
<ul style=" padding: 0 1px; list-style: none; ">
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i>
Product images in order line.
</li>
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i>
Print product images in report.
</li>
</ul>
</div>
<div class="col-md-5 col-sm-12 col-xs-12"><img src="images/sale_order_line_image.png" class="img-responsive" alt=""></div>
</div>
<div>
<section class="oe_container" style="padding: 1rem 0rem 1rem; background-color: #ffffff !important;">
<div class="row py-4 px-3">
<div class="w-100" style="padding-top:30px;padding-bottom:45px;border-radius: 10px;">
<ul role="tablist" class="nav nav-pills justify-content-center" data-tabs="tabs" id="pills-tab"
style="border: none;background: unset;">
<li class="nav-item mr-1 mb-3"
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #d31c22;background-color: #d31c22;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;">
<a id="pills-home-tab" data-toggle="pill" href="#pills-home" role="tab"
aria-controls="pills-home" aria-selected="true" class="nav-link active show" style="color: #000000;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400;text-align: center;
color: #fff;">Overview </a></li>
<li class="nav-item mr-1 mb-3"
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #d31c22;background-color: #d31c22;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;">
<a id="pills-home-tab" data-toggle="pill" href="#pills-home1" role="tab"
aria-controls="pills-home" aria-selected="true" class="nav-link " style="color: #000000;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center;
color: #fff;">Features </a></li>
<li class="nav-item mr-1 mb-3"
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #ffffff;background-color: #d31c22;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;">
<a class="nav-link" id="pills-profile-tab" data-toggle="pill" href="#pills-profile" role="tab"
aria-controls="pills-profile" aria-selected="false" style="color: #000000;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center;
color: #fff;">Screenshots </a></li>
</ul>
<div class="tab-content" id="pills-tabContent"
style="padding-top: 30px; padding-bottom: 30px; padding: 30px;">
<div class="px-3 pt-1 tab-pane fade active show" id="pills-home" role="tabpanel" aria-labelledby="
pills-home-tab">
<!-- Overview-->
<h2 style="font-weight: 600;text-align: center;width: 100%;">Overview</h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<h3 class="oe_slogan"
style="text-align: center;font-size: 19px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 31px;font-weight: 400;letter-spacing: .5px;margin-bottom: 21px;">
This app allows you see the product images in sale order line and also allow us
to print the product image in report.
</h3>
</div>
<div class="px-3 pt-1 tab-pane fade " id="pills-home1" role="tabpanel" aria-labelledby="
pills-home-tab">
<!-- feature tab-->
<h2 style="font-weight: 600;text-align: center;width: 100%;">Features</h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align:
center;border-top: 3px solid #d21c22;width: 5%;">
<ul>
<li class="mb8"
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;">
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i>Order line product images.
</li>
<li class="mb8"
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;">
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i>Print product images in report.
</li>
<li class="mb8"
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;">
<i class="fa fa-check-circle-o" style="width:40px; color:#07B700"></i>Configure the Image printing Option.
</li>
</ul>
</div>
<!-- Screenshot tab-->
<div class="px-3 tab-pane fade" id="pills-profile" role="tabpanel"
aria-labelledby="pills-profile-tab">
<div class="tab-pane">
<h2 style="font-weight: 600;text-align: center;width: 100%;">Screenshots</h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<div>
<section class="oe_container">
<div id="demo" class="row carousel slide mb32" data-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active" style="min-height: 0px;">
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16"
style="float: left;">
<h3 class="alert"
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;">
<img src="images/checked.png"
style=" width: 22px; margin-right: 6px; " alt="check">To show
product images in sale report, go to
<strong>Settings --> Product Catalog</strong> and select
show product image in report.</h3>
<div style=""><img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/sale_order_line_image1.png"></div>
</div>
</div>
<div class="carousel-item" style="min-height: 0px;">
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16"
style="float: left;">
<h3 class="alert"
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;">
<img src="images/checked.png"
style=" width: 22px; margin-right: 6px; " alt="check"> <strong>Sale Order</strong>
</h3>
<div style=""><img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/sale_order_line_image2.png"></div>
</div>
</div>
<div class="carousel-item" style="min-height: 0px;">
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16"
style="float: left;">
<h3 class="alert"
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;">
<img src="images/checked.png"
style=" width: 22px; margin-right: 6px; " alt="check"> <strong>Sale Order Report</strong>
</h3>
<div style=""><img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/sale_order_line_image_3.png"></div>
</div>
</div>
<div class="carousel-item" style="min-height: 0px;">
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16"
style="float: left;">
<h3 class="mb32 alert"
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px; ">
<img src="images/checked.png"
style=" width: 22px; margin-right: 6px; " alt="check"> <strong>Sale Order Report</strong></h3>
<div style=""><img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/sale_order_line_image_3.png"></div>
</div>
</div>
</div>
<a class="carousel-control-prev" href="#demo" data-slide="prev"
style="left:-25px;width: 35px;color: #000;"> <span
class="carousel-control-prev-icon"><i class="fa fa-chevron-left"
style="font-size:24px"></i></span>
</a> <a class="carousel-control-next" href="#demo" data-slide="next"
style="right:-25px;width: 35px;color: #000;"> <span
class="carousel-control-next-icon"><i class="fa fa-chevron-right"
style="font-size:24px"></i></span>
</a>
</div>
</section>
</div>
</div>
</div>
<div class="px-2 px-lg-4 pt-3 tab-pane fade" id="pills-contact" role="tabpanel"
aria-labelledby="pills-contact-tab">
<ul class="list-unstyled">
</ul>
</div>
</div>
</div>
</div>
</section>
<section class="oe_container" style="padding: 2rem 3rem 1rem;">
<h2 style="font-weight: 600;text-align: center;margin-bottom: 25px;width: 100%;">Suggested Products</h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<div id="demo1" class="row carousel slide" data-ride="carousel">
<!-- The slideshow -->
<div class="carousel-inner">
<div class="carousel-item active" style="min-height: 0px;">
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
<a href="https://apps.odoo.com/apps/modules/13.0/product_brand_sale/" target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/banner_product_branding.png"></div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
<a href="https://apps.odoo.com/apps/modules/13.0/product_expiry_warning/" target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/banner_product_expiry.jpeg"></div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
<a href="https://apps.odoo.com/apps/modules/12.0/sale_purchase_previous_product_cost/"
target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/banner_previous_rates.jpeg"></div>
</a>
</div>
</div>
<div class="carousel-item" style="min-height: 0px;">
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
<a href="https://apps.odoo.com/apps/modules/13.0/customer_sequence/" target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/banner_customer_sequence.jpeg"></div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
<a href="https://apps.odoo.com/apps/modules/12.0/barcode_scanning_sale_purchase/"
target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/banner_barcode_scanning.jpeg"></div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
<a href="https://apps.odoo.com/apps/modules/12.0/amount_currency_sale/" target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block"
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
src="images/banner_currency_total.png"></div>
</a>
</div>
</div>
</div>
<!-- Left and right controls -->
<a class="carousel-control-prev" href="#demo1" data-slide="prev"
style="left:-25px;width: 35px;color: #000;"> <span class="carousel-control-prev-icon"><i
class="fa fa-chevron-left" style="font-size:24px"></i></span> </a> <a class="carousel-control-next"
href="#demo1"
data-slide="next"
style="right:-25px;width: 35px;color: #000;">
<span class="carousel-control-next-icon"><i class="fa fa-chevron-right" style="font-size:24px"></i></span>
</a>
</div>
</section>
<section class="row" style="padding: 2rem 3rem 1rem;margin:0px">
<h2 style="font-weight: 600;margin-bottom: 20px;text-align: center;width: 100%;">Our Service</h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<div class="row" style=" display: flex; justify-content: center; flex-wrap: wrap;width: 100%; ">
<!-- <div style="display:flex;padding-top: 20px;justify-content: space-between;"> -->
<div class="col-md-2 col-sm-6 col-xs-12">
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Odoo Customization </a></h3>
</div>
<div class="col-md-2 col-sm-6 col-xs-12">
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Odoo Implementation </a></h3>
</div>
<div class="col-md-2 col-sm-6 col-xs-12">
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Odoo Integration </a></h3>
</div>
<div class="col-md-2 col-sm-6 col-xs-12">
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Odoo Support</a></h3>
</div>
<div class="col-md-2 col-sm-6 col-xs-12">
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Hire Odoo Developers</a></h3>
</a>
</div>
<!-- </div> -->
</div>
</section>
<section class="row" style="padding: 2rem 3rem 1rem;margin:0px">
<div class="row" style="margin: 0">
<h2 style="font-weight: 600;margin-bottom: 20px;text-align: center;width: 100%;">Our Industries</h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<!-- <div style="display:flex;justify-content: space-between;flex-wrap:wrap;"> -->
<div class="row" style="width: 100%">
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div>
<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"
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
Trading </a></h3>
<h3 class="oe_slogan"
style=" text-align: left;font-size: 12px;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; font-family: 'Montserrat',sans-serif;">
Easily procure and sell your products. </h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div>
<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;" style=" margin-bottom: 10px; ">
<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"
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
Manufacturing</a></h3>
<h3 class="oe_slogan"
style=" text-align: left;font-size: 12px;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;font-family: 'Montserrat',sans-serif;">
Plan, track and schedule your operations. </h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div>
<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"
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
Restaurant</a></h3>
<h3 class="oe_slogan"
style=" text-align: left;font-size: 12px;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;font-family: 'Montserrat',sans-serif;">
Run your bar or restaurant methodical. </h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div>
<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"
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
POS</a></h3>
<h3 class="oe_slogan"
style=" text-align: left;font-size: 12px;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;font-family: 'Montserrat',sans-serif;">
Easy configuring and convivial selling. </h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div>
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
E-commerce & Website</a></h3>
<h3 class="oe_slogan"
style=" text-align: left;font-size: 12px;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; font-family: 'Montserrat',sans-serif;">
Mobile friendly, awe-inspiring product pages. </h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div>
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Hotel Management</a></h3>
<h3 class="oe_slogan"
style=" text-align: left;font-size: 12px;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; font-family: 'Montserrat',sans-serif;">
An all-inclusive hotel management application. </h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div>
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Education</a></h3>
<h3 class="oe_slogan"
style=" text-align: left;font-size: 12px;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; font-family: 'Montserrat',sans-serif;">
A Collaborative platform for educational management. </h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div>
<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"
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Service Management</a></h3>
<h3 class="oe_slogan"
style=" text-align: left;font-size: 12px;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; font-family: 'Montserrat',sans-serif;">
Keep track of services and invoice accordingly. </h3>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="oe_container" style="padding: 0% 0% 6% 0%;">
<center>
<div class="col-md-12" style="margin: auto !important;
width: 70%;
padding: 30px;">
<h2 style="font-weight: 600;text-align: center;width: 100%;">Need Any Help?</h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<h4 style="font-size:16px;"> If you have anything to share with us based on your use of this module, please
let us know. We are ready to offer our support. </h4>
<div class="col-md-6" style="float:left; padding:20px;">
<h4><i class="fa fa-envelope"></i>Email us </h4>
<p>odoo@cybrosys.com / info@cybrosys.com</p>
</div>
<div class="col-md-6" style="float:left; padding:20px;">
<h4><i class="fa fa-phone"></i> Contact Us </h4>
<a href="https://www.cybrosys.com/contact/" target="_blank"> www.cybrosys.com</a>
</div>
</div>
</center>
</section>
<section class="oe_container" style="padding: 0% 0% 6% 0%;">
<div class="oe_slogan" style="margin-bottom: 0px;">
<div style=" display: flex; justify-content: center; flex-wrap: wrap; ">
</div>
<br>
<img src="https://www.cybrosys.com/images/logo.png" style="width: 190px; margin-bottom: 25px;margin-top: 30px;"
class="center-block">
<div style=" display: flex; justify-content: center; flex-wrap: wrap; "><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;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://in.pinterest.com/cybrosys" target="_blank"><i class="fa fa-2x fa-pinterest"
style="color:white;background: #ac0f18;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a>
</td>
</div>
</div>
</section>
</div>

23
sale_product_image/views/res_config_settings.xml

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="res_config_settings_view_sale_form" model="ir.ui.view">
<field name="name">res.config.settings.view.form.inherit.sale</field>
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="sale.res_config_settings_view_form"/>
<field name="arch" type="xml">
<xpath expr="//div[@data-key='sale_management']/div" position="inside">
<div class="col-12 col-lg-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="show_product_image_in_sale_report"/>
</div>
<div class="o_setting_right_pane">
<label for="show_product_image_in_sale_report" string="Show Product Image In Report"/>
<div class="text-muted">
Show Product Image In Report
</div>
</div>
</div>
</xpath>
</field>
</record>
</odoo>

16
sale_product_image/views/sale_order_line_image.xml

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="sale_order_inherit_form_view" model="ir.ui.view">
<field name="name">sale.order.inherit.form.view</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='order_line']/tree/field[@name='product_id']" position="after">
<field name="order_line_image" widget="image"
style="height:30px ;width:30px;" readonly="1"/>
</xpath>
</field>
</record>
</data>
</odoo>
Loading…
Cancel
Save