diff --git a/ent_history_employee/README.rst b/ent_history_employee/README.rst new file mode 100644 index 000000000..f86c48742 --- /dev/null +++ b/ent_history_employee/README.rst @@ -0,0 +1,56 @@ +.. image:: https://img.shields.io/badge/license-OPL--1-red.svg + :target: https://www.odoo.com/documentation/18.0/legal/licenses.html#odoo-apps + :alt: License: OPL-1 + +Enterprise Open HRMS Employee History +===================================== +History of the employees in our company. + +Configuration +============= +* No additional configurations needed. + +Company +------- +* `Cybrosys Techno Solutions `__ + + +License +======= +Odoo Proprietary License, Version 1.0 (OPL-1) +(https://www.odoo.com/documentation/18.0/legal/licenses.html#odoo-apps) + +Credits +------- +* Developer: + (V18) Arjun S, + (V17) Vishnu P, + (V16) Archana V, + (V15) Mily, + (V14) Jibin James, + (V13) Kavya Raveendran, + Binu M Baiju, + Contact: odoo@cybrosys.com + + +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: ``__ diff --git a/ent_history_employee/__init__.py b/ent_history_employee/__init__.py new file mode 100644 index 000000000..c7d4d24f1 --- /dev/null +++ b/ent_history_employee/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# A part of Open HRMS Project +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the Software +# or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +######################################################################################## +from . import models diff --git a/ent_history_employee/__manifest__.py b/ent_history_employee/__manifest__.py new file mode 100644 index 000000000..4a1f07c16 --- /dev/null +++ b/ent_history_employee/__manifest__.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# A part of Open HRMS Project +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the Software +# or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +######################################################################################## +{ + 'name': 'Enterprise Open HRMS Employee History', + 'version': '18.0.1.0.0', + 'category': 'Generic Modules/Human Resources', + 'summary': """History Of Employees In Your Company""", + 'description': """This module helps to manage or track the employee history + like, Department, salary, contract...etc """, + 'author': "Cybrosys Techno Solutions,Open HRMS", + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.openhrms.com", + 'depends': ['hr', 'hr_contract', 'ent_oh_employee_creation_from_user', + 'hr_timesheet'], + 'data': [ + 'security/ir.model.access.csv', + 'views/contract_history_views.xml', + 'views/department_history_views.xml', + 'views/hr_employee_views.xml', + 'views/salary_history_views.xml', + 'views/timesheet_cost_views.xml', + ], + 'images': ['static/description/banner.jpg'], + 'license': 'OPL-1', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/ent_history_employee/doc/RELEASE_NOTES.md b/ent_history_employee/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..920a871b2 --- /dev/null +++ b/ent_history_employee/doc/RELEASE_NOTES.md @@ -0,0 +1,9 @@ +## Module + +#### 19.03.2025 +#### Version 18.0.1.0.0 +##### ADD +- Initial Commit for Enterprise Open HRMS Employee History + + + diff --git a/ent_history_employee/i18n/ar_001.po b/ent_history_employee/i18n/ar_001.po new file mode 100644 index 000000000..4c2e99a23 --- /dev/null +++ b/ent_history_employee/i18n/ar_001.po @@ -0,0 +1,200 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * ent_history_employee +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-02-12 06:52+0000\n" +"PO-Revision-Date: 2020-02-12 06:52+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: ent_history_employee +#: model:ir.model.fields,field_description:ent_history_employee.field_contract_history__changed_field +#: model:ir.model.fields,field_description:ent_history_employee.field_department_history__changed_field +msgid "Changed Field" +msgstr "حقل متغير" + +#. module: ent_history_employee +#: code:addons/ent_history_employee/models/history.py:0 +#: code:addons/ent_history_employee/models/history.py:0 +#: model_terms:ir.ui.view,arch_db:ent_history_employee.hr_employee_history_form_view +#, python-format +msgid "Contract History" +msgstr "تاريخ العقد" + +#. module: ent_history_employee +#: model:ir.model.fields,field_description:ent_history_employee.field_contract_history__create_uid +#: model:ir.model.fields,field_description:ent_history_employee.field_department_history__create_uid +#: model:ir.model.fields,field_description:ent_history_employee.field_salary_history__create_uid +#: model:ir.model.fields,field_description:ent_history_employee.field_timesheet_cost__create_uid +msgid "Created by" +msgstr "انشأ من قبل" + +#. module: ent_history_employee +#: model:ir.model.fields,field_description:ent_history_employee.field_contract_history__create_date +#: model:ir.model.fields,field_description:ent_history_employee.field_department_history__create_date +#: model:ir.model.fields,field_description:ent_history_employee.field_salary_history__create_date +#: model:ir.model.fields,field_description:ent_history_employee.field_timesheet_cost__create_date +msgid "Created on" +msgstr "تم إنشاؤها على" + +#. module: ent_history_employee +#: model:ir.model.fields,field_description:ent_history_employee.field_contract_history__current_value +#: model:ir.model.fields,field_description:ent_history_employee.field_department_history__current_value +#: model:ir.model.fields,field_description:ent_history_employee.field_salary_history__current_value +#: model:ir.model.fields,field_description:ent_history_employee.field_timesheet_cost__current_value +msgid "Current Value" +msgstr "القيمة الحالية" + +#. module: ent_history_employee +#: code:addons/ent_history_employee/models/history.py:0 +#: code:addons/ent_history_employee/models/history.py:0 +#, python-format +msgid "Department History" +msgstr "قسم التاريخ" + +#. module: ent_history_employee +#: model:ir.model.fields,field_description:ent_history_employee.field_contract_history__display_name +#: model:ir.model.fields,field_description:ent_history_employee.field_department_history__display_name +#: model:ir.model.fields,field_description:ent_history_employee.field_salary_history__display_name +#: model:ir.model.fields,field_description:ent_history_employee.field_timesheet_cost__display_name +msgid "Display Name" +msgstr "اسم العرض" + +#. module: ent_history_employee +#: model:ir.model,name:ent_history_employee.model_hr_employee +msgid "Employee" +msgstr "الموظف" + +#. module: ent_history_employee +#: model:ir.model,name:ent_history_employee.model_hr_contract +msgid "Employee Contract" +msgstr "عقد الموظف" + +#. module: ent_history_employee +#: model_terms:ir.ui.view,arch_db:ent_history_employee.hr_employee_history_form_view +msgid "Employee History" +msgstr "تاريخ الموظف" + +#. module: ent_history_employee +#: model:ir.model.fields,field_description:ent_history_employee.field_contract_history__employee_id +#: model:ir.model.fields,field_description:ent_history_employee.field_department_history__employee_id +#: model:ir.model.fields,field_description:ent_history_employee.field_salary_history__employee_id +#: model:ir.model.fields,field_description:ent_history_employee.field_timesheet_cost__employee_id +msgid "Employee Id" +msgstr "هوية الموظف" + +#. module: ent_history_employee +#: model:ir.model.fields,field_description:ent_history_employee.field_contract_history__employee_name +#: model:ir.model.fields,field_description:ent_history_employee.field_department_history__employee_name +#: model:ir.model.fields,field_description:ent_history_employee.field_salary_history__employee_name +#: model:ir.model.fields,field_description:ent_history_employee.field_timesheet_cost__employee_name +msgid "Employee Name" +msgstr "اسم الموظف" + +#. module: ent_history_employee +#: model:ir.model.fields,field_description:ent_history_employee.field_contract_history__id +#: model:ir.model.fields,field_description:ent_history_employee.field_department_history__id +#: model:ir.model.fields,field_description:ent_history_employee.field_salary_history__id +#: model:ir.model.fields,field_description:ent_history_employee.field_timesheet_cost__id +msgid "ID" +msgstr "هوية شخصية" + +#. module: ent_history_employee +#: model_terms:ir.ui.view,arch_db:ent_history_employee.hr_employee_history_form_view +msgid "Job History" +msgstr "تاريخ العمل" + +#. module: ent_history_employee +#: model:ir.model.fields,field_description:ent_history_employee.field_contract_history____last_update +#: model:ir.model.fields,field_description:ent_history_employee.field_department_history____last_update +#: model:ir.model.fields,field_description:ent_history_employee.field_salary_history____last_update +#: model:ir.model.fields,field_description:ent_history_employee.field_timesheet_cost____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: ent_history_employee +#: model:ir.model.fields,field_description:ent_history_employee.field_contract_history__write_uid +#: model:ir.model.fields,field_description:ent_history_employee.field_department_history__write_uid +#: model:ir.model.fields,field_description:ent_history_employee.field_salary_history__write_uid +#: model:ir.model.fields,field_description:ent_history_employee.field_timesheet_cost__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: ent_history_employee +#: model:ir.model.fields,field_description:ent_history_employee.field_contract_history__write_date +#: model:ir.model.fields,field_description:ent_history_employee.field_department_history__write_date +#: model:ir.model.fields,field_description:ent_history_employee.field_salary_history__write_date +#: model:ir.model.fields,field_description:ent_history_employee.field_timesheet_cost__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: ent_history_employee +#: code:addons/ent_history_employee/models/history.py:0 +#: code:addons/ent_history_employee/models/history.py:0 +#: model_terms:ir.ui.view,arch_db:ent_history_employee.hr_employee_history_form_view +#, python-format +msgid "Salary History" +msgstr "تاريخ الراتب" + +#. module: ent_history_employee +#: model_terms:ir.ui.view,arch_db:ent_history_employee.hr_employee_history_form_view +msgid "Timesheet Cost" +msgstr "الجدول الزمني التكلفة" + +#. module: ent_history_employee +#: code:addons/ent_history_employee/models/history.py:0 +#: code:addons/ent_history_employee/models/history.py:0 +#, python-format +msgid "Timesheet Cost Details" +msgstr "تفاصيل تكلفة الجدول الزمني" + +#. module: ent_history_employee +#: model:ir.model.fields,field_description:ent_history_employee.field_contract_history__updated_date +#: model:ir.model.fields,field_description:ent_history_employee.field_department_history__updated_date +#: model:ir.model.fields,field_description:ent_history_employee.field_salary_history__updated_date +#: model:ir.model.fields,field_description:ent_history_employee.field_timesheet_cost__updated_date +msgid "Updated On" +msgstr "تحديث في" + +#. module: ent_history_employee +#: model_terms:ir.ui.view,arch_db:ent_history_employee.employee_contract_history +msgid "contract" +msgstr "عقد" + +#. module: ent_history_employee +#: model:ir.model,name:ent_history_employee.model_contract_history +msgid "contract.history" +msgstr "" + +#. module: ent_history_employee +#: model:ir.model,name:ent_history_employee.model_department_history +msgid "department.history" +msgstr "" + +#. module: ent_history_employee +#: model:ir.model,name:ent_history_employee.model_salary_history +msgid "salary.history" +msgstr "" + +#. module: ent_history_employee +#: model_terms:ir.ui.view,arch_db:ent_history_employee.employee_salary_history +msgid "salary_history" +msgstr "" + +#. module: ent_history_employee +#: model:ir.model,name:ent_history_employee.model_timesheet_cost +msgid "timesheet.cost" +msgstr "" + +#. module: ent_history_employee +#: model_terms:ir.ui.view,arch_db:ent_history_employee.employee_timesheet_history +msgid "timesheet_cost" +msgstr "" diff --git a/ent_history_employee/models/__init__.py b/ent_history_employee/models/__init__.py new file mode 100644 index 000000000..84b53fd45 --- /dev/null +++ b/ent_history_employee/models/__init__.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# A part of Open HRMS Project +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the Software +# or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +######################################################################################## +from . import contract_history +from . import department_history +from . import hr_contract +from . import hr_employee +from . import salary_history +from . import timesheet_cost + diff --git a/ent_history_employee/models/contract_history.py b/ent_history_employee/models/contract_history.py new file mode 100644 index 000000000..f4c5660c4 --- /dev/null +++ b/ent_history_employee/models/contract_history.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# A part of Open HRMS Project +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the Software +# or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +######################################################################################## +from odoo import fields, models + + +class ContractHistory(models.Model): + """Class for employee contract history""" + _name = 'contract.history' + _description = 'Contract History' + + employee_id = fields.Char(string='Employee Id', + help="Employee of Contract History") + employee_name = fields.Char(string='Name', help="Name of the Employee") + updated_date = fields.Date(string='Updated On', + help="Contract Updated Date") + changed_field = fields.Char(string='Changed Field', help="Updated Field's") + current_value = fields.Char(string='Current Contract', + help="Updated Value of Contract") diff --git a/ent_history_employee/models/department_history.py b/ent_history_employee/models/department_history.py new file mode 100644 index 000000000..b8305ad09 --- /dev/null +++ b/ent_history_employee/models/department_history.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# A part of Open HRMS Project +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the Software +# or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +######################################################################################## +from odoo import fields, models + + +class DepartmentHistory(models.Model): + """ Class for employee department history""" + _name = 'department.history' + _description = 'Department History' + + employee_id = fields.Char(string='Employee Id', + help="Employee of Department History") + employee_name = fields.Char(string='Employee Name', + help="Name of the Employee") + changed_field = fields.Char(string='Changed Field', + help="Updated Field's") + updated_date = fields.Date(string='Date', + help="Display the date on which department or " + "job position changed") + current_value = fields.Char(string='Current Department/Job Position', + help="Updated Value of Contract") diff --git a/ent_history_employee/models/hr_contract.py b/ent_history_employee/models/hr_contract.py new file mode 100644 index 000000000..f59ec020a --- /dev/null +++ b/ent_history_employee/models/hr_contract.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# A part of Open HRMS Project +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the Software +# or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +######################################################################################## +from odoo import api, fields, models + + +class HrContract(models.Model): + """ Class for inheriting hr contract""" + _inherit = 'hr.contract' + + @api.onchange('wage') + def _onchange_wage(self): + """ Function for create salary history when wage changes""" + vals = { + 'employee_id': self.employee_id.id, + 'employee_name': self.employee_id, + 'updated_date': fields.Datetime.today(), + 'current_value': self.wage, + } + self.env['salary.history'].sudo().create(vals) + + @api.onchange('name') + def _onchange_name(self): + """ Function for crete contract history when contract name changes""" + vals = { + 'employee_id': self.employee_id.id, + 'employee_name': self.employee_id, + 'updated_date': fields.Datetime.today(), + 'changed_field': 'Contract Reference', + 'current_value': self.name, + } + self.env['contract.history'].create(vals) + + @api.onchange('date_start') + def _onchange_date_start(self): + """Function for create contract history when contract start date + changes""" + vals = { + 'employee_id': self.employee_id.id, + 'employee_name': self.employee_id, + 'updated_date': fields.Datetime.today(), + 'changed_field': 'Start Date', + 'current_value': self.date_start, + } + self.env['contract.history'].create(vals) + + @api.onchange('date_end') + def _onchange_date_end(self): + """ Function for create contract history when contract end date + changes""" + vals = { + 'employee_id': self.employee_id.id, + 'employee_name': self.employee_id, + 'updated_date': fields.Datetime.today(), + 'changed_field': 'End Date', + 'current_value': self.date_end, + } + self.env['contract.history'].create(vals) diff --git a/ent_history_employee/models/hr_employee.py b/ent_history_employee/models/hr_employee.py new file mode 100644 index 000000000..bf701efec --- /dev/null +++ b/ent_history_employee/models/hr_employee.py @@ -0,0 +1,154 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# A part of Open HRMS Project +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the Software +# or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +######################################################################################## +from odoo import api, fields, models, _ +from odoo.exceptions import UserError + + +class HrEmployee(models.Model): + """Class for inheriting hr employee""" + _inherit = 'hr.employee' + + @api.onchange('department_id') + def _onchange_department_id(self): + """ Function for creating department history when department changes""" + vals = { + 'employee_id': self._origin.id, + 'employee_name': self._origin.name, + 'updated_date': fields.Datetime.now(), + 'changed_field': 'Department', + 'current_value': self.department_id.name + } + self.env['department.history'].sudo().create(vals) + + @api.onchange('job_id') + def _onchange_job_id(self): + """ Function for creating department history when job changes""" + vals = { + 'employee_id': self._origin.id, + 'employee_name': self._origin.name, + 'updated_date': fields.Datetime.today(), + 'changed_field': 'Job Position', + 'current_value': self.job_id.name + } + self.env['department.history'].sudo().create(vals) + + @api.onchange('hourly_cost') + def _onchange_hourly_cost(self): + """ Function for creating timesheet cost when hourly cost changes""" + vals = { + 'employee_id': self._origin.id, + 'employee_name': self._origin.name, + 'updated_date': fields.Datetime.now(), + 'current_value': self.hourly_cost + } + self.env['timesheet.cost'].sudo().create(vals) + + def action_department_details(self): + """ Function for show department details""" + res_user = self.env['res.users'].browse(self._uid) + if res_user.has_group('hr.group_hr_manager'): + return { + 'name': _("Job/Department History"), + 'view_mode': 'list', + 'res_model': 'department.history', + 'type': 'ir.actions.act_window', + 'target': 'new', + 'domain': [('employee_id', '=', self.id)], + } + elif self.id == self.env.user.employee_id.id: + return { + 'name': _("Job/Department History"), + 'view_mode': 'list', + 'res_model': 'department.history', + 'type': 'ir.actions.act_window', + 'target': 'new', + } + else: + raise UserError('You cannot access this field!!!!') + + def action_time_sheet(self): + """ Function to show timesheet history""" + res_user = self.env['res.users'].browse(self._uid) + if res_user.has_group('hr.group_hr_manager'): + return { + 'name': _("Timesheet Cost Details"), + 'view_mode': 'list', + 'res_model': 'timesheet.cost', + 'type': 'ir.actions.act_window', + 'target': 'new', + 'domain': [('employee_id', '=', self.id)] + } + elif self.id == self.env.user.employee_id.id: + return { + 'name': _("Timesheet Cost Details"), + 'view_mode': 'list', + 'res_model': 'timesheet.cost', + 'type': 'ir.actions.act_window', + 'target': 'new' + } + else: + raise UserError('You cannot access this field!!!!') + + def action_salary_history(self): + """ Function to show salary history""" + res_user = self.env['res.users'].browse(self._uid) + if res_user.has_group('hr.group_hr_manager'): + return { + 'name': _("Salary History"), + 'view_mode': 'list', + 'res_model': 'salary.history', + 'type': 'ir.actions.act_window', + 'target': 'new', + 'domain': [('employee_id', '=', self.id)] + } + elif self.id == self.env.user.employee_id.id: + return { + 'name': _("Salary History"), + 'view_mode': 'list', + 'res_model': 'salary.history', + 'type': 'ir.actions.act_window', + 'target': 'new' + } + else: + raise UserError('You cannot access this field!!!!') + + def action_contract_history(self): + """Function to show contract history""" + res_user = self.env['res.users'].browse(self._uid) + if res_user.has_group('hr.group_hr_manager'): + return { + 'name': _("Contract History"), + 'view_mode': 'list', + 'res_model': 'contract.history', + 'type': 'ir.actions.act_window', + 'target': 'new', + 'domain': [('employee_id', '=', self.id)] + } + if self.id == self.env.user.employee_id.id: + return { + 'name': _("Contract History"), + 'view_mode': 'list', + 'res_model': 'contract.history', + 'type': 'ir.actions.act_window', + 'target': 'new' + } + raise UserError('You cannot access this field!!!!') diff --git a/ent_history_employee/models/salary_history.py b/ent_history_employee/models/salary_history.py new file mode 100644 index 000000000..2a39f8d61 --- /dev/null +++ b/ent_history_employee/models/salary_history.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# A part of Open HRMS Project +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the Software +# or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +######################################################################################## +from odoo import fields, models + + +class SalaryHistory(models.Model): + """Creates the model salary.history to create the records regarding the + salary history""" + _name = 'salary.history' + _description = 'Salary History' + + employee_id = fields.Char(string='Employee Id', + help="Employee of Salary History") + employee_name = fields.Char(string='Employee Name', + help="Name of the employee") + updated_date = fields.Date(string='Updated On', help="Salary Updated Date") + current_value = fields.Char(string='Current Salary', help="Updated Salary") diff --git a/ent_history_employee/models/timesheet_cost.py b/ent_history_employee/models/timesheet_cost.py new file mode 100644 index 000000000..91e7c64d1 --- /dev/null +++ b/ent_history_employee/models/timesheet_cost.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +###################################################################################### +# +# A part of Open HRMS Project +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the Software +# or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +######################################################################################## +from odoo import fields, models + + +class TimesheetCost(models.Model): + """Creates the model timesheet.cost which shows the records regarding the + timesheet cost updates""" + _name = 'timesheet.cost' + _description = 'Timesheet Cost' + + employee_id = fields.Char(string='Employee Id', + help="Employee of the Timesheet Cost") + employee_name = fields.Char(string='Employee Name', help="Name of Employee") + updated_date = fields.Date(string='Updated On', + help="Updated Date of Time Sheet") + current_value = fields.Char(string='Current Cost', + help="Updated Value of Time Sheet") diff --git a/ent_history_employee/security/ir.model.access.csv b/ent_history_employee/security/ir.model.access.csv new file mode 100644 index 000000000..f9643b281 --- /dev/null +++ b/ent_history_employee/security/ir.model.access.csv @@ -0,0 +1,8 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_department_history_user,access.department.history.user,model_department_history,base.group_user,1,0,0,0 +access_salary_history_user,access.salary.history.user,model_salary_history,base.group_user,1,0,0,0 +access_timesheet_cost_user,access.timesheet.cost.user,model_timesheet_cost,base.group_user,1,0,0,0 +access_contract_history_user,access.contract.history.user,model_contract_history,base.group_user,1,0,0,0 +access_department_history_manager,access.department.history.manager,model_department_history,hr.group_hr_manager,1,1,1,1 +access_salary_history_manager,access.salary.history.manager,model_salary_history,hr.group_hr_manager,1,1,1,1 +access_contract_history_manager,access.contract.history.manager,model_contract_history,hr.group_hr_manager,1,1,1,1 \ No newline at end of file diff --git a/ent_history_employee/static/description/assets/icons/arrows-repeat.svg b/ent_history_employee/static/description/assets/icons/arrows-repeat.svg new file mode 100644 index 000000000..1d7efabc5 --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ent_history_employee/static/description/assets/icons/banner-bg.png b/ent_history_employee/static/description/assets/icons/banner-bg.png new file mode 100644 index 000000000..a8238d3c0 Binary files /dev/null and b/ent_history_employee/static/description/assets/icons/banner-bg.png differ diff --git a/ent_history_employee/static/description/assets/icons/banner-bg.svg b/ent_history_employee/static/description/assets/icons/banner-bg.svg new file mode 100644 index 000000000..b1378103e --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/ent_history_employee/static/description/assets/icons/banner-call.svg b/ent_history_employee/static/description/assets/icons/banner-call.svg new file mode 100644 index 000000000..96c687e81 --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ent_history_employee/static/description/assets/icons/banner-logo-pattern.svg b/ent_history_employee/static/description/assets/icons/banner-logo-pattern.svg new file mode 100644 index 000000000..2ba63930a --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/banner-logo-pattern.svg @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ent_history_employee/static/description/assets/icons/banner-mail.svg b/ent_history_employee/static/description/assets/icons/banner-mail.svg new file mode 100644 index 000000000..cbf0d158d --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ent_history_employee/static/description/assets/icons/banner-promo.svg b/ent_history_employee/static/description/assets/icons/banner-promo.svg new file mode 100644 index 000000000..d52791b11 --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ent_history_employee/static/description/assets/icons/blue-abstract-gradient-wave-wallpaper.jpg b/ent_history_employee/static/description/assets/icons/blue-abstract-gradient-wave-wallpaper.jpg new file mode 100644 index 000000000..1df614b00 Binary files /dev/null and b/ent_history_employee/static/description/assets/icons/blue-abstract-gradient-wave-wallpaper.jpg differ diff --git a/ent_history_employee/static/description/assets/icons/close-icon.svg b/ent_history_employee/static/description/assets/icons/close-icon.svg new file mode 100644 index 000000000..df8cce37a --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ent_history_employee/static/description/assets/icons/collabarate-icon.svg b/ent_history_employee/static/description/assets/icons/collabarate-icon.svg new file mode 100644 index 000000000..dd4e10518 --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/ent_history_employee/static/description/assets/icons/cybro-logo.png b/ent_history_employee/static/description/assets/icons/cybro-logo.png new file mode 100644 index 000000000..ff4b78220 Binary files /dev/null and b/ent_history_employee/static/description/assets/icons/cybro-logo.png differ diff --git a/ent_history_employee/static/description/assets/icons/down (1).svg b/ent_history_employee/static/description/assets/icons/down (1).svg new file mode 100644 index 000000000..ecc984f88 --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/down (1).svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ent_history_employee/static/description/assets/icons/email (2).svg b/ent_history_employee/static/description/assets/icons/email (2).svg new file mode 100644 index 000000000..ea2d8b15d --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/email (2).svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ent_history_employee/static/description/assets/icons/feature-icon.svg b/ent_history_employee/static/description/assets/icons/feature-icon.svg new file mode 100644 index 000000000..fa0ea6850 --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ent_history_employee/static/description/assets/icons/gear.svg b/ent_history_employee/static/description/assets/icons/gear.svg new file mode 100644 index 000000000..0cc66b6ea --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ent_history_employee/static/description/assets/icons/hire-odoo.svg b/ent_history_employee/static/description/assets/icons/hire-odoo.svg new file mode 100644 index 000000000..e1ac089b0 --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/ent_history_employee/static/description/assets/icons/key-benefits-pattern.svg b/ent_history_employee/static/description/assets/icons/key-benefits-pattern.svg new file mode 100644 index 000000000..29cf22ed8 --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/key-benefits-pattern.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ent_history_employee/static/description/assets/icons/key-benefits.svg b/ent_history_employee/static/description/assets/icons/key-benefits.svg new file mode 100644 index 000000000..5b14887dc --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/key-benefits.svg @@ -0,0 +1,3 @@ + + + diff --git a/ent_history_employee/static/description/assets/icons/life-ring-icon.svg b/ent_history_employee/static/description/assets/icons/life-ring-icon.svg new file mode 100644 index 000000000..3ae6e1d89 --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/ent_history_employee/static/description/assets/icons/logo-openhrms.png b/ent_history_employee/static/description/assets/icons/logo-openhrms.png new file mode 100644 index 000000000..e64152348 Binary files /dev/null and b/ent_history_employee/static/description/assets/icons/logo-openhrms.png differ diff --git a/ent_history_employee/static/description/assets/icons/mail.svg b/ent_history_employee/static/description/assets/icons/mail.svg new file mode 100644 index 000000000..1eedde695 --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/ent_history_employee/static/description/assets/icons/notification icon.svg b/ent_history_employee/static/description/assets/icons/notification icon.svg new file mode 100644 index 000000000..053189973 --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ent_history_employee/static/description/assets/icons/odoo-consultancy.svg b/ent_history_employee/static/description/assets/icons/odoo-consultancy.svg new file mode 100644 index 000000000..e05f65bde --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ent_history_employee/static/description/assets/icons/odoo-licencing.svg b/ent_history_employee/static/description/assets/icons/odoo-licencing.svg new file mode 100644 index 000000000..2606c88b0 --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/ent_history_employee/static/description/assets/icons/odoo-logo.png b/ent_history_employee/static/description/assets/icons/odoo-logo.png new file mode 100644 index 000000000..0e4d0eb5a Binary files /dev/null and b/ent_history_employee/static/description/assets/icons/odoo-logo.png differ diff --git a/ent_history_employee/static/description/assets/icons/patter.svg b/ent_history_employee/static/description/assets/icons/patter.svg new file mode 100644 index 000000000..25c9c0a8f --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/ent_history_employee/static/description/assets/icons/pattern1.png b/ent_history_employee/static/description/assets/icons/pattern1.png new file mode 100644 index 000000000..09ab0fb2d Binary files /dev/null and b/ent_history_employee/static/description/assets/icons/pattern1.png differ diff --git a/ent_history_employee/static/description/assets/icons/puzzle-piece-icon.svg b/ent_history_employee/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100644 index 000000000..3e9ad9373 --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ent_history_employee/static/description/assets/icons/replace-icon.svg b/ent_history_employee/static/description/assets/icons/replace-icon.svg new file mode 100644 index 000000000..d0e3a7af1 --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ent_history_employee/static/description/assets/icons/skype.svg b/ent_history_employee/static/description/assets/icons/skype.svg new file mode 100644 index 000000000..df3dad39b --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/ent_history_employee/static/description/assets/icons/translate.svg b/ent_history_employee/static/description/assets/icons/translate.svg new file mode 100644 index 000000000..af9c8a1aa --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ent_history_employee/static/description/assets/icons/wrench-icon.svg b/ent_history_employee/static/description/assets/icons/wrench-icon.svg new file mode 100644 index 000000000..174b5a465 --- /dev/null +++ b/ent_history_employee/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ent_history_employee/static/description/assets/modules/1.jpg b/ent_history_employee/static/description/assets/modules/1.jpg new file mode 100644 index 000000000..392b83d79 Binary files /dev/null and b/ent_history_employee/static/description/assets/modules/1.jpg differ diff --git a/ent_history_employee/static/description/assets/modules/2.jpg b/ent_history_employee/static/description/assets/modules/2.jpg new file mode 100644 index 000000000..662cadcc3 Binary files /dev/null and b/ent_history_employee/static/description/assets/modules/2.jpg differ diff --git a/ent_history_employee/static/description/assets/modules/3.jpg b/ent_history_employee/static/description/assets/modules/3.jpg new file mode 100644 index 000000000..d9d2a0144 Binary files /dev/null and b/ent_history_employee/static/description/assets/modules/3.jpg differ diff --git a/ent_history_employee/static/description/assets/modules/4.jpg b/ent_history_employee/static/description/assets/modules/4.jpg new file mode 100644 index 000000000..86379cd61 Binary files /dev/null and b/ent_history_employee/static/description/assets/modules/4.jpg differ diff --git a/ent_history_employee/static/description/assets/modules/5.jpg b/ent_history_employee/static/description/assets/modules/5.jpg new file mode 100644 index 000000000..b5530c445 Binary files /dev/null and b/ent_history_employee/static/description/assets/modules/5.jpg differ diff --git a/ent_history_employee/static/description/assets/modules/6.jpg b/ent_history_employee/static/description/assets/modules/6.jpg new file mode 100644 index 000000000..cba1544b3 Binary files /dev/null and b/ent_history_employee/static/description/assets/modules/6.jpg differ diff --git a/ent_history_employee/static/description/assets/screenshots/1.png b/ent_history_employee/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..b4bae6865 Binary files /dev/null and b/ent_history_employee/static/description/assets/screenshots/1.png differ diff --git a/ent_history_employee/static/description/assets/screenshots/2.png b/ent_history_employee/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..ad031ed17 Binary files /dev/null and b/ent_history_employee/static/description/assets/screenshots/2.png differ diff --git a/ent_history_employee/static/description/assets/screenshots/3.png b/ent_history_employee/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..c4b9dc7ca Binary files /dev/null and b/ent_history_employee/static/description/assets/screenshots/3.png differ diff --git a/ent_history_employee/static/description/assets/screenshots/4.png b/ent_history_employee/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..25d84114a Binary files /dev/null and b/ent_history_employee/static/description/assets/screenshots/4.png differ diff --git a/ent_history_employee/static/description/assets/screenshots/5.png b/ent_history_employee/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..1ecd2f2a2 Binary files /dev/null and b/ent_history_employee/static/description/assets/screenshots/5.png differ diff --git a/ent_history_employee/static/description/assets/screenshots/hero.gif b/ent_history_employee/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..dbea19a4a Binary files /dev/null and b/ent_history_employee/static/description/assets/screenshots/hero.gif differ diff --git a/ent_history_employee/static/description/banner.jpg b/ent_history_employee/static/description/banner.jpg new file mode 100644 index 000000000..28308dc3c Binary files /dev/null and b/ent_history_employee/static/description/banner.jpg differ diff --git a/ent_history_employee/static/description/icon.png b/ent_history_employee/static/description/icon.png new file mode 100644 index 000000000..f41675af1 Binary files /dev/null and b/ent_history_employee/static/description/icon.png differ diff --git a/ent_history_employee/static/description/index.html b/ent_history_employee/static/description/index.html new file mode 100644 index 000000000..770c01fae --- /dev/null +++ b/ent_history_employee/static/description/index.html @@ -0,0 +1,1186 @@ + + + + + + Enterprise Open HRMS Employee History + + + + + + + + + + + +
+
+
+
+
+ Enterprise +
+
+
+
+
+
+

Enterprise Open HRMS Employee History +

+

+ Open HRMS Employee History +

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

Key + Highlights

+
+
+
+
+ +
+
+ History Of Department And Job Position +
+

+ Get The History Of Department And Job + Position Held By The Employee +

+
+
+
+
+
+ +
+
+ History of Salary Changes +
+

+ Changes In Salary Of The Employee Can Be + Traced +

+
+
+
+
+
+ +
+
+ Changes in Employee Contract +
+

+ Important Changes Done In The Contract Is + Tracked +

+
+
+
+
+
+ +
+
+ History Of Timesheet Cost +
+

+ Get Any Update In The Timesheet Cost For An + Employee As History +

+
+
+
+ +
+ +
+
+
+ Enterprise Open HRMS Employee History + + +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + +
+
+ +
+
+
+
+ acc_bg +
+ +
+
+
+
+

+ + Employee History + +

+
+
+

+ A new 'Employee History' tab in + Employee form view, to get + Employee history details. +

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

+ + Job/Department History + +

+
+
+

+ From the Job/Department History, + we can view all the changes made + on job position and department + of corresponding employee. +

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

+ + Salary History + +

+
+
+

+ From the Salary History, We can + get all the wage changes of the + employee. +

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

+ + Contract History + +

+
+
+

+ From Contract History, we can see + the changes in Contract of + the employee. +

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

+ + Timesheet Cost + +

+
+
+

+ From the Timesheet cost we can + get all the changes in the + hourly cost of timesheet. +

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

+ History Of Department And Job + Position +

+ +
+
+
+
+
+
+
+ +
+

+ History of Salary Changes +

+ +
+
+
+
+
+
+
+ +
+

+ Changes in Employee Contract +

+ +
+
+
+
+
+
+
+ +
+

+ History Of Timesheet Cost +

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

+ The Open HRMS + Employee History + module helps track + an employee's past + job history, + internal transfers, + promotions, and + other work-related + changes within a + company.

+
+
+ + +
+ +
+

+ Employee history + records can be found + by navigating to + Employees > Employee + Profile > History + Tab, where all past + records are + maintained.

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

+ Latest Release 18.0.1.0.0 +

+ + 05 March, 2025 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • +
+
+
+
+
+
+
+
+
+
+ + + +
+
+

Our Services

+
+ +
+ + +
+
+ .... +
+
+
+ +
+
+ + + + + + + + diff --git a/ent_history_employee/views/contract_history_views.xml b/ent_history_employee/views/contract_history_views.xml new file mode 100644 index 000000000..1bbf99ba1 --- /dev/null +++ b/ent_history_employee/views/contract_history_views.xml @@ -0,0 +1,17 @@ + + + + + contract.history.view.list + contract.history + + + + + + + + + + + diff --git a/ent_history_employee/views/department_history_views.xml b/ent_history_employee/views/department_history_views.xml new file mode 100644 index 000000000..d27ee43ce --- /dev/null +++ b/ent_history_employee/views/department_history_views.xml @@ -0,0 +1,17 @@ + + + + + department.history.view.list + department.history + + + + + + + + + + + diff --git a/ent_history_employee/views/hr_employee_views.xml b/ent_history_employee/views/hr_employee_views.xml new file mode 100644 index 000000000..269305a6e --- /dev/null +++ b/ent_history_employee/views/hr_employee_views.xml @@ -0,0 +1,40 @@ + + + + + hr.employee.view.form.inherit.ent.history.employee + + hr.employee + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ent_history_employee/views/salary_history_views.xml b/ent_history_employee/views/salary_history_views.xml new file mode 100644 index 000000000..95961743f --- /dev/null +++ b/ent_history_employee/views/salary_history_views.xml @@ -0,0 +1,16 @@ + + + + + salary.history.view.list + salary.history + + + + + + + + + + diff --git a/ent_history_employee/views/timesheet_cost_views.xml b/ent_history_employee/views/timesheet_cost_views.xml new file mode 100644 index 000000000..7ea3e193e --- /dev/null +++ b/ent_history_employee/views/timesheet_cost_views.xml @@ -0,0 +1,16 @@ + + + + + timesheet.cost.view.list + timesheet.cost + + + + + + + + + +