Skip to content
Extraits de code Groupes Projets
Valider 185e71fe rédigé par Rémi - Le Filament's avatar Rémi - Le Filament
Parcourir les fichiers

Ajout checks début/fin période

parent c4756172
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -38,20 +38,26 @@ class ScopDecesWizard(models.TransientModel):
@api.multi
def deces_action(self):
# Close previous period
last_period_id = self.env['scop.period'].browse(
self.last_period_id)
if last_period_id:
last_period_id.write({
'end': self.end,
for period in self:
last_period = self.env['scop.period'].browse(
period.last_period_id)
if last_period:
if period.end >= last_period.start:
last_period.write({
'end': period.end,
'end_reason': 'autr',
'comments': self.comments,
'comments': period.comments,
})
else:
raise ValidationError(
"La date de fin doit être postèrieure à la date de " +
"début : " + str(last_period.start))
# Update partner
partner = self.env['res.partner'].browse(self.partner_id)
partner = self.env['res.partner'].browse(period.partner_id)
partner.write({
'dissolution_date': self.end,
'dissolution_reason_id': self.dissolution_reason_id.id
'dissolution_date': period.end,
'dissolution_reason_id': period.dissolution_reason_id.id
})
else:
raise ValidationError(
......
......@@ -2,6 +2,7 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models
from odoo.exceptions import ValidationError
class ScopPeiodWizard(models.TransientModel):
......@@ -162,53 +163,64 @@ class ScopPeiodWizard(models.TransientModel):
@api.multi
def create_period(self):
# Create new period
self.env['scop.period'].create({
'partner_id': self.partner_id,
'start': self.start,
'name': self.name,
'cooperative_form_id': self.cooperative_form_id.id,
'partner_company_type_id': self.partner_company_type_id.id,
'siret': self.siret,
'street': self.street,
'street2': self.street2,
'street3': self.street3,
'zip': self.zip,
'zip_id': self.zip_id.id,
'city': self.city,
'cedex': self.cedex,
'state_id': self.state_id.id,
'country_id': self.country_id.id,
'naf_id': self.naf_id.id,
'cae': self.cae
})
for period in self:
partner_values = {}
# Close previous period
previous_period = self.env['scop.period'].browse(
self.previous_period_id)
previous_period = self.env['scop.period'].search(
[('partner_id', '=', self.env.context.get('active_id'))],
limit=1)
if previous_period:
if (previous_period.end and
period.start >= previous_period.end):
partner_values = {
'dissolution_date': False,
'dissolution_reason_id': False,
}
else:
raise ValidationError(
"La nouvelle période ne peut commencer avant la "
+ "fin de la période précédente : "
+ str(previous_period.end))
if period.start >= previous_period.start:
if not previous_period.end_reason:
previous_period.write({
'end': self.start,
'end_reason': self.end_reason,
'comments': self.comments,
'end': period.start,
'end_reason': period.end_reason,
'comments': period.comments,
})
else:
raise ValidationError(
"La nouvelle période ne peut commencer avant la "
+ "période précédente : "
+ str(previous_period.start))
# Create new period
period_values = {
'start': period.start,
'partner_id': period.partner_id
}
values = {
'name': period.name,
'cooperative_form_id': period.cooperative_form_id.id,
'partner_company_type_id': period.partner_company_type_id.id,
'siret': period.siret,
'street': period.street,
'street2': period.street2,
'street3': period.street3,
'zip': period.zip,
'zip_id': period.zip_id.id,
'city': period.city,
'cedex': period.cedex,
'state_id': period.state_id.id,
'country_id': period.country_id.id,
'naf_id': period.naf_id.id,
'cae': period.cae
}
period_values.update(values)
self.env['scop.period'].create(period_values)
# Update partner
partner = self.env['res.partner'].browse(self.partner_id)
partner.write({
'name': self.name,
'cooperative_form_id': self.cooperative_form_id.id,
'partner_company_type_id': self.partner_company_type_id.id,
'siret': self.siret,
'street': self.street,
'street2': self.street2,
'street3': self.street3,
'zip': self.zip,
'zip_id': self.zip_id.id,
'city': self.city,
'cedex': self.cedex,
'state_id': self.state_id.id,
'country_id': self.country_id.id,
'naf_id': self.naf_id.id,
'cae': self.cae
})
partner_values.update(values)
partner = self.env['res.partner'].browse(period.partner_id)
partner.write(partner_values)
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