fix loan constrain
This commit is contained in:
parent
9301b81913
commit
6fd1248f75
|
|
@ -267,11 +267,6 @@ msgstr "الاسم المعروض"
|
|||
msgid "Due Loan"
|
||||
msgstr "سلفة مستحقة الدفع"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model:ir.model.fields,field_description:hr_loans_salary_advance.field_hr_loan_salary_advance__emp_expect_amount
|
||||
msgid "Emp Expect Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: code:addons/hr_loans_salary_advance/report/loan_payslip_monthly_report.py:0
|
||||
#: model:ir.model.fields,field_description:hr_loans_salary_advance.field_hr_loan_payment_suspension__employee_id
|
||||
|
|
@ -294,9 +289,10 @@ msgid "Employee '%s' has no contract"
|
|||
msgstr "عقد '%s' ليس للموظف"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model:ir.model.fields,field_description:hr_loans_salary_advance.field_hr_loan_salary_advance__emp_expect_amount
|
||||
#: model_terms:ir.ui.view,arch_db:hr_loans_salary_advance.employee_loan_salary_form_view
|
||||
msgid "Employee Expect Amount"
|
||||
msgstr "مبلغ الموظف المتوقع"
|
||||
msgid "Request Employee Amount"
|
||||
msgstr "مبلغ الموظف المطلوب"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model:ir.model.fields,field_description:hr_loans_salary_advance.field_hr_loan_salary_advance__employee_id
|
||||
|
|
@ -421,14 +417,22 @@ msgid "From Hr Depart"
|
|||
msgstr ""
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model:ir.model.fields,field_description:hr_loans_salary_advance.field_hr_loan_salary_advance__exception_loan
|
||||
#: model_terms:ir.ui.view,arch_db:hr_loans_salary_advance.employee_loan_salary_form_view
|
||||
msgid "GM proposed Amount"
|
||||
msgstr "المبلغ المصدق من المديرالعام"
|
||||
msgid "Exception Loan"
|
||||
msgstr "إستثناء السلفة"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model:ir.model.fields,field_description:hr_loans_salary_advance.field_hr_loan_salary_advance__basic_amount
|
||||
#: model_terms:ir.ui.view,arch_db:hr_loans_salary_advance.employee_loan_salary_form_view
|
||||
msgid "Basic Amount"
|
||||
msgstr "المبلغ الاساسي"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model:ir.model.fields,field_description:hr_loans_salary_advance.field_hr_loan_salary_advance__gm_propos_amount
|
||||
msgid "Gm Propos Amount"
|
||||
msgstr "قيمة السلفه حسب المدير"
|
||||
#: model_terms:ir.ui.view,arch_db:hr_loans_salary_advance.employee_loan_salary_form_view
|
||||
msgid "Approved Amount"
|
||||
msgstr "المبلغ المصدق"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model:ir.model.fields,field_description:hr_loans_salary_advance.field_hr_loan_salary_advance__emp_hiring_date
|
||||
|
|
@ -503,8 +507,15 @@ msgstr "تاريخ القسط"
|
|||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model:ir.model.fields,field_description:hr_loans_salary_advance.field_loan_request_type__installment_number
|
||||
#: model_terms:ir.ui.view,arch_db:hr_loans_salary_advance.loan_request_type_form_view
|
||||
msgid "Installment Number"
|
||||
msgstr ""
|
||||
msgstr "عدد الاقساط"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model_terms:ir.ui.view,arch_db:hr_loans_salary_advance.loan_payment_suspension_form_view
|
||||
#: model_terms:ir.ui.view,arch_db:hr_loans_salary_advance.loan_request_type_form_view
|
||||
msgid "Number of months of deferment allowed"
|
||||
msgstr "عدد شهور التأجيل المسموح بها"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model_terms:ir.ui.view,arch_db:hr_loans_salary_advance.loan_installment_line_form_view
|
||||
|
|
@ -965,8 +976,8 @@ msgstr "الإجراء"
|
|||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model_terms:ir.ui.view,arch_db:hr_loans_salary_advance.employee_loan_salary_form_view
|
||||
msgid "RE-Piad"
|
||||
msgstr "ارجاع للدفع"
|
||||
msgid "Return To Deduct"
|
||||
msgstr "إرجاع للخصم"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model:ir.model.fields,field_description:hr_loans_salary_advance.field_hr_account_moves__reference
|
||||
|
|
@ -1650,9 +1661,15 @@ msgstr "تم الترحيل"
|
|||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model:ir.model.fields.selection,name:hr_loans_salary_advance.selection__hr_loan_salary_advance__state__closed
|
||||
msgid "Loan Suspended"
|
||||
msgstr "القرض معلق"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: code:addons/hr_loans_salary_advance/models/hr_loan_salary_advance.py:0
|
||||
#: model_terms:ir.ui.view,arch_db:hr_loans_salary_advance.employee_loan_salary_form_view
|
||||
msgid "Closed"
|
||||
msgstr "مغلق"
|
||||
#, python-format
|
||||
msgid "Loan Suspension"
|
||||
msgstr "تعليق القرض"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model:ir.model.fields.selection,name:hr_loans_salary_advance.selection__hr_loan_payment_suspension__state__refuse
|
||||
|
|
@ -1698,3 +1715,44 @@ msgstr "ترحيل للمالية"
|
|||
#: model_terms:ir.ui.view,arch_db:hr_loans_salary_advance.loan_payment_suspension_form_view
|
||||
msgid "RE-Draft"
|
||||
msgstr "إرجاع للمسودة"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model_terms:ir.ui.view,arch_db:hr_loans_salary_advance.employee_loan_salary_form_view
|
||||
msgid "Are you Sure To Re Deduction?"
|
||||
msgstr "هل أنت متأكد من إرجاع للخصم؟"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model_terms:ir.ui.view,arch_db:hr_loans_salary_advance.employee_loan_salary_form_view
|
||||
msgid "Are you Sure To Loan Suspension?"
|
||||
msgstr "هل أنت متأكد من تعليق القرض؟"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: model:ir.model.fields,help:hr_loans_salary_advance.field_hr_loan_salary_advance__exception_loan
|
||||
msgid "Exception The Required Loan Amount Or The Number Of Installments"
|
||||
msgstr "إستثناء مبلغ القرض المطلوب او عدد الاقساط"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: code:addons/hr_loans_salary_advance/models/hr_loan_salary_advance.py:0
|
||||
#, python-format
|
||||
msgid "Sorry, Request Employee Amount Exceeds The Basic Amount"
|
||||
msgstr "عفوآ, المبلغ المطلوب للموظف يتجاوز المبلغ الأساسي"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: code:addons/hr_loans_salary_advance/models/hr_loan_salary_advance.py:0
|
||||
#, python-format
|
||||
msgid "Sorry, Approved Amount Exceeds The Basic Amount"
|
||||
msgstr "عفوآ, المبلغ المصدق يتجاوز المبلغ الأساسي"
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: code:addons/hr_loans_salary_advance/models/hr_loan_salary_advance.py:0
|
||||
#, python-format
|
||||
msgid "Sorry, The Number Of installments Must Not Exceed '%s' Installments"
|
||||
msgstr "عفوآ، عدد اقساط القرض يجب ان لايتجاوز %s اقساط."
|
||||
|
||||
#. module: hr_loans_salary_advance
|
||||
#: code:addons/hr_loans_salary_advance/models/hr_loan_salary_advance.py:0
|
||||
#, python-format
|
||||
msgid "Sorry, Approved Amount Must Be Greater Than Zero"
|
||||
msgstr "عفوآ, المبلغ المصدق يجب ان يكون اكبر من صفر"
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ class HrSalaryAdvance(models.Model):
|
|||
('hr_manager', _('Wait GM Approval')),
|
||||
('executive_manager', _('Wait Transfer')),
|
||||
('pay', _('Transferred')), ('refused', _('Refused')),
|
||||
('closed', _('Closed')), ('cancel', _('Cancel'))],
|
||||
('closed', _('Loan Suspended'))],
|
||||
default="draft", tracking=True)
|
||||
date = fields.Date()
|
||||
from_hr_depart = fields.Boolean()
|
||||
|
|
@ -30,9 +30,10 @@ class HrSalaryAdvance(models.Model):
|
|||
evaluation_grade = fields.Many2one(related='employee_id.contract_id.appraisal_result_id', readonly=True)
|
||||
contract_duration_date = fields.Date(related='employee_id.contract_id.date_start')
|
||||
payment_ref = fields.Char()
|
||||
emp_expect_amount = fields.Float()
|
||||
basic_amount = fields.Float(string='Basic Amount')
|
||||
emp_expect_amount = fields.Float(string='Request Employee Amount')
|
||||
finance_propos_amount = fields.Float(compute='_get_finance_gm_propos_amount', store=True)
|
||||
gm_propos_amount = fields.Float(compute='_get_finance_gm_propos_amount', store=True)
|
||||
gm_propos_amount = fields.Float(compute='_get_finance_gm_propos_amount', store=True,string='Approved Amount')
|
||||
months = fields.Integer(default=1)
|
||||
monthly_salary = fields.Float()
|
||||
total_paid_inst = fields.Float(compute='get_total_paid_installment')
|
||||
|
|
@ -52,6 +53,8 @@ class HrSalaryAdvance(models.Model):
|
|||
request_type = fields.Many2one('loan.request.type')
|
||||
emp_hiring_date = fields.Date(related='employee_id.contract_id.hiring_date')
|
||||
|
||||
exception_loan = fields.Boolean(help='Exception The Required Loan Amount Or The Number Of Installments')
|
||||
|
||||
# change state to piad
|
||||
|
||||
@api.onchange('employee_id', 'request_type')
|
||||
|
|
@ -198,6 +201,9 @@ class HrSalaryAdvance(models.Model):
|
|||
|
||||
def create_loan(self):
|
||||
for item in self:
|
||||
if item.gm_propos_amount <=0:
|
||||
raise exceptions.Warning(_("Sorry, Approved Amount Must Be Greater Than Zero"))
|
||||
|
||||
if item.contract_duration_date:
|
||||
if item.end_date:
|
||||
if item.months <= item.months_employeed:
|
||||
|
|
@ -238,6 +244,7 @@ class HrSalaryAdvance(models.Model):
|
|||
item.deduction_lines = self.env['loan.installment.line'].browse(items)
|
||||
else:
|
||||
raise exceptions.Warning(_('The employee does not have contract Start Date .'))
|
||||
self._onchange_emp_expect_amount()
|
||||
|
||||
# @api.constrains('deduction_lines')
|
||||
# def deduction_lines_constraine(self):
|
||||
|
|
@ -354,6 +361,7 @@ class HrSalaryAdvance(models.Model):
|
|||
|
||||
# Initialize component
|
||||
self.emp_expect_amount = 0.0
|
||||
self.gm_propos_amount = 0.0
|
||||
self.months = self.request_type.installment_number
|
||||
if self.request_type.loan_type == 'percentage':
|
||||
total = 0.0
|
||||
|
|
@ -364,14 +372,25 @@ class HrSalaryAdvance(models.Model):
|
|||
else:
|
||||
raise exceptions.Warning(_("Employee '%s' has no contract") % self.employee_id.name)
|
||||
if self.request_type.factor > 0:
|
||||
self.basic_amount = total * self.request_type.factor
|
||||
self.emp_expect_amount = total * self.request_type.factor
|
||||
else:
|
||||
self.basic_amount = total
|
||||
self.emp_expect_amount = total
|
||||
else:
|
||||
self.basic_amount = self.request_type.amount
|
||||
self.emp_expect_amount = self.request_type.amount
|
||||
|
||||
@api.onchange('emp_expect_amount')
|
||||
@api.onchange('emp_expect_amount','gm_propos_amount','months')
|
||||
def _onchange_emp_expect_amount(self):
|
||||
if self.exception_loan==False :
|
||||
if self.emp_expect_amount > self.basic_amount >0:
|
||||
raise exceptions.Warning(_("Sorry, Request Employee Amount Exceeds The Basic Amount"))
|
||||
if self.gm_propos_amount > self.basic_amount >0:
|
||||
raise exceptions.Warning(_("Sorry, Approved Amount Exceeds The Basic Amount"))
|
||||
if self.months > self.request_type.installment_number >0:
|
||||
raise exceptions.Warning(_("Sorry, The Number Of installments Must Not Exceed '%s' Installments")% self.request_type.installment_number)
|
||||
|
||||
if self.request_type.refund_from == 'bonus':
|
||||
if not self.employee_id.contract_id:
|
||||
raise exceptions.Warning(_("Employee '%s' has no contract") % self.employee_id.name)
|
||||
|
|
|
|||
|
|
@ -320,8 +320,8 @@ class HrLoanInstallmentSuspension(models.Model):
|
|||
@api.constrains('installment_date', 'date_new', 'pay_suspend_id.no_month_allowed')
|
||||
def _check_no_month_allowed(self):
|
||||
for rec in self:
|
||||
installment_date = rec.installment_date
|
||||
stardate_newt_date = rec.date_new
|
||||
installment_date = str(rec.installment_date)
|
||||
stardate_newt_date = str(rec.date_new)
|
||||
start_date_1 = dt.strptime(installment_date, "%Y-%m-%d")
|
||||
end_date_1 = dt.strptime(stardate_newt_date, "%Y-%m-%d")
|
||||
no_of_month = relativedelta.relativedelta(end_date_1, start_date_1).months
|
||||
|
|
|
|||
|
|
@ -35,15 +35,16 @@
|
|||
<button name="refused" string="Refuse" states="executive_manager" type="object"
|
||||
groups="hr_base.group_account_manager" class="oe_highlight"/>
|
||||
|
||||
<button name="closed" string="Closed" class="oe_highlight" type="object"
|
||||
attrs="{'invisible':[('state','!=','pay')]}"
|
||||
groups="hr_loans_salary_advance.group_loan_manager"/>
|
||||
<button name="closed" string="Loan Suspension" class="oe_highlight" type="object"
|
||||
states="pay" groups="hr.group_hr_manager" confirm="Are you Sure To Loan Suspension?"/>
|
||||
<button name="refused" string="Refuse" class="oe_highlight" type="object"
|
||||
states="pay" groups="hr.group_hr_manager"/>
|
||||
|
||||
<button name="draft_state" string="RE-Draft" class="oe_highlight" type="object" states="refused"
|
||||
groups="hr.group_hr_manager,hr_loans_salary_advance.group_loan_manager"
|
||||
confirm="Are you sure to Reset To Draft This Record?"/>
|
||||
<button name="to_re_paid" string="RE-Piad" class="oe_highlight" type="object" states="closed"
|
||||
groups="hr.group_hr_manager,hr_loans_salary_advance.group_loan_manager"/>
|
||||
<button name="to_re_paid" string="Return To Deduct" class="oe_highlight" type="object" states="closed"
|
||||
groups="hr.group_hr_manager,hr_loans_salary_advance.group_loan_manager" confirm="Are you Sure To Re Deduction?"/>
|
||||
<field name="state" widget="statusbar"
|
||||
statusbar_visible="draft,submit,direct_manager,hr_manager,executive_manager,pay,closed,refused"/>
|
||||
</header>
|
||||
|
|
@ -74,11 +75,14 @@
|
|||
<field name="months_employeed" string="working duration(months)" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="emp_expect_amount" string="Employee Expect Amount" required="True"
|
||||
<field name="exception_loan" string="Exception Loan" groups="hr.group_hr_manager"
|
||||
attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<field name="basic_amount" string="Basic Amount" readonly="1" force_save="1"/>
|
||||
<field name="emp_expect_amount" string="Request Employee Amount" required="True"
|
||||
attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<!-- <field name="finance_propos_amount" string="Finance proposed Amount"-->
|
||||
<!-- attrs="{'readonly':[('state','!=','draft')]}"/>-->
|
||||
<field name="gm_propos_amount" string="GM proposed Amount"
|
||||
<field name="gm_propos_amount" string="Approved Amount"
|
||||
attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<field name="months" string="Number of months"
|
||||
attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
<field name="loan_type" string="Loan type"/>
|
||||
<field name="amount" string="Loan amount"
|
||||
attrs="{'invisible':[('loan_type','=','percentage')]}"/>
|
||||
<field name="installment_number" string="Installment Number"/>
|
||||
<field name="percentage" string="Percentage"/>
|
||||
<field name="refund_from" string='Refund From' required="1"/>
|
||||
<field name="bonus_id" string='Bonus' attrs="{'invisible':[('refund_from','!=','bonus')],
|
||||
|
|
@ -35,7 +36,7 @@
|
|||
<field name="allow_overlapping" string="Allow overlapping"
|
||||
attrs="{'invisible':[('number_of_request','=','once')]}"/>
|
||||
<field name="year" string="Years of service"/>
|
||||
<!-- <field name="no_month_allowed" string="Number of months of deferment allowed"/>-->
|
||||
<field name="no_month_allowed" string="Number of months of deferment allowed"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
|
|
|
|||
Loading…
Reference in New Issue