Skip to content
Extraits de code Groupes Projets
Valider 772d7fd9 rédigé par Benjamin - Le Filament's avatar Benjamin - Le Filament
Parcourir les fichiers

[FIX] period, directors and prestas errors on LM validation

parent 6b590c5a
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -1717,19 +1717,17 @@ class ScopListeMinistere(models.Model):
month = 12
cloture = date(year - 1, month, monthrange(year - 1, month)[1])
# Check effective period
if len(partner_id.scop_period_ids) == 1:
period_id = partner_id.scop_period_ids[0]
else:
period_id = partner_id.scop_period_ids.filtered(
lambda p: p.start <= cloture and (p.end is False or p.end > cloture)
)
if len(period_id) != 1:
raise UserError(
_("Erreur sur les périodes pour le partner " + partner_id.name)
)
period_ids = partner_id.scop_period_ids.filtered(
lambda p: p.end <= cloture or not p.end
).sorted("start", reverse=True)
if period_ids:
# Define form and type related to period
period_id = period_ids[0]
partner_company_type_id = period_id.partner_company_type_id.id
cooperative_form_id = period_id.cooperative_form_id.id
else:
partner_company_type_id = partner_id.partner_company_type_id.id
cooperative_form_id = partner_id.cooperative_form_id.id
# Create LM
main_type = self.compute_main_type(cooperative_form_id)
lm_id = self.with_context(mail_create_nosubscribe=True).create(
......@@ -1814,6 +1812,7 @@ class ScopListeMinistere(models.Model):
previous_lm = self.get_previous_lm(lm_id)
if len(previous_lm) == 1:
for director_previous_lm in previous_lm.director_ids:
if director_previous_lm.partner_id not in self.director_ids.mapped("partner_id"):
director_previous_lm.copy(default={"liste_ministere_id": lm_id})
elif self.partner_id.director_ids:
for director in self.partner_id.director_ids:
......@@ -1841,11 +1840,16 @@ class ScopListeMinistere(models.Model):
self.env["scop.liste.ministere.directeurs"].create(director_values)
def lm_maj_prestataires(self):
lm_id = self.id if self.id else self._origin.id
lm_id = self.id or self._origin.id
previous_lm = self.get_previous_lm(lm_id)
# Copie la relation de l'année précédente
if len(previous_lm) == 1:
for relation in previous_lm.prestataire_ids:
if relation.partner_id not in self.prestataire_ids.mapped("partner_id"):
relation.copy(default={"liste_ministere_id": lm_id})
# Crée les relations liées au partenaire
elif self.partner_id.relation_all_ids:
for relation in self.partner_id.relation_all_ids:
prestataire_values = {
......
......@@ -149,14 +149,6 @@ class Directeurs(models.Model):
comodel_name="res.partner", string="Partner correspondant"
)
# def remove_director_from_lm(self):
# liste_minstere_to_update = self.env['scop.liste.ministere'].browse(
# self.env.context.get('params').get('id'))
# if liste_minstere_to_update:
# liste_minstere_to_update.write({
# 'director_ids': [(3, self.id, 0)],
# })
@api.constrains("birthyear")
def _birthyear_constrains(self):
for rec in self:
......
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