@ -0,0 +1,22 @@ | 
				
			|||||
 | 
					=========================== | 
				
			||||
 | 
					Front Office Management v11 | 
				
			||||
 | 
					=========================== | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					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 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
@ -0,0 +1,25 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					#    Copyright (C) 2018-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Anusha P P(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    you can modify it under the terms of the GNU LESSER | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    It is forbidden to publish, distribute, sublicense, or sell copies | 
				
			||||
 | 
					#    of the Software or modified copies of the Software. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <https://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					from . import models | 
				
			||||
@ -0,0 +1,49 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					#    Copyright (C) 2018-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Anusha P P(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    you can modify it under the terms of the GNU LESSER | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    It is forbidden to publish, distribute, sublicense, or sell copies | 
				
			||||
 | 
					#    of the Software or modified copies of the Software. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <https://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					{ | 
				
			||||
 | 
					    'name': "Front Office Management", | 
				
			||||
 | 
					    'version': '11.0.1.0.0', | 
				
			||||
 | 
					    'summary': """Manage Front Office Operations:Visitors, Devices Carrying Register, Actions""", | 
				
			||||
 | 
					    'description': """Helps You To Manage Front Office Operations""", | 
				
			||||
 | 
					    '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.jpg'], | 
				
			||||
 | 
					    'license': 'AGPL-3', | 
				
			||||
 | 
					    'installable': True, | 
				
			||||
 | 
					    'auto_install': False, | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,33 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					#    Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Anusha P P(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    you can modify it under the terms of the GNU LESSER | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    It is forbidden to publish, distribute, sublicense, or sell copies | 
				
			||||
 | 
					#    of the Software or modified copies of the Software. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <https://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					from . import fo_visitor | 
				
			||||
 | 
					from . import fo_property_counter | 
				
			||||
 | 
					from . import fo_visit | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
@ -0,0 +1,59 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					#    Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Maintainer: Cybrosys Technologies (<https://www.cybrosys.com>) | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					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""') | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.one | 
				
			||||
 | 
					    def action_cancel(self): | 
				
			||||
 | 
					        self.state = "cancel" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.one | 
				
			||||
 | 
					    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' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.multi | 
				
			||||
 | 
					    def action_prop_out(self): | 
				
			||||
 | 
					        self.state = "prop_out" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
@ -0,0 +1,113 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					#    Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Maintainer: Cybrosys Technologies (<https://www.cybrosys.com>) | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					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 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.one | 
				
			||||
 | 
					    def action_cancel(self): | 
				
			||||
 | 
					        self.state = "cancel" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.one | 
				
			||||
 | 
					    def action_check_in(self): | 
				
			||||
 | 
					        self.state = "check_in" | 
				
			||||
 | 
					        self.check_in_date = datetime.datetime.now() | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.multi | 
				
			||||
 | 
					    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.multi | 
				
			||||
 | 
					    @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.') | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
@ -0,0 +1,53 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					#    Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Maintainer: Cybrosys Technologies (<https://www.cybrosys.com>) | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					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 !"), | 
				
			||||
 | 
					    ] | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.multi | 
				
			||||
 | 
					    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") | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
@ -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" t-att-src="'/web/static/src/img/placeholder.png'" height="120" border="1" width="120"/> | 
				
			||||
 | 
					                                                        <img t-if="o.employee.image" t-att-src="'data:image/png;base64,%s' % o.employee.image" 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: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"> | 
				
			||||
 | 
					                                                                <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> | 
				
			||||
@ -0,0 +1,69 @@ | 
				
			|||||
 | 
					<?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"> | 
				
			||||
 | 
					                                        <table class="table table-condensed" style="border: 3px 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="'data:image/png;base64,%s' % o.visitor.visitor_image" height="120" border="1" width="120"/> | 
				
			||||
 | 
					                                                    </p> | 
				
			||||
 | 
					                                                    <p style="text-align:center;"> | 
				
			||||
 | 
					                                                        <strong><span t-field="o.visitor"/></strong> | 
				
			||||
 | 
					                                                    </p> | 
				
			||||
 | 
					                                                </td> | 
				
			||||
 | 
					                                                <td width="60%"> | 
				
			||||
 | 
					                                                    <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>Visitor ID : </strong></p> | 
				
			||||
 | 
					                                                                    <p style="text-align:right;"><strong>Phone: </strong></p> | 
				
			||||
 | 
					                                                                </td> | 
				
			||||
 | 
					                                                                <td> | 
				
			||||
 | 
					                                                                    <p style="text-align:left;padding-top:30px;padding-left:30px;" t-field="o.visitor"/> | 
				
			||||
 | 
					                                                                    <p style="text-align:left;padding-left:30px;" t-field="o.phone"/> | 
				
			||||
 | 
					                                                                </td> | 
				
			||||
 | 
					                                                            </t> | 
				
			||||
 | 
					                                                        </tr> | 
				
			||||
 | 
					                                                    </table> | 
				
			||||
 | 
					                                                </td> | 
				
			||||
 | 
					                                            </tr> | 
				
			||||
 | 
					                                        </table> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                </center> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </t> | 
				
			||||
 | 
					                </t> | 
				
			||||
 | 
					                </t> | 
				
			||||
 | 
					            </t> | 
				
			||||
 | 
					        </template> | 
				
			||||
 | 
					    </data> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -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> | 
				
			||||
@ -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-foreach="docs" t-as="o"> | 
				
			||||
 | 
					                     <t t-call="web.external_layout"> | 
				
			||||
 | 
					                         <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> | 
				
			||||
 | 
					                            <h3 style="text-decoration:underline;text-align:center;"><b>Visitor Report</b></h3> | 
				
			||||
 | 
					                             <br/> | 
				
			||||
 | 
					                             <br/> | 
				
			||||
 | 
					                             <table width="99%" 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"></p> | 
				
			||||
 | 
					                    </t> | 
				
			||||
 | 
					                </t> | 
				
			||||
 | 
					             </t> | 
				
			||||
 | 
					        </template> | 
				
			||||
 | 
					    </data> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -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> | 
				
			||||
		
		
			
  | 
| 
		 After Width: | Height: | Size: 86 KiB  | 
| 
		 After Width: | Height: | Size: 61 KiB  | 
| 
		 After Width: | Height: | Size: 50 KiB  | 
| 
		 After Width: | Height: | Size: 32 KiB  | 
@ -0,0 +1,185 @@ | 
				
			|||||
 | 
					<section class="oe_container"> | 
				
			||||
 | 
					    <div class="oe_row oe_spaced"> | 
				
			||||
 | 
					        <h2 class="oe_slogan">Front Office Management</h2> | 
				
			||||
 | 
					        <h3 class="oe_slogan">Manages Visitors and Employee Belongings</h3> | 
				
			||||
 | 
					        <h4 class="oe_slogan"><a href="https://www.cybrosys.com">Cybrosys Technologies</a> </h4> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <div class="oe_row oe_spaced" style="padding-left:65px;"> | 
				
			||||
 | 
					        <h4>Features:</h4> | 
				
			||||
 | 
					        <div> | 
				
			||||
 | 
					            <span style="color:green;"> ☑ </span> Manage visitors.<br/> | 
				
			||||
 | 
					            <span style="color:green;"> ☑ </span> Issue Visitor Pass.<br/> | 
				
			||||
 | 
					            <span style="color:green;"> ☑ </span> Keep Check in, Check out Details of Visitors.<br/> | 
				
			||||
 | 
					            <span style="color:green;"> ☑ </span> Manage Visitor Belongings.<br/> | 
				
			||||
 | 
					            <span style="color:green;"> ☑ </span> Print Report Of visitor.<br/> | 
				
			||||
 | 
					            <span style="color:green;"> ☑ </span> Manage Employee Belongings.<br/> | 
				
			||||
 | 
					            <span style="color:green;"> ☑ </span> Print Property Label.<br/> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container oe_dark"> | 
				
			||||
 | 
					    <div class="oe_row oe_spaced"> | 
				
			||||
 | 
					        <div class="oe_picture"> | 
				
			||||
 | 
					            <h3 class="oe_slogan">Overview</h3> | 
				
			||||
 | 
					            <p class="oe_mt32 text-justify" style="text-align: center;"> | 
				
			||||
 | 
					               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. | 
				
			||||
 | 
					            </p> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container"> | 
				
			||||
 | 
					    <div class="oe_row oe_spaced"> | 
				
			||||
 | 
					        <div style="text-align: center"> | 
				
			||||
 | 
					            <p> | 
				
			||||
 | 
					                <h3>Visitors</h3> | 
				
			||||
 | 
					            <p> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div style="text-align: center"> | 
				
			||||
 | 
					            <span class="oe_mt32 text-justify" style="text-align: center;">Create visitors.</span> | 
				
			||||
 | 
					            <div class="oe_demo oe_picture oe_screenshot"> | 
				
			||||
 | 
					                <img style="border:10px solid white;" src="visitor.png"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container oe_dark"> | 
				
			||||
 | 
					    <div class="oe_row oe_spaced"> | 
				
			||||
 | 
					        <div style="text-align: center"> | 
				
			||||
 | 
					            <p> | 
				
			||||
 | 
					                <h3>Visits</h3> | 
				
			||||
 | 
					            </p> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="" style="text-align: center"> | 
				
			||||
 | 
					            <span class="oe_mt32 text-justify" style="text-align: center;">Add visiting details.</span> | 
				
			||||
 | 
					            <div class="oe_demo oe_picture oe_screenshot"> | 
				
			||||
 | 
					                <img style="border:10px solid white;" src="visit.png"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container"> | 
				
			||||
 | 
					    <div class="oe_row oe_spaced"> | 
				
			||||
 | 
					        <div style="text-align: center"> | 
				
			||||
 | 
					            <p> | 
				
			||||
 | 
					                <h3>Visitor Pass</h3> | 
				
			||||
 | 
					            </p> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="" style="text-align: center"> | 
				
			||||
 | 
					            <span>Go to Visitor Management -> Visits -> Print -> Visitor Pass</span> | 
				
			||||
 | 
					            <div class="oe_demo oe_picture oe_screenshot"> | 
				
			||||
 | 
					                <img style="border:10px solid white;" src="pass.png"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container oe_dark"> | 
				
			||||
 | 
					    <div class="oe_row oe_spaced"> | 
				
			||||
 | 
					        <div style="text-align: center"> | 
				
			||||
 | 
					            <p> | 
				
			||||
 | 
					                <h3>Visitor Report</h3> | 
				
			||||
 | 
					            </p> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="" style="text-align: center"> | 
				
			||||
 | 
					            <span>Go to Visitor Management -> Visits -> Print -> Visitors Report</span> | 
				
			||||
 | 
					            <div class="oe_demo oe_picture oe_screenshot"> | 
				
			||||
 | 
					                <img style="border:10px solid white;" src="report.png"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container"> | 
				
			||||
 | 
					    <div class="oe_row oe_spaced"> | 
				
			||||
 | 
					        <div style="text-align: center"> | 
				
			||||
 | 
					            <p> | 
				
			||||
 | 
					                <h3>Today's Visits</h3> | 
				
			||||
 | 
					            </p> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="" style="text-align: center"> | 
				
			||||
 | 
					            <div class="oe_demo oe_picture oe_screenshot"> | 
				
			||||
 | 
					                <img style="border:10px solid white;" src="todays.png"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container oe_dark"> | 
				
			||||
 | 
					    <div class="oe_row oe_spaced"> | 
				
			||||
 | 
					        <div style="text-align: center"> | 
				
			||||
 | 
					            <p> | 
				
			||||
 | 
					                <h3>Employee Belongings</h3> | 
				
			||||
 | 
					            </p> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="" style="text-align: center"> | 
				
			||||
 | 
					            <span>Here you can specify the field 'Permission' with the values of Allowed,Not Allowed and Allowed with permission.</span> | 
				
			||||
 | 
					            <div class="oe_demo oe_picture oe_screenshot"> | 
				
			||||
 | 
					                <img style="border:10px solid white;" src="belongings.png"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container"> | 
				
			||||
 | 
					    <div class="oe_row oe_spaced"> | 
				
			||||
 | 
					        <div style="text-align: center"> | 
				
			||||
 | 
					            <p> | 
				
			||||
 | 
					                <h3>Property Label</h3> | 
				
			||||
 | 
					            </p> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="" style="text-align: center"> | 
				
			||||
 | 
					            <span class="oe_mt32 text-justify" style="text-align: center;">Print the properties name that are not allowed to enter to the office.</span> | 
				
			||||
 | 
					            <div class="oe_demo oe_picture oe_screenshot"> | 
				
			||||
 | 
					                <img style="border:10px solid white;" src="label.png"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container oe_dark"> | 
				
			||||
 | 
					    <div class="oe_row oe_spaced"> | 
				
			||||
 | 
					        <div style="text-align: center"> | 
				
			||||
 | 
					            <p> | 
				
			||||
 | 
					                <h3>Receptionist</h3> | 
				
			||||
 | 
					            </p> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="" style="text-align: center"> | 
				
			||||
 | 
					            <span>We can set 'Receptionist' access from users form.</span> | 
				
			||||
 | 
					            <div class="oe_demo oe_picture oe_screenshot"> | 
				
			||||
 | 
					                <img style="border:10px solid white;" src="user.png"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container"> | 
				
			||||
 | 
					    <h2 class="oe_slogan" style="margin-top:20px;" >Need Any Help?</h2> | 
				
			||||
 | 
					    <div class="oe_slogan" style="margin-top:10px !important;"> | 
				
			||||
 | 
					        <div> | 
				
			||||
 | 
					            <a  class="btn btn-primary btn-lg mt8" | 
				
			||||
 | 
					            style="color: #FFFFFF !important;border-radius: 0;" href="https://www.cybrosys.com"><i | 
				
			||||
 | 
					            class="fa fa-envelope"></i> Email </a> <a | 
				
			||||
 | 
					            class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" | 
				
			||||
 | 
					            href="https://www.cybrosys.com/contact/"><i | 
				
			||||
 | 
					            class="fa fa-phone"></i> Contact Us </a> <a | 
				
			||||
 | 
					            class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" | 
				
			||||
 | 
					            href="https://www.cybrosys.com/odoo-customization-and-installation/"><i | 
				
			||||
 | 
					            class="fa fa-check-square"></i> Request Customization </a> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <br> | 
				
			||||
 | 
					        <img src="cybro_logo.png" style="width: 190px; margin-bottom: 20px;" class="center-block"> | 
				
			||||
 | 
					        <div> | 
				
			||||
 | 
					          <a href="https://twitter.com/cybrosys" target="_blank"><i class="fa fa-2x fa-twitter" style="color:white;background: #00a0d1;width:35px;"></i></a></td> | 
				
			||||
 | 
					          <a href="https://www.linkedin.com/company/cybrosys-technologies-pvt-ltd" target="_blank"><i class="fa fa-2x fa-linkedin" style="color:white;background: #31a3d6;width:35px;padding-left: 3px;"></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;padding-left: 8px;"></i></a></td> | 
				
			||||
 | 
					          <a href="https://plus.google.com/106641282743045431892/about" target="_blank"><i class="fa fa-2x fa-google-plus" style="color:white;background: #c53c2c;width:35px;padding-left: 3px;"></i></a></td> | 
				
			||||
 | 
					          <a href="https://in.pinterest.com/cybrosys" target="_blank"><i class="fa fa-2x fa-pinterest" style="color:white;background: #ac0f18;width:35px;padding-left: 3px;"></i></a></td> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
| 
		 After Width: | Height: | Size: 25 KiB  | 
| 
		 After Width: | Height: | Size: 24 KiB  | 
| 
		 After Width: | Height: | Size: 23 KiB  | 
| 
		 After Width: | Height: | Size: 49 KiB  | 
| 
		 After Width: | Height: | Size: 99 KiB  | 
| 
		 After Width: | Height: | Size: 78 KiB  | 
| 
		 After Width: | Height: | Size: 70 KiB  | 
@ -0,0 +1,112 @@ | 
				
			|||||
 | 
					<?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 id="fo_property_counter_filter" model="ir.ui.view"> | 
				
			||||
 | 
					            <field name="name">Property Counter</field> | 
				
			||||
 | 
					            <field name="model">fo.property.counter</field> | 
				
			||||
 | 
					            <field name="type">search</field> | 
				
			||||
 | 
					            <field name="arch" type="xml"> | 
				
			||||
 | 
					                <search string="Search"> | 
				
			||||
 | 
					                    <separator orientation="vertical"/> | 
				
			||||
 | 
					                        <field name="employee" select="1"/> | 
				
			||||
 | 
					                        <field name="date" select="1"/> | 
				
			||||
 | 
					                        <field name="state" select="1"/> | 
				
			||||
 | 
					                    <newline/> | 
				
			||||
 | 
					                    <group expand="0" string="Group By..." colspan="11" col="11"> | 
				
			||||
 | 
					                        <filter string="Employee" icon="terp-personal" domain="[]" context="{'group_by':'employee'}"/> | 
				
			||||
 | 
					                        <filter string="Date" icon="terp-personal" domain="[]" context="{'group_by':'date'}"/> | 
				
			||||
 | 
					                        <filter string="State" icon="terp-personal" domain="[]" context="{'group_by':'state'}"/> | 
				
			||||
 | 
					                    </group> | 
				
			||||
 | 
					                </search> | 
				
			||||
 | 
					            </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_type">form</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> | 
				
			||||
@ -0,0 +1,208 @@ | 
				
			|||||
 | 
					<?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 id="fo_visit_filter" model="ir.ui.view"> | 
				
			||||
 | 
					            <field name="name">Visits</field> | 
				
			||||
 | 
					            <field name="model">fo.visit</field> | 
				
			||||
 | 
					            <field name="type">search</field> | 
				
			||||
 | 
					            <field name="arch" type="xml"> | 
				
			||||
 | 
					                <search string="Search Visits"> | 
				
			||||
 | 
					                    <separator orientation="vertical"/> | 
				
			||||
 | 
					                        <field name="visitor" select="1"/> | 
				
			||||
 | 
					                        <field name="state" select="1"/> | 
				
			||||
 | 
					                        <field name="visiting_person"/> | 
				
			||||
 | 
					                    <newline/> | 
				
			||||
 | 
					                    <group expand="0" string="Group By..." colspan="11" col="11"> | 
				
			||||
 | 
					                        <filter string="Visitor" icon="terp-personal" domain="[]" context="{'group_by':'visitor'}"/> | 
				
			||||
 | 
					                        <filter string="State" icon="terp-personal" domain="[]" context="{'group_by':'state'}"/> | 
				
			||||
 | 
					                        <filter string="Visiting Person" icon="terp-personal" domain="[]" context="{'group_by':'visiting_person'}"/> | 
				
			||||
 | 
					                    </group> | 
				
			||||
 | 
					                </search> | 
				
			||||
 | 
					            </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_type">form</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_type">form</field> | 
				
			||||
 | 
					            <field name="view_mode">tree,form</field> | 
				
			||||
 | 
					            <field name="domain">[('check_in_date', '>=',((context_today()-datetime.timedelta(days=0)).strftime('%Y-%m-%d 00:00:00'))), | 
				
			||||
 | 
					             ('check_in_date', '<=',((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> | 
				
			||||
@ -0,0 +1,139 @@ | 
				
			|||||
 | 
					<?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"/> | 
				
			||||
 | 
					                            </button> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <field name="visitor_image" widget="image" class="oe_avatar"/> | 
				
			||||
 | 
					                        <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 id="fo_visitor_filter" model="ir.ui.view"> | 
				
			||||
 | 
					            <field name="name">Visitors</field> | 
				
			||||
 | 
					            <field name="model">fo.visitor</field> | 
				
			||||
 | 
					            <field name="type">search</field> | 
				
			||||
 | 
					            <field name="arch" type="xml"> | 
				
			||||
 | 
					                <search string="Search Visitors"> | 
				
			||||
 | 
					                    <separator orientation="vertical"/> | 
				
			||||
 | 
					                        <field name="name" select="1"/> | 
				
			||||
 | 
					                        <field name="company_info" select="1"/> | 
				
			||||
 | 
					                        <field name="id_proof" select="1"/> | 
				
			||||
 | 
					                        <field name="email" select="1"/> | 
				
			||||
 | 
					                    <newline/> | 
				
			||||
 | 
					                    <group expand="0" string="Group By..." colspan="11" col="11"> | 
				
			||||
 | 
					                        <filter string="Visitor" icon="terp-personal" domain="[]" context="{'group_by':'name'}"/> | 
				
			||||
 | 
					                        <filter string="Company" icon="terp-personal" domain="[]" context="{'group_by':'company_info'}"/> | 
				
			||||
 | 
					                        <filter string="State" icon="terp-personal" domain="[]" context="{'group_by':'state_id'}"/> | 
				
			||||
 | 
					                    </group> | 
				
			||||
 | 
					                </search> | 
				
			||||
 | 
					            </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_type">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> | 
				
			||||