summaryrefslogtreecommitdiff
path: root/hr_employee_updation
diff options
context:
space:
mode:
Diffstat (limited to 'hr_employee_updation')
-rw-r--r--hr_employee_updation/README.md16
-rw-r--r--hr_employee_updation/__init__.py25
-rw-r--r--hr_employee_updation/__manifest__.py46
-rw-r--r--hr_employee_updation/data/data.xml14
-rw-r--r--hr_employee_updation/doc/RELEASE_NOTES.md6
-rw-r--r--hr_employee_updation/i18n/ar_001.po248
-rw-r--r--hr_employee_updation/models/__init__.py29
-rw-r--r--hr_employee_updation/models/hr_contract_days.py16
-rw-r--r--hr_employee_updation/models/hr_employee.py123
-rw-r--r--hr_employee_updation/models/updation_config.py31
-rw-r--r--hr_employee_updation/security/ir.model.access.csv5
-rw-r--r--hr_employee_updation/static/description/assets/icons/chevron.pngbin0 -> 310 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/cogs.pngbin0 -> 1377 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/consultation.pngbin0 -> 1458 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/ecom-black.pngbin0 -> 576 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/education-black.pngbin0 -> 733 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/hotel-black.pngbin0 -> 911 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/license.pngbin0 -> 1095 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/lifebuoy.pngbin0 -> 1199 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/manufacturing-black.pngbin0 -> 673 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/pos-black.pngbin0 -> 878 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/puzzle.pngbin0 -> 653 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/restaurant-black.pngbin0 -> 905 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/service-black.pngbin0 -> 839 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/trading-black.pngbin0 -> 427 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/training.pngbin0 -> 627 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/update.pngbin0 -> 1225 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/user.pngbin0 -> 988 bytes
-rw-r--r--hr_employee_updation/static/description/assets/icons/wrench.pngbin0 -> 1205 bytes
-rw-r--r--hr_employee_updation/static/description/banner.pngbin0 -> 69409 bytes
-rw-r--r--hr_employee_updation/static/description/icon.pngbin0 -> 19751 bytes
-rw-r--r--hr_employee_updation/static/description/images/appraisal_image.pngbin0 -> 128694 bytes
-rw-r--r--hr_employee_updation/static/description/images/bio_image.pngbin0 -> 162841 bytes
-rw-r--r--hr_employee_updation/static/description/images/checked.pngbin0 -> 21786 bytes
-rw-r--r--hr_employee_updation/static/description/images/core_image.gifbin0 -> 627021 bytes
-rw-r--r--hr_employee_updation/static/description/images/hero.pngbin0 -> 205104 bytes
-rw-r--r--hr_employee_updation/static/description/images/module_image.gifbin0 -> 140073 bytes
-rw-r--r--hr_employee_updation/static/description/images/openhrms.pngbin0 -> 7710 bytes
-rw-r--r--hr_employee_updation/static/description/images/salary_image.pngbin0 -> 117368 bytes
-rw-r--r--hr_employee_updation/static/description/images/shift_image.pngbin0 -> 117673 bytes
-rw-r--r--hr_employee_updation/static/description/images/updation1.pngbin0 -> 106233 bytes
-rw-r--r--hr_employee_updation/static/description/images/updation2.pngbin0 -> 80869 bytes
-rw-r--r--hr_employee_updation/static/description/images/updation3.pngbin0 -> 44678 bytes
-rw-r--r--hr_employee_updation/static/description/index.html535
-rw-r--r--hr_employee_updation/views/contract_days_view.xml17
-rw-r--r--hr_employee_updation/views/hr_employee_view.xml72
-rw-r--r--hr_employee_updation/views/hr_notification.xml15
-rw-r--r--hr_employee_updation/views/updation_config.xml27
48 files changed, 1225 insertions, 0 deletions
diff --git a/hr_employee_updation/README.md b/hr_employee_updation/README.md
new file mode 100644
index 0000000..c832fba
--- /dev/null
+++ b/hr_employee_updation/README.md
@@ -0,0 +1,16 @@
+Open HRMS Employee Info
+-----------------------
+Supporting Addon for Open HRMS, Added Advanced Fields On Employee Master.
+
+Connect with experts
+--------------------
+
+If you have any question/queries/additional works on OpenHRMS or this module, You can drop an email directly to Cybrosys.
+
+Contacts
+--------
+info - info@cybrosys.com
+
+Website:
+https://www.openhrms.com
+https://www.cybrosys.com
diff --git a/hr_employee_updation/__init__.py b/hr_employee_updation/__init__.py
new file mode 100644
index 0000000..9c6d6e0
--- /dev/null
+++ b/hr_employee_updation/__init__.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+###################################################################################
+# A part of Open HRMS Project <https://www.openhrms.com>
+#
+# Cybrosys Technologies Pvt. Ltd.
+# Copyright (C) 2018-TODAY Cybrosys Technologies (<https://www.cybrosys.com>).
+# Author: Jesni Banu (<https://www.cybrosys.com>)
+#
+# This program is free software: you can modify
+# it under the terms of the GNU Affero General Public License (AGPL) as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+#
+###################################################################################
+from . import models
+
+
diff --git a/hr_employee_updation/__manifest__.py b/hr_employee_updation/__manifest__.py
new file mode 100644
index 0000000..218e0fc
--- /dev/null
+++ b/hr_employee_updation/__manifest__.py
@@ -0,0 +1,46 @@
+# -*- coding: utf-8 -*-
+###################################################################################
+# A part of Open HRMS Project <https://www.openhrms.com>
+#
+# Cybrosys Technologies Pvt. Ltd.
+# Copyright (C) 2020-TODAY Cybrosys Technologies (<https://www.cybrosys.com>).
+# Author: Jesni Banu (<https://www.cybrosys.com>)
+#
+# This program is free software: you can modify
+# it under the terms of the GNU Affero General Public License (AGPL) as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+#
+###################################################################################
+{
+ 'name': 'Open HRMS Employee Info',
+ 'version': '14.0.1.0.0',
+ 'summary': """Adding Advanced Fields In Employee Master""",
+ 'description': 'This module helps you to add more information in employee records.',
+ 'category': 'Generic Modules/Human Resources',
+ 'author': 'Cybrosys Techno solutions,Open HRMS',
+ 'company': 'Cybrosys Techno Solutions',
+ 'website': "https://www.openhrms.com",
+ 'depends': ['base', 'hr', 'mail', 'hr_gamification', 'hr_contract'],
+ 'data': [
+ 'security/ir.model.access.csv',
+ 'data/data.xml',
+ 'views/contract_days_view.xml',
+ 'views/updation_config.xml',
+ 'views/hr_employee_view.xml',
+ 'views/hr_notification.xml',
+ ],
+ 'images': ['static/description/banner.png'],
+ 'license': 'AGPL-3',
+ 'installable': True,
+ 'auto_install': False,
+ 'application': False,
+}
diff --git a/hr_employee_updation/data/data.xml b/hr_employee_updation/data/data.xml
new file mode 100644
index 0000000..b18f58b
--- /dev/null
+++ b/hr_employee_updation/data/data.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="employee_relationship" model="hr.employee.relation">
+ <field name="name">Spouse</field>
+ </record>
+
+ <record id="employee_relationship_father" model="hr.employee.relation">
+ <field name="name">Father</field>
+ </record>
+
+ <record id="employee_relationship_mother" model="hr.employee.relation">
+ <field name="name">Mother</field>
+ </record>
+</odoo>
diff --git a/hr_employee_updation/doc/RELEASE_NOTES.md b/hr_employee_updation/doc/RELEASE_NOTES.md
new file mode 100644
index 0000000..9e56c28
--- /dev/null
+++ b/hr_employee_updation/doc/RELEASE_NOTES.md
@@ -0,0 +1,6 @@
+## Module <hr_employee_updation>
+
+#### 06.10.2020
+#### Version 14.0.1.0.0
+##### ADD
+- Initial commit for Open HRMS Project
diff --git a/hr_employee_updation/i18n/ar_001.po b/hr_employee_updation/i18n/ar_001.po
new file mode 100644
index 0000000..6e4a266
--- /dev/null
+++ b/hr_employee_updation/i18n/ar_001.po
@@ -0,0 +1,248 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * hr_employee_updation
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 13.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-02-12 03:21+0000\n"
+"PO-Revision-Date: 2020-02-12 03:21+0000\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee__id_attachment_id
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee__passport_attachment_id
+msgid "Attachment"
+msgstr "المرفق"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_emergency_contact__relation
+msgid "Contact"
+msgstr "اتصل"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee_family__member_contact
+msgid "Contact No"
+msgstr "رقم الاتصال"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,help:hr_employee_updation.field_hr_emergency_contact__number
+msgid "Contact Number"
+msgstr "رقم الاتصال"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_emergency_contact__create_uid
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee_family__create_uid
+msgid "Created by"
+msgstr "انشأ من قبل"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_emergency_contact__create_date
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee_family__create_date
+msgid "Created on"
+msgstr "تم إنشاؤها على"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields.selection,name:hr_employee_updation.selection__hr_employee_family__relation__daughter
+msgid "Daughter"
+msgstr "ابنة"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_emergency_contact__display_name
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee_family__display_name
+msgid "Display Name"
+msgstr "اسم العرض"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee__emergency_contacts
+msgid "Emergency Contact"
+msgstr "الاتصال بالطوارىء"
+
+#. module: hr_employee_updation
+#: model_terms:ir.ui.view,arch_db:hr_employee_updation.hr_employee_inherit_form_view
+msgid "Emergency Contacts"
+msgstr "جهة اتصال للطوارئ"
+
+#. module: hr_employee_updation
+#: model:ir.model,name:hr_employee_updation.model_hr_employee
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee_family__employee_id
+msgid "Employee"
+msgstr "الموظف"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_emergency_contact__employee_obj
+msgid "Employee Obj"
+msgstr "كائن الموظف"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee__id_expiry_date
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee__passport_expiry_date
+msgid "Expiry Date"
+msgstr "تاريخ الانتهاء"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,help:hr_employee_updation.field_hr_employee__id_expiry_date
+msgid "Expiry date of Identification ID"
+msgstr "تاريخ انتهاء معرف الهوية"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,help:hr_employee_updation.field_hr_employee__passport_expiry_date
+msgid "Expiry date of Passport ID"
+msgstr "تاريخ انتهاء صلاحية جواز السفر"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee__fam_ids
+#: model_terms:ir.ui.view,arch_db:hr_employee_updation.hr_employee_inherit_form_view
+msgid "Family"
+msgstr "عائلة"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,help:hr_employee_updation.field_hr_employee__fam_ids
+#: model_terms:ir.ui.view,arch_db:hr_employee_updation.hr_employee_inherit_form_view
+msgid "Family Information"
+msgstr "معلومات العائلة"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields.selection,name:hr_employee_updation.selection__hr_employee_family__relation__father
+msgid "Father"
+msgstr "الآب"
+
+#. module: hr_employee_updation
+#: model:ir.model,name:hr_employee_updation.model_hr_emergency_contact
+msgid "HR Emergency Contact"
+msgstr "الموارد البشرية في حالات الطوارئ الاتصال"
+
+#. module: hr_employee_updation
+#: model:ir.actions.server,name:hr_employee_updation.employee_data_reminder_ir_actions_server
+#: model:ir.cron,cron_name:hr_employee_updation.employee_data_reminder
+#: model:ir.cron,name:hr_employee_updation.employee_data_reminder
+msgid "HR Employee Data Expiration"
+msgstr "موظف بيانات الموارد البشرية انتهاء الصلاحية"
+
+#. module: hr_employee_updation
+#: model:ir.model,name:hr_employee_updation.model_hr_employee_family
+msgid "HR Employee Family"
+msgstr "عائلة موظف الموارد البشرية"
+
+#. module: hr_employee_updation
+#: model:ir.ui.menu,name:hr_employee_updation.menu_hr_management
+msgid "HR Management"
+msgstr "إدارة الموارد البشرية"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_emergency_contact__id
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee_family__id
+msgid "ID"
+msgstr "هوية شخصية"
+
+#. module: hr_employee_updation
+#: code:addons/hr_employee_updation/models/hr_employee.py:0
+#, python-format
+msgid "ID-%s Expired On %s"
+msgstr "انتهت صلاحية معرف ٪ s في ٪ s"
+
+#. module: hr_employee_updation
+#: model_terms:ir.ui.view,arch_db:hr_employee_updation.hr_employee_inherit_form_view
+msgid "Identification ID"
+msgstr "معرف الهوية"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee__joining_date
+msgid "Joining Date"
+msgstr "تاريخ الانضمام"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_emergency_contact____last_update
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee_family____last_update
+msgid "Last Modified on"
+msgstr "آخر تعديل في"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_emergency_contact__write_uid
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee_family__write_uid
+msgid "Last Updated by"
+msgstr "آخر تحديث بواسطة"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_emergency_contact__write_date
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee_family__write_date
+msgid "Last Updated on"
+msgstr "آخر تحديث في"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee__personal_mobile
+msgid "Mobile"
+msgstr "التليفون المحمول"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields.selection,name:hr_employee_updation.selection__hr_employee_family__relation__mother
+msgid "Mother"
+msgstr "أم"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee_family__member_name
+msgid "Name"
+msgstr "اسم"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_emergency_contact__number
+msgid "Number"
+msgstr "رقم"
+
+#. module: hr_employee_updation
+#: model_terms:ir.ui.view,arch_db:hr_employee_updation.hr_employee_inherit_form_view
+msgid "Passport ID"
+msgstr "رقم جواز السفر"
+
+#. module: hr_employee_updation
+#: code:addons/hr_employee_updation/models/hr_employee.py:0
+#, python-format
+msgid "Passport-%s Expired On %s"
+msgstr "انتهت صلاحية جواز السفر ٪ s في ٪ s"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,help:hr_employee_updation.field_hr_emergency_contact__relation
+#: model:ir.model.fields,help:hr_employee_updation.field_hr_employee_family__relation
+msgid "Relation with employee"
+msgstr "العلاقة مع الموظف"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,field_description:hr_employee_updation.field_hr_employee_family__relation
+msgid "Relationship"
+msgstr "صلة"
+
+#. module: hr_employee_updation
+#: model:ir.ui.menu,name:hr_employee_updation.employee_report_menu
+msgid "Reports"
+msgstr "تقارير"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,help:hr_employee_updation.field_hr_employee_family__employee_id
+msgid "Select corresponding Employee"
+msgstr "حدد الموظف المقابل"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields.selection,name:hr_employee_updation.selection__hr_employee_family__relation__son
+msgid "Son"
+msgstr "ابن"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields.selection,name:hr_employee_updation.selection__hr_employee_family__relation__wife
+msgid "Wife"
+msgstr "زوجة"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,help:hr_employee_updation.field_hr_employee__passport_attachment_id
+msgid "You can attach the copy of Passport"
+msgstr "يمكنك إرفاق نسخة من جواز السفر"
+
+#. module: hr_employee_updation
+#: model:ir.model.fields,help:hr_employee_updation.field_hr_employee__id_attachment_id
+msgid "You can attach the copy of your Id"
+msgstr "يمكنك إرفاق نسخة من هويتك"
diff --git a/hr_employee_updation/models/__init__.py b/hr_employee_updation/models/__init__.py
new file mode 100644
index 0000000..56e67b7
--- /dev/null
+++ b/hr_employee_updation/models/__init__.py
@@ -0,0 +1,29 @@
+# -*- coding: utf-8 -*-
+###################################################################################
+# A part of Open HRMS Project <https://www.openhrms.com>
+#
+# Cybrosys Technologies Pvt. Ltd.
+# Copyright (C) 2018-TODAY Cybrosys Technologies (<https://www.cybrosys.com>).
+# Author: Jesni Banu (<https://www.cybrosys.com>)
+#
+# This program is free software: you can modify
+# it under the terms of the GNU Affero General Public License (AGPL) as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+#
+###################################################################################
+from . import hr_employee
+from . import updation_config
+from . import hr_contract_days
+
+
+
+
diff --git a/hr_employee_updation/models/hr_contract_days.py b/hr_employee_updation/models/hr_contract_days.py
new file mode 100644
index 0000000..11f161c
--- /dev/null
+++ b/hr_employee_updation/models/hr_contract_days.py
@@ -0,0 +1,16 @@
+from odoo.exceptions import Warning
+from odoo import models, fields, api, _
+
+
+class HrEmployeeContract(models.Model):
+ _inherit = 'hr.contract'
+
+ def _get_default_notice_days(self):
+ if self.env['ir.config_parameter'].get_param(
+ 'hr_resignation.notice_period'):
+ return self.env['ir.config_parameter'].get_param(
+ 'hr_resignation.no_of_days')
+ else:
+ return 0
+
+ notice_days = fields.Integer(string="Notice Period", default=_get_default_notice_days)
diff --git a/hr_employee_updation/models/hr_employee.py b/hr_employee_updation/models/hr_employee.py
new file mode 100644
index 0000000..17a0185
--- /dev/null
+++ b/hr_employee_updation/models/hr_employee.py
@@ -0,0 +1,123 @@
+# -*- coding: utf-8 -*-
+###################################################################################
+# A part of Open HRMS Project <https://www.openhrms.com>
+#
+# Cybrosys Technologies Pvt. Ltd.
+# Copyright (C) 2018-TODAY Cybrosys Technologies (<https://www.cybrosys.com>).
+# Author: Jesni Banu (<https://www.cybrosys.com>)
+#
+# This program is free software: you can modify
+# it under the terms of the GNU Affero General Public License (AGPL) as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+#
+###################################################################################
+from datetime import datetime, timedelta
+from odoo import models, fields, _, api
+
+GENDER_SELECTION = [('male', 'Male'),
+ ('female', 'Female'),
+ ('other', 'Other')]
+
+
+class HrEmployeeFamilyInfo(models.Model):
+ """Table for keep employee family information"""
+
+ _name = 'hr.employee.family'
+ _description = 'HR Employee Family'
+
+ employee_id = fields.Many2one('hr.employee', string="Employee", help='Select corresponding Employee',
+ invisible=1)
+ relation_id = fields.Many2one('hr.employee.relation', string="Relation", help="Relationship with the employee")
+ member_name = fields.Char(string='Name')
+ member_contact = fields.Char(string='Contact No')
+ birth_date = fields.Date(string="DOB", tracking=True)
+
+
+class HrEmployee(models.Model):
+ _inherit = 'hr.employee'
+
+ def mail_reminder(self):
+ """Sending expiry date notification for ID and Passport"""
+
+ now = datetime.now() + timedelta(days=1)
+ date_now = now.date()
+ match = self.search([])
+ for i in match:
+ if i.id_expiry_date:
+ exp_date = fields.Date.from_string(i.id_expiry_date) - timedelta(days=14)
+ if date_now >= exp_date:
+ mail_content = " Hello " + i.name + ",<br>Your ID " + i.identification_id + "is going to expire on " + \
+ str(i.id_expiry_date) + ". Please renew it before expiry date"
+ main_content = {
+ 'subject': _('ID-%s Expired On %s') % (i.identification_id, i.id_expiry_date),
+ 'author_id': self.env.user.partner_id.id,
+ 'body_html': mail_content,
+ 'email_to': i.work_email,
+ }
+ self.env['mail.mail'].sudo().create(main_content).send()
+ match1 = self.search([])
+ for i in match1:
+ if i.passport_expiry_date:
+ exp_date1 = fields.Date.from_string(i.passport_expiry_date) - timedelta(days=180)
+ if date_now >= exp_date1:
+ mail_content = " Hello " + i.name + ",<br>Your Passport " + i.passport_id + "is going to expire on " + \
+ str(i.passport_expiry_date) + ". Please renew it before expiry date"
+ main_content = {
+ 'subject': _('Passport-%s Expired On %s') % (i.passport_id, i.passport_expiry_date),
+ 'author_id': self.env.user.partner_id.id,
+ 'body_html': mail_content,
+ 'email_to': i.work_email,
+ }
+ self.env['mail.mail'].sudo().create(main_content).send()
+
+ personal_mobile = fields.Char(string='Mobile', related='address_home_id.mobile', store=True,
+ help="Personal mobile number of the employee")
+ joining_date = fields.Date(string='Joining Date', help="Employee joining date computed from the contract start date",compute='compute_joining', store=True)
+ id_expiry_date = fields.Date(string='Expiry Date', help='Expiry date of Identification ID')
+ passport_expiry_date = fields.Date(string='Expiry Date', help='Expiry date of Passport ID')
+ id_attachment_id = fields.Many2many('ir.attachment', 'id_attachment_rel', 'id_ref', 'attach_ref',
+ string="Attachment", help='You can attach the copy of your Id')
+ passport_attachment_id = fields.Many2many('ir.attachment', 'passport_attachment_rel', 'passport_ref', 'attach_ref1',
+ string="Attachment",
+ help='You can attach the copy of Passport')
+ fam_ids = fields.One2many('hr.employee.family', 'employee_id', string='Family', help='Family Information')
+
+ @api.depends('contract_id')
+ def compute_joining(self):
+ if self.contract_id:
+ date = min(self.contract_id.mapped('date_start'))
+ self.joining_date = date
+ else:
+ self.joining_date = False
+
+ @api.onchange('spouse_complete_name', 'spouse_birthdate')
+ def onchange_spouse(self):
+ relation = self.env.ref('hr_employee_updation.employee_relationship')
+ lines_info = []
+ spouse_name = self.spouse_complete_name
+ date = self.spouse_birthdate
+ if spouse_name and date:
+ lines_info.append((0, 0, {
+ 'member_name': spouse_name,
+ 'relation_id': relation.id,
+ 'birth_date': date,
+ })
+ )
+ self.fam_ids = [(6, 0, 0)] + lines_info
+
+
+class EmployeeRelationInfo(models.Model):
+ """Table for keep employee family information"""
+
+ _name = 'hr.employee.relation'
+
+ name = fields.Char(string="Relationship", help="Relationship with thw employee")
diff --git a/hr_employee_updation/models/updation_config.py b/hr_employee_updation/models/updation_config.py
new file mode 100644
index 0000000..34a958d
--- /dev/null
+++ b/hr_employee_updation/models/updation_config.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import fields, models, api
+
+
+class JournalConfig(models.TransientModel):
+ _inherit = ['res.config.settings']
+
+ notice_period = fields.Boolean(string='Notice Period')
+ no_of_days = fields.Integer()
+
+ def set_values(self):
+ super(JournalConfig, self).set_values()
+ self.env['ir.config_parameter'].sudo().set_param("hr_resignation.notice_period",
+ self.notice_period)
+ self.env['ir.config_parameter'].sudo().set_param("hr_resignation.no_of_days",
+ self.no_of_days)
+
+ @api.model
+ def get_values(self):
+ res = super(JournalConfig, self).get_values()
+ get_param = self.env['ir.config_parameter'].sudo().get_param
+ res['notice_period'] = get_param('hr_resignation.notice_period')
+ res['no_of_days'] = int(get_param('hr_resignation.no_of_days'))
+ return res
+
+ # @api.onchange('service_expense_journal')
+ # def onchange_accounts(self):
+ # self.service_credit_account = self.service_expense_journal.default_credit_account_id.id
+ # self.service_debit_account = self.service_expense_journal.default_debit_account_id.id
diff --git a/hr_employee_updation/security/ir.model.access.csv b/hr_employee_updation/security/ir.model.access.csv
new file mode 100644
index 0000000..657a89f
--- /dev/null
+++ b/hr_employee_updation/security/ir.model.access.csv
@@ -0,0 +1,5 @@
+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
+"access_hr_employee_family_employee","hr.employee.family_employee","model_hr_employee_family","base.group_user",1,0,0,0
+"access_hr_employee_family_manager","hr.employee.family_manager","model_hr_employee_family","hr.group_hr_manager",1,1,1,1
+"access_hr_employee_family_user","hr.employee.family_user","model_hr_employee_family","hr.group_hr_user",1,1,1,1
+access_hr_employee_relation,access_access_hr_employee_relation,model_hr_employee_relation,base.group_user,1,1,1,1
diff --git a/hr_employee_updation/static/description/assets/icons/chevron.png b/hr_employee_updation/static/description/assets/icons/chevron.png
new file mode 100644
index 0000000..2089293
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/chevron.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/cogs.png b/hr_employee_updation/static/description/assets/icons/cogs.png
new file mode 100644
index 0000000..95d0bad
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/cogs.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/consultation.png b/hr_employee_updation/static/description/assets/icons/consultation.png
new file mode 100644
index 0000000..8319d4b
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/consultation.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/ecom-black.png b/hr_employee_updation/static/description/assets/icons/ecom-black.png
new file mode 100644
index 0000000..a9385ff
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/ecom-black.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/education-black.png b/hr_employee_updation/static/description/assets/icons/education-black.png
new file mode 100644
index 0000000..3eb09b2
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/education-black.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/hotel-black.png b/hr_employee_updation/static/description/assets/icons/hotel-black.png
new file mode 100644
index 0000000..130f613
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/hotel-black.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/license.png b/hr_employee_updation/static/description/assets/icons/license.png
new file mode 100644
index 0000000..a586979
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/license.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/lifebuoy.png b/hr_employee_updation/static/description/assets/icons/lifebuoy.png
new file mode 100644
index 0000000..658d56c
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/lifebuoy.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/manufacturing-black.png b/hr_employee_updation/static/description/assets/icons/manufacturing-black.png
new file mode 100644
index 0000000..697eb0e
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/manufacturing-black.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/pos-black.png b/hr_employee_updation/static/description/assets/icons/pos-black.png
new file mode 100644
index 0000000..97c0f90
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/pos-black.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/puzzle.png b/hr_employee_updation/static/description/assets/icons/puzzle.png
new file mode 100644
index 0000000..65cf854
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/puzzle.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/restaurant-black.png b/hr_employee_updation/static/description/assets/icons/restaurant-black.png
new file mode 100644
index 0000000..4a35eb9
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/restaurant-black.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/service-black.png b/hr_employee_updation/static/description/assets/icons/service-black.png
new file mode 100644
index 0000000..301ab51
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/service-black.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/trading-black.png b/hr_employee_updation/static/description/assets/icons/trading-black.png
new file mode 100644
index 0000000..9398ba2
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/trading-black.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/training.png b/hr_employee_updation/static/description/assets/icons/training.png
new file mode 100644
index 0000000..884ca02
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/training.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/update.png b/hr_employee_updation/static/description/assets/icons/update.png
new file mode 100644
index 0000000..ecbc5a0
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/update.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/user.png b/hr_employee_updation/static/description/assets/icons/user.png
new file mode 100644
index 0000000..6ffb23d
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/user.png
Binary files differ
diff --git a/hr_employee_updation/static/description/assets/icons/wrench.png b/hr_employee_updation/static/description/assets/icons/wrench.png
new file mode 100644
index 0000000..6c04dea
--- /dev/null
+++ b/hr_employee_updation/static/description/assets/icons/wrench.png
Binary files differ
diff --git a/hr_employee_updation/static/description/banner.png b/hr_employee_updation/static/description/banner.png
new file mode 100644
index 0000000..26e1032
--- /dev/null
+++ b/hr_employee_updation/static/description/banner.png
Binary files differ
diff --git a/hr_employee_updation/static/description/icon.png b/hr_employee_updation/static/description/icon.png
new file mode 100644
index 0000000..be05d31
--- /dev/null
+++ b/hr_employee_updation/static/description/icon.png
Binary files differ
diff --git a/hr_employee_updation/static/description/images/appraisal_image.png b/hr_employee_updation/static/description/images/appraisal_image.png
new file mode 100644
index 0000000..0823d44
--- /dev/null
+++ b/hr_employee_updation/static/description/images/appraisal_image.png
Binary files differ
diff --git a/hr_employee_updation/static/description/images/bio_image.png b/hr_employee_updation/static/description/images/bio_image.png
new file mode 100644
index 0000000..acc34b2
--- /dev/null
+++ b/hr_employee_updation/static/description/images/bio_image.png
Binary files differ
diff --git a/hr_employee_updation/static/description/images/checked.png b/hr_employee_updation/static/description/images/checked.png
new file mode 100644
index 0000000..c8e371f
--- /dev/null
+++ b/hr_employee_updation/static/description/images/checked.png
Binary files differ
diff --git a/hr_employee_updation/static/description/images/core_image.gif b/hr_employee_updation/static/description/images/core_image.gif
new file mode 100644
index 0000000..814b0cf
--- /dev/null
+++ b/hr_employee_updation/static/description/images/core_image.gif
Binary files differ
diff --git a/hr_employee_updation/static/description/images/hero.png b/hr_employee_updation/static/description/images/hero.png
new file mode 100644
index 0000000..a8abb41
--- /dev/null
+++ b/hr_employee_updation/static/description/images/hero.png
Binary files differ
diff --git a/hr_employee_updation/static/description/images/module_image.gif b/hr_employee_updation/static/description/images/module_image.gif
new file mode 100644
index 0000000..51be5f0
--- /dev/null
+++ b/hr_employee_updation/static/description/images/module_image.gif
Binary files differ
diff --git a/hr_employee_updation/static/description/images/openhrms.png b/hr_employee_updation/static/description/images/openhrms.png
new file mode 100644
index 0000000..068dcb8
--- /dev/null
+++ b/hr_employee_updation/static/description/images/openhrms.png
Binary files differ
diff --git a/hr_employee_updation/static/description/images/salary_image.png b/hr_employee_updation/static/description/images/salary_image.png
new file mode 100644
index 0000000..127ea73
--- /dev/null
+++ b/hr_employee_updation/static/description/images/salary_image.png
Binary files differ
diff --git a/hr_employee_updation/static/description/images/shift_image.png b/hr_employee_updation/static/description/images/shift_image.png
new file mode 100644
index 0000000..9d69782
--- /dev/null
+++ b/hr_employee_updation/static/description/images/shift_image.png
Binary files differ
diff --git a/hr_employee_updation/static/description/images/updation1.png b/hr_employee_updation/static/description/images/updation1.png
new file mode 100644
index 0000000..a980bf7
--- /dev/null
+++ b/hr_employee_updation/static/description/images/updation1.png
Binary files differ
diff --git a/hr_employee_updation/static/description/images/updation2.png b/hr_employee_updation/static/description/images/updation2.png
new file mode 100644
index 0000000..927a4db
--- /dev/null
+++ b/hr_employee_updation/static/description/images/updation2.png
Binary files differ
diff --git a/hr_employee_updation/static/description/images/updation3.png b/hr_employee_updation/static/description/images/updation3.png
new file mode 100644
index 0000000..799073e
--- /dev/null
+++ b/hr_employee_updation/static/description/images/updation3.png
Binary files differ
diff --git a/hr_employee_updation/static/description/index.html b/hr_employee_updation/static/description/index.html
new file mode 100644
index 0000000..29eda73
--- /dev/null
+++ b/hr_employee_updation/static/description/index.html
@@ -0,0 +1,535 @@
+<div style="padding: 3.5rem 1.5rem !important; background-color: #ffffff !important;">
+ <div class="container">
+ <!-- HERO -->
+ <div class="row">
+ <div class="col-lg-12 d-flex flex-column justify-content-center"
+ style="text-align: center; padding: 1rem !important;">
+ <h1 class="text-center" style="color: #00438B !important; font-size: 4rem !important;"><span
+ style="font-weight: 700 !important;">OpenHRMS</span><span style="font-weight: 300 !important;">
+ Employee Info</span></h1>
+ <p class="text-center"
+ style="color: #212529 !important; font-size: 1.5rem !important; letter-spacing: 10px !important;">
+ Added Advance Fields On Employee Master</p>
+ <img src="./images/hero.png" class="img-responsive">
+ </div>
+ </div>
+ <!-- END OF HERO -->
+
+ <!-- OVERVIEW -->
+ <div class="row">
+ <div class="col-lg-12 d-flex flex-column justify-content-center"
+ style="text-align: center; padding: 2.5rem 1rem !important;">
+ <h2 style="color: #212529 !important;">Overview</h2>
+ <hr
+ style="border: 3px solid #00438B !important; background-color: #00438B !important; width: 80px !important; margin-bottom: 2rem !important;" />
+ <p class="text-center" style="color: #212529 !important; font-size: 1.5rem !important;">
+ This module added some advanced features on Employee master. Such as family info, joining date,
+ passport and Id expiry date. This module also sends expiry notification for passport and id to
+ corresponding employees.
+ </p>
+ </div>
+ </div>
+ <!-- END OF OVERVIEW -->
+
+
+ <!-- KEY FEATURES -->
+ <div class="row">
+ <div class="col-lg-12 d-flex flex-column justify-content-center"
+ style="text-align: center; padding: 2.5rem 1rem !important;">
+ <h2 style="color: #212529 !important;">Key Features</h2>
+ <hr
+ style="border: 3px solid #00438B !important; background-color: #00438B !important; width: 80px !important; margin-bottom: 2rem !important;" />
+ <div class="row">
+ <div class="col-lg-12">
+
+ <div class="d-flex deep-2"
+ style="height: 60px !important; padding: 1rem 1.5rem !important; border-radius: 0 !important; margin: 1.5rem 0">
+ <img src="./images/checked.png" style="height: 24px !important; width: 24px !important;"
+ class="mt-1 mr-2" height="24px" width="24px">
+ <p class="text-center" style="color: #212529 !important; font-size: 1.3rem !important;">
+ Provision for family information
+ </p>
+ </div>
+
+ <div class="d-flex deep-2"
+ style="height: 60px !important; padding: 1rem 1.5rem !important; border-radius: 0 !important; margin: 1.5rem 0">
+ <img src="./images/checked.png" style="height: 24px !important; width: 24px !important;"
+ class="mt-1 mr-2" height="24px" width="24px">
+ <p class="text-center" style="color: #212529 !important; font-size: 1.3rem !important;">
+ Provision for joining date and contact info
+ </p>
+ </div>
+
+ <div class="d-flex deep-2"
+ style="height: 60px !important; padding: 1rem 1.5rem !important; border-radius: 0 !important; margin: 1.5rem 0">
+ <img src="./images/checked.png" style="height: 24px !important; width: 24px !important;"
+ class="mt-1 mr-2" height="24px" width="24px">
+ <p class="text-center" style="color: #212529 !important; font-size: 1.3rem !important;">
+ Provision for passport and id expiry date and attachments
+ </p>
+ </div>
+
+ <div class="d-flex deep-2"
+ style="height: 60px !important; padding: 1rem 1.5rem !important; border-radius: 0 !important; margin: 1.5rem 0">
+ <img src="./images/checked.png" style="height: 24px !important; width: 24px !important;"
+ class="mt-1 mr-2" height="24px" width="24px">
+ <p class="text-center" style="color: #212529 !important; font-size: 1.3rem !important;">
+ Provision for expiry notification for passport and id documents
+ </p>
+ </div>
+
+ </div>
+
+ </div>
+ </div>
+ </div>
+ <!-- END OF KEY FEATURES -->
+
+ <!-- SCREENSHOTS -->
+ <div class="row">
+ <div class="col-lg-12 d-flex flex-column justify-content-center" style="padding: 2.5rem 1rem !important;">
+ <h2 style="text-align: center; color: #212529 !important;">Screenshots</h2>
+ <hr
+ style="border: 3px solid #00438B !important; background-color: #00438B !important; width: 80px !important; margin-bottom: 2rem !important;" />
+ <!-- img -->
+ <div class="d-flex m-0">
+ <div class="mr-3">
+ <h3
+ style="font-size: 2rem !important; font-weight: 800 !important; color: #ffffff !important; background-color: #00438B !important; padding: 1rem !important; width: 70px !important; height: 90px !important;">
+ 01</h3>
+ </div>
+ <div>
+ <h3 style="font-size: 1.7rem !important; font-weight: 600 !important;">Identification ID &
+ Passport ID
+ </h3>
+
+ </div>
+ </div>
+ <img src="./images/updation1.png" class="img-responsive"
+ style="margin-top: -15px !important; border-top: 5px solid #00438B !important; margin-bottom: 4rem !important;">
+ <!-- endo of img -->
+ <!-- img -->
+ <div class="d-flex m-0">
+ <div class="mr-3">
+ <h3
+ style="font-size: 2rem !important; font-weight: 800 !important; color: #ffffff !important; background-color: #00438B !important; padding: 1rem !important; width: 70px !important; height: 90px !important;">
+ 02</h3>
+ </div>
+ <div>
+ <h3 style="font-size: 1.7rem !important; font-weight: 600 !important;">Family Information
+ </h3>
+
+ </div>
+ </div>
+ <img src="./images/updation2.png" class="img-responsive"
+ style="margin-top: -15px !important; border-top: 5px solid #00438B !important; margin-bottom: 4rem !important;">
+ <!-- endo of img -->
+
+ <!-- img -->
+ <div class="d-flex m-0">
+ <div class="mr-3">
+ <h3
+ style="font-size: 2rem !important; font-weight: 800 !important; color: #ffffff !important; background-color: #00438B !important; padding: 1rem !important; width: 70px !important; height: 90px !important;">
+ 03</h3>
+ </div>
+ <div>
+ <h3 style="font-size: 1.7rem !important; font-weight: 600 !important;"> Joining Date</h3>
+
+ </div>
+ </div>
+ <img src="./images/updation3.png" class="img-responsive"
+ style="margin-top: -15px !important; border-top: 5px solid #00438B !important; margin-bottom: 4rem !important;">
+ <!-- endo of img -->
+
+
+ </div>
+ </div>
+ <!-- END OF SCREENSHOTS -->
+
+
+ <!-- SUGGESTED PRODUCTS -->
+ <div class="row">
+ <div class="col-lg-12 d-flex flex-column justify-content-center"
+ style="text-align: center; padding: 2.5rem 1rem !important;">
+ <h2 style="color: #212529 !important;">Suggested Products</h2>
+ <hr
+ style="border: 3px solid #00438B !important; background-color: #00438B !important; width: 80px !important; margin-bottom: 2rem !important;" />
+
+ <div id="demo1" class="row carousel slide" data-ride="carousel">
+ <!-- The slideshow -->
+ <div class="carousel-inner">
+ <div class="carousel-item active" style="min-height: 0px;">
+ <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
+ <a href="https://apps.odoo.com/apps/modules/13.0/ohrms_core/" target="_blank">
+ <div
+ style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
+ <img class="img img-responsive center-block"
+ style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
+ src="images/core_image.gif">
+ </div>
+ </a>
+ </div>
+ <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
+ <a href="https://apps.odoo.com/apps/modules/13.0/hrms_dashboard/" target="_blank">
+ <div
+ style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
+ <img class="img img-responsive center-block"
+ style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
+ src="images/module_image.gif">
+ </div>
+ </a>
+ </div>
+ <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
+ <a href="https://apps.odoo.com/apps/modules/13.0/oh_hr_zk_attendance/" target="_blank">
+ <div
+ style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
+ <img class="img img-responsive center-block"
+ style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
+ src="images/bio_image.png">
+ </div>
+ </a>
+ </div>
+ </div>
+ <div class="carousel-item" style="min-height: 0px;">
+ <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
+ <a href="https://apps.odoo.com/apps/modules/13.0/oh_appraisal/" target="_blank">
+ <div
+ style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
+ <img class="img img-responsive center-block"
+ style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
+ src="images/appraisal_image.png">
+ </div>
+ </a>
+ </div>
+ <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
+ <a href="https://apps.odoo.com/apps/modules/13.0/hr_employee_shift/" target="_blank">
+ <div
+ style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
+ <img class="img img-responsive center-block"
+ style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
+ src="images/shift_image.png">
+ </div>
+ </a>
+ </div>
+ <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
+ <a href="https://apps.odoo.com/apps/modules/13.0/ohrms_salary_advance/" target="_blank">
+ <div
+ style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
+ <img class="img img-responsive center-block"
+ style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
+ src="images/salary_image.png">
+ </div>
+ </a>
+ </div>
+ </div>
+ </div>
+ <!-- Left and right controls -->
+ <a class="carousel-control-prev" href="#demo1" data-slide="prev"
+ style="left:-25px;width: 35px;color: #000;"> <span class="carousel-control-prev-icon"><i
+ class="fa fa-chevron-left" style="font-size:24px"></i></span> </a> <a
+ class="carousel-control-next" href="#demo1" data-slide="next"
+ style="right:-25px;width: 35px;color: #000;">
+ <span class="carousel-control-next-icon"><i class="fa fa-chevron-right"
+ style="font-size:24px"></i></span>
+ </a>
+ </div>
+ </div>
+ </div>
+ <!-- END OF SUGGESTED PRODUCTS -->
+
+ <!-- OUR SERVICES -->
+ <section class="container" style="margin-top: 6rem !important;">
+ <div class="row">
+ <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
+ <h2 style="color: #212529 !important;">Our Services</h2>
+ <hr
+ style="border: 3px solid #00438B !important; background-color: #00438B !important; width: 80px !important; margin-bottom: 2rem !important;" />
+ </div>
+
+ <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
+ <div class="d-flex justify-content-center align-items-center mx-3 my-3"
+ style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;">
+ <img src="assets/icons/cogs.png" class="img-responsive" height="48px" width="48px">
+ </div>
+ <h6 class="text-center"
+ style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
+ Customization</h6>
+ </div>
+
+ <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
+ <div class="d-flex justify-content-center align-items-center mx-3 my-3"
+ style="background-color: #ff6b6b !important; border-radius: 15px !important; height: 80px; width: 80px;">
+ <img src="assets/icons/wrench.png" class="img-responsive" height="48px" width="48px">
+ </div>
+ <h6 class="text-center"
+ style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
+ Implementation</h6>
+ </div>
+
+ <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
+ <div class="d-flex justify-content-center align-items-center mx-3 my-3"
+ style="background-color: #6462CD !important; border-radius: 15px !important; height: 80px; width: 80px;">
+ <img src="assets/icons/lifebuoy.png" class="img-responsive" height="48px" width="48px">
+ </div>
+ <h6 class="text-center"
+ style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
+ Support</h6>
+ </div>
+
+
+ <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
+ <div class="d-flex justify-content-center align-items-center mx-3 my-3"
+ style="background-color: #ffa801 !important; border-radius: 15px !important; height: 80px; width: 80px;">
+ <img src="assets/icons/user.png" class="img-responsive" height="48px" width="48px">
+ </div>
+ <h6 class="text-center"
+ style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Hire
+ Odoo
+ Developer</h6>
+ </div>
+
+ <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
+ <div class="d-flex justify-content-center align-items-center mx-3 my-3"
+ style="background-color: #54a0ff !important; border-radius: 15px !important; height: 80px; width: 80px;">
+ <img src="assets/icons/puzzle.png" class="img-responsive" height="48px" width="48px">
+ </div>
+ <h6 class="text-center"
+ style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
+ Integration</h6>
+ </div>
+
+ <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
+ <div class="d-flex justify-content-center align-items-center mx-3 my-3"
+ style="background-color: #6d7680 !important; border-radius: 15px !important; height: 80px; width: 80px;">
+ <img src="assets/icons/update.png" class="img-responsive" height="48px" width="48px">
+ </div>
+ <h6 class="text-center"
+ style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
+ Migration</h6>
+ </div>
+
+
+ <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
+ <div class="d-flex justify-content-center align-items-center mx-3 my-3"
+ style="background-color: #786fa6 !important; border-radius: 15px !important; height: 80px; width: 80px;">
+ <img src="assets/icons/consultation.png" class="img-responsive" height="48px" width="48px">
+ </div>
+ <h6 class="text-center"
+ style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
+ Consultancy</h6>
+ </div>
+
+ <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
+ <div class="d-flex justify-content-center align-items-center mx-3 my-3"
+ style="background-color: #f8a5c2 !important; border-radius: 15px !important; height: 80px; width: 80px;">
+ <img src="assets/icons/training.png" class="img-responsive" height="48px" width="48px">
+ </div>
+ <h6 class="text-center"
+ style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
+ Implementation</h6>
+ </div>
+
+ <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
+ <div class="d-flex justify-content-center align-items-center mx-3 my-3"
+ style="background-color: #e6be26 !important; border-radius: 15px !important; height: 80px; width: 80px;">
+ <img src="assets/icons/license.png" class="img-responsive" height="48px" width="48px">
+ </div>
+ <h6 class="text-center"
+ style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
+ Licensing Consultancy</h6>
+ </div>
+ </div>
+ </section>
+ <!-- END OF END OF OUR SERVICES -->
+
+ <!-- OUR INDUSTRIES -->
+ <section class="container" style="margin-top: 6rem !important;">
+ <div class="row">
+ <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
+ <h2 style="color: #212529 !important;">Our Industries</h2>
+ <hr
+ style="border: 3px solid #00438B !important; background-color: #00438B !important; width: 80px !important; margin-bottom: 2rem !important;" />
+ </div>
+
+ <div class="col-lg-3">
+ <div class="my-4 d-flex flex-column justify-content-center"
+ style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
+ <img src="./assets/icons/trading-black.png" class="img-responsive mb-3" height="48px"
+ width="48px">
+ <h5
+ style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
+ Trading
+ </h5>
+ <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
+ Easily procure
+ and
+ sell your products</p>
+ </div>
+ </div>
+
+ <div class="col-lg-3">
+ <div class="my-4 d-flex flex-column justify-content-center"
+ style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
+ <img src="./assets/icons/pos-black.png" class="img-responsive mb-3" height="48px" width="48px">
+ <h5
+ style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
+ POS
+ </h5>
+ <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
+ Easy
+ configuration
+ and convivial experience</p>
+ </div>
+ </div>
+
+ <div class="col-lg-3">
+ <div class="my-4 d-flex flex-column justify-content-center"
+ style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
+ <img src="./assets/icons/education-black.png" class="img-responsive mb-3" height="48px"
+ width="48px">
+ <h5
+ style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
+ Education
+ </h5>
+ <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
+ A platform for
+ educational management</p>
+ </div>
+ </div>
+
+ <div class="col-lg-3">
+ <div class="my-4 d-flex flex-column justify-content-center"
+ style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
+ <img src="./assets/icons/manufacturing-black.png" class="img-responsive mb-3" height="48px"
+ width="48px">
+ <h5
+ style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
+ Manufacturing
+ </h5>
+ <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
+ Plan, track and
+ schedule your operations</p>
+ </div>
+ </div>
+
+ <div class="col-lg-3">
+ <div class="my-4 d-flex flex-column justify-content-center"
+ style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
+ <img src="./assets/icons/ecom-black.png" class="img-responsive mb-3" height="48px" width="48px">
+ <h5
+ style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
+ E-commerce &amp; Website
+ </h5>
+ <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
+ Mobile
+ friendly,
+ awe-inspiring product pages</p>
+ </div>
+ </div>
+
+ <div class="col-lg-3">
+ <div class="my-4 d-flex flex-column justify-content-center"
+ style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
+ <img src="./assets/icons/service-black.png" class="img-responsive mb-3" height="48px"
+ width="48px">
+ <h5
+ style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
+ Service Management
+ </h5>
+ <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
+ Keep track of
+ services and invoice</p>
+ </div>
+ </div>
+
+ <div class="col-lg-3">
+ <div class="my-4 d-flex flex-column justify-content-center"
+ style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
+ <img src="./assets/icons/restaurant-black.png" class="img-responsive mb-3" height="48px"
+ width="48px">
+ <h5
+ style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
+ Restaurant
+ </h5>
+ <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
+ Run your bar or
+ restaurant methodically</p>
+ </div>
+ </div>
+
+ <div class="col-lg-3">
+ <div class="my-4 d-flex flex-column justify-content-center"
+ style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
+ <img src="./assets/icons/hotel-black.png" class="img-responsive mb-3" height="48px"
+ width="48px">
+ <h5
+ style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
+ Hotel Management
+ </h5>
+ <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
+ An
+ all-inclusive
+ hotel management application</p>
+ </div>
+ </div>
+
+ </div>
+ </section>
+
+ <!-- END OF END OF OUR INDUSTRIES -->
+
+ <!-- FOOTER -->
+ <!-- Footer Section -->
+ <section class="container" style="margin: 5rem auto 2rem;">
+ <div class="row" style="max-width:1540px;">
+ <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
+ <h2 style="color: #212529 !important;">Need Help?</h2>
+ <hr
+ style="border: 3px solid #00438B !important; background-color: #00438B !important; width: 80px !important; margin-bottom: 2rem !important;" />
+ </div>
+ </div>
+
+ <!-- Contact Cards -->
+ <div class="row d-flex justify-content-center align-items-center"
+ style="max-width:1540px; margin: 0 auto 2rem auto;">
+
+ <div class="col-lg-12" style="padding: 0rem 3rem 2rem; border-radius: 10px; margin-right: 3rem; ">
+
+ <div class="row mt-6">
+ <div class="col-lg-6">
+ <a href="mailto:odoo@cybrosys.com" target="_blank" class="btn btn-block mb-2 deep_hover"
+ style="text-decoration: none; background-color: #4d4d4d; color: #FFF; border-radius: 4px;"><i
+ class="fa fa-envelope mr-2"></i>odoo@cybrosys.com</a>
+ </div>
+ <div class="col-lg-6">
+ <a href="https://api.whatsapp.com/send?phone=918606827707" target="_blank"
+ class="btn btn-block mb-2 deep_hover"
+ style="text-decoration: none; background-color: #25D366; color: #FFF; border-radius: 4px;"><i
+ class="fa fa-whatsapp mr-2"></i>WhatsApp</a>
+ </div>
+ </div>
+ </div>
+
+ </div>
+ <!-- End of Contact Cards -->
+ </section>
+ <!-- Footer -->
+ <section class="oe_container" style="padding: 2rem 3rem 1rem;">
+ <div class="row" style="max-width:1540px; margin: 0 auto; margin-right: 3rem; ">
+ <!-- Logo -->
+ <div class="col-lg-12 d-flex justify-content-center align-items-center" style="margin-top: 3rem;">
+ <img src="https://www.cybrosys.com/images/logo.png" width="200px" height="auto" />
+ </div>
+ <!-- End of Logo -->
+ <div class="col-lg-12">
+ <hr
+ style="margin-top: 3rem;background: linear-gradient(90deg, rgba(2,0,36,0) 0%, rgba(229,229,229,1) 33%, rgba(229,229,229,1) 58%, rgba(0,212,255,0) 100%); height: 2px; border-style: none;">
+ <!-- End of Footer Section -->
+ </div>
+ </div>
+ </section>
+ <!-- END OF FOOTER -->
+
+
+ </div>
+</div>s \ No newline at end of file
diff --git a/hr_employee_updation/views/contract_days_view.xml b/hr_employee_updation/views/contract_days_view.xml
new file mode 100644
index 0000000..1355018
--- /dev/null
+++ b/hr_employee_updation/views/contract_days_view.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="hr_contract_notice_period" model="ir.ui.view">
+ <field name="name">hr.contract.notice.period</field>
+ <field name="model">hr.contract</field>
+ <field name="inherit_id" ref="hr_contract.hr_contract_view_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='date_end']" position="after">
+ <label for="notice_days"/>
+ <div class="o_row">
+ <field name="notice_days"/>
+ <span> days</span>
+ </div>
+ </xpath>
+ </field>
+ </record>
+</odoo>
diff --git a/hr_employee_updation/views/hr_employee_view.xml b/hr_employee_updation/views/hr_employee_view.xml
new file mode 100644
index 0000000..f1fcbdb
--- /dev/null
+++ b/hr_employee_updation/views/hr_employee_view.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <data>
+ <menuitem id="employee_report_menu" name="Reports" sequence="30"
+ groups="hr.group_hr_manager,hr.group_hr_user"/>
+ <menuitem id="menu_hr_management" name="HR Management" parent="hr.menu_hr_root" sequence="5"
+ groups="hr.group_hr_manager,hr.group_hr_user"/>
+ <record model="ir.ui.view" id="hr_employee_inherit_form_view">
+
+ <field name="name">hr.employee.form.view</field>
+ <field name="model">hr.employee</field>
+ <field name="inherit_id" ref="hr.view_employee_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//page[@name='personal_information']/group" position="after">
+ <group name="fam_ids" colspan="4" string="Dependence Details">
+ <field name="fam_ids">
+ <tree editable="bottom">
+ <field name="member_name" required="1"/>
+ <field name="relation_id" required="1"/>
+ <field name="member_contact"/>
+ <field name="birth_date"/>
+ </tree>
+ </field>
+ </group>
+ </xpath>
+ <field name="user_id" position="after">
+ <field name="joining_date"/>
+ </field>
+ <field name="identification_id" position="replace"/>
+ <field name="passport_id" position="replace"/>
+ <xpath expr="//page[@name='personal_information']/group/group[1]" position="after">
+ <group name="identification_id" string="Identification ID">
+ <field name="identification_id"/>
+ <field name="id_expiry_date" groups="hr.group_hr_user" attrs="{'invisible': [('identification_id', 'in', [None,False])]}"/>
+ <field name="id_attachment_id" groups="hr.group_hr_user" widget="many2many_binary" class="oe_inline" attrs="{'invisible': [('identification_id', 'in', [None,False])]}"/>
+ </group>
+ <group name="passport_id" string="Passport ID">
+ <field name="passport_id"/>
+ <field name="passport_expiry_date" groups="hr.group_hr_user" attrs="{'invisible': [('passport_id', 'in', [None,False])]}"/>
+ <field name="passport_attachment_id" groups="hr.group_hr_user" widget="many2many_binary" class="oe_inline" attrs="{'invisible': [('passport_id', 'in', [None,False])]}"/>
+ </group>
+ </xpath>
+
+ </field>
+ </record>
+
+ <record id="hr_gamification.hr_hr_employee_view_form" model="ir.ui.view">
+ <field name="name">hr.employee.view.form.inherit</field>
+ <field name="model">hr.employee</field>
+ <field name="inherit_id" ref="hr.view_employee_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//page[@name='public']" position="after">
+ <page string="Received Badges" attrs="{'invisible': [('user_id', '=', False)]}">
+ <div name="badges" groups="hr.group_hr_user">
+ <field name="has_badges" invisible="1"/>
+ <button string="Grant a Badge" type="action" name="%(hr_gamification.action_reward_wizard)d"/> to reward this employee for a good action
+ <div class="oe_view_nocontent" attrs="{'invisible': [('has_badges', '=', True)]}">
+ <p class="oe_view_nocontent_create">
+ Click to grant this employee his first badge
+ </p><p class="oe_grey">
+ Badges are rewards of good work. Give them to people you believe deserve it.
+ </p>
+ </div>
+ </div>
+ <field name="badge_ids" widget="many2many_kanban" />
+ </page>
+ </xpath>
+ </field>
+ </record>
+
+ </data>
+</odoo> \ No newline at end of file
diff --git a/hr_employee_updation/views/hr_notification.xml b/hr_employee_updation/views/hr_notification.xml
new file mode 100644
index 0000000..3dbfa7d
--- /dev/null
+++ b/hr_employee_updation/views/hr_notification.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<odoo>
+ <data>
+ <record model="ir.cron" id="employee_data_reminder">
+ <field name="name">HR Employee Data Expiration</field>
+ <field name="interval_number">1</field>
+ <field name="interval_type">days</field>
+ <field name="numbercall">-1</field>
+ <field name="doall" eval="False"/>
+ <field name="model_id" ref="model_hr_employee"/>
+ <field name="state">code</field>
+ <field name="code">model.mail_reminder()</field>
+ </record>
+ </data>
+</odoo>
diff --git a/hr_employee_updation/views/updation_config.xml b/hr_employee_updation/views/updation_config.xml
new file mode 100644
index 0000000..c439221
--- /dev/null
+++ b/hr_employee_updation/views/updation_config.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<odoo>
+ <record id="journal_config_settings_view_form" model="ir.ui.view">
+ <field name="name">journal.res.config.settings.view.form.inherit.hr.fleet</field>
+ <field name="model">res.config.settings</field>
+ <field name="priority" eval="90"/>
+ <field name="inherit_id" ref="base.res_config_settings_view_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//div[@data-key='hr']//div[hasclass('o_settings_container')]" position="inside">
+ <div class="col-12 col-lg-6 o_setting_box">
+ <div class="o_setting_left_pane">
+ <field name="notice_period"/>
+ </div>
+ <div class="o_setting_right_pane">
+ <label for="notice_period"/>
+ <div class="content-group" attrs="{'invisible': [('notice_period', '=', False)]}">
+ <div class="mt16">
+ <field name="no_of_days" style="width:50px;"/>
+ <span>days</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </xpath>
+ </field>
+ </record>
+</odoo>