diff --git a/loan_management/README.rst b/loan_management/README.rst deleted file mode 100644 index e834a38e7..000000000 --- a/loan_management/README.rst +++ /dev/null @@ -1,42 +0,0 @@ -.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg - :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html - :alt: License: AGPL-3 - -Loan Management -=============== -Helps You To Manage Loan Disburse/Amortization Operations. - -Configuration -============= -* No additional configurations needed - -Company -------- -* `Cybrosys Techno Solutions `__ - -Credits -------- -* Developer: (V16) Sabeel B , Contact : odoo@cybrosys.com - -Contacts --------- -* Mail Contact : odoo@cybrosys.com -* Website : https://cybrosys.com - -Bug Tracker ------------ -Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. - -Maintainer -========== -.. image:: https://cybrosys.com/images/logo.png - :target: https://cybrosys.com - -This module is maintained by Cybrosys Technologies. - -For support and more information, please visit `Our Website `__ - -Further information -=================== -HTML Description: ``__ - diff --git a/loan_management/__init__.py b/loan_management/__init__.py deleted file mode 100644 index 5b5da7a84..000000000 --- a/loan_management/__init__.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################ -# -# Cybrosys Technologies Pvt. Ltd. -# -# Copyright (C) 2023-TODAY Cybrosys Technologies(). -# Author: Sabeel B (odoo@cybrosys.com) -# -# You can modify it under the terms of the GNU AFFERO -# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. -# -# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE -# (AGPL v3) along with this program. -# If not, see . -# -################################################################################ -from . import models, report, wizard diff --git a/loan_management/__manifest__.py b/loan_management/__manifest__.py deleted file mode 100644 index 22ec5f9df..000000000 --- a/loan_management/__manifest__.py +++ /dev/null @@ -1,58 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################ -# -# Cybrosys Technologies Pvt. Ltd. -# -# Copyright (C) 2023-TODAY Cybrosys Technologies(). -# Author: Sabeel B (odoo@cybrosys.com) -# -# You can modify it under the terms of the GNU AFFERO -# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. -# -# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE -# (AGPL v3) along with this program. -# If not, see . -# -################################################################################ -{ - 'name': 'Loan Management', - 'version': '16.0.1.0.0', - 'summary': 'Helps You To Manage Loan Requests/Disbursement/' - 'Repayments/Amortization Operations', - 'description': 'Module Allows To Create different types of loans,' - 'Manage Loan Requests And Amortization Operations Simply,' - 'Create Invoices For Each Repayment Amounts', - 'category': 'Accounting', - 'author': "Cybrosys Techno Solutions", - 'company': "Cybrosys Techno Solutions", - 'maintainer': 'Cybrosys Techno Solutions', - 'website': 'https://www.cybrosys.com', - 'depends': ['mail', 'account', 'base', 'l10n_generic_coa'], - 'demo': ['data/loan_journal_data.xml'], - 'data': [ - 'security/loan_management_groups.xml', - 'security/loan_management_security.xml', - 'security/ir.model.access.csv', - 'views/loan_type_views.xml', - 'views/loan_request_views.xml', - 'views/repayment_lines_views.xml', - 'views/loan_documents_views.xml', - 'views/res_config_settings_views.xml', - 'views/loan_management_menus.xml', - 'views/res_partner_views.xml', - 'wizard/message_popup_views.xml', - 'wizard/reject_reason_views.xml', - 'report/loan_management_reports.xml', - 'report/loan_report_templates.xml', - ], - 'images': ['static/description/banner.png'], - 'license': 'AGPL-3', - 'installable': True, - 'auto_install': False, - 'application': True, -} diff --git a/loan_management/data/loan_journal_data.xml b/loan_management/data/loan_journal_data.xml deleted file mode 100644 index c3326f22b..000000000 --- a/loan_management/data/loan_journal_data.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - Disburse - DIS - purchase - - - - - Loan Disburse - 200019 - liability_current - - - - Loan Interest - 200011 - liability_current - - - - - Loan Repayment - 200012 - asset_cash - - - - - Repayment Amount - service - - - - Interest Amount - service - - - diff --git a/loan_management/doc/RELEASE_NOTES.md b/loan_management/doc/RELEASE_NOTES.md deleted file mode 100644 index eeacb4c21..000000000 --- a/loan_management/doc/RELEASE_NOTES.md +++ /dev/null @@ -1,8 +0,0 @@ -## Module - -#### 27.11.2023 -#### Version 16.0.1.0.0 -#### ADD -- Initial Commit for Loan Management - - diff --git a/loan_management/models/__init__.py b/loan_management/models/__init__.py deleted file mode 100644 index c2c6d6f2b..000000000 --- a/loan_management/models/__init__.py +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################ -# -# Cybrosys Technologies Pvt. Ltd. -# -# Copyright (C) 2023-TODAY Cybrosys Technologies(). -# Author: Sabeel B (odoo@cybrosys.com) -# -# You can modify it under the terms of the GNU AFFERO -# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. -# -# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE -# (AGPL v3) along with this program. -# If not, see . -# -################################################################################ -from . import loan_type, loan_documents, loan_request, repayment_lines, \ - res_config_settings, account_move, res_partner, account_payment_register - - - - - - diff --git a/loan_management/models/account_move.py b/loan_management/models/account_move.py deleted file mode 100644 index 5600bf996..000000000 --- a/loan_management/models/account_move.py +++ /dev/null @@ -1,54 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################ -# -# Cybrosys Technologies Pvt. Ltd. -# -# Copyright (C) 2023-TODAY Cybrosys Technologies(). -# Author: Sabeel B (odoo@cybrosys.com) -# -# You can modify it under the terms of the GNU AFFERO -# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. -# -# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE -# (AGPL v3) along with this program. -# If not, see . -# -################################################################################ -from odoo import models - - -class AccountMove(models.Model): - """Alter loan repayment line state on draft and cancel button click""" - _inherit = 'account.move' - - def button_draft(self): - """Change repayment record state to 'invoiced' - while reset to draft the invoice""" - res = super().button_draft() - loan_line_ids = self.env['repayment.line'].search([ - ('name', 'ilike', self.payment_reference)]) - if loan_line_ids: - loan_line_ids.update({ - 'state': 'invoiced', - 'invoice': True - }) - return res - - def button_cancel(self): - """Change repayment record state to 'unpaid' - while cancelling the invoice""" - res = super().button_cancel() - for record in self: - loan_line_ids = self.env['repayment.line'].search([ - ('name', 'ilike', record.payment_reference)]) - if loan_line_ids: - loan_line_ids.update({ - 'state': 'unpaid', - 'invoice': False - }) - return res diff --git a/loan_management/models/account_payment_register.py b/loan_management/models/account_payment_register.py deleted file mode 100644 index f750ab8c3..000000000 --- a/loan_management/models/account_payment_register.py +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################ -# -# Cybrosys Technologies Pvt. Ltd. -# -# Copyright (C) 2023-TODAY Cybrosys Technologies(). -# Author: Sabeel B (odoo@cybrosys.com) -# -# You can modify it under the terms of the GNU AFFERO -# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. -# -# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE -# (AGPL v3) along with this program. -# If not, see . -# -################################################################################ -from odoo import models - - -class AccountPaymentRegister(models.TransientModel): - """Alter loan repayment line state based on invoice status""" - _inherit = 'account.payment.register' - - def _post_payments(self, to_process, edit_mode=False): - """Change repayment record state to 'paid' while registering the - payment""" - res = super()._post_payments(to_process, edit_mode=False) - for record in self: - loan_line_id = self.env['repayment.line'].search([ - ('name', 'ilike', record.communication)]) - loan_line_id.write({'state': 'paid'}) - return res diff --git a/loan_management/models/loan_documents.py b/loan_management/models/loan_documents.py deleted file mode 100644 index 6e1808348..000000000 --- a/loan_management/models/loan_documents.py +++ /dev/null @@ -1,38 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################ -# -# Cybrosys Technologies Pvt. Ltd. -# -# Copyright (C) 2023-TODAY Cybrosys Technologies(). -# Author: Sabeel (odoo@cybrosys.com) -# -# You can modify it under the terms of the GNU AFFERO -# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. -# -# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE -# (AGPL v3) along with this program. -# If not, see . -# -################################################################################ -from odoo import fields, models - - -class LoanDocuments(models.Model): - """Documents required to approve loan, eg:-Aadhar, Pan""" - _name = 'loan.documents' - _description = 'Loan Documents' - _rec_name = 'loan_proofs' - - loan_proofs = fields.Char(string="Proofs", help="Document name " - "for identification") - company_id = fields.Many2one('res.company', string='Company', - readonly=True, - help="Company Name", - default=lambda self: - self.env.company) - diff --git a/loan_management/models/loan_request.py b/loan_management/models/loan_request.py deleted file mode 100644 index 3653c0eb3..000000000 --- a/loan_management/models/loan_request.py +++ /dev/null @@ -1,274 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################ -# -# Cybrosys Technologies Pvt. Ltd. -# -# Copyright (C) 2023-TODAY Cybrosys Technologies(). -# Author: Sabeel (odoo@cybrosys.com) -# -# You can modify it under the terms of the GNU AFFERO -# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. -# -# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE -# (AGPL v3) along with this program. -# If not, see . -# -################################################################################ -from datetime import datetime -from dateutil.relativedelta import relativedelta -from odoo import api, fields, models, _ -from odoo.exceptions import UserError - - -class LoanRequest(models.Model): - """Can create new loan requests and manage records""" - _name = 'loan.request' - _inherit = ['mail.thread'] - _description = 'Loan Request' - - name = fields.Char(string='Loan Reference', readonly=True, - copy=False, help="Sequence number for loan requests", - default=lambda self: 'New') - company_id = fields.Many2one('res.company', string='Company', - readonly=True, - help="Company Name", - default=lambda self: - self.env.company) - currency_id = fields.Many2one('res.currency', string='Currency', - required=True, help="Currency", - default=lambda self: self.env.user.company_id. - currency_id) - loan_type_id = fields.Many2one('loan.type', string='Loan Type', - required=True, help="Can choose different " - "loan types suitable") - loan_amount = fields.Float(string="Loan Amount", store=True, - help="Total loan amount", ) - disbursal_amount = fields.Float(string="Disbursal_amount", - help="Total loan amount " - "available to disburse") - tenure = fields.Integer(string="Tenure", - help="Installment period") - interest_rate = fields.Float(string="Interest rate", help="Interest " - "percentage") - date = fields.Date(string="Date", default=fields.Date.today(), - readonly=True, help="Date") - partner_id = fields.Many2one('res.partner', string="Partner", - required=True, - help="Partner") - repayment_lines_ids = fields.One2many('repayment.line', - 'loan_id', - string="Loan Line", index=True, - help="Repayment lines") - documents_ids = fields.Many2many('loan.documents', - string="Proofs", - help="Documents as proof") - img_attachment_ids = fields.Many2many('ir.attachment', - relation="m2m_ir_identity_card_rel", - column1="documents_ids", - string="Images", - help="Image proofs") - journal_id = fields.Many2one('account.journal', - string="Journal", - help="Journal types", - domain="[('type', '=', 'purchase')," - "('company_id', '=', company_id)]", - ) - debit_account_id = fields.Many2one('account.account', - string="Debit account", - help="Choose account for " - "disbursement debit") - credit_account_id = fields.Many2one('account.account', - string="Credit account", - help="Choose account for " - "disbursement credit") - reject_reason = fields.Text(string="Reason", help="Displays " - "rejected reason") - request = fields.Boolean(string="Request", default=False, - help="For monitoring the record") - state = fields.Selection( - string='State', - selection=[('draft', 'Draft'), ('confirmed', 'Confirmed'), - ('waiting for approval', 'Waiting For Approval'), - ('approved', 'Approved'), ('disbursed', 'Disbursed'), - ('rejected', 'Rejected'), ('closed', 'Closed')], - required=True, readonly=True, copy=False, - tracking=True, default='draft', help="Loan request states") - - @api.model - def create(self, vals): - """create auto sequence for the loan request records""" - loan_count = self.env['loan.request'].search( - [('partner_id', '=', vals['partner_id']), - ('state', 'not in', ('draft', 'rejected', 'closed'))]) - if loan_count: - for rec in loan_count: - if rec.state != 'closed': - raise UserError( - _('The partner has already an ongoing loan.')) - else: - if vals.get('name', 'New') == 'New': - vals['name'] = self.env['ir.sequence'].next_by_code( - 'increment_loan_ref') - res = super().create(vals) - return res - - @api.onchange('loan_type_id') - def _onchange_loan_type_id(self): - """Changing field values based on the chosen loan type""" - type_id = self.loan_type_id - self.loan_amount = type_id.loan_amount - self.disbursal_amount = type_id.disbursal_amount - self.tenure = type_id.tenure - self.interest_rate = type_id.interest_rate - self.documents_ids = type_id.documents_ids - - def action_loan_request(self): - """Changes the state to confirmed and send confirmation mail""" - self.write({'state': "confirmed"}) - partner = self.partner_id - loan_no = self.name - subject = 'Loan Confirmation' - - message = (f"Dear {partner.name},
This is a confirmation mail " - f"for your loan{loan_no}. We have submitted your loan " - f"for approval.") - - outgoing_mail = self.company_id.email - mail_values = { - 'subject': subject, - 'email_from': outgoing_mail, - 'author_id': self.env.user.partner_id.id, - 'email_to': partner.email, - 'body_html': message, - } - mail = self.env['mail.mail'].sudo().create(mail_values) - mail.send() - - def action_request_for_loan(self): - """Change the state to waiting for approval""" - if self.request: - self.write({'state': "waiting for approval"}) - else: - message_id = self.env['message.popup'].create( - {'message': _("Compute the repayments before requesting")}) - return { - 'name': _('Repayment'), - 'type': 'ir.actions.act_window', - 'view_mode': 'form', - 'res_model': 'message.popup', - 'res_id': message_id.id, - 'target': 'new' - } - - def action_loan_approved(self): - """Change to Approved state""" - self.write({'state': "approved"}) - - def action_disburse_loan(self): - """Disbursing the loan to customer and creating journal - entry for the disbursement""" - self.write({'state': "disbursed"}) - - for loan in self: - amount = loan.disbursal_amount - loan_name = loan.partner_id.name - reference = loan.name - journal_id = loan.journal_id.id - debit_account_id = loan.debit_account_id.id - credit_account_id = loan.credit_account_id.id - date_now = loan.date - debit_vals = { - 'name': loan_name, - 'account_id': debit_account_id, - 'journal_id': journal_id, - 'date': date_now, - 'debit': amount > 0.0 and amount or 0.0, - 'credit': amount < 0.0 and -amount or 0.0, - - } - credit_vals = { - 'name': loan_name, - 'account_id': credit_account_id, - 'journal_id': journal_id, - 'date': date_now, - 'debit': amount < 0.0 and -amount or 0.0, - 'credit': amount > 0.0 and amount or 0.0, - } - vals = { - 'name': f'DIS / {reference}', - 'narration': reference, - 'ref': reference, - 'journal_id': journal_id, - 'date': date_now, - 'line_ids': [(0, 0, debit_vals), (0, 0, credit_vals)] - } - move = self.env['account.move'].create(vals) - move.action_post() - return True - - def action_close_loan(self): - """Closing the loan""" - demo = [] - for check in self.repayment_lines_ids: - if check.state == 'unpaid': - demo.append(check) - if len(demo) >= 1: - message_id = self.env['message.popup'].create( - {'message': _("Pending Repayments")}) - return { - 'name': _('Repayment'), - 'type': 'ir.actions.act_window', - 'view_mode': 'form', - 'res_model': 'message.popup', - 'res_id': message_id.id, - 'target': 'new' - } - self.write({'state': "closed"}) - - def action_loan_rejected(self): - """You can add reject reasons here""" - return {'type': 'ir.actions.act_window', - 'name': 'Loan Rejection', - 'res_model': 'reject.reason', - 'target': 'new', - 'view_mode': 'form', - 'context': {'default_loan': self.name} - } - - def action_compute_repayment(self): - """This automatically create the installment the employee need to pay to - company based on payment start date and the no of installments. - """ - self.request = True - for loan in self: - loan.repayment_lines_ids.unlink() - date_start = (datetime.strptime(str(loan.date), - '%Y-%m-%d') + - relativedelta(months=1)) - amount = loan.loan_amount / loan.tenure - interest = loan.loan_amount * loan.interest_rate - interest_amount = interest / loan.tenure - total_amount = amount + interest_amount - partner = self.partner_id - for rand_num in range(1, loan.tenure + 1): - self.env['repayment.line'].create({ - 'name': f"{loan.name}/{rand_num}", - 'partner_id': partner.id, - 'date': date_start, - 'amount': amount, - 'interest_amount': interest_amount, - 'total_amount': total_amount, - 'interest_account_id': self.env.ref('loan_management.' - 'loan_management_' - 'inrst_accounts').id, - 'repayment_account_id': self.env.ref('loan_management.' - 'demo_' - 'loan_accounts').id, - 'loan_id': loan.id}) - date_start += relativedelta(months=1) - return True diff --git a/loan_management/models/loan_type.py b/loan_management/models/loan_type.py deleted file mode 100644 index b27745bfa..000000000 --- a/loan_management/models/loan_type.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################ -# -# Cybrosys Technologies Pvt. Ltd. -# -# Copyright (C) 2023-TODAY Cybrosys Technologies(). -# Author: Sabeel (odoo@cybrosys.com) -# -# You can modify it under the terms of the GNU AFFERO -# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. -# -# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE -# (AGPL v3) along with this program. -# If not, see . -# -################################################################################ -from odoo import api, fields, models - - -class LoanTypes(models.Model): - """Create different types of Loans, And can wisely choose while requesting - for loan""" - _name = 'loan.type' - _inherit = ['mail.thread'] - _description = 'Loan Type' - - name = fields.Char(string='Name', help="LoanType Name") - loan_amount = fields.Integer(string='Loan Amount', help="Loan Amount") - tenure = fields.Integer(string='Tenure', default='1', - help="Amortization period") - tenure_plan = fields.Char(string="Tenure Plan", default='monthly', - readonly='True', help="EMI payment plan") - interest_rate = fields.Float(string='Interest Rate', - help="Loan Interest Rate") - disbursal_amount = fields.Float(string='Disbursal Amount', - compute='_compute_disbursal_amount', - help="Total Amount To Be Disbursed") - documents_ids = fields.Many2many('loan.documents', - string="Documents", - help="Personal Proofs") - processing_fee = fields.Integer(string="Processing Fee", - help="Amount For Initializing The Loan") - note = fields.Text(string="Criteria", help="Criteria for approving " - "loan requests") - company_id = fields.Many2one('res.company', string='Company', - readonly=True, - help="Company Name", - default=lambda self: - self.env.company, ) - - @api.depends('processing_fee') - def _compute_disbursal_amount(self): - """Calculating amount for disbursing""" - self.disbursal_amount = self.loan_amount - self.processing_fee - diff --git a/loan_management/models/repayment_lines.py b/loan_management/models/repayment_lines.py deleted file mode 100644 index 563a144c2..000000000 --- a/loan_management/models/repayment_lines.py +++ /dev/null @@ -1,136 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################ -# -# Cybrosys Technologies Pvt. Ltd. -# -# Copyright (C) 2023-TODAY Cybrosys Technologies(). -# Author: Sabeel (odoo@cybrosys.com) -# -# You can modify it under the terms of the GNU AFFERO -# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. -# -# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE -# (AGPL v3) along with this program. -# If not, see . -# -################################################################################ -from odoo import fields, models - - -class RepaymentLine(models.Model): - """Loan repayments """ - _name = "repayment.line" - _description = "Repayment Line" - - name = fields.Char(string="Loan ", default="/", readonly=True, - help="Repayment no: of loan") - partner_id = fields.Many2one('res.partner', string="Partner", - required=True, - help="Partner") - company_id = fields.Many2one('res.company', string='Company', - readonly=True, - help="Company", - default=lambda self: self.env.company) - date = fields.Date(string="Payment Date", required=True, - default=fields.Date.today(), - readonly=True, - help="Date of the payment") - amount = fields.Float(string="Amount", required=True, help="Amount", - digits=(16, 2)) - interest_amount = fields.Float(string="Interest_Amount", required=True, - help="Interest Amount", digits=(16, 2)) - total_amount = fields.Float(string="Total_Amount", required=True, - help="Total Amount", digits=(16, 2)) - loan_id = fields.Many2one('loan.request', string="Loan Ref.", - help="Loan", - readonly=True) - state = fields.Selection(string="State", - selection=[('unpaid', 'Unpaid'), - ('invoiced', 'Invoiced'), - ('paid', 'Paid')], - required=True, readonly=True, copy=False, - tracking=True, default='unpaid', - help="Includes paid and unpaid states for each " - "repayments", ) - journal_loan_id = fields.Many2one('account.journal', - string="Journal", - store=True, default=lambda self: self. - env['account.journal']. - search([('code', 'like', 'CSH1')]), - help="Journal Record") - interest_account_id = fields.Many2one('account.account', - string="Interest", - store=True, - help="Account For Interest") - repayment_account_id = fields.Many2one('account.account', - string="Repayment", - store=True, - help="Account For Repayment") - invoice = fields.Boolean(string="invoice", default=False, - help="For monitoring the record") - - def action_pay_emi(self): - """Creates invoice for each EMI""" - time_now = self.date - interest_product_id = self.env['ir.config_parameter'].sudo().get_param( - 'loan_management.interest_product_id') - repayment_product_id = self.env['ir.config_parameter'].sudo().get_param( - 'loan_management.repayment_product_id') - - for rec in self: - loan_lines_ids = self.env['repayment.line'].search( - [('loan_id', '=', rec.loan_id.id)], order='date asc') - for line in loan_lines_ids: - if line.date < rec.date and line.state in \ - ('unpaid', 'invoiced'): - message_id = self.env['message.popup'].create( - {'message': ( - "You have pending amounts")}) - return { - 'name': 'Repayment', - 'type': 'ir.actions.act_window', - 'view_mode': 'form', - 'res_model': 'message.popup', - 'res_id': message_id.id, - 'target': 'new' - } - - invoice = self.env['account.move'].create({ - 'move_type': 'out_invoice', - 'invoice_date': time_now, - 'partner_id': self.partner_id.id, - 'currency_id': self.company_id.currency_id.id, - 'payment_reference': self.name, - 'invoice_line_ids': [ - (0, 0, { - 'price_unit': self.amount, - 'product_id': repayment_product_id, - 'name': 'Repayment', - 'account_id': self.repayment_account_id.id, - 'quantity': 1, - }), - (0, 0, { - 'price_unit': self.interest_amount, - 'product_id': interest_product_id, - 'name': 'Interest amount', - 'account_id': self.interest_account_id.id, - 'quantity': 1, - }), - ], - }) - if invoice: - self.invoice = True - self.write({'state': 'invoiced'}) - - return { - 'name': 'Invoice', - 'res_model': 'account.move', - 'res_id': invoice.id, - 'type': 'ir.actions.act_window', - 'view_mode': 'form', - } diff --git a/loan_management/models/res_config_settings.py b/loan_management/models/res_config_settings.py deleted file mode 100644 index 427ce7cd0..000000000 --- a/loan_management/models/res_config_settings.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################ -# -# Cybrosys Technologies Pvt. Ltd. -# -# Copyright (C) 2023-TODAY Cybrosys Technologies(). -# Author: Sabeel (odoo@cybrosys.com) -# -# You can modify it under the terms of the GNU AFFERO -# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. -# -# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE -# (AGPL v3) along with this program. -# If not, see . -# -################################################################################ -from odoo import fields, models - - -class ResConfigSettings(models.TransientModel): - """Add new fields to display service products""" - _inherit = 'res.config.settings' - - interest_product_id = fields.Many2one('product.product', - string="Interest Product", - config_parameter="loan_management" - ".interest_" - "product_id", - help="Product For Interest " - "To Create Invoice Lines") - repayment_product_id = fields.Many2one('product.product', - string="Repayment Product", - config_parameter="loan_management" - ".repayment_" - "product_id", - help="Product For Repayment " - "To Create Invoice Lines") diff --git a/loan_management/models/res_partner.py b/loan_management/models/res_partner.py deleted file mode 100644 index 7f7dda94d..000000000 --- a/loan_management/models/res_partner.py +++ /dev/null @@ -1,49 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################ -# -# Cybrosys Technologies Pvt. Ltd. -# -# Copyright (C) 2023-TODAY Cybrosys Technologies(). -# Author: Sabeel (odoo@cybrosys.com) -# -# You can modify it under the terms of the GNU AFFERO -# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. -# -# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE -# (AGPL v3) along with this program. -# If not, see . -# -################################################################################ -from odoo import fields, models - - -class ResPartner(models.Model): - """Add new tab to display partner's loan count""" - _inherit = "res.partner" - - def _compute_partner_loans(self): - """This compute the loan amount and total loans count of a partner.""" - self.loan_count = self.env['loan.request'].search_count( - [('partner_id', '=', self.id), - ('state', 'in', ('disbursed', 'closed'))]) - - loan_count = fields.Integer(string="Loan Count", - compute='_compute_partner_loans', - help="Displays numbers of loans " - "ongoing and closed by the employee") - - def action_view_loans(self): - """Returns loan records of current employee""" - return { - 'type': 'ir.actions.act_window', - 'name': 'Loans', - 'view_mode': 'tree', - 'res_model': 'loan.request', - 'domain': [('partner_id', '=', self.id)], - 'context': "{'create': False}" - } diff --git a/loan_management/report/__init__.py b/loan_management/report/__init__.py deleted file mode 100644 index 8d2bb5587..000000000 --- a/loan_management/report/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################ -# -# Cybrosys Technologies Pvt. Ltd. -# -# Copyright (C) 2023-TODAY Cybrosys Technologies(). -# Author: Sabeel B (odoo@cybrosys.com) -# -# You can modify it under the terms of the GNU AFFERO -# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. -# -# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE -# (AGPL v3) along with this program. -# If not, see . -# -################################################################################ -from . import loan_management_reports - diff --git a/loan_management/report/loan_management_reports.py b/loan_management/report/loan_management_reports.py deleted file mode 100644 index a51acbae0..000000000 --- a/loan_management/report/loan_management_reports.py +++ /dev/null @@ -1,63 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################ -# -# Cybrosys Technologies Pvt. Ltd. -# -# Copyright (C) 2023-TODAY Cybrosys Technologies(). -# Author: Sabeel B (odoo@cybrosys.com) -# -# You can modify it under the terms of the GNU AFFERO -# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. -# -# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE -# (AGPL v3) along with this program. -# If not, see . -# -################################################################################ -from odoo import api, models - - -class LoanDetails(models.AbstractModel): - """fetch pdf report values""" - _name = 'report.loan_management.loan_report_template' - - @api.model - def _get_report_values(self, doc_ids, data=None): - loan_id = self.env['loan.request'].browse(doc_ids) - data = { - 'Loan_id': loan_id.id, - 'Customer': loan_id.partner_id.name, - 'CustomerAddress': f"{loan_id.partner_id.street} " - f"{loan_id.partner_id.city}" if loan_id.partner_id.city - else '', - 'CustomerAddress2': f"{loan_id.partner_id.city}, " - f"{loan_id.partner_id.state_id.name}" if - loan_id.partner_id.city and loan_id.partner_id.state_id.name - else '', - 'CustomerContact': loan_id.partner_id.phone, - 'Loan_Type': loan_id.loan_type_id.name, - 'Tenure': loan_id.tenure, - 'Tenure_type': loan_id.loan_type_id.tenure_plan, - 'Interest_Rate': str(loan_id.interest_rate), - 'Loan_Amount': str(loan_id.loan_amount), - } - """Fetching values for the report using query and returns the value""" - query = """SELECT name as Name, date as Date, amount as Amount, - interest_amount as Interest_amount,state as State, - total_amount as Total_amount FROM repayment_line""" - check = """WHERE""" - condition = """loan_id='{cust}'""".format(cust=loan_id.id) - query = """{} {} {}""".format(query, check, condition) - self.env.cr.execute(query) - record = self.env.cr.dictfetchall() - record_sort = sorted(record, key=lambda x: x['date']) - return { - 'docs': record_sort, - 'doc_ids': doc_ids, - 'data': data, - } diff --git a/loan_management/report/loan_management_reports.xml b/loan_management/report/loan_management_reports.xml deleted file mode 100644 index 13c91a0b6..000000000 --- a/loan_management/report/loan_management_reports.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Loan Request - loan.request - qweb-pdf - loan_management.loan_report_template - loan_management.loan_report_template - - report - - \ No newline at end of file diff --git a/loan_management/report/loan_report_templates.xml b/loan_management/report/loan_report_templates.xml deleted file mode 100644 index 4e4e27c92..000000000 --- a/loan_management/report/loan_report_templates.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - \ No newline at end of file diff --git a/loan_management/security/ir.model.access.csv b/loan_management/security/ir.model.access.csv deleted file mode 100644 index 40b24ddc8..000000000 --- a/loan_management/security/ir.model.access.csv +++ /dev/null @@ -1,11 +0,0 @@ -id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink -access_loan_type_base,access.loan_type.base,model_loan_type,base.group_user,1,1,1,1 -access_loan_request_approver,access.loan.request.approver,model_loan_request,loan_management.loan_management_group_manager,1,1,1,1 -access_loan_request_user,access.loan.request.user,model_loan_request,loan_management.loan_management_group_user,1,1,1,0 -access_loan_documents_base,access.loan.documents.base,model_loan_documents,base.group_user,1,1,1,1 -access_repayment_line_base,access.repayment.line.base,model_repayment_line,base.group_user,1,1,1,1 -access_reject_reason_wizard_base,access.reject.reason.base,model_reject_reason,base.group_user,1,1,1,1 -access_message_wizard_base,access.message.popup.base,model_message_popup,base.group_user,1,1,1,1 - - - diff --git a/loan_management/security/loan_management_groups.xml b/loan_management/security/loan_management_groups.xml deleted file mode 100644 index faa492814..000000000 --- a/loan_management/security/loan_management_groups.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - loan_management - User access level for loan_management - model - - 8 - - - - Manager - - - - - - User - - - - - \ No newline at end of file diff --git a/loan_management/security/loan_management_security.xml b/loan_management/security/loan_management_security.xml deleted file mode 100644 index 3bd002e6b..000000000 --- a/loan_management/security/loan_management_security.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Loan Request Multi Company - - - [('company_id', 'in', company_ids)] - - - - Loan Documents Multi Company - - - [('company_id', 'in', company_ids)] - - - - Loan Type Multi Company - - - [('company_id', 'in', company_ids)] - - - - Repayment Line Multi Company - - - [('company_id', 'in', company_ids)] - - - - Access Only Loan Request Created By User - - [('create_uid', '=', user.id)] - - - - - - - - diff --git a/loan_management/static/description/assets/icons/check.png b/loan_management/static/description/assets/icons/check.png deleted file mode 100644 index c8e85f51d..000000000 Binary files a/loan_management/static/description/assets/icons/check.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/chevron.png b/loan_management/static/description/assets/icons/chevron.png deleted file mode 100644 index 2089293d6..000000000 Binary files a/loan_management/static/description/assets/icons/chevron.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/cogs.png b/loan_management/static/description/assets/icons/cogs.png deleted file mode 100644 index 95d0bad62..000000000 Binary files a/loan_management/static/description/assets/icons/cogs.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/consultation.png b/loan_management/static/description/assets/icons/consultation.png deleted file mode 100644 index 8319d4baa..000000000 Binary files a/loan_management/static/description/assets/icons/consultation.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/ecom-black.png b/loan_management/static/description/assets/icons/ecom-black.png deleted file mode 100644 index a9385ff13..000000000 Binary files a/loan_management/static/description/assets/icons/ecom-black.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/education-black.png b/loan_management/static/description/assets/icons/education-black.png deleted file mode 100644 index 3eb09b27b..000000000 Binary files a/loan_management/static/description/assets/icons/education-black.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/hotel-black.png b/loan_management/static/description/assets/icons/hotel-black.png deleted file mode 100644 index 130f613be..000000000 Binary files a/loan_management/static/description/assets/icons/hotel-black.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/license.png b/loan_management/static/description/assets/icons/license.png deleted file mode 100644 index a5869797e..000000000 Binary files a/loan_management/static/description/assets/icons/license.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/lifebuoy.png b/loan_management/static/description/assets/icons/lifebuoy.png deleted file mode 100644 index 658d56ccc..000000000 Binary files a/loan_management/static/description/assets/icons/lifebuoy.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/manufacturing-black.png b/loan_management/static/description/assets/icons/manufacturing-black.png deleted file mode 100644 index 697eb0e9f..000000000 Binary files a/loan_management/static/description/assets/icons/manufacturing-black.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/pos-black.png b/loan_management/static/description/assets/icons/pos-black.png deleted file mode 100644 index 97c0f90c1..000000000 Binary files a/loan_management/static/description/assets/icons/pos-black.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/puzzle.png b/loan_management/static/description/assets/icons/puzzle.png deleted file mode 100644 index 65cf854e7..000000000 Binary files a/loan_management/static/description/assets/icons/puzzle.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/restaurant-black.png b/loan_management/static/description/assets/icons/restaurant-black.png deleted file mode 100644 index 4a35eb939..000000000 Binary files a/loan_management/static/description/assets/icons/restaurant-black.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/service-black.png b/loan_management/static/description/assets/icons/service-black.png deleted file mode 100644 index 301ab51cb..000000000 Binary files a/loan_management/static/description/assets/icons/service-black.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/trading-black.png b/loan_management/static/description/assets/icons/trading-black.png deleted file mode 100644 index 9398ba2f1..000000000 Binary files a/loan_management/static/description/assets/icons/trading-black.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/training.png b/loan_management/static/description/assets/icons/training.png deleted file mode 100644 index 884ca024d..000000000 Binary files a/loan_management/static/description/assets/icons/training.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/update.png b/loan_management/static/description/assets/icons/update.png deleted file mode 100644 index ecbc5a01a..000000000 Binary files a/loan_management/static/description/assets/icons/update.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/user.png b/loan_management/static/description/assets/icons/user.png deleted file mode 100644 index 6ffb23d9f..000000000 Binary files a/loan_management/static/description/assets/icons/user.png and /dev/null differ diff --git a/loan_management/static/description/assets/icons/wrench.png b/loan_management/static/description/assets/icons/wrench.png deleted file mode 100644 index 6c04dea0f..000000000 Binary files a/loan_management/static/description/assets/icons/wrench.png and /dev/null differ diff --git a/loan_management/static/description/assets/misc/categories.png b/loan_management/static/description/assets/misc/categories.png deleted file mode 100644 index bedf1e0b1..000000000 Binary files a/loan_management/static/description/assets/misc/categories.png and /dev/null differ diff --git a/loan_management/static/description/assets/misc/check-box.png b/loan_management/static/description/assets/misc/check-box.png deleted file mode 100644 index 42caf24b9..000000000 Binary files a/loan_management/static/description/assets/misc/check-box.png and /dev/null differ diff --git a/loan_management/static/description/assets/misc/compass.png b/loan_management/static/description/assets/misc/compass.png deleted file mode 100644 index d5fed8faa..000000000 Binary files a/loan_management/static/description/assets/misc/compass.png and /dev/null differ diff --git a/loan_management/static/description/assets/misc/corporate.png b/loan_management/static/description/assets/misc/corporate.png deleted file mode 100644 index 2eb13edbf..000000000 Binary files a/loan_management/static/description/assets/misc/corporate.png and /dev/null differ diff --git a/loan_management/static/description/assets/misc/customer-support.png b/loan_management/static/description/assets/misc/customer-support.png deleted file mode 100644 index 79efc72ed..000000000 Binary files a/loan_management/static/description/assets/misc/customer-support.png and /dev/null differ diff --git a/loan_management/static/description/assets/misc/cybrosys-logo.png b/loan_management/static/description/assets/misc/cybrosys-logo.png deleted file mode 100644 index cc3cc0ccf..000000000 Binary files a/loan_management/static/description/assets/misc/cybrosys-logo.png and /dev/null differ diff --git a/loan_management/static/description/assets/misc/features.png b/loan_management/static/description/assets/misc/features.png deleted file mode 100644 index b41769f77..000000000 Binary files a/loan_management/static/description/assets/misc/features.png and /dev/null differ diff --git a/loan_management/static/description/assets/misc/logo.png b/loan_management/static/description/assets/misc/logo.png deleted file mode 100644 index 478462d3e..000000000 Binary files a/loan_management/static/description/assets/misc/logo.png and /dev/null differ diff --git a/loan_management/static/description/assets/misc/pictures.png b/loan_management/static/description/assets/misc/pictures.png deleted file mode 100644 index 56d255fe9..000000000 Binary files a/loan_management/static/description/assets/misc/pictures.png and /dev/null differ diff --git a/loan_management/static/description/assets/misc/pie-chart.png b/loan_management/static/description/assets/misc/pie-chart.png deleted file mode 100644 index 426e05244..000000000 Binary files a/loan_management/static/description/assets/misc/pie-chart.png and /dev/null differ diff --git a/loan_management/static/description/assets/misc/right-arrow.png b/loan_management/static/description/assets/misc/right-arrow.png deleted file mode 100644 index 730984a06..000000000 Binary files a/loan_management/static/description/assets/misc/right-arrow.png and /dev/null differ diff --git a/loan_management/static/description/assets/misc/star.png b/loan_management/static/description/assets/misc/star.png deleted file mode 100644 index 2eb9ab29f..000000000 Binary files a/loan_management/static/description/assets/misc/star.png and /dev/null differ diff --git a/loan_management/static/description/assets/misc/support.png b/loan_management/static/description/assets/misc/support.png deleted file mode 100644 index 4f18b8b82..000000000 Binary files a/loan_management/static/description/assets/misc/support.png and /dev/null differ diff --git a/loan_management/static/description/assets/misc/whatsapp.png b/loan_management/static/description/assets/misc/whatsapp.png deleted file mode 100644 index d513a5356..000000000 Binary files a/loan_management/static/description/assets/misc/whatsapp.png and /dev/null differ diff --git a/loan_management/static/description/assets/modules/1.png b/loan_management/static/description/assets/modules/1.png deleted file mode 100644 index b21837312..000000000 Binary files a/loan_management/static/description/assets/modules/1.png and /dev/null differ diff --git a/loan_management/static/description/assets/modules/2.png b/loan_management/static/description/assets/modules/2.png deleted file mode 100644 index eb3f8652f..000000000 Binary files a/loan_management/static/description/assets/modules/2.png and /dev/null differ diff --git a/loan_management/static/description/assets/modules/3.png b/loan_management/static/description/assets/modules/3.png deleted file mode 100644 index a9c4ec82c..000000000 Binary files a/loan_management/static/description/assets/modules/3.png and /dev/null differ diff --git a/loan_management/static/description/assets/modules/4.png b/loan_management/static/description/assets/modules/4.png deleted file mode 100644 index 17ba4d75f..000000000 Binary files a/loan_management/static/description/assets/modules/4.png and /dev/null differ diff --git a/loan_management/static/description/assets/modules/5.png b/loan_management/static/description/assets/modules/5.png deleted file mode 100644 index 489f44e86..000000000 Binary files a/loan_management/static/description/assets/modules/5.png and /dev/null differ diff --git a/loan_management/static/description/assets/modules/6.png b/loan_management/static/description/assets/modules/6.png deleted file mode 100644 index ed11bd818..000000000 Binary files a/loan_management/static/description/assets/modules/6.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/Gif.zip b/loan_management/static/description/assets/screenshots/Gif.zip deleted file mode 100644 index c7b73b717..000000000 Binary files a/loan_management/static/description/assets/screenshots/Gif.zip and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/checked.png b/loan_management/static/description/assets/screenshots/checked.png deleted file mode 100644 index 578cedb80..000000000 Binary files a/loan_management/static/description/assets/screenshots/checked.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/cybrosys.png b/loan_management/static/description/assets/screenshots/cybrosys.png deleted file mode 100644 index d76b5bafb..000000000 Binary files a/loan_management/static/description/assets/screenshots/cybrosys.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/hero.gif b/loan_management/static/description/assets/screenshots/hero.gif deleted file mode 100644 index 0665500b7..000000000 Binary files a/loan_management/static/description/assets/screenshots/hero.gif and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/loan0.png b/loan_management/static/description/assets/screenshots/loan0.png deleted file mode 100644 index 4fa11e022..000000000 Binary files a/loan_management/static/description/assets/screenshots/loan0.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/loan1.png b/loan_management/static/description/assets/screenshots/loan1.png deleted file mode 100644 index b70947f70..000000000 Binary files a/loan_management/static/description/assets/screenshots/loan1.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/loan10.png b/loan_management/static/description/assets/screenshots/loan10.png deleted file mode 100644 index 996fec868..000000000 Binary files a/loan_management/static/description/assets/screenshots/loan10.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/loan12.png b/loan_management/static/description/assets/screenshots/loan12.png deleted file mode 100644 index 699c4fd21..000000000 Binary files a/loan_management/static/description/assets/screenshots/loan12.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/loan2.png b/loan_management/static/description/assets/screenshots/loan2.png deleted file mode 100644 index 665dcc833..000000000 Binary files a/loan_management/static/description/assets/screenshots/loan2.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/loan3.png b/loan_management/static/description/assets/screenshots/loan3.png deleted file mode 100644 index 02c71c8e8..000000000 Binary files a/loan_management/static/description/assets/screenshots/loan3.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/loan7.png b/loan_management/static/description/assets/screenshots/loan7.png deleted file mode 100644 index 1c1365616..000000000 Binary files a/loan_management/static/description/assets/screenshots/loan7.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/loanatt.png b/loan_management/static/description/assets/screenshots/loanatt.png deleted file mode 100644 index 4e40b58c3..000000000 Binary files a/loan_management/static/description/assets/screenshots/loanatt.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/loanclose.png b/loan_management/static/description/assets/screenshots/loanclose.png deleted file mode 100644 index 5d53e207b..000000000 Binary files a/loan_management/static/description/assets/screenshots/loanclose.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/loandsb.png b/loan_management/static/description/assets/screenshots/loandsb.png deleted file mode 100644 index 65b2b43fe..000000000 Binary files a/loan_management/static/description/assets/screenshots/loandsb.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/loaninv.png b/loan_management/static/description/assets/screenshots/loaninv.png deleted file mode 100644 index 238674117..000000000 Binary files a/loan_management/static/description/assets/screenshots/loaninv.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/loanpayment.png b/loan_management/static/description/assets/screenshots/loanpayment.png deleted file mode 100644 index db79ee0ae..000000000 Binary files a/loan_management/static/description/assets/screenshots/loanpayment.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/loanpdf.png b/loan_management/static/description/assets/screenshots/loanpdf.png deleted file mode 100644 index eecee3d67..000000000 Binary files a/loan_management/static/description/assets/screenshots/loanpdf.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/loanrep.png b/loan_management/static/description/assets/screenshots/loanrep.png deleted file mode 100644 index 8e47372e7..000000000 Binary files a/loan_management/static/description/assets/screenshots/loanrep.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/loanrepay.png b/loan_management/static/description/assets/screenshots/loanrepay.png deleted file mode 100644 index 4f781ba00..000000000 Binary files a/loan_management/static/description/assets/screenshots/loanrepay.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/loanreq.png b/loan_management/static/description/assets/screenshots/loanreq.png deleted file mode 100644 index 3b6e8f1a2..000000000 Binary files a/loan_management/static/description/assets/screenshots/loanreq.png and /dev/null differ diff --git a/loan_management/static/description/assets/screenshots/pdfreport.png b/loan_management/static/description/assets/screenshots/pdfreport.png deleted file mode 100644 index 1cafbee57..000000000 Binary files a/loan_management/static/description/assets/screenshots/pdfreport.png and /dev/null differ diff --git a/loan_management/static/description/banner.png b/loan_management/static/description/banner.png deleted file mode 100644 index c3dd78427..000000000 Binary files a/loan_management/static/description/banner.png and /dev/null differ diff --git a/loan_management/static/description/icon.png b/loan_management/static/description/icon.png deleted file mode 100644 index 7079230cf..000000000 Binary files a/loan_management/static/description/icon.png and /dev/null differ diff --git a/loan_management/static/description/index.html b/loan_management/static/description/index.html deleted file mode 100644 index 198336d4f..000000000 --- a/loan_management/static/description/index.html +++ /dev/null @@ -1,744 +0,0 @@ -
- -
- -
-
- Community -
-
- Enterprise -
-
-
- - - -
-
-
-

- Loan Management

-

- Manage Loan Disburse/Amortization Activities.

- - -
-
-
- -
- - -
-
- -
-

- Explore This - Module

-
- - - - -
-
- -
-

- Overview -

-
-
-
- This app helps the user to systematically perform the activities of - managing Loan Disburse/Amortization Activities. - The app simplifies the activities like Loan Types Management, Loan - Requests Management, Disburse Management, Repayments Management, - Journal Entries and so on. -
-
- - - -
-
- -
-

- Features -

-
-
-
-
- - Available in Odoo 16.0 Community and enterprise -
-
- - Create And Manage Different Loan Types -
-
- - Can Add Documents as Proofs -
-
-
- - Manage Requests For Loan -
-
- - Mail Notification For Confirming Loan Request. -
-
- - Quick Repayment Schedule Calculation. -
-
- - Print Individual Loan Report. -
-
- - Invoicing Products. -
- -
- - - -
-
- -
-

- Screenshots -

-
-
-
- -
-

- There are two type of User Access

- -
- -
-

- Different Types Of Loan

-

- Can create different loan types -

- -
- -
-

- Add Documents

-

- Go to Documents -> Loan Proofs->Create Documents.(For easy loan - approvals)

- -
-
-

- Loan Requests

-

- Can create loan requests for each customers

- -
-
-

- Attach Documents

-

- Many2many attachment line

- -
-
-

- Computing Repayment Schedule

-

- Can create repayment schedule lines

- - -
- -
-

- Request For Approval

-

- User can send request to manager for approval and state changes - to 'waiting for approval'

- - -
-
-

- Approve/Reject .

-

- Manager can approve or reject the loan .

- -
-
-

- Disburse The Loan

-

- Can disburse the loan to the customer by creating journal entry - of disbursal

- -
-
-

- Invoicing Products

-

- Choose invoicing products from configuration

- -
-
-

- Create Invoice

-

- Create invoices for each repayments

- - -
- -
-

- Close Loan

-

- Change the state to closed after all repayments are paid

-
-
- -
-
-

- PDF Report

-

- Can print pdf reports

- - -
- -
-
- - - -
-
- -
-

- Related - Products -

-
-
-
- -
-
- - - - -
-
- -
-

- Our Services -

-
- -
-
-
-
- -
-
- Odoo - Customization
-
- -
-
- -
-
- Odoo - Implementation
-
- -
-
- -
-
- Odoo - Support
-
- - -
-
- -
-
- Hire - Odoo - Developer
-
- -
-
- -
-
- Odoo - Integration
-
- -
-
- -
-
- Odoo - Migration
-
- - -
-
- -
-
- Odoo - Consultancy
-
- -
-
- -
-
- Odoo - Implementation
-
- -
-
- -
-
- Odoo - Licensing Consultancy
-
-
- -
- - - - - -
-
- -
-

- Our - Industries -

-
- -
-
-
-
- -
- Trading -
-

- Easily procure - and - sell your products

-
-
- -
-
- -
- POS -
-

- Easy - configuration - and convivial experience

-
-
- -
-
- -
- Education -
-

- A platform for - educational management

-
-
- -
-
- -
- Manufacturing -
-

- Plan, track and - schedule your operations

-
-
- -
-
- -
- E-commerce & Website -
-

- Mobile - friendly, - awe-inspiring product pages

-
-
- -
-
- -
- Service Management -
-

- Keep track of - services and invoice

-
-
- -
-
- -
- Restaurant -
-

- Run your bar or - restaurant methodically

-
-
- -
-
- -
- Hotel Management -
-

- An - all-inclusive - hotel management application

-
-
-
-
- - - - -
-
- -
-

- Support -

-
-
-
-
-
-
- -
-
-

Need Help?

-

Got questions or need help? - Get in touch.

- -

- odoo@cybrosys.com

-
-
-
-
-
-
-
- -
-
-

WhatsApp

-

Say hi to us on WhatsApp!

- -

- +91 86068 - 27707

-
-
-
-
-
-
-
- -
-
-
- diff --git a/loan_management/views/loan_documents_views.xml b/loan_management/views/loan_documents_views.xml deleted file mode 100644 index 7abf650be..000000000 --- a/loan_management/views/loan_documents_views.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - Loan Documents - loan.documents - tree,form - - - - loan.documents.view.tree - loan.documents - - - - - - - - - \ No newline at end of file diff --git a/loan_management/views/loan_management_menus.xml b/loan_management/views/loan_management_menus.xml deleted file mode 100644 index d856d5108..000000000 --- a/loan_management/views/loan_management_menus.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/loan_management/views/loan_request_views.xml b/loan_management/views/loan_request_views.xml deleted file mode 100644 index 120be0ff4..000000000 --- a/loan_management/views/loan_request_views.xml +++ /dev/null @@ -1,169 +0,0 @@ - - - - - Loan Request - loan.request - tree,form - - - - - loan.request.view.tree - loan.request - - - - - - - - - - - - - - - - - - Loan Reference - increment_loan_ref - LOAN - 3 - - - - - loan.request.view.form - loan.request - - -
-
- - - -
- -
-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
diff --git a/loan_management/wizard/__init__.py b/loan_management/wizard/__init__.py deleted file mode 100644 index 5418517fb..000000000 --- a/loan_management/wizard/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################ -# -# Cybrosys Technologies Pvt. Ltd. -# -# Copyright (C) 2023-TODAY Cybrosys Technologies(). -# Author: Sabeel B (odoo@cybrosys.com) -# -# You can modify it under the terms of the GNU AFFERO -# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. -# -# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE -# (AGPL v3) along with this program. -# If not, see . -# -################################################################################ -from .import message_popup, reject_reason - - - diff --git a/loan_management/wizard/message_popup.py b/loan_management/wizard/message_popup.py deleted file mode 100644 index fc50d7ffb..000000000 --- a/loan_management/wizard/message_popup.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################ -# -# Cybrosys Technologies Pvt. Ltd. -# -# Copyright (C) 2023-TODAY Cybrosys Technologies(). -# Author: Sabeel B (odoo@cybrosys.com) -# -# You can modify it under the terms of the GNU AFFERO -# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. -# -# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE -# (AGPL v3) along with this program. -# If not, see . -# -################################################################################ -from odoo import fields, models - - -class MessageWizard(models.TransientModel): - """For creating alert messages""" - _name = 'message.popup' - _description = 'Generate Popup Message' - - message = fields.Text(string='Message', required=True, help="Alert Content") diff --git a/loan_management/wizard/message_popup_views.xml b/loan_management/wizard/message_popup_views.xml deleted file mode 100644 index ce020a4cf..000000000 --- a/loan_management/wizard/message_popup_views.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - message.popup.view.form - message.popup - -
-

- -

-
-
-
-
-
-
\ No newline at end of file diff --git a/loan_management/wizard/reject_reason.py b/loan_management/wizard/reject_reason.py deleted file mode 100644 index 36daf7a6d..000000000 --- a/loan_management/wizard/reject_reason.py +++ /dev/null @@ -1,40 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################ -# -# Cybrosys Technologies Pvt. Ltd. -# -# Copyright (C) 2023-TODAY Cybrosys Technologies(). -# Author: Sabeel B (odoo@cybrosys.com) -# -# You can modify it under the terms of the GNU AFFERO -# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. -# -# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE -# (AGPL v3) along with this program. -# If not, see . -# -################################################################################ -from odoo import fields, models - - -class RejectReasonWizard(models.TransientModel): - """Reject reasons from the company side""" - _name = 'reject.reason' - _description = 'Reject Reasons From The Company Side' - - reason = fields.Text(string="Reason", help="Reason Content") - loan = fields.Char(string="Loan", help="Invisible Field") - - def action_reject_reason_txt(self): - """Attach Reject Reason""" - loan_request = self.env['loan.request'].search( - [('name', '=', self.loan)]) - loan_request.write({ - 'state': 'rejected', - 'reject_reason': self.reason - }) diff --git a/loan_management/wizard/reject_reason_views.xml b/loan_management/wizard/reject_reason_views.xml deleted file mode 100644 index a3343148c..000000000 --- a/loan_management/wizard/reject_reason_views.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - reject.reason.view.form - reject.reason - form - -
- - - - - -
-
-
-
\ No newline at end of file