diff --git a/front_office_management/README.rst b/front_office_management/README.rst new file mode 100644 index 000000000..35c0ebd02 --- /dev/null +++ b/front_office_management/README.rst @@ -0,0 +1,49 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Front Office Management v15 +=========================== +Helps You To Manage Front Office Operations. + +Installation +============ +* Just install the module and set the permission for Reception + +Configuration +============= +* No additional configurations needed + +Company +------- +* `Cybrosys Techno Solutions `__ + + +Credits +------- +* Developers: Anusha P P @cybrosys + Niyas Raphy @cybrosys + version 14: Vinaya S B @cybrosys + version 15: Amal Prasad @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 `__ + +Further information +=================== +HTML Description: ``__ \ No newline at end of file diff --git a/front_office_management/__init__.py b/front_office_management/__init__.py new file mode 100644 index 000000000..ff9cce844 --- /dev/null +++ b/front_office_management/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2020-TODAY Cybrosys Technologies(). +# 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 . +# +############################################################################# + +from . import models diff --git a/front_office_management/__manifest__.py b/front_office_management/__manifest__.py new file mode 100644 index 000000000..0eb008b48 --- /dev/null +++ b/front_office_management/__manifest__.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# 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 . +# +############################################################################# + +{ + 'name': "Front Office Management", + 'version': '15.0.1.0.0', + 'summary': """Manage Front Office Operations:Visitors, Devices Carrying Register, Actions""", + 'description': """Helps You To Manage Front Office Operations, Odoo 15""", + '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, +} diff --git a/front_office_management/doc/RELEASE_NOTES.md b/front_office_management/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..ef0613c36 --- /dev/null +++ b/front_office_management/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 19.09.2021 +#### Version 15.0.1.0.0 +##### ADD +- Migrated to version 15 diff --git a/front_office_management/models/__init__.py b/front_office_management/models/__init__.py new file mode 100644 index 000000000..1737d20c2 --- /dev/null +++ b/front_office_management/models/__init__.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2020-TODAY Cybrosys Technologies(). +# 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 . +# +############################################################################# +from . import fo_visitor +from . import fo_property_counter +from . import fo_visit + + + + + + diff --git a/front_office_management/models/fo_property_counter.py b/front_office_management/models/fo_property_counter.py new file mode 100644 index 000000000..d5b8bf144 --- /dev/null +++ b/front_office_management/models/fo_property_counter.py @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: 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 . +# +############################################################################# + +from odoo import models, fields, _ +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'), + ], tracking=True, 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" diff --git a/front_office_management/models/fo_visit.py b/front_office_management/models/fo_visit.py new file mode 100644 index 000000000..6961019bf --- /dev/null +++ b/front_office_management/models/fo_visit.py @@ -0,0 +1,131 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: 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 . +# +############################################################################# + +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'), + ], tracking=True, 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' + _description = 'Personal 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', tracking=True) + + @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' + _description = 'Visit 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.') diff --git a/front_office_management/models/fo_visitor.py b/front_office_management/models/fo_visitor.py new file mode 100644 index 000000000..a3c093646 --- /dev/null +++ b/front_office_management/models/fo_visitor.py @@ -0,0 +1,63 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: 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 . +# +############################################################################# +from odoo import models, fields + + +class VisitorDetails(models.Model): + _name = 'fo.visitor' + _description = 'Visitor Details' + + 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', 'in', self.ids), ('state', '!=', 'cancel')]).ids + self.visit_count = len(data) + + +class VisitorProof(models.Model): + _name = 'id.proof' + _rec_name = 'id_proof' + _description = 'Visitor Proof' + + id_proof = fields.Char(string="Name") + code = fields.Char(string="Code") diff --git a/front_office_management/report/fo_property_label.xml b/front_office_management/report/fo_property_label.xml new file mode 100644 index 000000000..d790df49d --- /dev/null +++ b/front_office_management/report/fo_property_label.xml @@ -0,0 +1,92 @@ + + + + + + \ No newline at end of file diff --git a/front_office_management/report/fo_visitor_label.xml b/front_office_management/report/fo_visitor_label.xml new file mode 100644 index 000000000..9fb3a4d76 --- /dev/null +++ b/front_office_management/report/fo_visitor_label.xml @@ -0,0 +1,124 @@ + + + + + + \ No newline at end of file diff --git a/front_office_management/report/report.xml b/front_office_management/report/report.xml new file mode 100644 index 000000000..c467bae88 --- /dev/null +++ b/front_office_management/report/report.xml @@ -0,0 +1,39 @@ + + + + + + Visitor Pass + fo.visit + qweb-pdf + front_office_management.report_visitor_label + front_office_management.report_visitor_label + 'Visitor Pass' + + report + + + + Visitors Report + fo.visit + qweb-pdf + front_office_management.report_visitor_report + front_office_management.report_visitor_report + 'Visitors Report' + + report + + + + Property Label + fo.property.counter + qweb-pdf + front_office_management.report_property_label + front_office_management.report_property_label + 'Property Label' + + report + + + + \ No newline at end of file diff --git a/front_office_management/report/visitors_report.xml b/front_office_management/report/visitors_report.xml new file mode 100644 index 000000000..fc056a745 --- /dev/null +++ b/front_office_management/report/visitors_report.xml @@ -0,0 +1,116 @@ + + + + + + diff --git a/front_office_management/security/fo_security.xml b/front_office_management/security/fo_security.xml new file mode 100644 index 000000000..d0b1da4d1 --- /dev/null +++ b/front_office_management/security/fo_security.xml @@ -0,0 +1,17 @@ + + + + + + Reception + 0 + + + + + Receptionist + + + + + \ No newline at end of file diff --git a/front_office_management/security/ir.model.access.csv b/front_office_management/security/ir.model.access.csv new file mode 100644 index 000000000..9caaabf7f --- /dev/null +++ b/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 + + + + + + + diff --git a/front_office_management/static/description/assets/icons/check.png b/front_office_management/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/front_office_management/static/description/assets/icons/check.png differ diff --git a/front_office_management/static/description/assets/icons/chevron.png b/front_office_management/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/front_office_management/static/description/assets/icons/chevron.png differ diff --git a/front_office_management/static/description/assets/icons/cogs.png b/front_office_management/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/front_office_management/static/description/assets/icons/cogs.png differ diff --git a/front_office_management/static/description/assets/icons/consultation.png b/front_office_management/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/front_office_management/static/description/assets/icons/consultation.png differ diff --git a/front_office_management/static/description/assets/icons/ecom-black.png b/front_office_management/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/front_office_management/static/description/assets/icons/ecom-black.png differ diff --git a/front_office_management/static/description/assets/icons/education-black.png b/front_office_management/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/front_office_management/static/description/assets/icons/education-black.png differ diff --git a/front_office_management/static/description/assets/icons/hotel-black.png b/front_office_management/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/front_office_management/static/description/assets/icons/hotel-black.png differ diff --git a/front_office_management/static/description/assets/icons/license.png b/front_office_management/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/front_office_management/static/description/assets/icons/license.png differ diff --git a/front_office_management/static/description/assets/icons/lifebuoy.png b/front_office_management/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/front_office_management/static/description/assets/icons/lifebuoy.png differ diff --git a/front_office_management/static/description/assets/icons/logo.png b/front_office_management/static/description/assets/icons/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/front_office_management/static/description/assets/icons/logo.png differ diff --git a/front_office_management/static/description/assets/icons/manufacturing-black.png b/front_office_management/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/front_office_management/static/description/assets/icons/manufacturing-black.png differ diff --git a/front_office_management/static/description/assets/icons/pos-black.png b/front_office_management/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/front_office_management/static/description/assets/icons/pos-black.png differ diff --git a/front_office_management/static/description/assets/icons/puzzle.png b/front_office_management/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/front_office_management/static/description/assets/icons/puzzle.png differ diff --git a/front_office_management/static/description/assets/icons/restaurant-black.png b/front_office_management/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/front_office_management/static/description/assets/icons/restaurant-black.png differ diff --git a/front_office_management/static/description/assets/icons/service-black.png b/front_office_management/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/front_office_management/static/description/assets/icons/service-black.png differ diff --git a/front_office_management/static/description/assets/icons/trading-black.png b/front_office_management/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/front_office_management/static/description/assets/icons/trading-black.png differ diff --git a/front_office_management/static/description/assets/icons/training.png b/front_office_management/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/front_office_management/static/description/assets/icons/training.png differ diff --git a/front_office_management/static/description/assets/icons/update.png b/front_office_management/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/front_office_management/static/description/assets/icons/update.png differ diff --git a/front_office_management/static/description/assets/icons/user.png b/front_office_management/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/front_office_management/static/description/assets/icons/user.png differ diff --git a/front_office_management/static/description/assets/icons/wrench.png b/front_office_management/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/front_office_management/static/description/assets/icons/wrench.png differ diff --git a/front_office_management/static/description/assets/modules/approval_image.png b/front_office_management/static/description/assets/modules/approval_image.png new file mode 100644 index 000000000..84fe94e80 Binary files /dev/null and b/front_office_management/static/description/assets/modules/approval_image.png differ diff --git a/front_office_management/static/description/assets/modules/budget_image.png b/front_office_management/static/description/assets/modules/budget_image.png new file mode 100644 index 000000000..fe6aa6fe4 Binary files /dev/null and b/front_office_management/static/description/assets/modules/budget_image.png differ diff --git a/front_office_management/static/description/assets/modules/export_image.png b/front_office_management/static/description/assets/modules/export_image.png new file mode 100644 index 000000000..4e4ea0e51 Binary files /dev/null and b/front_office_management/static/description/assets/modules/export_image.png differ diff --git a/front_office_management/static/description/assets/modules/magento_image.png b/front_office_management/static/description/assets/modules/magento_image.png new file mode 100644 index 000000000..39de0820f Binary files /dev/null and b/front_office_management/static/description/assets/modules/magento_image.png differ diff --git a/front_office_management/static/description/assets/modules/pos_image.png b/front_office_management/static/description/assets/modules/pos_image.png new file mode 100644 index 000000000..c5932894b Binary files /dev/null and b/front_office_management/static/description/assets/modules/pos_image.png differ diff --git a/front_office_management/static/description/assets/modules/shopify_image.png b/front_office_management/static/description/assets/modules/shopify_image.png new file mode 100644 index 000000000..c6d92c16d Binary files /dev/null and b/front_office_management/static/description/assets/modules/shopify_image.png differ diff --git a/front_office_management/static/description/assets/screenshots/front-1.png b/front_office_management/static/description/assets/screenshots/front-1.png new file mode 100644 index 000000000..738de73fe Binary files /dev/null and b/front_office_management/static/description/assets/screenshots/front-1.png differ diff --git a/front_office_management/static/description/assets/screenshots/front-2.png b/front_office_management/static/description/assets/screenshots/front-2.png new file mode 100644 index 000000000..8f7ce018f Binary files /dev/null and b/front_office_management/static/description/assets/screenshots/front-2.png differ diff --git a/front_office_management/static/description/assets/screenshots/front-3.png b/front_office_management/static/description/assets/screenshots/front-3.png new file mode 100644 index 000000000..bb165b2c1 Binary files /dev/null and b/front_office_management/static/description/assets/screenshots/front-3.png differ diff --git a/front_office_management/static/description/assets/screenshots/front-4.png b/front_office_management/static/description/assets/screenshots/front-4.png new file mode 100644 index 000000000..86cec9ad6 Binary files /dev/null and b/front_office_management/static/description/assets/screenshots/front-4.png differ diff --git a/front_office_management/static/description/assets/screenshots/front-5.png b/front_office_management/static/description/assets/screenshots/front-5.png new file mode 100644 index 000000000..89220d93c Binary files /dev/null and b/front_office_management/static/description/assets/screenshots/front-5.png differ diff --git a/front_office_management/static/description/assets/screenshots/front-6.png b/front_office_management/static/description/assets/screenshots/front-6.png new file mode 100644 index 000000000..5897cd2a0 Binary files /dev/null and b/front_office_management/static/description/assets/screenshots/front-6.png differ diff --git a/front_office_management/static/description/assets/screenshots/hero.png b/front_office_management/static/description/assets/screenshots/hero.png new file mode 100644 index 000000000..6f99b9a49 Binary files /dev/null and b/front_office_management/static/description/assets/screenshots/hero.png differ diff --git a/front_office_management/static/description/banner.png b/front_office_management/static/description/banner.png new file mode 100644 index 000000000..73b3d7ac4 Binary files /dev/null and b/front_office_management/static/description/banner.png differ diff --git a/front_office_management/static/description/icon.png b/front_office_management/static/description/icon.png new file mode 100644 index 000000000..63899ce50 Binary files /dev/null and b/front_office_management/static/description/icon.png differ diff --git a/front_office_management/static/description/index.html b/front_office_management/static/description/index.html new file mode 100644 index 000000000..8b8a3d64b --- /dev/null +++ b/front_office_management/static/description/index.html @@ -0,0 +1,706 @@ +
+
+
+
+ +
+
+
+ Community +
+
+ Enterprise +
+ +
+
+
+
+ +
+
+
+

+ Front Office Management

+

+ Manages Visitors and Employee Belongings +

+ +
+
+ + + + +
+
+

+ Overview +

+
+ +
+

+ 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.

+ +
+
+ + +
+
+

+ Features +

+
+ +
+
+ +
+
+

+ Manage visitors

+
+
+
+
+ +
+
+

+ Issue Visitor Pass

+ +
+
+ +
+
+ +
+
+

+ Keep Check in, Check out Details of Visitors

+ +
+
+ +
+
+ +
+
+

+ Manage Visitor Belongings

+ +
+
+ +
+
+ +
+
+

+ Print Report Of visitor

+ +
+
+ +
+
+ +
+
+

+ Manage Employee Belongings

+ +
+
+ +
+
+ +
+
+

+ Print Property Label

+ +
+
+ + +
+ +
+
+

+ Screenshots +

+
+
+

+ Visitors

+

+ Create visitors.

+ +
+ +
+

+ Visits

+

+ Add visiting details. +

+ +
+ +
+

+ Visitor Pass

+

+ Go to Visitor Management -> Visits -> Print -> Visitor Pass +

+ +
+ + +
+

+ Visitor Report

+

+ Go to Visitor Management -> Visits -> Print -> Visitors Report +

+ +
+ + +
+

+ Employee Belongings

+

+ Here you can specify the field 'Permission' with the values of Allowed,Not Allowed and Allowed with + permission. +

+ +
+ + +
+

+ Property Label

+

+ Print the properties name that are not allowed to enter to the office. +

+ +
+ +
+ + + + +
+
+

Suggested Products

+
+ + +
+
+ + + +
+
+
+

Our Services

+
+
+ +
+
+ +
+
+ Odoo + Customization
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Support
+
+ + +
+
+ +
+
+ Hire + Odoo + Developer
+
+ +
+
+ +
+
+ Odoo + Integration
+
+ +
+
+ +
+
+ Odoo + Migration
+
+ + +
+
+ +
+
+ Odoo + Consultancy
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Licensing Consultancy
+
+
+
+ + + +
+
+
+

Our Industries

+
+
+ +
+
+ +
+ Trading +
+

+ Easily procure + and + sell your products

+
+
+ +
+
+ +
+ POS +
+

+ Easy + configuration + and convivial experience

+
+
+ +
+
+ +
+ Education +
+

+ A platform for + educational management

+
+
+ +
+
+ +
+ Manufacturing +
+

+ Plan, track and + schedule your operations

+
+
+ +
+
+ +
+ E-commerce & Website +
+

+ Mobile + friendly, + awe-inspiring product pages

+
+
+ +
+
+ +
+ Service Management +
+

+ Keep track of + services and invoice

+
+
+ +
+
+ +
+ Restaurant +
+

+ Run your bar or + restaurant methodically

+
+
+ +
+
+ +
+ Hotel Management +
+

+ An + all-inclusive + hotel management application

+
+
+ +
+
+ + + + + +
+
+
+

Need Help?

+
+
+
+ + +
+ +
+ +
+ +
+ WhatsApp +
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+
+ + +
\ No newline at end of file diff --git a/front_office_management/views/fo_property_counter.xml b/front_office_management/views/fo_property_counter.xml new file mode 100644 index 000000000..4ae931892 --- /dev/null +++ b/front_office_management/views/fo_property_counter.xml @@ -0,0 +1,99 @@ + + + + + Property Counter + fo.property.counter + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+
+ + + Property Counter + fo.property.counter + + + + + + + + + + Property Counter + fo.property.counter + tree,form + +

Record Personal Belongings. +

+
+
+ + + +
+
\ No newline at end of file diff --git a/front_office_management/views/fo_visit.xml b/front_office_management/views/fo_visit.xml new file mode 100644 index 000000000..5e6f41cca --- /dev/null +++ b/front_office_management/views/fo_visit.xml @@ -0,0 +1,194 @@ + + + + + Visits + fo.visit + +
+
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ + + Visits + fo.visit + + + + + + + + + + + + Visits + fo.visit + tree,form + +

Create Visits. +

+

+ The check in time will be automatically filled when the + visitor check in to the office. +

+

+ The check out time automatically filled when the visitor + check out from office. +

+
+
+ + + Today's Visits + fo.visit + tree,form + [('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')))] + + + + + Visits + fo.visit + VID + 3 + + + + + Belongings + fo.belongings + +
+ + + + + + + + + + +
+
+
+ + + ID Proof + id.proof + +
+ + + + + + + + + + +
+
+
+ + + + + Visiting Purpose + fo.purpose + +
+ + + + + + + + + + +
+
+
+
+
\ No newline at end of file diff --git a/front_office_management/views/fo_visitor.xml b/front_office_management/views/fo_visitor.xml new file mode 100644 index 000000000..c0593ba5d --- /dev/null +++ b/front_office_management/views/fo_visitor.xml @@ -0,0 +1,159 @@ + + + + + Visitors + fo.visitor + +
+ +
+ +
+ +
+

+ + + + +
+ +
+

+
+ + + + + + + + + + +
+
+
+
+ + + fo.visitor.kanban + fo.visitor + + + + + +
+
+ +
+
+ +
    +
  • Name : + +
  • +
  • Phone: + +
  • +
+
+
+
+
+
+
+
+
+ + + + Visitors + fo.visitor + tree + + + + + + + + + + + Visitors + ir.actions.act_window + fo.visitor + kanban,tree,form + + +

+ Click to Create New Visitor. +

+
+
+ + + + + + + +
+
\ No newline at end of file