Odoo-Tutorial/loan_management/models/loan_request.py
2025-06-21 09:44:01 +07:00

40 lines
1.9 KiB
Python

from odoo import models, fields, api
class LoanRequest(models.Model):
_name = 'loan.request'
_description = 'Loan Request'
borrower_id = fields.Many2one('loan.borrower', string='Borrower', required=True, ondelete='restrict')
loan_type_id = fields.Many2one('loan.type1', string='Loan Type', required=True)
amount = fields.Float(string='Loan Amount', required=True)
term = fields.Integer(string='Term (months)', required=True,default=1)
repayment_type = fields.Selection([
('fixed_principal', 'Gốc đều, lãi giảm dần'),
('annuity', 'Trả góp cố định'),
('interest_only', 'Chỉ trả lãi'),
('lump_sum', 'Trả 1 lần cuối kỳ'),
], string='Kiểu trả nợ', required=True)
interest_rate = fields.Float(string='Interest Rate (%)', required=True)
expected_interest_rate = fields.Float(string='Lãi suất mong muốn', help="Khách hàng đề xuất một lãi suất thấp hơn nếu có")
payment_method = fields.Selection([
('cash', 'Cash'),
('bank_transfer', 'Bank Transfer'),
('check', 'Check')
], string='Payment Method', required=True, default='cash')
request_datetime = fields.Datetime(
string='Ngày giờ yêu cầu',
default=fields.Datetime.now)
state = fields.Selection([
('draft', 'Nháp'),
('processing', 'Đang xử lý'),
('approved', 'Đã duyệt'),
('rejected', 'Từ chối')
], string='Trạng thái', default='processing', required=True)
# def _onchange_interest_rate(self):
# if self.loan_type_id and self.repayment_type:
# policy = self.env['loan.interest.policy'].search([
# ('loan_type_id', '=', self.loan_type_id.id),
# ('repayment_type', '=', self.repayment_type)
# ], limit=1)
# self.interest_rate = policy.interest_rate if policy else 0.0