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

[update] payment schedule functions in cotiz_cg

parent 5ec73cda
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -68,21 +68,6 @@ class ScopAccountInvoiceCG(models.Model):
else:
invoice_line_cotisation_id[0].price_unit = self.amount_cg_prorata
@api.multi
def action_invoice_open(self):
"""
Modification de la ligne dans scop.contribution
avec le bon montant calculé (spécifique pour CG)
"""
results = super(ScopAccountInvoiceCG, self).action_invoice_open()
for inv in self:
if inv.cotisation_cg_id:
inv.partner_id.contribution_ids.filtered(
lambda c: c.invoice_id == inv).write({
'amount_calculated': inv.amount_cg_calculated
})
return results
def view_cotiz(self):
form_view = self.env.ref(
'cgscop_cotisation_cg.invoice_form_scop_cg_inherited').id
......
......@@ -347,7 +347,7 @@ class ScopCotisation(models.Model):
def create_bordereau(self, member, nb_quarter, liasse=None,
ca=0, va=0, staff_count=0,
staff_shareholder_count=0, staff_average=0,
net_results=0, wage_cg=0):
net_results=0, wage_cg=0, date=False):
"""
Création du bordereau de cotisations
:param member:
......@@ -360,6 +360,7 @@ class ScopCotisation(models.Model):
:param staff_average:
:param net_results:
:param wage_cg:
:param date:
:return bordereau_id:
"""
existing_bordereau = self.env['scop.bordereau'].search([
......@@ -367,13 +368,14 @@ class ScopCotisation(models.Model):
('year', '=', self.year),
])
if not existing_bordereau:
date_invoice = date if date else self.date_cotisation
bordereau = self.env['scop.bordereau'].create({
'partner_id': member.id,
'payment_mode_id': member.supplier_payment_mode_id.id,
'base_cotisation_cg': self.id,
'liasse_fiscale_id': liasse.id if liasse else None,
'year_liasse_retenue': liasse.year if liasse else 0,
'date_cotisation': self.date_cotisation,
'date_cotisation': date_invoice,
'nb_quarter': nb_quarter,
'ca_connu': ca,
'ca_retenu': ca,
......@@ -423,7 +425,7 @@ class ScopCotisation(models.Model):
ca=0, va_cg=0, va_fede_com=0, nb_quarter=4,
staff_fede_com_count=0, staff_ur_med_count=0,
staff_shareholder_count=0, staff_average=0,
net_results=0, wage_cg=0):
net_results=0, wage_cg=0, date=False):
# Invoice cotiz CG
#
......@@ -434,7 +436,8 @@ class ScopCotisation(models.Model):
self.get_cotiz_cg(partner, type_assiette, ca, va_cg)
, 4)
invoice_cotiz_cg = self.create_contribution(
product_cg_id, partner, type_cotisation_cg, liasse, amount_cg)
product_cg_id, partner, type_cotisation_cg,
liasse, amount_cg, date)
invoice_cotiz_cg.write({
'cotisation_cg_id': self.id,
'bordereau_id': bordereau.id,
......@@ -458,7 +461,7 @@ class ScopCotisation(models.Model):
, 4)
invoice_cotiz_fede_com = self.create_contribution(
product_fede_com_id, partner, type_cotisation_fede_com,
liasse, amount_fede_com)
liasse, amount_fede_com, date)
invoice_cotiz_fede_com.write({
'cotisation_cg_id': self.id,
'bordereau_id': bordereau.id,
......@@ -480,7 +483,7 @@ class ScopCotisation(models.Model):
self.get_cotiz_fede_cae(), 4)
invoice_cotiz_fede_cae = self.create_contribution(
product_fede_cae_id, partner, type_cotisation_fede_cae,
liasse, amount_fede_cae)
liasse, amount_fede_cae, date)
invoice_cotiz_fede_cae.write({
'cotisation_cg_id': self.id,
'bordereau_id': bordereau.id,
......@@ -505,7 +508,7 @@ class ScopCotisation(models.Model):
, 4)
invoice_cotiz_hdf = self.create_contribution(
product_hdf_id, partner, type_cotisation_ur,
liasse, amount_hdf)
liasse, amount_hdf, date)
invoice_cotiz_hdf.write({
'cotisation_cg_id': self.id,
'bordereau_id': bordereau.id,
......@@ -529,7 +532,7 @@ class ScopCotisation(models.Model):
, 4)
invoice_cotiz_med = self.create_contribution(
product_med_id, partner, type_cotisation_ur,
liasse, amount_med)
liasse, amount_med, date)
invoice_cotiz_med.write({
'cotisation_cg_id': self.id,
'bordereau_id': bordereau.id,
......@@ -784,7 +787,7 @@ class ScopCotisation(models.Model):
# Threading task
# ------------------------------------------------------
def process_cotiz_generate(self, partner_ids,
cotiz_cg_task, nb_quarter=4):
cotiz_cg_task, nb_quarter=4, date=False):
"""
Process de génération des cotiz CG en background
"""
......@@ -846,7 +849,7 @@ class ScopCotisation(models.Model):
staff_shareholder_count=staff_shareholder_count,
staff_average=staff_average,
net_results=net_results,
wage_cg=wage_cg,
wage_cg=wage_cg, date=date
)
cotiz_created += 1
......
......@@ -62,6 +62,12 @@
<hr/>
<field name="amount_total" readonly="1" widget="monetary"/>
</group>
<group name="schedule" string="Échéancier">
<field name="trimester_1" required="1"/>
<field name="trimester_2" required="1"/>
<field name="trimester_3" required="1"/>
<field name="trimester_4" required="1"/>
</group>
</group>
</sheet>
</form>
......
......@@ -37,6 +37,7 @@ class ScopCotisationWizard(models.TransientModel):
comodel_name='res.partner',
string='Coopératives'
)
date = fields.Date('Date de cotisation', default=fields.Date.today())
# ------------------------------------------------------
# Button function
......@@ -97,7 +98,8 @@ class ScopCotisationWizard(models.TransientModel):
# Lancement du calcul en arrière plan
threaded_cotiz = threading.Thread(
target=self.cotisation_cg_id.process_cotiz_generate,
args=(members_to_invoice, cotiz_cg_task, self.nb_quarter))
args=(members_to_invoice, cotiz_cg_task,
self.nb_quarter, self.date))
threaded_cotiz.start()
else:
message = ("<p class='text-center'>Tous les bordereaux pour les "
......
......@@ -12,6 +12,7 @@
<form string="Générer les cotisation pour les nouveaux adhérents">
<group>
<field name="year" required="1" invisible="1"/>
<field name="date" required="1"/>
<field name="nb_quarter" required="1"/>
<field name="type" widget="radio"/>
<field name="partner_ids" attrs="{'invisible': [('type', '=', 'all')]}" widget="many2many_tags" options="{'no_create': True, 'no_open': True}"/>
......
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