Skip to content
Extraits de code Groupes Projets
Valider ea6e4738 rédigé par jordan's avatar jordan
Parcourir les fichiers

[add] new class scop_cotisation

parent 4e7189f2
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
# © 2021 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import models, fields
class ScopCotisation(models.AbstractModel):
_name = "scop.cotisation"
_description = "Base des cotisations"
year = fields.Selection(
[(year, str(year)) for year in range(
fields.Datetime.now().year - 1, fields.Datetime.now().year + 2)],
string='Année de cotisation',
required=True)
company_id = fields.Many2one(
comodel_name='res.company',
string='Company', change_default=True,
required=True, readonly=True,
default=lambda self: self.env.user.company_id)
company_currency_id = fields.Many2one(
comodel_name='res.currency', related='company_id.currency_id',
string="Company Currency", readonly=True)
payment_term_id = fields.Many2one(
comodel_name='account.payment.term',
string="Conditions de paiement",
required=True
)
date_cotisation = fields.Date("Date de cotisation", required=True)
def create_contribution(self, product, partner, liasse=None, amount=0):
result = dict()
Invoice = self.env['account.invoice']
InvoiceLine = self.env['account.invoice.line']
member_invoice = Invoice.create({
'partner_id': partner.id,
'liasse_fiscale_id': liasse.id,
'type': 'out_invoice',
'year': self.year,
'is_contribution': True,
'journal_id': self.company_id.contribution_journal_id.id,
'state': 'draft',
'account_id': partner.property_account_receivable_id.id,
'payment_term_id': self.payment_term_id.id,
'payment_mode_id': partner.customer_payment_mode_id.id,
'date_invoice': self.date_cotisation,
})
# Création de la ligne CG Scop
member_invoice_line = InvoiceLine.create({
'invoice_id': member_invoice.id,
'product_id': product.id,
'account_id': product.property_account_income_id.id,
'invoice_line_tax_ids': [(6, 0, product.taxes_id.ids)],
'name': product.name,
'price_unit': amount
})
result['invoice'] = member_invoice
result['invoice_line'] = member_invoice_line
return result
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