From fb8455fb25c3151a112aa0cb593549ddfa382cb2 Mon Sep 17 00:00:00 2001 From: houssine Date: Fri, 27 Nov 2020 10:22:41 +0100 Subject: [PATCH] [IMP] creating move lines for interest lines --- .../models/interest_line.py | 18 ++++++++ .../models/loan_issue_line.py | 44 +++++++++++++++---- 2 files changed, 53 insertions(+), 9 deletions(-) create mode 100644 easy_my_coop_loan_account/models/interest_line.py diff --git a/easy_my_coop_loan_account/models/interest_line.py b/easy_my_coop_loan_account/models/interest_line.py new file mode 100644 index 0000000..0852298 --- /dev/null +++ b/easy_my_coop_loan_account/models/interest_line.py @@ -0,0 +1,18 @@ +# Copyright 2019 Coop IT Easy SCRL fs +# Houssine BAKKALI +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import api, models + + +class LoanInterestLine(models.Model): + _inherit = "loan.interest.line" + + @api.model + def _generate_loan_reimbursement_fy(self): + #TODO get fiscal year begin and end dates + interest_lines = self.search([('due_date', '<=', ''), + ('due_date', '<=', ) + ]) + for line in interest_lines: + print() \ No newline at end of file diff --git a/easy_my_coop_loan_account/models/loan_issue_line.py b/easy_my_coop_loan_account/models/loan_issue_line.py index ed29d70..14138ad 100644 --- a/easy_my_coop_loan_account/models/loan_issue_line.py +++ b/easy_my_coop_loan_account/models/loan_issue_line.py @@ -26,18 +26,24 @@ class LoanIssueLine(models.Model): } return move_line + @api.model + def create_move(self, line, date, journal): + return self.env["account.move"].create({ + "ref": line.reference, + "date": date.today(), + "journal_id": journal.id, + }) + @api.multi - def create_waiting_payment_moves(self): - move_obj = self.env["account.move"] + def create_waiting_payment_move(self): move_line_obj = self.env["account.move.line"] for line in self: company = line.company_id - move_vals = { - "ref": line.reference, - "date": date.today(), - "journal_id": company.awaiting_loan_payment_journal.id, - } - move = move_obj.create(move_vals) + move = self.create_move( + line, + date.today(), + company.awaiting_loan_payment_journal.id, + ) loan_vals = line.get_loan_move_line(move.id) loaner_vals = line.get_loan_move_line(move.id) @@ -50,9 +56,29 @@ class LoanIssueLine(models.Model): move_line_obj.create([loan_vals, loaner_vals]) line.awaiting_move_id = move + @api.multi + def create_loan_fy_move(self): + # this function generate the move for the loan + # to reimburse for the current fiscal year + for line in self: + company = line.company_id + move = self.create_move( + line, + line, + company.awaiting_loan_payment_journal.id, + ) + + @api.multi + def create_interest_payment_move(self): + print() + + @api.multi + def create_loan_reimbursement_move(self): + print() + @api.multi def action_request_payment(self): - self.create_waiting_payment_moves() + self.create_waiting_payment_move() super(LoanIssueLine, self).action_request_payment() @api.multi