From 67583cd8a30beeac9f35bba91d18224ec36ca328 Mon Sep 17 00:00:00 2001 From: Bakry Date: Tue, 9 Sep 2025 16:46:04 +0300 Subject: [PATCH] fix loan --- odex25_hr/hr_loans_salary_advance/i18n/ar_001.po | 6 ++++++ .../models/hr_loan_salary_advance.py | 8 ++++++++ .../models/loan_payment_suspension.py | 2 ++ 3 files changed, 16 insertions(+) diff --git a/odex25_hr/hr_loans_salary_advance/i18n/ar_001.po b/odex25_hr/hr_loans_salary_advance/i18n/ar_001.po index b411cd441..bd1b06bec 100644 --- a/odex25_hr/hr_loans_salary_advance/i18n/ar_001.po +++ b/odex25_hr/hr_loans_salary_advance/i18n/ar_001.po @@ -1774,3 +1774,9 @@ msgstr "رقم الموظف" msgid "My Requests" msgstr "طلبـاتي" +#. module: hr_loans_salary_advance +#: code:addons/hr_loans_salary_advance/models/hr_loan_salary_advance.py:0 +#, python-format +msgid "Sorry, This Loan Is Linked To The Payment Or Scheduling Loan." +msgstr "عفوآ, هذه القرض مرتبط بدفع وجدولة القروض." + diff --git a/odex25_hr/hr_loans_salary_advance/models/hr_loan_salary_advance.py b/odex25_hr/hr_loans_salary_advance/models/hr_loan_salary_advance.py index 210ef7fc9..5c3fd8943 100644 --- a/odex25_hr/hr_loans_salary_advance/models/hr_loan_salary_advance.py +++ b/odex25_hr/hr_loans_salary_advance/models/hr_loan_salary_advance.py @@ -184,6 +184,10 @@ class HrSalaryAdvance(models.Model): def refused(self): for item in self: + loan_suspension = self.env['hr.loan.payment.suspension'].search([('loan_id','=', item.id)], limit=1) + if item.id == loan_suspension.loan_id.id: + raise exceptions.Warning(_("Sorry, This Loan Is Linked To The Payment Or Scheduling Loan.")) + for line in item.deduction_lines: if line.paid is True: raise exceptions.Warning(_('You can not Refuse Loan because Loan with Deduction in Salary')) @@ -206,6 +210,10 @@ class HrSalaryAdvance(models.Model): def create_loan(self): for item in self: + loan_suspension = self.env['hr.loan.payment.suspension'].search([('loan_id','=', item.id)], limit=1) + if item.id == loan_suspension.loan_id.id: + raise exceptions.Warning(_("Sorry, This Loan Is Linked To The Payment Or Scheduling Loan.")) + if item.gm_propos_amount <=0: raise exceptions.Warning(_("Sorry, Approved Amount Must Be Greater Than Zero")) diff --git a/odex25_hr/hr_loans_salary_advance/models/loan_payment_suspension.py b/odex25_hr/hr_loans_salary_advance/models/loan_payment_suspension.py index 2d3366921..33f91104d 100644 --- a/odex25_hr/hr_loans_salary_advance/models/loan_payment_suspension.py +++ b/odex25_hr/hr_loans_salary_advance/models/loan_payment_suspension.py @@ -259,6 +259,8 @@ class HrLoanPaymentSuspension(models.Model): for rec in self: if rec.state != 'draft': raise UserError(_('Sorry you cannot delete a document is not in draft state.')) + rec.suspend_ids.unlink() + suspension_false = self.env['hr.loan.installment.suspension'].search([('pay_suspend_id', '=', False)]).unlink() return super(HrLoanPaymentSuspension, self).unlink()