Merge remote-tracking branch 'origin/dev_odex_hr' into dev_odex_hr
This commit is contained in:
commit
5e8f8b7f2b
|
|
@ -0,0 +1,3 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from . import models
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
{
|
||||||
|
'name': 'HR Custody',
|
||||||
|
'category': 'Odex25-HR/Odex25-HR',
|
||||||
|
'summary': 'Custody and receiving Employee custody',
|
||||||
|
'version': '1.0',
|
||||||
|
'sequence': 4,
|
||||||
|
'website': 'http://exp-sa.com',
|
||||||
|
'license': 'GPL-3',
|
||||||
|
'author': 'Expert Co. Ltd.',
|
||||||
|
|
||||||
|
'depends': ['base','hr_base','employee_requests'],
|
||||||
|
|
||||||
|
'data': [
|
||||||
|
'security/ir.model.access.csv',
|
||||||
|
'security/custody_security.xml',
|
||||||
|
'views/employee_custody_views.xml',
|
||||||
|
'views/receiving_employee_custody.xml',
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,753 @@
|
||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * exp_employee_custody
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 14.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2023-01-31 10:22+0000\n"
|
||||||
|
"PO-Revision-Date: 2023-01-31 10:22+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: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__message_needaction
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__message_needaction
|
||||||
|
msgid "Action Needed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__activity_ids
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__activity_ids
|
||||||
|
msgid "Activities"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__activity_exception_decoration
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__activity_exception_decoration
|
||||||
|
msgid "Activity Exception Decoration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__activity_state
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__activity_state
|
||||||
|
msgid "Activity State"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__activity_type_icon
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__activity_type_icon
|
||||||
|
msgid "Activity Type Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Add Comments here ...."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__advantage_line_id
|
||||||
|
msgid "Advantage Line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_custody_line__amount
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
msgid "Amount"
|
||||||
|
msgstr "المبلغ"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__message_attachment_count
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__message_attachment_count
|
||||||
|
msgid "Attachment Count"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__call_compute_function
|
||||||
|
msgid "Call Compute Function"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__create_uid
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_custody_line__create_uid
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_return_custody_line__create_uid
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__create_uid
|
||||||
|
msgid "Created by"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__create_date
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_custody_line__create_date
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_return_custody_line__create_date
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__create_date
|
||||||
|
msgid "Created on"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__current_date
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__current_date
|
||||||
|
msgid "Current Date"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.ui.menu,name:exp_employee_custody.custody_submenu
|
||||||
|
msgid "Custody"
|
||||||
|
msgstr "العُهــده"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__custody_line_ids
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_return_custody_line__custody_line_id
|
||||||
|
msgid "Custody Line"
|
||||||
|
msgstr "عهد الموظف"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
msgid "Custody Lines"
|
||||||
|
msgstr "عهد الموظفين"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_tree_view
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_tree_view
|
||||||
|
msgid "Date"
|
||||||
|
msgstr "التاريخ"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
msgid "Date Delivering"
|
||||||
|
msgstr "تاريخ الاستلام"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_return_custody_line__deduction_amount
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__deduction_amount
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Deduction Amount"
|
||||||
|
msgstr "قيمة الخصم"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__department_id
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__department_id
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_tree_view
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_tree_view
|
||||||
|
msgid "Department"
|
||||||
|
msgstr "الإدارة"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "الوصف"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: code:addons/exp_employee_custody/models/employee_custody.py:0
|
||||||
|
#: code:addons/exp_employee_custody/models/receiving_employee_custody.py:0
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
#, python-format
|
||||||
|
msgid "Direct Manager"
|
||||||
|
msgstr "المدير المباشر"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Directed Manager"
|
||||||
|
msgstr "المدير المباشر"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__display_name
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_custody_line__display_name
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_return_custody_line__display_name
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__display_name
|
||||||
|
msgid "Display Name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: code:addons/exp_employee_custody/models/employee_custody.py:0
|
||||||
|
#: code:addons/exp_employee_custody/models/receiving_employee_custody.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Draft"
|
||||||
|
msgstr "مبدئي"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_tree_view
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_tree_view
|
||||||
|
msgid "Employee"
|
||||||
|
msgstr "الموظف"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: code:addons/exp_employee_custody/models/receiving_employee_custody.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Employee \"%s\" has not contract !"
|
||||||
|
msgstr "الموظف \"%s\" ليس لديه عقد!"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.actions.act_window,name:exp_employee_custody.employee_custody_action
|
||||||
|
#: model:ir.ui.menu,name:exp_employee_custody.employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_tree_view
|
||||||
|
msgid "Employee Custody"
|
||||||
|
msgstr "العهد الغير مالية"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_custody_line__employee_custody_line
|
||||||
|
msgid "Employee Custody Line"
|
||||||
|
msgstr "عهد الموظف"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__employee_id
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__employee_id
|
||||||
|
msgid "Employee"
|
||||||
|
msgstr "الموظف"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Employee Info"
|
||||||
|
msgstr "معلومات الموظف"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Employee Number"
|
||||||
|
msgstr "رقم الموظف"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_return_custody_line__employee_return_custody_line_id
|
||||||
|
msgid "Employee Return Custody Line"
|
||||||
|
msgstr "عهد الموظف المرجعة"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model,name:exp_employee_custody.model_custom_employee_custody
|
||||||
|
msgid "Employee custody"
|
||||||
|
msgstr "العهد الغير مالية"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__employee_no
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__employee_no
|
||||||
|
msgid "Employee number"
|
||||||
|
msgstr "رقم الموظف"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__message_follower_ids
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__message_follower_ids
|
||||||
|
msgid "Followers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__message_channel_ids
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__message_channel_ids
|
||||||
|
msgid "Followers (Channels)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__message_partner_ids
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__message_partner_ids
|
||||||
|
msgid "Followers (Partners)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_custom_employee_custody__activity_type_icon
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_hr_custody_receiving__activity_type_icon
|
||||||
|
msgid "Font awesome icon e.g. fa-tasks"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__from_hr_department
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__from_hr_department
|
||||||
|
msgid "From Hr Department"
|
||||||
|
msgstr "من موظف آخر"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "HR Manager"
|
||||||
|
msgstr "مدير الموارد البشرية"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: code:addons/exp_employee_custody/models/employee_custody.py:0
|
||||||
|
#: code:addons/exp_employee_custody/models/receiving_employee_custody.py:0
|
||||||
|
#: model:ir.model.fields.selection,name:exp_employee_custody.selection__custom_employee_custody__state__admin
|
||||||
|
#: model:ir.model.fields.selection,name:exp_employee_custody.selection__hr_custody_receiving__state__admin
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
#, python-format
|
||||||
|
msgid "Human Resources Manager"
|
||||||
|
msgstr "تصديق الموارد البشرية"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__id
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_custody_line__id
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_return_custody_line__id
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__id
|
||||||
|
msgid "ID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__activity_exception_icon
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__activity_exception_icon
|
||||||
|
msgid "Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_custom_employee_custody__activity_exception_icon
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_hr_custody_receiving__activity_exception_icon
|
||||||
|
msgid "Icon to indicate an exception activity."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
msgid "Identification code"
|
||||||
|
msgstr "رقم المتسلسل"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_custom_employee_custody__message_needaction
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_custom_employee_custody__message_unread
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_hr_custody_receiving__message_needaction
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_hr_custody_receiving__message_unread
|
||||||
|
msgid "If checked, new messages require your attention."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_custom_employee_custody__message_has_error
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_custom_employee_custody__message_has_sms_error
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_hr_custody_receiving__message_has_error
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_hr_custody_receiving__message_has_sms_error
|
||||||
|
msgid "If checked, some messages have a delivery error."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Invisible field to Call compute function"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__message_is_follower
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__message_is_follower
|
||||||
|
msgid "Is Follower"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__job_id
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__job_id
|
||||||
|
msgid "Job Position"
|
||||||
|
msgstr "المناصب الوظيفية"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Job Title"
|
||||||
|
msgstr "الوظيفة"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody____last_update
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_custody_line____last_update
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_return_custody_line____last_update
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving____last_update
|
||||||
|
msgid "Last Modified on"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__write_uid
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_custody_line__write_uid
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_return_custody_line__write_uid
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__write_uid
|
||||||
|
msgid "Last Updated by"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__write_date
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_custody_line__write_date
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_return_custody_line__write_date
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__write_date
|
||||||
|
msgid "Last Updated on"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__message_main_attachment_id
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__message_main_attachment_id
|
||||||
|
msgid "Main Attachment"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__message_has_error
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__message_has_error
|
||||||
|
msgid "Message Delivery error"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__message_ids
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__message_ids
|
||||||
|
msgid "Messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__my_activity_date_deadline
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__my_activity_date_deadline
|
||||||
|
msgid "My Activity Deadline"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_custody_line__name
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_return_custody_line__name
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "الاسم"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Nationality"
|
||||||
|
msgstr "الجنسية"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__country_id
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__country_id
|
||||||
|
msgid "Nationality (Country)"
|
||||||
|
msgstr "الجنسية (البلد)"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__activity_date_deadline
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__activity_date_deadline
|
||||||
|
msgid "Next Activity Deadline"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__activity_summary
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__activity_summary
|
||||||
|
msgid "Next Activity Summary"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__activity_type_id
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__activity_type_id
|
||||||
|
msgid "Next Activity Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__note
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_custody_line__note
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_return_custody_line__note
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__note
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Note"
|
||||||
|
msgstr "ملاحظات"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
msgid "Notes"
|
||||||
|
msgstr "ملاحظات"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__message_needaction_counter
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__message_needaction_counter
|
||||||
|
msgid "Number of Actions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__message_has_error_counter
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__message_has_error_counter
|
||||||
|
msgid "Number of errors"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_custom_employee_custody__message_needaction_counter
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_hr_custody_receiving__message_needaction_counter
|
||||||
|
msgid "Number of messages which requires an action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_custom_employee_custody__message_has_error_counter
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_hr_custody_receiving__message_has_error_counter
|
||||||
|
msgid "Number of messages with delivery error"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_custom_employee_custody__message_unread_counter
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_hr_custody_receiving__message_unread_counter
|
||||||
|
msgid "Number of unread messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Other Employee"
|
||||||
|
msgstr "موظف آخر"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_custody_line__quantity
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_return_custody_line__quantity
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
msgid "Quantity"
|
||||||
|
msgstr "الكمية"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Re-fill"
|
||||||
|
msgstr "تحديث عهد الموظف"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__receiving_custody
|
||||||
|
msgid "Receiving Custody"
|
||||||
|
msgstr "تسوية العهده"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_custody_line__receiving_date
|
||||||
|
msgid "Receiving Date"
|
||||||
|
msgstr "تاريخ الاستلام"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.actions.act_window,name:exp_employee_custody.receiving_employee_custody_action
|
||||||
|
#: model:ir.ui.menu,name:exp_employee_custody.receiving_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_tree_view
|
||||||
|
msgid "Receiving Employee Custody"
|
||||||
|
msgstr "تسوية عهد الموظف"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Receiving Info"
|
||||||
|
msgstr "معلومات الارجاع"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_custody_line__receiving_quantity
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
msgid "Receiving Quantity"
|
||||||
|
msgstr "الكمية المرجعة"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model,name:exp_employee_custody.model_hr_custody_receiving
|
||||||
|
msgid "Receiving custody"
|
||||||
|
msgstr "تسوية العهده"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: code:addons/exp_employee_custody/models/receiving_employee_custody.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Receiving quantity can not be greater than original quantity"
|
||||||
|
msgstr "الكمية المرجعة لا يمكن أن تكون أكبر من الكمية المستلمة"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: code:addons/exp_employee_custody/models/receiving_employee_custody.py:0
|
||||||
|
#: code:addons/exp_employee_custody/models/receiving_employee_custody.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Receiving quantity can not be negative value "
|
||||||
|
msgstr "لا يمكن أن تكون كمية الاستلام قيمة سالبة"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: code:addons/exp_employee_custody/models/employee_custody.py:0
|
||||||
|
#: code:addons/exp_employee_custody/models/receiving_employee_custody.py:0
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
#, python-format
|
||||||
|
msgid "Refuse"
|
||||||
|
msgstr "رفض"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__activity_user_id
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__activity_user_id
|
||||||
|
msgid "Responsible User"
|
||||||
|
msgstr "المستخدم المسؤول"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
msgid "Rest To Draft"
|
||||||
|
msgstr "إرجاع لمبدئي"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__return_custody_line_ids
|
||||||
|
msgid "Return Custody Line"
|
||||||
|
msgstr "عهد الموظف المرجعة"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: code:addons/exp_employee_custody/models/employee_custody.py:0
|
||||||
|
#: code:addons/exp_employee_custody/models/receiving_employee_custody.py:0
|
||||||
|
#: model:ir.model.fields.selection,name:exp_employee_custody.selection__custom_employee_custody__state__done
|
||||||
|
#: model:ir.model.fields.selection,name:exp_employee_custody.selection__hr_custody_receiving__state__done
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
#, python-format
|
||||||
|
msgid "Return Done"
|
||||||
|
msgstr "تم ارجاع العهده"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Return Lines"
|
||||||
|
msgstr "عناصر العهد المرجعة"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__message_has_sms_error
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__message_has_sms_error
|
||||||
|
msgid "SMS Delivery error"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__salary_rule_id
|
||||||
|
msgid "Salary Rule"
|
||||||
|
msgstr "قاعده الراتب"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__salary_rule_flag
|
||||||
|
msgid "Salary Rule Flag"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Salary rule"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Salary rule flag"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Save contract advantage line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_custody_line__serial
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_employee_return_custody_line__serial
|
||||||
|
msgid "Serial"
|
||||||
|
msgstr "متسلسل"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Set to draft"
|
||||||
|
msgstr "إرجاع لمبدئي"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__state
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__state
|
||||||
|
msgid "State"
|
||||||
|
msgstr "الحالة"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Statement of Custody"
|
||||||
|
msgstr "العهد المرجعة"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_tree_view
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_tree_view
|
||||||
|
msgid "Status"
|
||||||
|
msgstr "الحالة"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_custom_employee_custody__activity_state
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_hr_custody_receiving__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 ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr "إرسال"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_custom_employee_custody__activity_exception_decoration
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_hr_custody_receiving__activity_exception_decoration
|
||||||
|
msgid "Type of the exception activity on record."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__message_unread
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__message_unread
|
||||||
|
msgid "Unread Messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__message_unread_counter
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__message_unread_counter
|
||||||
|
msgid "Unread Messages Counter"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: code:addons/exp_employee_custody/models/employee_custody.py:0
|
||||||
|
#: code:addons/exp_employee_custody/models/receiving_employee_custody.py:0
|
||||||
|
#: model:ir.model.fields.selection,name:exp_employee_custody.selection__custom_employee_custody__state__approve
|
||||||
|
#: model:ir.model.fields.selection,name:exp_employee_custody.selection__hr_custody_receiving__state__approve
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
#, python-format
|
||||||
|
msgid "Warehouse Keeper"
|
||||||
|
msgstr "إعتماد مسؤول المخزن"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "Warehouse keeper"
|
||||||
|
msgstr "إعتماد مسؤول المخزن"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_custom_employee_custody__website_message_ids
|
||||||
|
#: model:ir.model.fields,field_description:exp_employee_custody.field_hr_custody_receiving__website_message_ids
|
||||||
|
msgid "Website Messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_custom_employee_custody__website_message_ids
|
||||||
|
#: model:ir.model.fields,help:exp_employee_custody.field_hr_custody_receiving__website_message_ids
|
||||||
|
msgid "Website communication history"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: code:addons/exp_employee_custody/models/employee_custody.py:0
|
||||||
|
#: code:addons/exp_employee_custody/models/receiving_employee_custody.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid "You can not delete record in state not in draft"
|
||||||
|
msgstr "لا يمكن حذف السجل اذا كان في حالة غير مبدئي"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model,name:exp_employee_custody.model_employee_custody_line
|
||||||
|
msgid "employee.custody.line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model,name:exp_employee_custody.model_employee_return_custody_line
|
||||||
|
msgid "employee.return.custody.line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.receiving_employee_custody_form_view
|
||||||
|
msgid "line"
|
||||||
|
msgstr "بند"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
msgid "receiving_custody"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: code:addons/exp_employee_custody/models/employee_custody.py:0
|
||||||
|
#: code:addons/exp_employee_custody/models/receiving_employee_custody.py:0
|
||||||
|
#: model:ir.model.fields.selection,name:exp_employee_custody.selection__custom_employee_custody__state__submit
|
||||||
|
#: model:ir.model.fields.selection,name:exp_employee_custody.selection__hr_custody_receiving__state__submit
|
||||||
|
#, python-format
|
||||||
|
msgid "send"
|
||||||
|
msgstr "إرسال"
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model_terms:ir.ui.view,arch_db:exp_employee_custody.employee_custody_form_view
|
||||||
|
msgid "submit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields.selection,name:exp_employee_custody.selection__custom_employee_custody__state__direct
|
||||||
|
#: model:ir.model.fields.selection,name:exp_employee_custody.selection__hr_custody_receiving__state__direct
|
||||||
|
msgid "المدير المباشر"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields.selection,name:exp_employee_custody.selection__custom_employee_custody__state__refuse
|
||||||
|
#: model:ir.model.fields.selection,name:exp_employee_custody.selection__hr_custody_receiving__state__refuse
|
||||||
|
msgid "رفض"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: exp_employee_custody
|
||||||
|
#: model:ir.model.fields.selection,name:exp_employee_custody.selection__custom_employee_custody__state__draft
|
||||||
|
#: model:ir.model.fields.selection,name:exp_employee_custody.selection__hr_custody_receiving__state__draft
|
||||||
|
msgid "مسودة"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from . import employee_custody
|
||||||
|
from . import receiving_employee_custody
|
||||||
|
|
@ -0,0 +1,92 @@
|
||||||
|
from odoo import models, fields, api, _, exceptions
|
||||||
|
from odoo import SUPERUSER_ID
|
||||||
|
from odoo.exceptions import ValidationError
|
||||||
|
|
||||||
|
|
||||||
|
# from datetime import datetime , date
|
||||||
|
|
||||||
|
|
||||||
|
class EmployeeCustody(models.Model):
|
||||||
|
_name = 'custom.employee.custody'
|
||||||
|
_rec_name = 'employee_id'
|
||||||
|
_description = 'Employee custody'
|
||||||
|
_inherit = ['mail.thread', 'mail.activity.mixin']
|
||||||
|
|
||||||
|
current_date = fields.Date(default=lambda self: fields.Date.today())
|
||||||
|
from_hr_department = fields.Boolean()
|
||||||
|
employee_no = fields.Char(related="employee_id.emp_no", readonly=True)
|
||||||
|
note = fields.Text()
|
||||||
|
state = fields.Selection(selection=[
|
||||||
|
("draft", _("Draft")),
|
||||||
|
("submit", _("send")),
|
||||||
|
("direct", _("Direct Manager")),
|
||||||
|
("admin", _("Human Resources Manager")),
|
||||||
|
("approve", _("Warehouse Keeper")),
|
||||||
|
("done", _("Return Done")),
|
||||||
|
("refuse", _("Refuse"))
|
||||||
|
], default='draft')
|
||||||
|
|
||||||
|
# Relational fields
|
||||||
|
receiving_custody = fields.Many2one('hr.custody.receiving')
|
||||||
|
custody_line_ids = fields.One2many('employee.custody.line', 'employee_custody_line')
|
||||||
|
employee_id = fields.Many2one('hr.employee', 'Employee', default=lambda item: item.get_user_id(),
|
||||||
|
domain=[('state', '=', 'open')])
|
||||||
|
department_id = fields.Many2one(related="employee_id.department_id", readonly=True)
|
||||||
|
job_id = fields.Many2one(related="employee_id.job_id", readonly=True)
|
||||||
|
country_id = fields.Many2one(related="employee_id.country_id", readonly=True)
|
||||||
|
company_id = fields.Many2one(related="employee_id.company_id", store=True)
|
||||||
|
|
||||||
|
def draft(self):
|
||||||
|
self.state = "draft"
|
||||||
|
|
||||||
|
def submit(self):
|
||||||
|
self.state = "submit"
|
||||||
|
|
||||||
|
def direct(self):
|
||||||
|
self.state = "direct"
|
||||||
|
|
||||||
|
def admin(self):
|
||||||
|
self.state = "admin"
|
||||||
|
|
||||||
|
def approve(self):
|
||||||
|
self.state = "approve"
|
||||||
|
|
||||||
|
def done(self):
|
||||||
|
self.state = "done"
|
||||||
|
|
||||||
|
def refuse(self):
|
||||||
|
self.state = "refuse"
|
||||||
|
|
||||||
|
def get_user_id(self):
|
||||||
|
employee_id = self.env['hr.employee'].search([('user_id', '=', self.env.uid), ('state', '=', 'open')], limit=1)
|
||||||
|
if employee_id:
|
||||||
|
return employee_id.id
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def unlink(self):
|
||||||
|
for i in self:
|
||||||
|
if i.state != 'draft':
|
||||||
|
raise ValidationError(_('You can not delete record in state not in draft'))
|
||||||
|
return super(EmployeeCustody, self).unlink()
|
||||||
|
|
||||||
|
|
||||||
|
# EmployeeCustody()
|
||||||
|
|
||||||
|
|
||||||
|
class EmployeeCustodyLine(models.Model):
|
||||||
|
_name = 'employee.custody.line'
|
||||||
|
|
||||||
|
name = fields.Char()
|
||||||
|
serial = fields.Char()
|
||||||
|
quantity = fields.Float()
|
||||||
|
receiving_quantity = fields.Float()
|
||||||
|
note = fields.Char()
|
||||||
|
receiving_date = fields.Date()
|
||||||
|
amount = fields.Float()
|
||||||
|
|
||||||
|
# Relational fields
|
||||||
|
employee_custody_line = fields.Many2one('custom.employee.custody') # Inverse field
|
||||||
|
|
||||||
|
|
||||||
|
# EmployeeCustodyLine()
|
||||||
|
|
@ -0,0 +1,252 @@
|
||||||
|
from odoo import models, fields, api, _, exceptions
|
||||||
|
from odoo import SUPERUSER_ID
|
||||||
|
from datetime import datetime, date
|
||||||
|
import calendar
|
||||||
|
from pprint import pprint
|
||||||
|
from odoo.exceptions import ValidationError
|
||||||
|
|
||||||
|
|
||||||
|
class EmployeeReceiveCustody(models.Model):
|
||||||
|
_name = 'hr.custody.receiving'
|
||||||
|
_inherit = ['mail.thread', 'mail.activity.mixin']
|
||||||
|
_rec_name = 'employee_id'
|
||||||
|
_description = 'Receiving custody'
|
||||||
|
|
||||||
|
current_date = fields.Date(default=lambda self: fields.Date.today())
|
||||||
|
from_hr_department = fields.Boolean()
|
||||||
|
employee_no = fields.Char(related="employee_id.emp_no", readonly=True)
|
||||||
|
note = fields.Text()
|
||||||
|
deduction_amount = fields.Float()
|
||||||
|
salary_rule_flag = fields.Boolean()
|
||||||
|
state = fields.Selection(selection=[
|
||||||
|
("draft", _("Draft")),
|
||||||
|
("submit", _("send")),
|
||||||
|
("direct", _("Direct Manager")),
|
||||||
|
("admin", _("Human Resources Manager")),
|
||||||
|
("approve", _("Warehouse Keeper")),
|
||||||
|
("done", _("Return Done")),
|
||||||
|
("refuse", _("Refuse"))
|
||||||
|
], default='draft')
|
||||||
|
call_compute_function = fields.Char(compute='_get_custody_line_domain')
|
||||||
|
|
||||||
|
# Relational fields
|
||||||
|
department_id = fields.Many2one(related="employee_id.department_id", readonly=True)
|
||||||
|
job_id = fields.Many2one(related="employee_id.job_id", readonly=True)
|
||||||
|
country_id = fields.Many2one(related="employee_id.country_id", readonly=True)
|
||||||
|
return_custody_line_ids = fields.One2many('employee.return.custody.line', 'employee_return_custody_line_id',
|
||||||
|
store=True)
|
||||||
|
employee_id = fields.Many2one('hr.employee', 'Employee', default=lambda item: item.get_user_id())
|
||||||
|
salary_rule_id = fields.Many2one('hr.salary.rule', domain=['|', ('category_id.rule_type', '=', 'deduction'),
|
||||||
|
('category_id.name', '=', 'Deduction')])
|
||||||
|
advantage_line_id = fields.Many2one('contract.advantage') # To save advantage line
|
||||||
|
|
||||||
|
def get_user_id(self):
|
||||||
|
employee_id = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
|
||||||
|
if employee_id:
|
||||||
|
return employee_id.id
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
@api.depends('employee_id')
|
||||||
|
def _get_custody_line_domain(self):
|
||||||
|
for item in self:
|
||||||
|
item.return_custody_line_ids = [(0, 0, val) for val in []]
|
||||||
|
if item.employee_id:
|
||||||
|
employee_custody = self.env['custom.employee.custody'].search(
|
||||||
|
[('employee_id', '=', item.employee_id.id), ('state', 'in', ['approve', 'done'])])
|
||||||
|
items = []
|
||||||
|
for record in employee_custody:
|
||||||
|
if ((item.state == 'done' and record.state == 'done') and (
|
||||||
|
record.receiving_custody.id == item.id)) or record.state == 'approve':
|
||||||
|
for line in record.custody_line_ids:
|
||||||
|
if line.quantity - line.receiving_quantity > 0 and line.amount == 0:
|
||||||
|
items.append({
|
||||||
|
'name': line.name,
|
||||||
|
'serial': line.serial,
|
||||||
|
'employee_return_custody_line_id': item.id,
|
||||||
|
'quantity': line.quantity - line.receiving_quantity,
|
||||||
|
'note': line.note,
|
||||||
|
'custody_line_id': line.id})
|
||||||
|
item.return_custody_line_ids = [(0, 0, val) for val in items]
|
||||||
|
|
||||||
|
item.call_compute_function = ""
|
||||||
|
|
||||||
|
# Re-fill receive custody lines
|
||||||
|
|
||||||
|
def re_fill_receive_custody_lines(self):
|
||||||
|
for item in self:
|
||||||
|
item.return_custody_line_ids = False
|
||||||
|
if item.employee_id:
|
||||||
|
employee_custody = self.env['custom.employee.custody'].search(
|
||||||
|
[('employee_id', '=', item.employee_id.id), ('state', 'in', ['approve', 'done'])])
|
||||||
|
items = []
|
||||||
|
for record in employee_custody:
|
||||||
|
if ((item.state == 'done' and record.state == 'done') and (
|
||||||
|
record.receiving_custody.id == item.id)) or record.state == 'approve':
|
||||||
|
for line in record.custody_line_ids:
|
||||||
|
if line.quantity - line.receiving_quantity > 0 and line.amount == 0:
|
||||||
|
items.append({
|
||||||
|
'name': line.name,
|
||||||
|
'serial': line.serial,
|
||||||
|
'employee_return_custody_line_id': item.id,
|
||||||
|
'quantity': line.quantity - line.receiving_quantity,
|
||||||
|
'note': line.note,
|
||||||
|
'custody_line_id': line.id})
|
||||||
|
item.return_custody_line_ids = [(0, 0, val) for val in items]
|
||||||
|
|
||||||
|
@api.onchange('return_custody_line_ids')
|
||||||
|
def compute_deduction_amount(self):
|
||||||
|
total_amount = 0.0
|
||||||
|
for item in self:
|
||||||
|
item.salary_rule_flag = False
|
||||||
|
for line in item.return_custody_line_ids:
|
||||||
|
total_amount += line.deduction_amount
|
||||||
|
item.deduction_amount = total_amount
|
||||||
|
|
||||||
|
# salary_rule_flag Flag do visible salary rule
|
||||||
|
if item.deduction_amount > 0.0:
|
||||||
|
item.salary_rule_flag = True
|
||||||
|
|
||||||
|
|
||||||
|
def set_to_draft(self):
|
||||||
|
for item in self:
|
||||||
|
if item.employee_id and item.state == 'done':
|
||||||
|
employee_custody = self.env['custom.employee.custody'].search(
|
||||||
|
[('employee_id', '=', item.employee_id.id), ('state', 'in', ['done', 'approve'])])
|
||||||
|
for line in employee_custody:
|
||||||
|
for element in self.return_custody_line_ids:
|
||||||
|
for custody in line.custody_line_ids:
|
||||||
|
if custody.receiving_quantity > 0.0:
|
||||||
|
line.state = 'approve'
|
||||||
|
if element.custody_line_id.id == custody.id:
|
||||||
|
if custody.receiving_quantity - element.quantity >= 0:
|
||||||
|
custody.receiving_quantity = custody.receiving_quantity - element.quantity
|
||||||
|
custody.amount = 0.0
|
||||||
|
else:
|
||||||
|
raise ValidationError(_('Receiving quantity can not be negative value '))
|
||||||
|
|
||||||
|
# Remove contract advantage line when re-draft
|
||||||
|
if item.advantage_line_id:
|
||||||
|
item.advantage_line_id.unlink()
|
||||||
|
|
||||||
|
self.state = 'draft'
|
||||||
|
|
||||||
|
def send(self):
|
||||||
|
self.state = 'submit'
|
||||||
|
|
||||||
|
def dr_manager(self):
|
||||||
|
self.state = 'direct'
|
||||||
|
|
||||||
|
|
||||||
|
def dr_hr_manager(self):
|
||||||
|
self.state = 'admin'
|
||||||
|
|
||||||
|
|
||||||
|
def done(self):
|
||||||
|
for item in self:
|
||||||
|
|
||||||
|
# If return any custody quantity fill it in receiving quantity
|
||||||
|
for line in item.return_custody_line_ids:
|
||||||
|
if (line.custody_line_id.receiving_quantity + line.quantity) > line.custody_line_id.quantity:
|
||||||
|
raise ValidationError(_('Receiving quantity can not be greater than original quantity'))
|
||||||
|
else:
|
||||||
|
line.custody_line_id.receiving_quantity = line.custody_line_id.receiving_quantity + line.quantity
|
||||||
|
line.custody_line_id.amount = line.deduction_amount
|
||||||
|
|
||||||
|
if line.custody_line_id.receiving_quantity < 0.0:
|
||||||
|
raise ValidationError(_('Receiving quantity can not be negative value '))
|
||||||
|
|
||||||
|
if item.employee_id:
|
||||||
|
custody_not_complete = 0.0
|
||||||
|
employee_custody = self.env['custom.employee.custody'].search(
|
||||||
|
[('employee_id', '=', item.employee_id.id), ('state', '=', 'approve')])
|
||||||
|
for record in employee_custody:
|
||||||
|
record.write({
|
||||||
|
'receiving_custody': item.id,
|
||||||
|
})
|
||||||
|
|
||||||
|
# Check all employee custody line are completed the change state to done
|
||||||
|
for record in employee_custody:
|
||||||
|
for line in record.custody_line_ids:
|
||||||
|
if line.receiving_quantity != line.quantity and line.amount == 0.0:
|
||||||
|
custody_not_complete += 1
|
||||||
|
if custody_not_complete == 0:
|
||||||
|
record.state = 'done'
|
||||||
|
|
||||||
|
# Move deduction amount to employee contract advantage lines
|
||||||
|
if item.employee_id.contract_id:
|
||||||
|
if item.deduction_amount and item.salary_rule_id:
|
||||||
|
contract = item.employee_id.contract_id
|
||||||
|
# get start and end date of the current month
|
||||||
|
current_date = date.today()
|
||||||
|
month_start = date(current_date.year, current_date.month, 1)
|
||||||
|
month_end = date(current_date.year, current_date.month, calendar.mdays[current_date.month])
|
||||||
|
|
||||||
|
advantage_line_id = self.env['contract.advantage'].create({
|
||||||
|
'benefits_discounts': item.salary_rule_id.id,
|
||||||
|
'type': 'customize',
|
||||||
|
'date_from': month_start,
|
||||||
|
'date_to': month_end,
|
||||||
|
'amount': item.deduction_amount,
|
||||||
|
'contract_advantage_id': contract.id,
|
||||||
|
})
|
||||||
|
item.advantage_line_id = advantage_line_id.id
|
||||||
|
else:
|
||||||
|
raise ValidationError(_('Employee "%s" has not contract !') % item.employee_id.name)
|
||||||
|
|
||||||
|
item.state = 'done'
|
||||||
|
|
||||||
|
|
||||||
|
def warehouse_keeper(self):
|
||||||
|
self.state = 'approve'
|
||||||
|
|
||||||
|
|
||||||
|
def refuse(self):
|
||||||
|
self.state = 'refuse'
|
||||||
|
|
||||||
|
# Override create function
|
||||||
|
# make sure the one2many return_custody_line_ids save changes when create and updates
|
||||||
|
# @api.model
|
||||||
|
# def create(self , values):
|
||||||
|
# deduction_amount = values.get('return_custody_line_ids')
|
||||||
|
# deduction_amount_list = []
|
||||||
|
# quantity_list = []
|
||||||
|
#
|
||||||
|
# for line in deduction_amount:
|
||||||
|
# deduction_amount_list.append(line[2]['deduction_amount'])
|
||||||
|
# quantity_list.append(line[2]['quantity'])
|
||||||
|
# print(deduction_amount)
|
||||||
|
# print(deduction_amount_list)
|
||||||
|
# res = super(EmployeeReceiveCustody ,self).create(values)
|
||||||
|
#
|
||||||
|
# index = 0
|
||||||
|
# for element in res.return_custody_line_ids:
|
||||||
|
# element.deduction_amount = deduction_amount_list[index]
|
||||||
|
# element.quantity = quantity_list[index]
|
||||||
|
# index +=1
|
||||||
|
#
|
||||||
|
# print(quantity_list)
|
||||||
|
# return res
|
||||||
|
|
||||||
|
# Override unlink function
|
||||||
|
def unlink(self):
|
||||||
|
for i in self:
|
||||||
|
if i.state != 'draft':
|
||||||
|
raise ValidationError(_('You can not delete record in state not in draft'))
|
||||||
|
return super(EmployeeReceiveCustody, self).unlink()
|
||||||
|
|
||||||
|
|
||||||
|
class EmployeeReturnCustodyLine(models.Model):
|
||||||
|
_name = 'employee.return.custody.line'
|
||||||
|
_rec_name = 'name'
|
||||||
|
|
||||||
|
name = fields.Char()
|
||||||
|
serial = fields.Char()
|
||||||
|
quantity = fields.Float()
|
||||||
|
note = fields.Char()
|
||||||
|
deduction_amount = fields.Float()
|
||||||
|
|
||||||
|
# Relational fields
|
||||||
|
employee_return_custody_line_id = fields.Many2one(comodel_name='hr.custody.receiving') # inverse field
|
||||||
|
custody_line_id = fields.Many2one('employee.custody.line') # to save custody_id
|
||||||
|
|
@ -0,0 +1,64 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
<data noupdate="0">
|
||||||
|
|
||||||
|
<record id="employee_custody_rule_comp_rule" model="ir.rule">
|
||||||
|
<field name="name">Employee custody multi company rule</field>
|
||||||
|
<field name="model_id" ref="model_custom_employee_custody"/>
|
||||||
|
<field name="domain_force">['|', ('company_id','=',False), ('company_id', 'in', company_ids)]</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="custom_employee_custody_emp_rule" model="ir.rule">
|
||||||
|
<field name="name">Employee: views custody</field>
|
||||||
|
<field name="model_id" ref="model_custom_employee_custody"/>
|
||||||
|
<field name="domain_force">[('employee_id.user_id','=', user.id)]</field>
|
||||||
|
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="custom_employee_custody_division_mgr_rule" model="ir.rule">
|
||||||
|
<field name="name">Division manager: views custody of its subordinates</field>
|
||||||
|
<field name="model_id" ref="model_custom_employee_custody"/>
|
||||||
|
<field name="domain_force">['|',('employee_id.parent_id.user_id','=', user.id),('employee_id.coach_id.user_id','=', user.id)]</field>
|
||||||
|
<field name="groups"
|
||||||
|
eval="[(4, ref('hr_base.group_department_manager')),(4, ref('hr_base.group_division_manager')),]"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="custom_employee_custody_hr_rule" model="ir.rule">
|
||||||
|
<field name="name">Allow HR : views custody of all employees</field>
|
||||||
|
<field name="model_id" ref="model_custom_employee_custody"/>
|
||||||
|
<field name="domain_force">[(1 ,'=', 1)]</field>
|
||||||
|
<field name="groups" eval="[(4, ref('hr_base.group_executive_manager')),
|
||||||
|
(4, ref('hr_base.group_general_manager')),
|
||||||
|
(4, ref('hr.group_hr_manager')),
|
||||||
|
(4, ref('hr.group_hr_user'))]"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="hr_custody_receiving_emp_rule" model="ir.rule">
|
||||||
|
<field name="name">Employee: views its custody receiving records</field>
|
||||||
|
<field name="model_id" ref="model_hr_custody_receiving"/>
|
||||||
|
<field name="domain_force">[('employee_id.user_id','=', user.id)]</field>
|
||||||
|
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="hr_custody_receiving_division_mgr_rule" model="ir.rule">
|
||||||
|
<field name="name">Division manager: views custody receiving records of its subordinates</field>
|
||||||
|
<field name="model_id" ref="model_hr_custody_receiving"/>
|
||||||
|
<field name="domain_force">['|',('employee_id.parent_id.user_id','=', user.id),('employee_id.coach_id.user_id','=', user.id)]</field>
|
||||||
|
<field name="groups"
|
||||||
|
eval="[(4, ref('hr_base.group_department_manager')),(4, ref('hr_base.group_division_manager')),]"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="hr_custody_receiving_hr_rule" model="ir.rule">
|
||||||
|
<field name="name">Allow HR : views custody receiving records of all employees</field>
|
||||||
|
<field name="model_id" ref="model_hr_custody_receiving"/>
|
||||||
|
<field name="domain_force">[(1 ,'=', 1)]</field>
|
||||||
|
<field name="groups" eval="[(3, ref('hr_base.group_account_manager')),
|
||||||
|
(4, ref('hr_base.group_executive_manager')),
|
||||||
|
(4, ref('hr_base.group_general_manager')),
|
||||||
|
(4, ref('hr.group_hr_manager')),
|
||||||
|
(4, ref('hr.group_hr_user'))]"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
|
||||||
|
</data>
|
||||||
|
</odoo>
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
id,name,model_id:id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
|
||||||
|
access_hr_custody_receiving,access_hr_custody_receiving,exp_employee_custody.model_hr_custody_receiving,base.group_user,1,0,0,0
|
||||||
|
access_hr_custody_receiving_emp,hr.custody.receiving.emp,exp_employee_custody.model_hr_custody_receiving,base.group_user,1,1,1,1
|
||||||
|
access_employee_custody,access_employee_custody,exp_employee_custody.model_custom_employee_custody,base.group_user,1,1,1,1
|
||||||
|
access_employee_custody_line,access_employee_custody_line,exp_employee_custody.model_employee_custody_line,base.group_user,1,1,1,1
|
||||||
|
access_employee_return_custody_emp,Employee.return.custody.line.emp,exp_employee_custody.model_employee_return_custody_line,base.group_user,1,1,1,1
|
||||||
|
|
|
@ -0,0 +1,126 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<odoo>
|
||||||
|
<data>
|
||||||
|
<record model="ir.actions.act_window" id="employee_custody_action">
|
||||||
|
<field name="name">Employee Custody</field>
|
||||||
|
<field name="res_model">custom.employee.custody</field>
|
||||||
|
<field name="view_mode">list,form</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record model="ir.ui.view" id="employee_custody_form_view">
|
||||||
|
<field name="name">Employee Custody</field>
|
||||||
|
<field name="model">custom.employee.custody</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<form>
|
||||||
|
<header>
|
||||||
|
<button name="submit" string="submit" class="oe_highlight" type="object"
|
||||||
|
invisible="state != 'draft'"
|
||||||
|
groups="base.group_user"/>
|
||||||
|
<button name="direct" string="Direct Manager" class="oe_highlight" type="object"
|
||||||
|
invisible="state != 'submit'"
|
||||||
|
groups="hr_base.group_division_manager"/>
|
||||||
|
<button name="refuse" string="Refuse" class="oe_highlight" type="object"
|
||||||
|
invisible="state != 'submit'"
|
||||||
|
groups="hr_base.group_division_manager"/>
|
||||||
|
|
||||||
|
<button name="admin" string="Human Resources Manager" class="oe_highlight" type="object"
|
||||||
|
invisible="state != 'direct'"
|
||||||
|
groups="hr.group_hr_manager"/>
|
||||||
|
<button name="refuse" string="Refuse" class="oe_highlight" type="object"
|
||||||
|
invisible="state != 'direct'"
|
||||||
|
groups="hr.group_hr_manager"/>
|
||||||
|
|
||||||
|
<button name="approve" string="Warehouse Keeper" class="oe_highlight" type="object"
|
||||||
|
invisible="state != 'admin'"
|
||||||
|
groups="hr_base.group_general_manager,hr_base.group_executive_manager"/>
|
||||||
|
<button name="refuse" string="Refuse" class="oe_highlight" type="object"
|
||||||
|
invisible="state != 'admin'"
|
||||||
|
groups="hr_base.group_general_manager,hr_base.group_executive_manager"/>
|
||||||
|
|
||||||
|
<button name="done" string="Return Done" class="oe_highlight" type="object"
|
||||||
|
invisible="state != 'approve'"
|
||||||
|
groups="hr.group_hr_user"/>
|
||||||
|
<button name="refuse" string="Refuse" class="oe_highlight" type="object"
|
||||||
|
invisible="state != 'approve'"
|
||||||
|
groups="hr.group_hr_user"/>
|
||||||
|
|
||||||
|
<button name="draft" string="Rest To Draft" class="oe_highlight" type="object"
|
||||||
|
|
||||||
|
invisible="state != 'done'"
|
||||||
|
|
||||||
|
groups="hr.group_hr_user"/>
|
||||||
|
<button name="draft" string="Rest To Draft" class="oe_highlight" type="object"
|
||||||
|
invisible="state != 'refuse'"
|
||||||
|
|
||||||
|
groups="hr.group_hr_user"/>
|
||||||
|
<field name="state" widget="statusbar"/>
|
||||||
|
</header>
|
||||||
|
<sheet>
|
||||||
|
<group>
|
||||||
|
<group>
|
||||||
|
<field name="current_date" string="Date" required="1"
|
||||||
|
readonly="state != 'draft'"/>
|
||||||
|
<field name="from_hr_department" string="Other Employee"
|
||||||
|
readonly="state != 'draft'"/>
|
||||||
|
<field name="employee_id" string="Employee"
|
||||||
|
readonly="from_hr_department == False"
|
||||||
|
required="True"/>
|
||||||
|
<field name="employee_no" string="Employee Number" readonly="1"/>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<field name="department_id" string="Department" readonly="1"/>
|
||||||
|
<field name="job_id" string="Job Title" readonly="1"/>
|
||||||
|
<field name="country_id" string="Nationality" readonly="1"/>
|
||||||
|
<field name="receiving_custody" string="receiving_custody" invisible="1"/>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
<notebook>
|
||||||
|
<page string="Custody Lines">
|
||||||
|
<field name="custody_line_ids"
|
||||||
|
readonly="state != 'draft'">
|
||||||
|
<list string="Custody Lines" editable="top">
|
||||||
|
<field name="name" required="1" string="Description"/>
|
||||||
|
<field name="serial" string="Identification code" groups="hr.group_hr_user,hr_base.group_general_manager,hr_base.group_executive_manager"/>
|
||||||
|
<field name="quantity" required="1" string="Quantity"/>
|
||||||
|
<field name="receiving_quantity" readonly="1" string="Receiving Quantity"/>
|
||||||
|
<field name="note" string="Notes"/>
|
||||||
|
<field name="receiving_date" string="Date Delivering"/>
|
||||||
|
<field name="amount" string="Amount" readonly="1" groups="hr.group_hr_user,hr_base.group_general_manager,hr_base.group_executive_manager"/>
|
||||||
|
</list>
|
||||||
|
</field>
|
||||||
|
</page>
|
||||||
|
</notebook>
|
||||||
|
<field name="note"/>
|
||||||
|
|
||||||
|
</sheet>
|
||||||
|
|
||||||
|
<!--Discuss widgets for history and communication -->
|
||||||
|
<chatter/>
|
||||||
|
</form>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record model="ir.ui.view" id="employee_custody_tree_view">
|
||||||
|
<field name="name">Employee Custody</field>
|
||||||
|
<field name="model">custom.employee.custody</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<list decoration-danger="state == 'refuse'" decoration-info="state == 'draft'" string="Employee Custody">
|
||||||
|
<field name="current_date" string="Date"/>
|
||||||
|
<field name="employee_id" string="Employee"/>
|
||||||
|
<field name="department_id" string="Department"/>
|
||||||
|
<field name="state" string="Status"/>
|
||||||
|
</list>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<menuitem name="Custody" id="custody_submenu"
|
||||||
|
parent="employee_requests.employee_request_menu_item" sequence="11"/>
|
||||||
|
|
||||||
|
<menuitem name="Employee Custody" id="employee_custody"
|
||||||
|
parent="custody_submenu" action="employee_custody_action"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</data>
|
||||||
|
</odoo>
|
||||||
|
|
@ -0,0 +1,114 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<odoo>
|
||||||
|
<data>
|
||||||
|
<record model="ir.actions.act_window" id="receiving_employee_custody_action">
|
||||||
|
<field name="name">Receiving Employee Custody</field>
|
||||||
|
<field name="res_model">hr.custody.receiving</field>
|
||||||
|
<field name="view_mode">list,form</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record model="ir.ui.view" id="receiving_employee_custody_form_view">
|
||||||
|
<field name="name">Receiving Employee Custody</field>
|
||||||
|
<field name="model">hr.custody.receiving</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<form>
|
||||||
|
<header>
|
||||||
|
<button string="Submit" type="object" name="send" class="oe_highlight" invisible="state != 'draft'"
|
||||||
|
groups="base.group_user"/>
|
||||||
|
<button string="Directed Manager" type="object" name="dr_manager" class="oe_highlight"
|
||||||
|
|
||||||
|
invisible="state != 'submit'"
|
||||||
|
groups="hr_base.group_division_manager"/>
|
||||||
|
<button string="HR Manager" type="object" name="dr_hr_manager" class="oe_highlight"
|
||||||
|
invisible="state != 'direct'"
|
||||||
|
groups="hr.group_hr_user"/>
|
||||||
|
<button string="Warehouse keeper" type="object" name="warehouse_keeper" class="oe_highlight"
|
||||||
|
invisible="state != 'admin'"
|
||||||
|
|
||||||
|
groups="hr_base.group_general_manager,hr_base.group_executive_manager"/>
|
||||||
|
<button string="Return Done" type="object" name="done" class="oe_highlight" invisible="state != 'approve'"
|
||||||
|
groups="hr.group_hr_user"/>
|
||||||
|
<button string="Refuse" type="object" name="refuse" class="oe_highlight"
|
||||||
|
invisible="state in ('draft','done','refuse')"
|
||||||
|
groups="hr_base.group_division_manager,hr.group_hr_user"/>
|
||||||
|
<button name="set_to_draft" string="Set to draft" class="oe_highlight" type="object"
|
||||||
|
invisible="state != 'refuse'"
|
||||||
|
groups="hr.group_hr_user"/>
|
||||||
|
<field name="state" widget="statusbar"/>
|
||||||
|
</header>
|
||||||
|
<sheet>
|
||||||
|
<group>
|
||||||
|
<group string="Employee Info">
|
||||||
|
<field name="from_hr_department" string="Other Employee"
|
||||||
|
readonly="state != 'draft'"/>
|
||||||
|
<field name="employee_id" string="Employee"
|
||||||
|
readonly="from_hr_department == False"
|
||||||
|
required="from_hr_department == True"
|
||||||
|
/>
|
||||||
|
<field name="employee_no" string="Employee Number" readonly="1"/>
|
||||||
|
<field name="job_id" string="Job Title" readonly="1"/>
|
||||||
|
<field name="department_id" string="Department" readonly="1"/>
|
||||||
|
<field name="country_id" string="Nationality" readonly="1"/>
|
||||||
|
</group>
|
||||||
|
<group string="Receiving Info">
|
||||||
|
<field name="current_date" string="Date" required="1"
|
||||||
|
readonly="state != 'draft'"/>
|
||||||
|
<field name="deduction_amount" string="Deduction Amount"
|
||||||
|
readonly="1" force_save="1"/>
|
||||||
|
<field name="salary_rule_id" string="Salary rule"
|
||||||
|
invisible="salary_rule_flag == False"
|
||||||
|
readonly="state != 'draft'"
|
||||||
|
required="salary_rule_flag == True"
|
||||||
|
/>
|
||||||
|
<field name="salary_rule_flag" string="Salary rule flag" invisible="1"/>
|
||||||
|
<field name="advantage_line_id" string="Save contract advantage line" invisible="1"/>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<button name="re_fill_receive_custody_lines" string="Re-fill" icon="fa-cogs"
|
||||||
|
type="object" readonly="state != 'draft'"/>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<separator string="Return Lines"/>
|
||||||
|
<field name="return_custody_line_ids" readonly="state != 'draft'">
|
||||||
|
<list editable="top">
|
||||||
|
<field name="name" string="Statement of Custody" readonly="1" force_save="1" store="1"/>
|
||||||
|
<field name="serial" readonly="1"/>
|
||||||
|
<field name="quantity" force_save="1"/>
|
||||||
|
<field name="note" readonly="1"/>
|
||||||
|
<field name="deduction_amount" force_save="1" store="1"/>
|
||||||
|
<field name="custody_line_id" string="line" invisible="1"/> <!--to save custody id-->
|
||||||
|
</list>
|
||||||
|
</field>
|
||||||
|
<field name="note" string="Note" readonly="state != 'draft'"
|
||||||
|
placeholder="Add Comments here ...."/>
|
||||||
|
<group>
|
||||||
|
<field name="call_compute_function" string="Invisible field to Call compute function"
|
||||||
|
invisible="1"/>
|
||||||
|
</group>
|
||||||
|
</sheet>
|
||||||
|
|
||||||
|
<chatter/>
|
||||||
|
</form>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record model="ir.ui.view" id="receiving_employee_custody_tree_view">
|
||||||
|
<field name="name">Receiving Employee Custody</field>
|
||||||
|
<field name="model">hr.custody.receiving</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<list decoration-danger="state == 'refuse'" decoration-info="state == 'draft'" string="Receiving Employee Custody">
|
||||||
|
<field name="current_date" string="Date"/>
|
||||||
|
<field name="employee_id" string="Employee"/>
|
||||||
|
<field name="department_id" string="Department"/>
|
||||||
|
<!--field name="job_id" string="Job Title"/-->
|
||||||
|
<field name="deduction_amount"/>
|
||||||
|
<field name="state" string="Status"/>
|
||||||
|
</list>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<menuitem name="Receiving Employee Custody" id="receiving_employee_custody"
|
||||||
|
parent="custody_submenu" action="receiving_employee_custody_action"/>
|
||||||
|
</data>
|
||||||
|
</odoo>
|
||||||
Loading…
Reference in New Issue