add new module
40
hr_disciplinary_tracking/README.rst
Executable file
@@ -0,0 +1,40 @@
|
||||
OHRMS Disciplinary Action v13
|
||||
==============================
|
||||
|
||||
Track the Disciplinary actions of Employees
|
||||
|
||||
Depends
|
||||
=======
|
||||
[oh_employee_creation_from_user] addon Open HRMS
|
||||
[mail] addon Odoo
|
||||
|
||||
Tech
|
||||
====
|
||||
* [Python] - Models
|
||||
* [XML] - Odoo views
|
||||
|
||||
Installation
|
||||
============
|
||||
- www.odoo.com/documentation/13.0/setup/install.html
|
||||
- Install our custom addon
|
||||
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported.
|
||||
|
||||
Credits
|
||||
=======
|
||||
* Cybrosys Techno Solutions <https://www.cybrosys.com>
|
||||
|
||||
Author
|
||||
------
|
||||
|
||||
Developer: Ajmal J K @ cybrosys
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
|
||||
This module is maintained by Cybrosys Technologies.
|
||||
|
||||
For support and more information, please visit https://www.cybrosys.com.
|
||||
2
hr_disciplinary_tracking/__init__.py
Executable file
@@ -0,0 +1,2 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from . import models
|
||||
43
hr_disciplinary_tracking/__manifest__.py
Executable file
@@ -0,0 +1,43 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
###################################################################################
|
||||
#
|
||||
# Cybrosys Technologies Pvt. Ltd.
|
||||
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
|
||||
# Author: Ajmal JK(<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 Disciplinary Tracking',
|
||||
'version': '13.0.1.0.0',
|
||||
'summary': """Employee Disciplinary Tracking Management""",
|
||||
'author': 'Cybrosys Techno Solutions',
|
||||
'company': 'Cybrosys Techno Solutions',
|
||||
'maintainer': 'Cybrosys Techno Solutions',
|
||||
'category': 'Generic Modules/Human Resources',
|
||||
'website': "https://www.openhrms.com",
|
||||
'depends': ['base', 'mail', 'oh_employee_creation_from_user'],
|
||||
'data': ['views/disciplinary_action.xml',
|
||||
'views/disciplinary_sequence.xml',
|
||||
'views/category_view.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'security/security.xml'],
|
||||
'demo': ['data/demo_data.xml'],
|
||||
'images': ['static/description/banner.png'],
|
||||
'license': 'AGPL-3',
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
'application': False,
|
||||
}
|
||||
45
hr_disciplinary_tracking/data/demo_data.xml
Normal file
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="department_one" model="hr.department">
|
||||
<field name="name">Marketing</field>
|
||||
</record>
|
||||
|
||||
<record id="employee_discplinary" model="hr.employee">
|
||||
<field name="name">Jack Mark Rose </field>
|
||||
<field name="job_title">Sales Manager</field>
|
||||
<field name="work_location">Building 1, Third Floor</field>
|
||||
<field name="work_phone">(376)-3852-7987</field>
|
||||
<field name="work_email">jack@example.com</field>
|
||||
<field name="image_1920" type="base64" file="hr_disciplinary_tracking/static/image/employee_image.jpg"/>
|
||||
</record>
|
||||
|
||||
<record id="discipline_categories_one" model="discipline.category">
|
||||
<field name="name">Violation of Company Rules</field>
|
||||
<field name="code">101</field>
|
||||
<field name="category_type">disciplinary</field>
|
||||
</record>
|
||||
|
||||
<record id="discipline_categories_two" model="discipline.category">
|
||||
<field name="name">Mis-behaviour to Co-workers</field>
|
||||
<field name="code">102</field>
|
||||
<field name="category_type">action</field>
|
||||
</record>
|
||||
|
||||
<record id="discipline_categories_three" model="discipline.category">
|
||||
<field name="name">Damage to company properties</field>
|
||||
<field name="code">103</field>
|
||||
<field name="category_type">disciplinary</field>
|
||||
</record>
|
||||
|
||||
<record id="disciplinary_action_one" model="disciplinary.action">
|
||||
<field name="employee_name" ref="employee_discplinary"/>
|
||||
<field name="department_name" ref="department_one"/>
|
||||
<field name="joined_date">2020-03-02</field>
|
||||
<field name="discipline_reason" ref="discipline_categories_one"/>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
6
hr_disciplinary_tracking/docs/RELEASE_NOTES.md
Executable file
@@ -0,0 +1,6 @@
|
||||
## Module disciplinary_action
|
||||
|
||||
#### 10.10.2018
|
||||
#### Version 13.0.1.0.0
|
||||
##### ADD
|
||||
- Initial Commit
|
||||
526
hr_disciplinary_tracking/i18n/ar_001.po
Normal file
@@ -0,0 +1,526 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * hr_disciplinary_tracking
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 13.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-02-12 08:42+0000\n"
|
||||
"PO-Revision-Date: 2020-02-12 08:42+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_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__action
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.employee_disciplinary_form
|
||||
msgid "Action"
|
||||
msgstr "عمل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.actions.act_window,name:hr_disciplinary_tracking.action_category_action_view
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.category_action_view_tree
|
||||
msgid "Action Categories"
|
||||
msgstr "فئات العمل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model,name:hr_disciplinary_tracking.model_action_category
|
||||
#: model:ir.ui.menu,name:hr_disciplinary_tracking.action_category_view
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.category_action_view_form
|
||||
msgid "Action Category"
|
||||
msgstr "فئة العمل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__action_details
|
||||
#: model:ir.ui.menu,name:hr_disciplinary_tracking.disciplinary_action_view
|
||||
msgid "Action Details"
|
||||
msgstr "تفاصيل العمل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.employee_disciplinary_form
|
||||
msgid "Action Information"
|
||||
msgstr "معلومات العمل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__message_needaction
|
||||
msgid "Action Needed"
|
||||
msgstr "الإجراءات اللازمة"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields.selection,name:hr_disciplinary_tracking.selection__disciplinary_action__state__action
|
||||
msgid "Action Validated"
|
||||
msgstr "التحقق من صحة العمل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__activity_ids
|
||||
msgid "Activities"
|
||||
msgstr "أنشطة"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__activity_exception_decoration
|
||||
msgid "Activity Exception Decoration"
|
||||
msgstr "نشاط استثناء الديكور"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__activity_state
|
||||
msgid "Activity State"
|
||||
msgstr "حالة النشاط"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__message_attachment_count
|
||||
msgid "Attachment Count"
|
||||
msgstr "عدد المرفقات"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__attachment_ids
|
||||
msgid "Attachments"
|
||||
msgstr "مرفقات"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.employee_disciplinary_form
|
||||
msgid "Cancel"
|
||||
msgstr "إلغاء"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields.selection,name:hr_disciplinary_tracking.selection__disciplinary_action__state__cancel
|
||||
msgid "Cancelled"
|
||||
msgstr "ألغيت"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_action_category__code
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_discipline_category__code
|
||||
msgid "Code"
|
||||
msgstr "الشفرة"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.ui.menu,name:hr_disciplinary_tracking.disciplinary_action_create
|
||||
msgid "Create Action"
|
||||
msgstr "خلق العمل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_action_category__create_uid
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__create_uid
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_discipline_category__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "انشأ من قبل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_action_category__create_date
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__create_date
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_discipline_category__create_date
|
||||
msgid "Created on"
|
||||
msgstr "تم إنشاؤها على"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__department_name
|
||||
msgid "Department"
|
||||
msgstr "قسم"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_action_category__description
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_discipline_category__description
|
||||
msgid "Details"
|
||||
msgstr "تفاصيل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.actions.act_window,name:hr_disciplinary_tracking.action_disciplinary_action
|
||||
#: model:ir.model,name:hr_disciplinary_tracking.model_disciplinary_action
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.employee_disciplinary_form
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.employee_disciplinary_tree
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.employee_form_inherit_disciplinary
|
||||
msgid "Disciplinary Action"
|
||||
msgstr "إجراءات تأديبية"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.actions.act_window,name:hr_disciplinary_tracking.disciplinary_action_details_view
|
||||
msgid "Disciplinary Action Details"
|
||||
msgstr "تفاصيل الإجراءات التأديبية"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.actions.act_window,name:hr_disciplinary_tracking.disciplinary_action_details
|
||||
#: model:ir.ui.menu,name:hr_disciplinary_tracking.disciplinary_action
|
||||
msgid "Disciplinary Actions"
|
||||
msgstr "اجراءات تأديبية"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.actions.act_window,name:hr_disciplinary_tracking.action_disciplinary_category_view
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.disciplinary_category_view_tree
|
||||
msgid "Discipline Categories"
|
||||
msgstr "فئات الانضباط"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.ui.menu,name:hr_disciplinary_tracking.disciplinary_category_view
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.disciplinary_category_view_form
|
||||
msgid "Discipline Category"
|
||||
msgstr "فئة الانضباط"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_hr_employee__discipline_count
|
||||
msgid "Discipline Count"
|
||||
msgstr "عدد الانضباط"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_action_category__display_name
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__display_name
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_discipline_category__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "اسم العرض"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields.selection,name:hr_disciplinary_tracking.selection__disciplinary_action__state__draft
|
||||
msgid "Draft"
|
||||
msgstr "مشروع"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model,name:hr_disciplinary_tracking.model_hr_employee
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__employee_name
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.employee_disciplinary_form
|
||||
msgid "Employee"
|
||||
msgstr "الموظف"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.employee_disciplinary_form
|
||||
msgid "Employee Information"
|
||||
msgstr "معلومات الموظف"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,help:hr_disciplinary_tracking.field_disciplinary_action__attachment_ids
|
||||
msgid "Employee can submit any documents which supports their explanation"
|
||||
msgstr "يمكن للموظف تقديم أي مستندات تدعم شرحهم"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,help:hr_disciplinary_tracking.field_disciplinary_action__explanation
|
||||
msgid ""
|
||||
"Employee have to give Explanationto manager about the violation of "
|
||||
"discipline"
|
||||
msgstr ""
|
||||
"يجب على الموظف إعطاء الشرح للمدير حول انتهاك"
|
||||
"انضباط"
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__explanation
|
||||
msgid "Explanation by Employee"
|
||||
msgstr "شرح الموظف"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__message_follower_ids
|
||||
msgid "Followers"
|
||||
msgstr "متابعون"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__message_channel_ids
|
||||
msgid "Followers (Channels)"
|
||||
msgstr "(المتابعون (القنوات"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__message_partner_ids
|
||||
msgid "Followers (Partners)"
|
||||
msgstr "(المتابعون (الشركاء"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_action_category__id
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__id
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_discipline_category__id
|
||||
msgid "ID"
|
||||
msgstr "هوية شخصية"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__activity_exception_icon
|
||||
msgid "Icon"
|
||||
msgstr "أيقونة"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,help:hr_disciplinary_tracking.field_disciplinary_action__activity_exception_icon
|
||||
msgid "Icon to indicate an exception activity."
|
||||
msgstr ".أيقونة للإشارة إلى نشاط استثناء"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,help:hr_disciplinary_tracking.field_disciplinary_action__message_needaction
|
||||
#: model:ir.model.fields,help:hr_disciplinary_tracking.field_disciplinary_action__message_unread
|
||||
msgid "If checked, new messages require your attention."
|
||||
msgstr ".إذا تم تحديد ذلك ، فإن الرسائل الجديدة تتطلب اهتمامك"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,help:hr_disciplinary_tracking.field_disciplinary_action__message_has_error
|
||||
#: model:ir.model.fields,help:hr_disciplinary_tracking.field_disciplinary_action__message_has_sms_error
|
||||
msgid "If checked, some messages have a delivery error."
|
||||
msgstr ".إذا تم التحقق ، فبعض الرسائل بها خطأ في التسليم"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__note
|
||||
msgid "Internal Note"
|
||||
msgstr "مذكرة داخلية"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__message_is_follower
|
||||
msgid "Is Follower"
|
||||
msgstr "هو تابع"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__joined_date
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.employee_disciplinary_form
|
||||
msgid "Joined Date"
|
||||
msgstr "تاريخ الانضمام"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_action_category____last_update
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action____last_update
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_discipline_category____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "آخر تعديل في"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_action_category__write_uid
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__write_uid
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_discipline_category__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "آخر تحديث بواسطة"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_action_category__write_date
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__write_date
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_discipline_category__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "آخر تحديث في"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__message_main_attachment_id
|
||||
msgid "Main Attachment"
|
||||
msgstr "المرفق الرئيسي"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__message_has_error
|
||||
msgid "Message Delivery error"
|
||||
msgstr "خطأ في تسليم الرسالة"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__message_ids
|
||||
msgid "Messages"
|
||||
msgstr "رسائل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_action_category__name
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_discipline_category__name
|
||||
msgid "Name"
|
||||
msgstr "اسم"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: code:addons/hr_disciplinary_tracking/models/disciplinary_action.py:0
|
||||
#, python-format
|
||||
msgid "New"
|
||||
msgstr "جديد"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__activity_date_deadline
|
||||
msgid "Next Activity Deadline"
|
||||
msgstr "آخر نشاط الموعد النهائي"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__activity_summary
|
||||
msgid "Next Activity Summary"
|
||||
msgstr "ملخص النشاط التالي"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__activity_type_id
|
||||
msgid "Next Activity Type"
|
||||
msgstr "نوع النشاط التالي"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__message_needaction_counter
|
||||
msgid "Number of Actions"
|
||||
msgstr "عدد الإجراءات"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__message_has_error_counter
|
||||
msgid "Number of errors"
|
||||
msgstr "عدد الاخطاء"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,help:hr_disciplinary_tracking.field_disciplinary_action__message_needaction_counter
|
||||
msgid "Number of messages which requires an action"
|
||||
msgstr "عدد الرسائل التي تتطلب إجراء"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,help:hr_disciplinary_tracking.field_disciplinary_action__message_has_error_counter
|
||||
msgid "Number of messages with delivery error"
|
||||
msgstr "عدد الرسائل مع خطأ التسليم"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,help:hr_disciplinary_tracking.field_disciplinary_action__message_unread_counter
|
||||
msgid "Number of unread messages"
|
||||
msgstr "عدد الرسائل غير المقروءة"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.employee_disciplinary_form
|
||||
msgid "Proceed"
|
||||
msgstr "تقدم"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__read_only
|
||||
msgid "Read Only"
|
||||
msgstr "يقرأ فقط"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__discipline_reason
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.employee_disciplinary_form
|
||||
msgid "Reason"
|
||||
msgstr "السبب"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model,name:hr_disciplinary_tracking.model_discipline_category
|
||||
msgid "Reason Category"
|
||||
msgstr "السبب الفئة"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__name
|
||||
msgid "Reference"
|
||||
msgstr "مرجع"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__activity_user_id
|
||||
msgid "Responsible User"
|
||||
msgstr "المستخدم المسؤول"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__message_has_sms_error
|
||||
msgid "SMS Delivery error"
|
||||
msgstr "خطأ في تسليم الرسائل القصيرة"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.employee_disciplinary_form
|
||||
msgid "Set to Draft"
|
||||
msgstr "تعيين إلى مشروع"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__state
|
||||
msgid "State"
|
||||
msgstr "حالة"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,help:hr_disciplinary_tracking.field_disciplinary_action__activity_state
|
||||
msgid ""
|
||||
"Status based on activities\n"
|
||||
"Overdue: Due date is already passed\n"
|
||||
"Today: Activity date is today\n"
|
||||
"Planned: Future activities."
|
||||
msgstr ""
|
||||
"الحالة على أساس الأنشطة\n"
|
||||
"المتأخرة: تاريخ الاستحقاق مر\n"
|
||||
"اليوم: تاريخ النشاط هو اليوم\n"
|
||||
"المخطط: الأنشطة المستقبلية."
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.employee_disciplinary_form
|
||||
msgid "Submit"
|
||||
msgstr "إرسال"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__suspension_letter
|
||||
msgid "Suspension Letter"
|
||||
msgstr "رسالة تعليق"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__termination_letter
|
||||
msgid "Termination Letter"
|
||||
msgstr "خطاب إنهاء"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,help:hr_disciplinary_tracking.field_disciplinary_action__activity_exception_decoration
|
||||
msgid "Type of the exception activity on record."
|
||||
msgstr ".نوع نشاط الاستثناء في السجل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__message_unread
|
||||
msgid "Unread Messages"
|
||||
msgstr "رسائل غير مقروءة"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__message_unread_counter
|
||||
msgid "Unread Messages Counter"
|
||||
msgstr "عداد الرسائل غير المقروءة"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.employee_disciplinary_form
|
||||
msgid "Validate Action"
|
||||
msgstr "التحقق من صحة العمل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields.selection,name:hr_disciplinary_tracking.selection__disciplinary_action__state__submitted
|
||||
msgid "Waiting Action"
|
||||
msgstr "انتظار العمل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields.selection,name:hr_disciplinary_tracking.selection__disciplinary_action__state__explain
|
||||
msgid "Waiting Explanation"
|
||||
msgstr "في انتظار التفسير"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__warning
|
||||
msgid "Warning"
|
||||
msgstr "تحذير"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__warning_letter
|
||||
msgid "Warning Letter"
|
||||
msgstr "رسالة تحذير"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_disciplinary_action__website_message_ids
|
||||
msgid "Website Messages"
|
||||
msgstr "رسائل الموقع"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: model:ir.model.fields,help:hr_disciplinary_tracking.field_disciplinary_action__website_message_ids
|
||||
msgid "Website communication history"
|
||||
msgstr "سجل اتصالات الموقع"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: code:addons/hr_disciplinary_tracking/models/disciplinary_action.py:0
|
||||
#: code:addons/hr_disciplinary_tracking/models/disciplinary_action.py:0
|
||||
#, python-format
|
||||
msgid "You Can not edit a Validated Action !!"
|
||||
msgstr "!! لا يمكنك تحرير إجراء تم التحقق منه"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: code:addons/hr_disciplinary_tracking/models/disciplinary_action.py:0
|
||||
#, python-format
|
||||
msgid "You have to fill up the Action Information !!"
|
||||
msgstr "!! لديك لملء معلومات العمل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: code:addons/hr_disciplinary_tracking/models/disciplinary_action.py:0
|
||||
#, python-format
|
||||
msgid "You have to fill up the Suspension Letter in Action Information !!"
|
||||
msgstr "!! يجب عليك ملء خطاب التعليق في معلومات العمل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: code:addons/hr_disciplinary_tracking/models/disciplinary_action.py:0
|
||||
#, python-format
|
||||
msgid "You have to fill up the Termination Letter in Action Information !!"
|
||||
msgstr "!! يجب عليك ملء خطاب الإنهاء في معلومات العمل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: code:addons/hr_disciplinary_tracking/models/disciplinary_action.py:0
|
||||
#, python-format
|
||||
msgid "You have to fill up the Warning Letter in Action Information !!"
|
||||
msgstr "!! يجب عليك ملء خطاب الإنهاء في معلومات العمل"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: code:addons/hr_disciplinary_tracking/models/disciplinary_action.py:0
|
||||
#, python-format
|
||||
msgid "You have to select an Action !!"
|
||||
msgstr "!! يجب عليك تحديد إجراء"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: code:addons/hr_disciplinary_tracking/models/disciplinary_action.py:0
|
||||
#, python-format
|
||||
msgid "You must give an explanation !!"
|
||||
msgstr "!! يجب أن تعطي تفسيرا"
|
||||
|
||||
#. module: hr_disciplinary_tracking
|
||||
#: code:addons/hr_disciplinary_tracking/models/disciplinary_action.py:0
|
||||
#, python-format
|
||||
msgid "Your explanation must contain at least 5 words !!"
|
||||
msgstr "!! يجب أن يحتوي تفسيرك على 5 كلمات على الأقل"
|
||||
3
hr_disciplinary_tracking/models/__init__.py
Executable file
@@ -0,0 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from . import disciplinary_action
|
||||
|
||||
159
hr_disciplinary_tracking/models/disciplinary_action.py
Executable file
@@ -0,0 +1,159 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from odoo import fields, models, api, _
|
||||
from odoo.exceptions import ValidationError
|
||||
|
||||
|
||||
class InheritEmployee(models.Model):
|
||||
_inherit = 'hr.employee'
|
||||
|
||||
discipline_count = fields.Integer(compute="_compute_discipline_count")
|
||||
|
||||
def _compute_discipline_count(self):
|
||||
all_actions = self.env['disciplinary.action'].read_group([
|
||||
('employee_name', 'in', self.ids),
|
||||
('state', '=', 'action'),
|
||||
], fields=['employee_name'], groupby=['employee_name'])
|
||||
mapping = dict([(action['employee_name'][0], action['employee_name_count']) for action in all_actions])
|
||||
for employee in self:
|
||||
employee.discipline_count = mapping.get(employee.id, 0)
|
||||
|
||||
|
||||
class CategoryDiscipline(models.Model):
|
||||
_name = 'discipline.category'
|
||||
_description = 'Reason Category'
|
||||
|
||||
# Discipline Categories
|
||||
|
||||
code = fields.Char(string="Code", required=True, help="Category code")
|
||||
name = fields.Char(string="Name", required=True, help="Category name")
|
||||
category_type = fields.Selection([('disciplinary', 'Disciplinary Category'), ('action', 'Action Category')],
|
||||
string="Category Type", help="Choose the category type disciplinary or action")
|
||||
description = fields.Text(string="Details", help="Details for this category")
|
||||
|
||||
|
||||
class DisciplinaryAction(models.Model):
|
||||
_name = 'disciplinary.action'
|
||||
_inherit = ['mail.thread', 'mail.activity.mixin']
|
||||
_description = "Disciplinary Action"
|
||||
|
||||
state = fields.Selection([
|
||||
('draft', 'Draft'),
|
||||
('explain', 'Waiting Explanation'),
|
||||
('submitted', 'Waiting Action'),
|
||||
('action', 'Action Validated'),
|
||||
('cancel', 'Cancelled'),
|
||||
|
||||
], default='draft', track_visibility='onchange')
|
||||
|
||||
name = fields.Char(string='Reference', required=True, copy=False, readonly=True,
|
||||
default=lambda self: _('New'))
|
||||
|
||||
employee_name = fields.Many2one('hr.employee', string='Employee', required=True, help="Employee name")
|
||||
department_name = fields.Many2one('hr.department', string='Department', required=True, help="Department name")
|
||||
discipline_reason = fields.Many2one('discipline.category', string='Reason', required=True, help="Choose a disciplinary reason")
|
||||
explanation = fields.Text(string="Explanation by Employee", help='Employee have to give Explanation'
|
||||
'to manager about the violation of discipline')
|
||||
action = fields.Many2one('discipline.category', string="Action", help="Choose an action for this disciplinary action")
|
||||
read_only = fields.Boolean(compute="get_user", default=True)
|
||||
warning_letter = fields.Html(string="Warning Letter")
|
||||
suspension_letter = fields.Html(string="Suspension Letter")
|
||||
termination_letter = fields.Html(string="Termination Letter")
|
||||
warning = fields.Integer(default=False)
|
||||
action_details = fields.Text(string="Action Details", help="Give the details for this action")
|
||||
attachment_ids = fields.Many2many('ir.attachment', string="Attachments",
|
||||
help="Employee can submit any documents which supports their explanation")
|
||||
note = fields.Text(string="Internal Note")
|
||||
joined_date = fields.Date(string="Joined Date", help="Employee joining date")
|
||||
|
||||
# assigning the sequence for the record
|
||||
@api.model
|
||||
def create(self, vals):
|
||||
vals['name'] = self.env['ir.sequence'].next_by_code('disciplinary.action')
|
||||
return super(DisciplinaryAction, self).create(vals)
|
||||
|
||||
# Check the user is a manager or employee
|
||||
@api.depends('read_only')
|
||||
def get_user(self):
|
||||
|
||||
if self.env.user.has_group('hr.group_hr_manager'):
|
||||
self.read_only = True
|
||||
else:
|
||||
self.read_only = False
|
||||
|
||||
# Check the Action Selected
|
||||
@api.onchange('action')
|
||||
def onchange_action(self):
|
||||
if self.action.name == 'Written Warning':
|
||||
self.warning = 1
|
||||
elif self.action.name == 'Suspend the Employee for one Week':
|
||||
self.warning = 2
|
||||
elif self.action.name == 'Terminate the Employee':
|
||||
self.warning = 3
|
||||
elif self.action.name == 'No Action':
|
||||
self.warning = 4
|
||||
else:
|
||||
self.warning = 5
|
||||
|
||||
@api.onchange('employee_name')
|
||||
@api.depends('employee_name')
|
||||
def onchange_employee_name(self):
|
||||
|
||||
department = self.env['hr.employee'].search([('name', '=', self.employee_name.name)])
|
||||
self.department_name = department.department_id.id
|
||||
|
||||
if self.state == 'action':
|
||||
raise ValidationError(_('You Can not edit a Validated Action !!'))
|
||||
|
||||
@api.onchange('discipline_reason')
|
||||
@api.depends('discipline_reason')
|
||||
def onchange_reason(self):
|
||||
if self.state == 'action':
|
||||
raise ValidationError(_('You Can not edit a Validated Action !!'))
|
||||
|
||||
def assign_function(self):
|
||||
|
||||
for rec in self:
|
||||
rec.state = 'explain'
|
||||
|
||||
def cancel_function(self):
|
||||
for rec in self:
|
||||
rec.state = 'cancel'
|
||||
|
||||
def set_to_function(self):
|
||||
for rec in self:
|
||||
rec.state = 'draft'
|
||||
|
||||
def action_function(self):
|
||||
for rec in self:
|
||||
if not rec.action:
|
||||
raise ValidationError(_('You have to select an Action !!'))
|
||||
|
||||
if self.warning == 1:
|
||||
if not rec.warning_letter or rec.warning_letter == '<p><br></p>':
|
||||
raise ValidationError(_('You have to fill up the Warning Letter in Action Information !!'))
|
||||
|
||||
elif self.warning == 2:
|
||||
if not rec.suspension_letter or rec.suspension_letter == '<p><br></p>':
|
||||
raise ValidationError(_('You have to fill up the Suspension Letter in Action Information !!'))
|
||||
|
||||
elif self.warning == 3:
|
||||
if not rec.termination_letter or rec.termination_letter == '<p><br></p>':
|
||||
raise ValidationError(_('You have to fill up the Termination Letter in Action Information !!'))
|
||||
|
||||
elif self.warning == 4:
|
||||
self.action_details = "No Action Proceed"
|
||||
|
||||
elif self.warning == 5:
|
||||
if not rec.action_details:
|
||||
raise ValidationError(_('You have to fill up the Action Information !!'))
|
||||
rec.state = 'action'
|
||||
|
||||
def explanation_function(self):
|
||||
for rec in self:
|
||||
|
||||
if not rec.explanation:
|
||||
raise ValidationError(_('You must give an explanation !!'))
|
||||
|
||||
self.write({
|
||||
'state': 'submitted'
|
||||
})
|
||||
8
hr_disciplinary_tracking/security/ir.model.access.csv
Executable file
@@ -0,0 +1,8 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
view_disciplinary_action,view.disciplinary.action,model_disciplinary_action,hr.group_hr_manager,1,1,1,1
|
||||
view_disciplinary_action_user,view.disciplinary.action.user,model_disciplinary_action,base.group_user,1,1,0,0
|
||||
view_discipline_category,view.discipline.category,model_discipline_category,hr.group_hr_manager,1,1,1,1
|
||||
|
||||
|
||||
|
||||
|
||||
|
15
hr_disciplinary_tracking/security/security.xml
Executable file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<odoo>
|
||||
<record id="disciplinary_action_employee" model="ir.rule">
|
||||
<field name="name">Disciplinary Action Employee</field>
|
||||
<field ref="model_disciplinary_action" name="model_id"/>
|
||||
<field name="domain_force">[('employee_name.user_id.id','=',user.id)]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
|
||||
</record>
|
||||
<record id="disciplinary_action_manager" model="ir.rule">
|
||||
<field name="name">Disciplinary Action Manager</field>
|
||||
<field ref="model_disciplinary_action" name="model_id"/>
|
||||
<field name="domain_force">[]</field>
|
||||
<field name="groups" eval="[(4, ref('hr.group_hr_manager'))]"/>
|
||||
</record>
|
||||
</odoo>
|
||||
BIN
hr_disciplinary_tracking/static/description/banner.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
hr_disciplinary_tracking/static/description/icon.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
hr_disciplinary_tracking/static/description/images/1disc.png
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
hr_disciplinary_tracking/static/description/images/2disc.png
Normal file
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 126 KiB |
BIN
hr_disciplinary_tracking/static/description/images/bio_image.png
Normal file
|
After Width: | Height: | Size: 159 KiB |
BIN
hr_disciplinary_tracking/static/description/images/checked.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
hr_disciplinary_tracking/static/description/images/checked.psd
Normal file
|
After Width: | Height: | Size: 612 KiB |
|
After Width: | Height: | Size: 408 KiB |
BIN
hr_disciplinary_tracking/static/description/images/disc.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
hr_disciplinary_tracking/static/description/images/openhrms.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 115 KiB |
|
After Width: | Height: | Size: 115 KiB |
532
hr_disciplinary_tracking/static/description/index.html
Normal file
@@ -0,0 +1,532 @@
|
||||
<div class="row"
|
||||
style="margin: 0;position: relative;color: #000;background-position: center;background: #ffffff;border-bottom: 1px solid #e4e4e4;text-align: center; margin: auto; display: flex;justify-content: center;">
|
||||
<a href="https://www.openhrms.com/" target="_blank"><img src="images/openhrms.png"
|
||||
style=" width: 293px; padding: 1rem 0rem; margin: auto"
|
||||
alt="cybrosys-logo"></a>
|
||||
</div>
|
||||
<div class="row"
|
||||
style="margin:75px 0;position: relative;color: #000;background-position: center;background: #ffffff;border-bottom: 1px solid #e4e4e4; padding-bottom: 30px;">
|
||||
<div class="col-md-7 col-sm-12 col-xs-12" style="padding: 0px">
|
||||
<div style=" margin: 0 0 0px;padding: 20px 0 10;font-size: 23px;line-height: 35px;font-weight: 400;color: #000;border-top: 1px solid rgba(255,255,255,0.1);border-bottom: 1px solid rgba(255,255,255,0.11);text-align: left;">
|
||||
<h1 style="font-size: 39px;font-weight: 600;margin: 0px !important;"> Employee Disciplinary Tracking </h1>
|
||||
<h3 style="font-size: 21px;margin-top: 8px;position: relative;"> Track the Disciplinary actions of Employees. </h3>
|
||||
</div>
|
||||
<h2 style="font-weight: 600;font-size: 1.8rem;margin-top: 15px;">Key Highlights</h2>
|
||||
<ul style=" padding: 0 1px; list-style: none; ">
|
||||
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><img src="images/checked.png"
|
||||
style=" width: 22px; margin-right: 6px; "
|
||||
alt="check">
|
||||
Manager can assign disciplinary issues to the employees.
|
||||
</li>
|
||||
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><img src="images/checked.png"
|
||||
style=" width: 22px; margin-right: 6px; "
|
||||
alt="check">
|
||||
Employees give explanations and submit it to the manager.
|
||||
</li>
|
||||
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><img src="images/checked.png"
|
||||
style=" width: 22px; margin-right: 6px; "
|
||||
alt="check">
|
||||
Manager can take the final action against the employee according to the Explanation.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-5 col-sm-12 col-xs-12"><img src="images/disc.png" class="img-responsive" alt=""></div>
|
||||
</div>
|
||||
<div>
|
||||
<section class="oe_container" style="padding: 1rem 0rem 1rem; background-color: #ffffff !important;">
|
||||
<div class="row py-4 px-3">
|
||||
<div class="w-100" style="padding-top:30px;padding-bottom:45px;border-radius: 10px;">
|
||||
<ul role="tablist" class="nav nav-pills justify-content-center" data-tabs="tabs" id="pills-tab"
|
||||
style="border: none;background: unset;">
|
||||
<li class="nav-item mr-1 mb-3"
|
||||
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #d31c22;background-color: #00438b;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;">
|
||||
<a id="pills-home-tab" data-toggle="pill" href="#pills-home" role="tab"
|
||||
aria-controls="pills-home" aria-selected="true" class="nav-link active show"
|
||||
style="color: #fff;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center;">Overview </a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item mr-1 mb-3"
|
||||
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #d31c22;background-color: #00438b;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;">
|
||||
<a id="pills-home-tab" data-toggle="pill" href="#pills-features" role="tab"
|
||||
aria-controls="pills-home" aria-selected="true" class="nav-link "
|
||||
style="color: #fff;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center;">Features </a>
|
||||
</li>
|
||||
<li class="nav-item mr-1 mb-3"
|
||||
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #ffffff;background-color: #00438b;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;">
|
||||
<a class="nav-link" id="pills-profile-tab" data-toggle="pill" href="#pills-profile" role="tab"
|
||||
aria-controls="pills-profile" aria-selected="false"
|
||||
style="color: #fff;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center;">Screenshots </a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content" id="pills-tabContent"
|
||||
style="padding-top: 30px; padding-bottom: 30px; padding: 30px;">
|
||||
<div class="px-3 pt-1 tab-pane fade active show" id="pills-home" role="tabpanel" aria-labelledby="
|
||||
pills-home-tab">
|
||||
<!-- Overview-->
|
||||
<h2 style="font-weight: 600;text-align: center;width: 100%;">Overview</h2>
|
||||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
|
||||
<h3 class="oe_slogan"
|
||||
style="text-align: center;font-size: 19px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 31px;font-weight: 400;letter-spacing: .5px;margin-bottom: 21px;">
|
||||
This module will help to track and maintain disciplinary actions of employees. Manager can assign disciplinary issues to the employees. Employees can give explanations against the issues and submit to the manager. According to the explanation of employee manager can take the final action.
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
<div class="px-3 pt-1 tab-pane fade " id="pills-features" role="tabpanel" aria-labelledby="
|
||||
pills-home-tab">
|
||||
<!-- feature tab-->
|
||||
<h2 style="font-weight: 600;text-align: center;width: 100%;">Employee Disciplinary Tracking </h2>
|
||||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
|
||||
<ul>
|
||||
<li class="mb8"
|
||||
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;">
|
||||
<img src="images/checked.png" style=" width: 22px; margin-right: 6px; " alt="check">
|
||||
Manager can assign disciplinary issues to the employees.
|
||||
</li>
|
||||
<li class="mb8"
|
||||
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;">
|
||||
<img src="images/checked.png" style=" width: 22px; margin-right: 6px; " alt="check">
|
||||
Employees give explanations and submit it to the manager.
|
||||
</li>
|
||||
<li class="mb8"
|
||||
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;">
|
||||
<img src="images/checked.png" style=" width: 22px; margin-right: 6px; " alt="check">
|
||||
Manager can take the final action against the employee according to the Explanation.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- Screenshot tab-->
|
||||
<div class="px-3 tab-pane fade" id="pills-profile" role="tabpanel"
|
||||
aria-labelledby="pills-profile-tab">
|
||||
<div class="tab-pane">
|
||||
<h2 style="font-weight: 600;text-align: center;width: 100%;">Screenshots</h2>
|
||||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
|
||||
<div>
|
||||
<section class="oe_container">
|
||||
<div id="demo" class="row carousel slide mb32" data-ride="carousel">
|
||||
<div class="carousel-inner">
|
||||
<div class="carousel-item active" style="min-height: 0px;">
|
||||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16"
|
||||
style="float: left;">
|
||||
<h3 class="alert"
|
||||
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;">
|
||||
<img src="images/checked.png"
|
||||
style=" width: 22px; margin-right: 6px; " alt="check">
|
||||
Create Disciplinary actions.
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/1disc.png"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="carousel-item" style="min-height: 0px;">
|
||||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16"
|
||||
style="float: left;">
|
||||
<h3 class="alert"
|
||||
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;">
|
||||
<img src="images/checked.png"
|
||||
style=" width: 22px; margin-right: 6px; " alt="check">
|
||||
Click 'Discipline Category' menu to create new Discipline Category reasons
|
||||
<br>
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/2disc.png"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a class="carousel-control-prev" href="#demo" data-slide="prev" style="left:-25px;width: 35px;color: #000;"> <span class="carousel-control-prev-icon"><i class="fa fa-chevron-left" style="font-size:24px"></i></span> </a> <a class="carousel-control-next" href="#demo" data-slide="next" style="right:-25px;width: 35px;color: #000;"> <span class="carousel-control-next-icon"><i class="fa fa-chevron-right" style="font-size:24px"></i></span> </a>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- faq tab-->
|
||||
<div class="px-2 px-lg-4 pt-3 tab-pane fade" id="pills-contact"
|
||||
role="tabpanel"
|
||||
aria-labelledby="pills-contact-tab">
|
||||
<ul class="list-unstyled">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="oe_container" style="padding: 2rem 3rem 1rem;">
|
||||
<h2 style="font-weight: 600;text-align: center;margin-bottom: 25px;width: 100%;">Suggested Products</h2>
|
||||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
|
||||
<div id="demo1" class="row carousel slide" data-ride="carousel">
|
||||
<!-- The slideshow -->
|
||||
<div class="carousel-inner">
|
||||
<div class="carousel-item active" style="min-height: 0px;">
|
||||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
|
||||
<a
|
||||
href="https://apps.odoo.com/apps/modules/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/dash_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>
|
||||
</section>
|
||||
<section class="row" style="padding: 2rem 3rem 1rem;margin:0px">
|
||||
<h2 style="font-weight: 600;margin-bottom: 20px;text-align: center;width: 100%;">Our Service</h2>
|
||||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
|
||||
<div class="row" style=" display: flex; justify-content: center; flex-wrap: wrap;width: 100%; ">
|
||||
<!-- <div style="display:flex;padding-top: 20px;justify-content: space-between;"> -->
|
||||
<div class="col-md-2 col-sm-6 col-xs-12">
|
||||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a
|
||||
href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/odoo-customization.png"
|
||||
style="width: 100%;border-radius: 100%;"/> </a></div>
|
||||
<h3 class="oe_slogan"
|
||||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;">
|
||||
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
Odoo Customization </a>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-md-2 col-sm-6 col-xs-12">
|
||||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a
|
||||
href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/odoo-erp-implementation.png"
|
||||
style="width: 100%;border-radius: 100%;"/> </a></div>
|
||||
<h3 class="oe_slogan"
|
||||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;">
|
||||
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
Odoo Implementation </a>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-md-2 col-sm-6 col-xs-12">
|
||||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a
|
||||
href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/odoo-erp-integration.png"
|
||||
style="width: 100%;border-radius: 100%;"/> </a></div>
|
||||
<h3 class="oe_slogan"
|
||||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;">
|
||||
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
Odoo Integration </a>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-md-2 col-sm-6 col-xs-12">
|
||||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a
|
||||
href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/odoo-erp-support.png"
|
||||
style="width: 100%;border-radius: 100%;"/> </a></div>
|
||||
<h3 class="oe_slogan"
|
||||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;">
|
||||
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
Odoo Support</a>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-md-2 col-sm-6 col-xs-12">
|
||||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a
|
||||
href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/hire-odoo-developer.png"
|
||||
style="width: 100%;border-radius: 100%;"/> </a></div>
|
||||
<h3 class="oe_slogan"
|
||||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;">
|
||||
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
Hire Odoo Developers</a>
|
||||
</h3>
|
||||
</a>
|
||||
</div>
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
</section>
|
||||
<section class="row" style="padding: 2rem 3rem 1rem;margin:0px">
|
||||
<div class="row" style="margin: 0">
|
||||
<h2 style="font-weight: 600;margin-bottom: 20px;text-align: center;width: 100%;">Our Industries</h2>
|
||||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
|
||||
<!-- <div style="display:flex;justify-content: space-between;flex-wrap:wrap;"> -->
|
||||
<div class="row" style="width: 100%">
|
||||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
|
||||
<div>
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/odoo-index-industry-1.png" alt="Odoo Industry"
|
||||
style=" border-radius: 100%;width:100%;"/> </a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:70%;float:left;">
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
|
||||
Trading </a>
|
||||
</h3>
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;">
|
||||
Easily procure and sell your products.
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
|
||||
<div>
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/"
|
||||
target="_blank"> <img src="https://www.cybrosys.com/images/odoo-index-industry-2.png"
|
||||
alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:70%;float:left;" style=" margin-bottom: 10px; ">
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/"
|
||||
target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
|
||||
Manufacturing</a>
|
||||
</h3>
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;font-family: 'Montserrat',sans-serif;">
|
||||
Plan, track and schedule your operations.
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
|
||||
<div>
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank">
|
||||
<img src="https://www.cybrosys.com/images/odoo-index-industry-3.png" alt="Odoo Industry"
|
||||
style=" border-radius: 100%;width:100%;"/> </a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:70%;float:left;">
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
|
||||
Restaurant</a>
|
||||
</h3>
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;font-family: 'Montserrat',sans-serif;">
|
||||
Run your bar or restaurant methodical.
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
|
||||
<div>
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/odoo-index-industry-4.png" alt="Odoo Industry"
|
||||
style=" border-radius: 100%;width:100%;"/> </a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:70%;float:left;">
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
|
||||
POS</a>
|
||||
</h3>
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;font-family: 'Montserrat',sans-serif;">
|
||||
Easy configuring and convivial selling.
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
|
||||
<div>
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/odoo-index-industry-5.png" alt="Odoo Industry"
|
||||
style=" border-radius: 100%;width:100%;"/> </a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:70%;float:left;">
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 0px;margin-left: 16px;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
E-commerce & Website</a>
|
||||
</h3>
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;">
|
||||
Mobile friendly, awe-inspiring product pages.
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
|
||||
<div>
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank">
|
||||
<img src="https://www.cybrosys.com/images/odoo-index-industry-6.png" alt="Odoo Industry"
|
||||
style=" border-radius: 100%;width:100%;"/> </a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:70%;float:left;">
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
Hotel Management</a>
|
||||
</h3>
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;">
|
||||
An all-inclusive hotel management application.
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
|
||||
<div>
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank">
|
||||
<img src="https://www.cybrosys.com/images/odoo-index-industry-7.png" alt="Odoo Industry"
|
||||
style=" border-radius: 100%;width:100%;"/> </a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:70%;float:left;">
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
Education</a>
|
||||
</h3>
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;">
|
||||
A Collaborative platform for educational management.
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
|
||||
<div>
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/odoo-index-industry-8.png" alt="Odoo Industry"
|
||||
style=" border-radius: 100%;width:100%;"/> </a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:70%;float:left;">
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
Service Management</a>
|
||||
</h3>
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;">
|
||||
Keep track of services and invoice accordingly.
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="oe_container" style="padding: 0% 0% 6% 0%;">
|
||||
<center>
|
||||
<div class="col-md-12" style="margin: auto !important;
|
||||
width: 70%;
|
||||
padding: 30px;">
|
||||
<h2 style="font-weight: 600;text-align: center;width: 100%;">Need Any Help?</h2>
|
||||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
|
||||
<h4 style="font-size:16px;"> If you have anything to share with us based on your use of this module, please
|
||||
let us know. We are ready to offer our support.
|
||||
</h4>
|
||||
<div class="col-md-6" style="float:left; padding:20px;">
|
||||
<h4><i class="fa fa-envelope"></i>Email us </h4>
|
||||
<p>odoo@cybrosys.com / info@cybrosys.com</p>
|
||||
</div>
|
||||
<div class="col-md-6" style="float:left; padding:20px;">
|
||||
<h4><i class="fa fa-phone"></i> Contact Us </h4>
|
||||
<a href="https://www.cybrosys.com/contact/" target="_blank"> www.cybrosys.com</a>
|
||||
</div>
|
||||
</div>
|
||||
Suggested Products
|
||||
</center>
|
||||
</section>
|
||||
<section class="oe_container" style="padding: 0% 0% 6% 0%;">
|
||||
<div class="oe_slogan" style="margin-bottom: 0px;">
|
||||
<div style=" display: flex; justify-content: center; flex-wrap: wrap; ">
|
||||
</div>
|
||||
<br>
|
||||
<img src="https://www.cybrosys.com/images/logo.png" style="width: 190px; margin-bottom: 25px;margin-top: 30px;"
|
||||
class="center-block">
|
||||
<div style=" display: flex; justify-content: center; flex-wrap: wrap; "><a href="https://twitter.com/cybrosys"
|
||||
target="_blank"><i
|
||||
class="fa fa-2x fa-twitter"
|
||||
style="color:white;background: #00a0d1;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a>
|
||||
</td>
|
||||
<a href="https://www.linkedin.com/company/cybrosys-technologies-pvt-ltd" target="_blank"><i
|
||||
class="fa fa-2x fa-linkedin"
|
||||
style="color:white;background: #31a3d6;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a>
|
||||
</td>
|
||||
<a href="https://www.facebook.com/cybrosystechnologies" target="_blank"><i class="fa fa-2x fa-facebook"
|
||||
style="color:white;background: #3b5998;width:35px; height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a>
|
||||
</td>
|
||||
<a href="https://in.pinterest.com/cybrosys" target="_blank"><i class="fa fa-2x fa-pinterest"
|
||||
style="color:white;background: #ac0f18;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a>
|
||||
</td>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
BIN
hr_disciplinary_tracking/static/image/employee_image.jpg
Normal file
|
After Width: | Height: | Size: 13 KiB |
116
hr_disciplinary_tracking/views/category_view.xml
Executable file
@@ -0,0 +1,116 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<!--Discipline Category Creation-->
|
||||
|
||||
<record id="discipline_category_care" model="discipline.category">
|
||||
<field name="code">RULES</field>
|
||||
<field name="name">Violation of Company Rules</field>
|
||||
</record>
|
||||
<record id="discipline_category_behave" model="discipline.category">
|
||||
<field name="code">BEHAVE</field>
|
||||
<field name="name">Misbehaviour to Co-workers</field>
|
||||
</record>
|
||||
<record id="discipline_category_damage" model="discipline.category">
|
||||
<field name="code">DAMAGE</field>
|
||||
<field name="name">Damage to Company Properties</field>
|
||||
</record>
|
||||
<record id="discipline_category_instruction" model="discipline.category">
|
||||
<field name="code">INSTRUCTION</field>
|
||||
<field name="name">Not Follow Management Instructions</field>
|
||||
</record>
|
||||
<record id="discipline_category_performence" model="discipline.category">
|
||||
<field name="code">INSTRUCTION</field>
|
||||
<field name="name">Work Performance Issues</field>
|
||||
</record>
|
||||
|
||||
<!--Action Category Creation-->
|
||||
|
||||
<record id="action_category_noact" model="discipline.category">
|
||||
<field name="code">NOACTION</field>
|
||||
<field name="name">No Action</field>
|
||||
</record>
|
||||
|
||||
<record id="action_category_verb" model="discipline.category">
|
||||
<field name="code">VERBAL</field>
|
||||
<field name="name">Verbal Warning</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="action_category_wrt" model="discipline.category">
|
||||
<field name="code">WRITTEN</field>
|
||||
<field name="name">Written Warning</field>
|
||||
</record>
|
||||
|
||||
<record id="action_category_meet" model="discipline.category">
|
||||
<field name="code">MEET</field>
|
||||
<field name="name">Meet the Manager</field>
|
||||
</record>
|
||||
|
||||
<record id="action_category_susp" model="discipline.category">
|
||||
<field name="code">SUSPENSION</field>
|
||||
<field name="name">Suspend the Employee</field>
|
||||
<field name="name">Suspend the Employee for one Week</field>
|
||||
</record>
|
||||
|
||||
<record id="action_category_term" model="discipline.category">
|
||||
<field name="code">TERMINATE</field>
|
||||
<field name="name">Terminate the Employee</field>
|
||||
</record>
|
||||
|
||||
<record id="disciplinary_search_view" model="ir.ui.view">
|
||||
<field name="name">hr disciplinary category view</field>
|
||||
<field name="model">discipline.category</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search information">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="category_type"/>
|
||||
<field name="description"/>
|
||||
<group expand="1" string="Group By">
|
||||
<filter string="Department" name="department_name" context="{'group_by':'category_type'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<!--Discipline Category View-->
|
||||
|
||||
<record id="disciplinary_category_view_tree" model="ir.ui.view">
|
||||
<field name="name">discipline.category.tree</field>
|
||||
<field name="model">discipline.category</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Discipline Categories">
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="disciplinary_category_view_form" model="ir.ui.view">
|
||||
<field name="name">discipline.category.form</field>
|
||||
<field name="model">discipline.category</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Discipline Category">
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="name" required="True"/>
|
||||
<field name="code" required="True"/>
|
||||
<field name="category_type" required="True"/>
|
||||
<field name="description"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_disciplinary_category_view" model="ir.actions.act_window">
|
||||
<field name="name">Discipline Categories</field>
|
||||
<field name="res_model">discipline.category</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="disciplinary_category_view" action="action_disciplinary_category_view" groups="hr.group_hr_manager" name="Discipline Category" parent="disciplinary_action"
|
||||
sequence="3"/>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
182
hr_disciplinary_tracking/views/disciplinary_action.xml
Executable file
@@ -0,0 +1,182 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="disciplinary_search_view" model="ir.ui.view">
|
||||
<field name="name">hr disciplinary search view</field>
|
||||
<field name="model">disciplinary.action</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search information">
|
||||
<field name="employee_name"/>
|
||||
<field name="department_name"/>
|
||||
<field name="joined_date"/>
|
||||
<field name="discipline_reason"/>
|
||||
<filter string="Draft" name="draft" domain="[('state','=','draft')]"/>
|
||||
<filter string="Waiting Explanation" name="explain" domain="[('state','=','explain')]"/>
|
||||
<filter string="Waiting Action" name="submitted" domain="[('state','=','submitted')]"/>
|
||||
<filter string="Action Validated" name="action" domain="[('state','=','action')]"/>
|
||||
<filter string="Cancel" name="cancel" domain="[('state','=','cancel')]"/>
|
||||
<separator/>
|
||||
<group expand="1" string="Group By">
|
||||
<filter string="State" name="state" context="{'group_by': 'state'}"/>
|
||||
<filter string="Department" name="department_name" context="{'group_by':'department_name'}"/>
|
||||
<filter string="Joined Date" name="joined_date" context="{'group_by': 'joined_date'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="employee_disciplinary_tree" model="ir.ui.view">
|
||||
<field name="name">disciplinary.action.tree</field>
|
||||
<field name="model">disciplinary.action</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Disciplinary Action">
|
||||
<field name="name"/>
|
||||
<field name="employee_name" groups="hr.group_hr_manager"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="employee_disciplinary_form" model="ir.ui.view">
|
||||
<field name="name">disciplinary.action.form</field>
|
||||
<field name="model">disciplinary.action</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Disciplinary Action">
|
||||
<header>
|
||||
<button name="assign_function" type="object" string="Proceed" class="oe_highlight"
|
||||
states="draft"/>
|
||||
<button name="explanation_function" type="object" string="Submit" class="oe_highlight"
|
||||
states="explain"/>
|
||||
<button name="action_function" type="object" string="Validate Action" states="submitted"
|
||||
class="oe_highlight" groups="hr.group_hr_manager"/>
|
||||
<button name="cancel_function" type="object" string="Cancel" states="draft,submitted"
|
||||
groups="hr.group_hr_manager"/>
|
||||
<button name="set_to_function" type="object" string="Set to Draft" states="cancel"
|
||||
groups="hr.group_hr_manager"/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,explain,action"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<h1>
|
||||
<field name="name" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<h2>
|
||||
<group colspan="4">
|
||||
<field name="employee_name" string="Employee" required="True"
|
||||
attrs="{'readonly': ['|',('read_only','!=',True),('state','=','action')]}"/>
|
||||
</group>
|
||||
</h2>
|
||||
<group>
|
||||
<group>
|
||||
<field name="department_name" required="True"
|
||||
attrs="{'readonly': [('state','=','action')]}" groups="hr.group_hr_manager"/>
|
||||
<field name="joined_date" string="Joined Date"/>
|
||||
<field name="read_only" invisible="True"/>
|
||||
<field name="warning" invisible="True"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
|
||||
<notebook>
|
||||
<page name="Disciplinary Information"
|
||||
string="Disciplinary Information">
|
||||
<group colspan="4">
|
||||
<group>
|
||||
<field name="discipline_reason" string="Reason" required="True"
|
||||
attrs="{'readonly': [('read_only','!=',True)]}"
|
||||
domain="[('category_type','=','disciplinary')]"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="explanation"
|
||||
attrs="{'invisible' :[('state','=','draft')],'readonly': [('state','=','action')]}"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="attachment_ids" widget="many2many_binary" class="oe_inline"
|
||||
attrs="{'invisible' :[('state','=','draft')],'readonly': [('state','=','action')]}"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="note" attrs="{'readonly': [('state','=','action')]}"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="action_information" states="submitted,action"
|
||||
string="Action Information">
|
||||
<group>
|
||||
<field name="action" string="Action"
|
||||
attrs="{'invisible': [('state','not in',['submitted','action'])],'readonly': [('state','=','action')]}"
|
||||
domain="[('category_type','=','action')]" groups="hr.group_hr_manager"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="warning_letter"
|
||||
attrs="{'invisible' :[('warning','!=',1)],'readonly': [('state','=','action')],'readonly': [('read_only','!=',True)]}"/>
|
||||
<field name="suspension_letter"
|
||||
attrs="{'invisible' :[('warning','!=',2)],'readonly': [('state','=','action')],'readonly': [('read_only','!=',True)]}"/>
|
||||
<field name="termination_letter"
|
||||
attrs="{'invisible' :[('warning','!=',3)],'readonly': [('state','=','action')],'readonly': [('read_only','!=',True)]}"/>
|
||||
<field name="action_details"
|
||||
attrs="{'invisible' :[('warning','not in',[4,5])],'readonly': [('state','=','action')],'readonly': [('read_only','!=',True)]}"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
<field name="activity_ids" widget="mail_activity"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_disciplinary_action" model="ir.actions.act_window">
|
||||
<field name="name">Disciplinary Action</field>
|
||||
<field name="res_model">disciplinary.action</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('state','in',('draft','explain','submitted','action','cancel'))]</field>
|
||||
</record>
|
||||
|
||||
<record id="disciplinary_action_details" model="ir.actions.act_window">
|
||||
<field name="name">Disciplinary Actions</field>
|
||||
<field name="res_model">disciplinary.action</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('state','=','action'),('employee_name.id', '=', active_id)]</field>
|
||||
</record>
|
||||
|
||||
<record id="disciplinary_action_details_view" model="ir.actions.act_window">
|
||||
<field name="name">Disciplinary Action Details</field>
|
||||
<field name="res_model">disciplinary.action</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('state','!=','draft')]</field>
|
||||
</record>
|
||||
|
||||
<record id="employee_form_inherit_disciplinary" model="ir.ui.view">
|
||||
<field name="name">inherit.employee.form.view</field>
|
||||
<field name="model">hr.employee</field>
|
||||
<field name="inherit_id" ref="hr.view_employee_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<!--Add Discipline button in the Employee Form-->
|
||||
<xpath expr="//div[@name='button_box']" position="inside">
|
||||
<button name="%(disciplinary_action_details)d"
|
||||
class="oe_stat_button"
|
||||
icon="fa-info-circle"
|
||||
type="action"
|
||||
>
|
||||
<field string="Disciplinary Action" name="discipline_count" widget="statinfo"/>
|
||||
</button>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem id="disciplinary_action" name="Disciplinary Actions" parent="hr.menu_hr_root"
|
||||
sequence="23"/>
|
||||
<menuitem id="disciplinary_action_create" action="action_disciplinary_action" groups="hr.group_hr_manager"
|
||||
name="Disciplinary Action" parent="disciplinary_action"
|
||||
sequence="1"/>
|
||||
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
14
hr_disciplinary_tracking/views/disciplinary_sequence.xml
Executable file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
|
||||
<!-- Sequences for disciplinary.action -->
|
||||
<record id="seq_disciplinary_action" model="ir.sequence">
|
||||
<field name="name">Open HRMS Disciplinary Action</field>
|
||||
<field name="code">disciplinary.action</field>
|
||||
<field name="prefix">DIS</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||