diff --git a/easy_my_coop_loan/models/loan.py b/easy_my_coop_loan/models/loan.py
index 0d305b8..54d8bc1 100644
--- a/easy_my_coop_loan/models/loan.py
+++ b/easy_my_coop_loan/models/loan.py
@@ -37,9 +37,14 @@ class LoanIssue(models.Model):
currency_field='company_currency_id')
maximum_amount = fields.Monetary(string="Maximum amount",
currency_field='company_currency_id')
- maximum_amount_per_sub = fields.Monetary(
- string="Maximum amount per subscription",
- currency_field='company_currency_id')
+ min_amount_company = fields.Monetary(string="Minimum amount for a company",
+ currency_field='company_currency_id')
+ max_amount_company = fields.Monetary(string="Maximum amount for a company",
+ currency_field='company_currency_id')
+ min_amount_person = fields.Monetary(string="Minimum amount for a person",
+ currency_field='company_currency_id')
+ max_amount_person = fields.Monetary(string="Maximum amount for a person",
+ currency_field='company_currency_id')
subscribed_amount = fields.Monetary(string="Subscribed amount",
compute="_compute_subscribed_amount",
currency_field='company_currency_id')
@@ -71,6 +76,18 @@ class LoanIssue(models.Model):
taxes_rate = fields.Float(string="Taxes on interest",
required=True)
+ @api.multi
+ def get_max_amount(self, partner):
+ max_amount = 0
+ lines = self.loan_issue_lines.filtered(
+ lambda r: r.partner_id == partner and r.state != 'cancelled')
+ already_subscribed = sum(line.amount for line in lines)
+ if partner.is_company:
+ max_amount = self.max_amount_company - already_subscribed
+ else:
+ max_amount = self.max_amount_person - already_subscribed
+ return max_amount
+
@api.multi
def toggle_display(self):
for loan_issue in self:
diff --git a/easy_my_coop_loan/views/loan_view.xml b/easy_my_coop_loan/views/loan_view.xml
index d90f499..7ca7a8e 100644
--- a/easy_my_coop_loan/views/loan_view.xml
+++ b/easy_my_coop_loan/views/loan_view.xml
@@ -61,8 +61,11 @@
-
+
+
+
+
diff --git a/easy_my_coop_loan_website/controllers/main.py b/easy_my_coop_loan_website/controllers/main.py
index 92e0209..09f7379 100644
--- a/easy_my_coop_loan_website/controllers/main.py
+++ b/easy_my_coop_loan_website/controllers/main.py
@@ -12,11 +12,13 @@ class WebsiteLoanIssueSubscription(http.Controller):
methods=['POST'], website=True)
def get_loan_issue(self, loan_issue_id, **kw):
loan_issue_obj = request.env['loan.issue']
+ partner = request.env.user.partner_id
if loan_issue_id:
loan_issue = loan_issue_obj.sudo().browse(int(loan_issue_id))
+ max_amount = loan_issue.get_max_amount(partner)
return {
loan_issue.id: {
- 'max_amount': loan_issue.maximum_amount_per_sub,
+ 'max_amount': max_amount,
'face_value': loan_issue.face_value,
}
}