fix
This commit is contained in:
parent
67581ffc22
commit
eb5af2188a
|
|
@ -1,17 +1,16 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'name': 'Hr Holiday Permission',
|
||||
'name': 'HR Holiday Permission',
|
||||
'version': '1.0',
|
||||
'summary': """Hr Holiday Permission""",
|
||||
'description': """Hr Holiday Permission.
|
||||
'summary': """HR Holiday Permission""",
|
||||
'description': """HR Holiday Permission.
|
||||
This module gives Feature of deduct Permissions from holidays""",
|
||||
'category': 'Odex25-HR/Odex25-HR',
|
||||
'category': 'HR-Odex',
|
||||
'author': 'Expert Co. Ltd.',
|
||||
'website': 'http://exp-sa.com',
|
||||
'depends': ['hr_holidays_public', 'employee_requests'],
|
||||
'license': 'LGPL-3',
|
||||
'data': [
|
||||
'views/resource_view.xml',
|
||||
'views/permission_view.xml',
|
||||
'views/hr_holiday_view.xml',
|
||||
],
|
||||
|
|
|
|||
|
|
@ -17,8 +17,9 @@ msgstr ""
|
|||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_hr_personal_permission__deduct_from_holiday
|
||||
msgid "Deduct From Holiday"
|
||||
msgstr "الخصم من رصيد الاجازة"
|
||||
#: model_terms:ir.ui.view,arch_db:hr_permission_holidays.hr_view_tree_inherit_permissions_holiday
|
||||
msgid "Half Day Off"
|
||||
msgstr "نصف يوم من الإجازة السنوية"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_hr_holidays__display_name
|
||||
|
|
@ -71,8 +72,8 @@ msgstr "رقم الإذن"
|
|||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_resource_calendar__holiday_permission_deducted
|
||||
msgid "Permission to Deduct From holiday"
|
||||
msgstr "خصم الاذن من الاجازة"
|
||||
msgid "Number Permission Holiday"
|
||||
msgstr "عدد إستئذانات الاجازة"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_hr_holidays__permission_ids
|
||||
|
|
@ -81,8 +82,8 @@ msgstr "الاذونات"
|
|||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_hr_holidays_status__permission_annual_holiday
|
||||
msgid "Permissions Deduct From Holiday"
|
||||
msgstr "خصم الإذن من الاجازة السنوية"
|
||||
msgid "Permissions Half Day Off"
|
||||
msgstr "نصف يوم من الإجازة السنوية"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model,name:hr_permission_holidays.model_resource_calendar
|
||||
|
|
@ -95,31 +96,35 @@ msgstr "فترة عمل المورد"
|
|||
msgid "Sorry You Have No annual Leave To Deduct Permission"
|
||||
msgstr "عذرا ليس هنالك اجازة سنوية لخصم الاذن"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:0
|
||||
#, python-format
|
||||
msgid "Sorry You Have Used All Your Permission In This Day you have one permission per a Day"
|
||||
msgstr "لايمكن طلب اذن مره أخرى في نفس اليوم"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:0
|
||||
#, python-format
|
||||
msgid "Sorry You Have Used All Your Permission Hours In This Month"
|
||||
msgstr "تم استخدام كل الاذونات المسموح بها خلال هذا الشهر"
|
||||
msgstr "تم استخدام كل ساعات الإستئذانات المسموح بها خلال هذا الشهر"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Sorry You Have Used All Your Permission In This Day you have one permission "
|
||||
"per a Day"
|
||||
msgstr "عذرًا ، لقد استخدمت كل الأذونات الخاصة بك في هذا اليوم ، لديك إذن واحد لكل يوم"
|
||||
msgid "This Duration Must Be Greater Than Zero"
|
||||
msgstr "فترة الاذن يجب ان تكون اكبر من الصفر"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:0
|
||||
#, python-format
|
||||
msgid "Sorry You Have Used All Your Permission To Deduct From Holidays"
|
||||
msgid "Sorry You Have Used All Your Permission To Half Day Off"
|
||||
msgstr "تم استخدام كل الاذونات المسموح بخصمها من الاجازة السنوية!"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:0
|
||||
#, python-format
|
||||
msgid "Sorry You Need To use Basic Permission Before Use Holidays"
|
||||
msgstr "عذرا لايمكنك طلب خصم من اجازة وانت ﻻتمتلك رصيد إذن غير مستخدم"
|
||||
msgstr "عذرا لايمكنك طلب خصم من اجازة وانت لديك رصيد إذن غير مستخدم "
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:0
|
||||
|
|
@ -128,11 +133,6 @@ msgstr "عذرا لايمكنك طلب خصم من اجازة وانت ﻻتمت
|
|||
msgid "Sorry you Have No leave balance"
|
||||
msgstr "لايوجد رصيد اجازة سنوية للخصم منه"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,help:hr_permission_holidays.field_resource_calendar__holiday_permission_deducted
|
||||
msgid "The Number of permission deducted From The Annual Holiday balance"
|
||||
msgstr "عدد الإذن المقتطع من رصيد الإجازة السنوية"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,help:hr_permission_holidays.field_hr_personal_permission__permission_number
|
||||
msgid "The Remaining Number of Hours permission This Month"
|
||||
|
|
@ -141,30 +141,50 @@ msgstr "إذن العدد المتبقي من الساعات هذا الشهر"
|
|||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:0
|
||||
#, python-format
|
||||
msgid "This Duration Must Be Greater Than Zero"
|
||||
msgstr "يجب أن تكون هذه المدة أكبر من الصفر"
|
||||
msgid "This Duration must be Greater than or equal to the Permission Limit"
|
||||
msgstr "فترة الاذن يجب ان تكون اكبر من او يساوي فترة الإستئذانات المسموح بها"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:0
|
||||
#, python-format
|
||||
msgid "This Duration must be less than or equal to the Permission Limit"
|
||||
msgstr "يجب أن تكون هذه المدة أقل من أو تساوي حد الإذن"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This Duration not Allowed it must be Less Than or equal Permission Hours in "
|
||||
"Month"
|
||||
msgstr "هذه المدة غير مسموح بها يجب أن تكون أقل من أو تساوي ساعات الإذن في الشهر"
|
||||
msgid "This Duration not Allowed it must be Less Than or equal Permission Hours in Month"
|
||||
msgstr "فترة الإذن يجب ان تكون اقل من او يساوي فترة الإستئذانات المسموح بها خلال الشهر"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:0
|
||||
#, python-format
|
||||
msgid "You can not Request Permission The Employee have Not First Hiring Date"
|
||||
msgstr "لا يمكنك طلب الإذن ليس للموظف تاريخ التعيين الأول"
|
||||
msgstr "لا يمكنك طلب إستئذان لموظف وليس لديه تاريخ مباشرة عمل"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model,name:hr_permission_holidays.model_hr_personal_permission
|
||||
msgid "hr.personal.permission"
|
||||
msgstr ""
|
||||
msgstr "الإستئذانات"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:0
|
||||
#, python-format
|
||||
msgid "The Number Of Hours should Be %s Hours For the Half Day Leave"
|
||||
msgstr "يجب ان تكون ساعات طلب نصف يوم من الاجازة السنوية %s ساعات"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:0
|
||||
#, python-format
|
||||
msgid "Sorry, Must Be a Half Day Period Within Working Hours"
|
||||
msgstr "يجب ان تكون فترة نصف يوم خلال ساعات العمل"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_hr_personal_permission_type__half_holiday
|
||||
#: model_terms:ir.ui.view,arch_db:hr_permission_holidays.hr_personal_permission_type_view_form_inherit
|
||||
msgid "Half Holiday"
|
||||
msgstr "نصف إجازة"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,help:hr_permission_holidays.field_hr_personal_permission_type__half_holiday
|
||||
msgid "The permission deducted From The Annual Holiday balance"
|
||||
msgstr "يتم خصم نص يوم من رصيد الاجازة السنوية"
|
||||
|
||||
#. module: employee_requests
|
||||
#: model:ir.model.fields,field_description:employee_requests.field_hr_personal_permission_type__monthly_hours
|
||||
msgid "Monthly Hours"
|
||||
msgstr "ساعات/مرات شهرية"
|
||||
|
|
|
|||
|
|
@ -1,112 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * hr_permission_holidays
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 11.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-04-20 14:09+0000\n"
|
||||
"PO-Revision-Date: 2020-04-20 14:09+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_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_hr_personal_permission_deduct_from_holiday
|
||||
msgid "Deduct From Holiday"
|
||||
msgstr "الخصم من رصيد الاجازة"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_hr_personal_permission_holiday
|
||||
msgid "Holiday"
|
||||
msgstr "يوم الاجازة"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model,name:hr_permission_holidays.model_hr_holidays
|
||||
msgid "Leave"
|
||||
msgstr "الاجازات"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model,name:hr_permission_holidays.model_hr_holidays_status
|
||||
msgid "Leave Type"
|
||||
msgstr "نوع الإجازة"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_hr_personal_permission_permission_amount
|
||||
msgid "Permission Amount"
|
||||
msgstr "مقدار الاذن"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_resource_calendar_holiday_permission_deducted
|
||||
msgid "Permission to Deduct From holiday"
|
||||
msgstr "خصم الاذن من الاجازة"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_hr_holidays_permission_ids
|
||||
msgid "Permissions"
|
||||
msgstr "الاذونات"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_hr_holidays_status_permission_annual_holiday
|
||||
msgid "Permissions Deduct From Holiday"
|
||||
msgstr "خصم الإذن من الاجازة السنوية"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model,name:hr_permission_holidays.model_resource_calendar
|
||||
msgid "Resource Calendar"
|
||||
msgstr "تقويم المورد"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:68
|
||||
#, python-format
|
||||
msgid "Sorry You Have No annual Leave To Deduct Permission"
|
||||
msgstr "عذرا ليس هنالك اجازة سنوية لخصم الاذن"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:108
|
||||
#, python-format
|
||||
msgid "Sorry You Have Used All Your Permission In This Day you have one permission per a Day"
|
||||
msgstr "لايمكن طلب اذن مره اخرى في نفس اليوم"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:47
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:66
|
||||
#, python-format
|
||||
msgid "Sorry You Have Used All Your Permission In This Month"
|
||||
msgstr "تم استخدام كل الاذونات المسموح بها خلال هذا الشهر!"
|
||||
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:47
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:66
|
||||
#, python-format
|
||||
msgid "Sorry You Have Used All Your Permission To Deduct From Holidays"
|
||||
msgstr "تم استخدام كل الاذونات المسموح بخصمها من الاجازة السنوية!"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:70
|
||||
#, python-format
|
||||
msgid "Sorry You Need To use Basic Permission Before Use Holidays"
|
||||
msgstr "عذرا لايمكنك طلب خصم من اجازة وانت ﻻتمتلك رصيد إذن غير مستخدم "
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:64
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:78
|
||||
#, python-format
|
||||
msgid "Sorry you Have No leave balance"
|
||||
msgstr "لايوجد رصيد اجازة سنوية للخصم منه"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:116
|
||||
#, python-format
|
||||
msgid "This Duration not Allowed it must be Less Than or equal to Balance And Not Equal Zero"
|
||||
msgstr "فترة الاذن يجب ان تكون اكبر من الصفر واقل من او يساوي فترة الاذن المسموح بها"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model,name:hr_permission_holidays.model_hr_personal_permission
|
||||
msgid "hr.personal.permission"
|
||||
msgstr "اذن الخروج"
|
||||
|
|
@ -1,129 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * hr_permission_holidays
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 11.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-04-20 14:09+0000\n"
|
||||
"PO-Revision-Date: 2020-04-20 14:09+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_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_hr_personal_permission_deduct_from_holiday
|
||||
msgid "Deduct From Holiday"
|
||||
msgstr "الخصم من رصيد الاجازة"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_hr_personal_permission_holiday
|
||||
msgid "Holiday"
|
||||
msgstr "يوم الاجازة"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model,name:hr_permission_holidays.model_hr_holidays
|
||||
msgid "Leave"
|
||||
msgstr "الاجازات"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model,name:hr_permission_holidays.model_hr_holidays_status
|
||||
msgid "Leave Type"
|
||||
msgstr "نوع الإجازة"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_hr_personal_permission_permission_amount
|
||||
msgid "Permission Amount"
|
||||
msgstr "مقدار الاذن"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_resource_calendar_holiday_permission_deducted
|
||||
msgid "Permission to Deduct From holiday"
|
||||
msgstr "خصم الاذن من الاجازة"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_hr_holidays_permission_ids
|
||||
msgid "Permissions"
|
||||
msgstr "الاذونات"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model.fields,field_description:hr_permission_holidays.field_hr_holidays_status_permission_annual_holiday
|
||||
msgid "Permissions Deduct From Holiday"
|
||||
msgstr "خصم الإذن من الاجازة السنوية"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model,name:hr_permission_holidays.model_resource_calendar
|
||||
msgid "Resource Calendar"
|
||||
msgstr "تقويم المورد"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:68
|
||||
#, python-format
|
||||
msgid "Sorry You Have No annual Leave To Deduct Permission"
|
||||
msgstr "عذرا ليس هنالك اجازة سنوية لخصم الاذن"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:108
|
||||
#, python-format
|
||||
msgid "Sorry You Have Used All Your Permission In This Day you have one permission per a Day"
|
||||
msgstr "لايمكن طلب اذن مره أخرى في نفس اليوم"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:47
|
||||
#, python-format
|
||||
msgid "Sorry You Have Used All Your Permission In This Month"
|
||||
msgstr "تم استخدام كل الاذونات المسموح بها خلال هذا الشهر!"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:47
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:66
|
||||
#, python-format
|
||||
msgid "Sorry You Have Used All Your Permission To Deduct From Holidays"
|
||||
msgstr "تم استخدام كل الاذونات المسموح بخصمها من الاجازة السنوية!"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:70
|
||||
#, python-format
|
||||
msgid "Sorry You Need To use Basic Permission Before Use Holidays"
|
||||
msgstr "عذرا لايمكنك طلب خصم من اجازة وانت لديك رصيد إذن غير مستخدم "
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:64
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:78
|
||||
#, python-format
|
||||
msgid "Sorry you Have No leave balance"
|
||||
msgstr "لايوجد رصيد اجازة سنوية للخصم منه"
|
||||
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:49
|
||||
#, python-format
|
||||
msgid "Sorry You Have Used All Your Permission Hours In This Month"
|
||||
msgstr "تم استخدام كل ساعات الإذن المسموح بها خلال هذا الشهر"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:116
|
||||
#, python-format
|
||||
msgid "This Duration Must Be Greater Than Zero"
|
||||
msgstr "فترة الاذن يجب ان تكون اكبر من الصفر"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:117
|
||||
#, python-format
|
||||
msgid "This Duration must be less than or equal to the Permission Limit"
|
||||
msgstr "فترة الاذن يجب ان تكون اقل من او يساوي فترة الاذن المسموح بها"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: code:addons/hr_permission_holidays/models/permission.py:118
|
||||
#, python-format
|
||||
msgid "This Duration not Allowed it must be Less Than or equal Permission Hours in Month"
|
||||
msgstr "فترة الإذن يجب ان تكون اقل من او يساوي فترة الاذن المسموح بها خلال الشهر"
|
||||
|
||||
#. module: hr_permission_holidays
|
||||
#: model:ir.model,name:hr_permission_holidays.model_hr_personal_permission
|
||||
msgid "hr.personal.permission"
|
||||
msgstr "اذن الخروج"
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import resource
|
||||
from . import permission
|
||||
from . import hr_holiday
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ from odoo import fields, models
|
|||
class HrHolidaysStatus(models.Model):
|
||||
_inherit = 'hr.holidays.status'
|
||||
|
||||
permission_annual_holiday = fields.Boolean(string="Permissions Deduct From Holiday")
|
||||
permission_annual_holiday = fields.Boolean(string="Permissions Half Day Off")
|
||||
|
||||
|
||||
class HRHolidays(models.Model):
|
||||
|
|
|
|||
|
|
@ -1,19 +1,28 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from odoo import models, fields, api, _
|
||||
from datetime import datetime
|
||||
from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT
|
||||
from odoo import models, fields, api,_
|
||||
from datetime import datetime,timedelta
|
||||
import time
|
||||
from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT,DEFAULT_SERVER_DATE_FORMAT
|
||||
from odoo.exceptions import ValidationError
|
||||
|
||||
|
||||
class HrPersonalPermission(models.Model):
|
||||
_inherit = 'hr.personal.permission'
|
||||
|
||||
deduct_from_holiday = fields.Boolean(string="Deduct From Holiday")
|
||||
holiday = fields.Many2one('hr.holidays', string="Holiday")
|
||||
deduct_from_holiday = fields.Boolean(related='permission_type_id.half_holiday', string="Half Day Off")
|
||||
holiday = fields.Many2one('hr.holidays',string="Holiday")
|
||||
permission_amount = fields.Float(string="Permission Amount")
|
||||
permission_number = fields.Float(compute="get_permission_number", store=True)
|
||||
|
||||
|
||||
def send(self):
|
||||
res = super(HrPersonalPermission,self).send()
|
||||
self.get_permission_number()
|
||||
#self._get_date_constrains(employee_permissions)
|
||||
self.permission_number_decrement()
|
||||
return res
|
||||
|
||||
def get_date_to_constrains_value(self):
|
||||
current_date = datetime.strptime(str(self.date_to), DEFAULT_SERVER_DATETIME_FORMAT)
|
||||
current_month = datetime.strptime(str(self.date_to), DEFAULT_SERVER_DATETIME_FORMAT).month
|
||||
|
|
@ -24,7 +33,7 @@ class HrPersonalPermission(models.Model):
|
|||
employee_permissions = self.search([
|
||||
('employee_id', '=', self.employee_id.id),
|
||||
('permission_type_id', '=', self.permission_type_id.id),
|
||||
('state', '=', 'approve'),
|
||||
('state', 'in', ('send', 'approve')),
|
||||
('date_from', '>=', date_from),
|
||||
('date_to', '<=', date_to)])
|
||||
return date_from, date_to, employee_permissions
|
||||
|
|
@ -37,8 +46,9 @@ class HrPersonalPermission(models.Model):
|
|||
basic = employee_permissions.filtered(lambda r: r.deduct_from_holiday == False)
|
||||
permission_type_id = rec.permission_type_id
|
||||
all_perission = 0.0
|
||||
for item in employee_permissions:
|
||||
all_perission += item.duration
|
||||
for item in employee_permissions.filtered(lambda r: r.id != self.id):
|
||||
if item.deduct_from_holiday == False:
|
||||
all_perission += item.duration
|
||||
|
||||
if permission_type_id.monthly_hours - all_perission > 0:
|
||||
rec.permission_number = round(permission_type_id.monthly_hours - all_perission, 2)
|
||||
|
|
@ -51,38 +61,47 @@ class HrPersonalPermission(models.Model):
|
|||
raise ValidationError(_('You can not Request Permission The Employee have Not First Hiring Date'))
|
||||
if rec.date_to:
|
||||
rec.check_holiday_mission()
|
||||
|
||||
date_from, date_to, employee_permissions = rec.get_date_to_constrains_value()
|
||||
calender = rec.employee_id.resource_calendar_id
|
||||
day_hours = calender.work_hour
|
||||
rec.permission_amount = rec.duration / day_hours
|
||||
basic = employee_permissions.filtered(lambda r: r.deduct_from_holiday == False)
|
||||
rec.permission_amount = rec.duration/day_hours
|
||||
basic = employee_permissions.filtered(lambda r:r.deduct_from_holiday == False and r.id != self.id)
|
||||
|
||||
employee_permissions_holiday = employee_permissions.filtered(lambda r: r.deduct_from_holiday == True)
|
||||
for item in employee_permissions.filtered(lambda r:r.id != self.id):
|
||||
|
||||
if item.date_to and rec.date_to:
|
||||
permission_date1 = datetime.strptime(str(item.date_to),DEFAULT_SERVER_DATETIME_FORMAT).date()
|
||||
date_to_value1 = datetime.strptime(str(rec.date_to), DEFAULT_SERVER_DATETIME_FORMAT).date()
|
||||
if permission_date1 == date_to_value1:
|
||||
raise ValidationError(_('Sorry You Have Used All Your Permission In This Day you have one permission per a Day'))
|
||||
|
||||
employee_permissions_holiday = employee_permissions.filtered(lambda r: r.deduct_from_holiday == True and r.id != self.id)
|
||||
if rec.deduct_from_holiday:
|
||||
if rec.permission_number <= 0.0:
|
||||
if rec.permission_number >= 0.0:
|
||||
rec._get_date_constrains(employee_permissions_holiday)
|
||||
annual = rec.env['hr.holidays.status'].search(
|
||||
[('leave_type', '=', 'annual'), ('permission_annual_holiday', '=', True)])
|
||||
annual = rec.env['hr.holidays.status'].search([('leave_type', '=', 'annual')
|
||||
,('permission_annual_holiday', '=',True),])
|
||||
for itm in annual:
|
||||
if rec.employee_id and itm:
|
||||
holiday = rec.env['hr.holidays'].search(
|
||||
[('employee_id', '=', rec.employee_id.id), ('type', '=', 'add'),
|
||||
('holiday_status_id', '=', itm.id),
|
||||
('check_allocation_view', '=', 'balance')
|
||||
], order='id desc', limit=1)
|
||||
if holiday:
|
||||
holiday = rec.env['hr.holidays'].search([('employee_id', '=', rec.employee_id.id),('type', '=', 'add'),
|
||||
('holiday_status_id', '=', itm.id),
|
||||
('check_allocation_view', '=', 'balance')
|
||||
], order='id desc', limit=1)
|
||||
if holiday:
|
||||
rec.holiday = holiday.id
|
||||
balance = holiday.remaining_leaves or 0.0
|
||||
if len(employee_permissions_holiday) < calender.holiday_permission_deducted:
|
||||
if len(employee_permissions_holiday) < rec.permission_type_id.monthly_hours:
|
||||
if balance < rec.permission_amount:
|
||||
raise ValidationError(_('Sorry you Have No leave balance'))
|
||||
else:
|
||||
raise ValidationError(
|
||||
_('Sorry You Have Used All Your Permission To Deduct From Holidays'))
|
||||
raise ValidationError(_
|
||||
('Sorry You Have Used All Your Permission To Half Day Off'))
|
||||
|
||||
else:
|
||||
raise ValidationError(_('Sorry You Have No annual Leave To Deduct Permission'))
|
||||
else:
|
||||
raise ValidationError(_('Sorry You Need To use Basic Permission Before Use Holidays'))
|
||||
#else:
|
||||
#raise ValidationError(_('Sorry You Need To use Basic Permission Before Use Holidays'))
|
||||
else:
|
||||
rec._get_date_constrains(basic)
|
||||
|
||||
|
|
@ -100,25 +119,26 @@ class HrPersonalPermission(models.Model):
|
|||
self.holiday.leaves_taken -= self.permission_amount
|
||||
|
||||
def approve(self):
|
||||
res = super(HrPersonalPermission, self).approve()
|
||||
res = super(HrPersonalPermission,self).approve()
|
||||
self.leave_balance_process()
|
||||
self.get_permission_number()
|
||||
return res
|
||||
|
||||
def draft_state(self):
|
||||
if self.state == 'approve' and self.deduct_from_holiday:
|
||||
self.cancel_leave_balance_process()
|
||||
res = super(HrPersonalPermission, self).draft_state()
|
||||
res = super(HrPersonalPermission,self).draft_state()
|
||||
return res
|
||||
|
||||
def _get_date_constrains(self, employee_permissions):
|
||||
for item in self:
|
||||
number_of_per = item.permission_type_id.monthly_hours
|
||||
if employee_permissions:
|
||||
# employee_permissions_to = employee_permissions.mapped('date_to')
|
||||
if employee_permissions.filtered(lambda r: r.id != self.id):
|
||||
employee_permissions_to = employee_permissions.mapped('date_to')
|
||||
date_to_value = datetime.strptime(str(item.date_to), DEFAULT_SERVER_DATETIME_FORMAT).date()
|
||||
for employee_permission in employee_permissions:
|
||||
permission_date = datetime.strptime(str(employee_permission.date_to), DEFAULT_SERVER_DATETIME_FORMAT).date()
|
||||
if permission_date == date_to_value and item.id != employee_permission.id:
|
||||
for emp_date in employee_permissions_to:
|
||||
permission_date = datetime.strptime(str(emp_date), DEFAULT_SERVER_DATETIME_FORMAT).date()
|
||||
if permission_date == date_to_value:
|
||||
raise ValidationError(
|
||||
_('Sorry You Have Used All Your Permission In This Day you have one permission per a Day'))
|
||||
start_date_value = datetime.strptime(str(item.date_from), "%Y-%m-%d %H:%M:%S")
|
||||
|
|
@ -127,19 +147,48 @@ class HrPersonalPermission(models.Model):
|
|||
days = (end_date - start_date_value).days
|
||||
seconds_diff = (end_date - start_date_value).seconds
|
||||
item.duration = (days * 24) + seconds_diff / 3600
|
||||
all_perission = 0
|
||||
for rec in employee_permissions:
|
||||
all_perission += rec.duration
|
||||
|
||||
if number_of_per < all_perission:
|
||||
all_perission=0
|
||||
for rec in employee_permissions:
|
||||
if rec.deduct_from_holiday == False:
|
||||
all_perission += rec.duration
|
||||
|
||||
if number_of_per < all_perission :
|
||||
raise ValidationError(_('Sorry You Have Used All Your Permission Hours In This Month'))
|
||||
|
||||
if item.duration <= 0.0:
|
||||
raise ValidationError(_('This Duration Must Be Greater Than Zero'))
|
||||
if not item.deduct_from_holiday:
|
||||
if item.duration < item.balance and item.duration < item.permission_number:
|
||||
raise ValidationError(_('This Duration must be Greater than or equal to the Permission Limit'))
|
||||
|
||||
if item.duration < item.balance:
|
||||
raise ValidationError(_('This Duration must be less than or equal to the Permission Limit'))
|
||||
if item.duration > item.permission_number and item.deduct_from_holiday== False:
|
||||
raise ValidationError(_('This Duration not Allowed it must be Less Than or equal Permission Hours in Month'))
|
||||
|
||||
if item.duration > item.permission_number and not item.deduct_from_holiday:
|
||||
raise ValidationError(
|
||||
_('This Duration not Allowed it must be Less Than or equal Permission Hours in Month'))
|
||||
#################### Half day holiday 4 hours ##########
|
||||
if item.deduct_from_holiday:
|
||||
date_from = datetime.strptime(str(item.date_from), "%Y-%m-%d %H:%M:%S")
|
||||
date_to = datetime.strptime(str(item.date_to), "%Y-%m-%d %H:%M:%S")
|
||||
date_from_time = (date_from + timedelta(hours=3)).time()
|
||||
date_to_time = (date_to + timedelta(hours=3)).time()
|
||||
hour_from = date_from_time.hour + date_from_time.minute / 60.0
|
||||
hour_to = date_to_time.hour + date_to_time.minute / 60.0
|
||||
#print('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>',hour_from,hour_to)
|
||||
|
||||
if item.duration != item.permission_type_id.daily_hours:
|
||||
raise ValidationError(_('The Number Of Hours should Be %s Hours For the Half Day Leave') % item.permission_type_id.daily_hours)
|
||||
|
||||
if item.employee_id.contract_id.working_hours.is_full_day== True:
|
||||
hour_sign = item.employee_id.contract_id.working_hours.full_min_sign_in
|
||||
hour_sign_out = item.employee_id.contract_id.working_hours.full_max_sign_out
|
||||
#print('######################################',hour_sign,hour_sign_out)
|
||||
if hour_from < hour_sign or hour_to > hour_sign_out:
|
||||
raise ValidationError(_('Sorry, Must Be a Half Day Period Within Working Hours'))
|
||||
|
||||
|
||||
class HrPersonalPermissionType(models.Model):
|
||||
_inherit = 'hr.personal.permission.type'
|
||||
|
||||
half_holiday = fields.Boolean(string="Half Holiday",
|
||||
help='The permission deducted From The Annual Holiday balance')
|
||||
|
||||
|
|
|
|||
|
|
@ -8,10 +8,46 @@
|
|||
<field name="priority">100</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="department_id" position="after">
|
||||
<field name="deduct_from_holiday" attrs="{'readonly':[('state','!=','draft')],'invisible':[('permission_number','!=',0.00)]}"/>
|
||||
<field name="deduct_from_holiday" readonly='1'/>
|
||||
<field name="holiday" invisible="1"/>
|
||||
<field name="permission_amount" invisible="1"/>
|
||||
</field>
|
||||
|
||||
<xpath expr="//field[@name='balance']" position="attributes">
|
||||
<attribute name="attrs">{'invisible':[('deduct_from_holiday','=',True)]}</attribute>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//field[@name='permission_number']" position="attributes">
|
||||
<attribute name="attrs">{'invisible':[('deduct_from_holiday','=',True)]}</attribute>
|
||||
</xpath>
|
||||
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--record model="ir.ui.view" id="hr_view_tree_inherit_permissions_holiday">
|
||||
<field name="name">Employee personal permission</field>
|
||||
<field name="model">hr.personal.permission</field>
|
||||
<field name="inherit_id" ref="employee_requests.employee_personal_permission_tree_view"/>
|
||||
<field name="arch" type="xml">
|
||||
|
||||
<xpath expr="//field[@name='duration']" position="after">
|
||||
<field name="deduct_from_holiday" string="Half Day Off"/>
|
||||
</xpath>
|
||||
|
||||
</field>
|
||||
</record-->
|
||||
|
||||
<!-- permission type -->
|
||||
<record model="ir.ui.view" id="hr_personal_permission_type_view_form_inherit">
|
||||
<field name="name">Permission Types</field>
|
||||
<field name="model">hr.personal.permission.type</field>
|
||||
<field name="inherit_id" ref="employee_requests.hr_personal_permission_type_view_form"/>
|
||||
<field name="arch" type="xml">
|
||||
|
||||
<xpath expr="//field[@name='approval_by']" position="after">
|
||||
<field name="half_holiday" string="Half Holiday"/>
|
||||
</xpath>
|
||||
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue