Skip to content
Extraits de code Groupes Projets
Valider 8181afe9 rédigé par Hugo Trentesaux's avatar Hugo Trentesaux
Parcourir les fichiers

déplace ligne de commission

parent 2d3d8584
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -17,6 +17,7 @@
# datas
# views
"views/financial_contract_guarantee.xml",
"views/financial_contract_guarantee_commission.xml",
"views/financial_contract_guarantee_line.xml",
"views/financial_contract_guarantee_partner.xml",
"views/financial_product_template_guarantee.xml",
......
from . import company_share_line
from . import financial_contract_guarantee
from . import financial_contract_guarantee_commission
from . import financial_contract_guarantee_partner
from . import financial_contract_guarantee_line
from . import financial_contract_guarantee_suspensive_condition
......
......@@ -22,7 +22,6 @@ class FinancialContractGuarantee(models.Model):
]
_order = "create_date desc"
# chaque contrat de garantie est associée à un identifiant titulaire
# plusieurs contrats de garantie peuvent être associés au même identifiant
titular_number = fields.Char("Identifiant Titulaire")
......@@ -75,6 +74,8 @@ class FinancialContractGuarantee(models.Model):
store=True,
tracking=1,
)
# --- FMG ---
fmg_amount = fields.Monetary(
string="FMG calculé",
compute="_compute_fmg_amount",
......@@ -90,6 +91,8 @@ class FinancialContractGuarantee(models.Model):
inverse_name="guarantee_id",
string="FMG",
)
# --- Social share ---
social_share_number = fields.Integer(
string="Nbre parts sociales",
compute="_compute_social_share",
......@@ -110,6 +113,12 @@ class FinancialContractGuarantee(models.Model):
compute="_compute_social_share_paid",
store=True
)
# --- Commission ---
commission_ids = fields.One2many(
comodel_name="financial.guarantee.commission.line",
inverse_name="guarantee_id", string="Commissions")
is_old_associate = fields.Boolean(
string="Nouveau sociétaire",
compute="_compute_is_new_associate",
......@@ -124,7 +133,7 @@ class FinancialContractGuarantee(models.Model):
date_folder_received = fields.Date("Date de réception dossier")
date_approval_president = fields.Date("Date Validation Président")
# Loan Data
# --- Loan Data ---
payment_date = fields.Date("Date de versement")
amount_initial = fields.Monetary(
string="Montant initial",
......@@ -142,7 +151,7 @@ class FinancialContractGuarantee(models.Model):
readonly=False,
)
# Company Data
# --- Company Data ---
segment_code = fields.Char("Code Segment")
bdf_scoring = fields.Char(
string="Cotation BDF",
......@@ -201,13 +210,15 @@ class FinancialContractGuarantee(models.Model):
guarantee.line_ids.mapped("commission_amount")
)
@api.depends("guarantee_amount", "is_counter_guarantee", "counter_guarantee_rate")
@api.depends("guarantee_amount", "is_counter_guarantee",
"counter_guarantee_rate")
def _compute_final_risk_guarantee(self):
for guarantee in self:
if not guarantee.is_counter_guarantee:
guarantee.final_risk_guarantee = guarantee.guarantee_amount
else:
guarantee.final_risk_guarantee = (1 - guarantee.counter_guarantee_rate) * guarantee.guarantee_amount
guarantee.final_risk_guarantee = (
1 - guarantee.counter_guarantee_rate) * guarantee.guarantee_amount
@api.depends("remaining_capital", "guarantee_rate")
def _compute_guarantee_amount(self):
......@@ -255,7 +266,8 @@ class FinancialContractGuarantee(models.Model):
@api.depends("social_share_ids", "social_share_ids.share_total_amount")
def _compute_social_share_paid(self):
for guarantee in self:
guarantee.social_share_paid = sum(guarantee.social_share_ids.mapped("share_total_amount"))
guarantee.social_share_paid = sum(
guarantee.social_share_ids.mapped("share_total_amount"))
@api.depends("product_id")
def _compute_suspensive_condition_ids(self):
......
# © 2024 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class FinancialContractGuaranteeCommission(models.Model):
"""
"""
_name = "financial.guarantee.commission.line"
_description = "Ligne de commission sur contrat de garantie"
# commission line
prime_reversee = fields.Monetary("Prime reversée")
taux_commission = fields.Float()
guarantee_id = fields.Many2one(
comodel_name="financial.contract.guarantee",
string="Contrat de garantie",
required=True,
store=True,
index=True,
)
# related to guarantee
partner_id = fields.Many2one(
comodel_name="res.partner",
related="guarantee_id.partner_id",
string="Contact",
store=True,
index=True,
)
company_id = fields.Many2one(
comodel_name="res.company",
related="guarantee_id.company_id",
string="Société",
store=True,
index=True,
)
currency_id = fields.Many2one(
comodel_name="res.currency",
related="guarantee_id.currency_id",
)
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<!-- action -->
<record model="ir.actions.act_window" id="commission_line_action">
<field name="name">Commission</field>
<field name="res_model">financial.guarantee.commission.line</field>
<field name="path">commission_act</field>
<field name="view_mode">list,form</field>
</record>
<!-- tree view -->
<record model="ir.ui.view" id="commission_line_tree_view">
<field name="name">commission.line.tree.view</field>
<field name="model">financial.guarantee.commission.line</field>
<field name="arch" type="xml">
<list>
<field name="guarantee_id" optional="hide"/>
<field name="partner_id" optional="hide"/>
<field name="company_id" optional="show"/>
<field name="currency_id" optional="hide"/>
<field name="prime_reversee" optional="show"/>
<field name="taux_commission" optional="show"/>
</list>
</field>
</record>
</odoo>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter