[cgscop #233] remontée date décès de la période sur l'organisme

parent 34c12ce9
......@@ -571,6 +571,7 @@ class ScopPartner(models.Model):
# Creation d'une periode lorsque le statut passe en Phase de Suivi
@api.multi
def write(self, vals):
# Gestion casse des informations
if vals.get('name'):
vals['name'] = vals.get('name').title()
if vals.get('lastname'):
......@@ -581,12 +582,16 @@ class ScopPartner(models.Model):
vals['city'] = vals.get('city').upper()
result = super(ScopPartner, self).write(vals)
# Hack pour notification lors de la modification du logo
if 'image' in vals:
self.message_post(
body="Modification Logo",
subtype='cgscop_base.cg_values_change',
)
for partner in self:
# Contrainte de tel ou mail lors de la modification d'un contact
if (not partner.is_company
and partner.type == 'contact'
and not partner.user_ids):
......@@ -596,9 +601,12 @@ class ScopPartner(models.Model):
"Vous devez saisir au moins un e-mail ou un téléphone\
pour " + partner.name)
# Création d'une période lors du changement de statut en Suivi
if (vals.get('project_status') == '6_suivi'
and not self.env.context.get('import_file')):
partner._create_period(partner)
# Ajout des followers de la fiche
partners_to_subscribe = [
partner.followup_delegate_id.partner_id.id,
partner.creation_delegate_id.partner_id.id
......@@ -610,6 +618,7 @@ class ScopPartner(models.Model):
# Création d'une période lors de la création d'une coopérative
@api.model_create_multi
def create(self, vals_list):
# Gestion casse des informations
for vals in vals_list:
if vals.get('name'):
vals['name'] = vals.get('name').title()
......@@ -619,13 +628,18 @@ class ScopPartner(models.Model):
vals['firstname'] = vals.get('firstname').title()
if vals.get('city'):
vals['city'] = vals.get('city').upper()
partners = super(ScopPartner, self).create(vals_list)
for vals in vals_list:
# Création d'une période si la coop est en statut en Suivi
if vals.get('is_cooperative') and vals.get(
'project_status') == '6_suivi':
for partner in partners:
partner._create_period(partner)
# Ajout des followers de la fiche
for partner in partners:
partners_to_subscribe = [
partner.followup_delegate_id.partner_id.id,
......
......@@ -65,17 +65,28 @@ class ScopPeriod(models.Model):
on_delete='restrict',
track_visibility='onchange')
# ------------------------------------------------------
# Override ORM
# ------------------------------------------------------
@api.multi
def write(self, vals):
for period in self:
partner_vals = dict(vals)
# Suppression des valeurs à ne pas remonter à l'organisme
partner_vals.pop('partner_id', False)
partner_vals.pop('id_riga', False)
partner_vals.pop('start', False)
partner_vals.pop('end', False)
partner_vals.pop('end_reason', False)
partner_vals.pop('comments', False)
partner_vals.pop('dissolution_reason_id', False)
# Si la date de fin est modifiée et que l'organisme est décédé
# on remonte la date de décès
if partner_vals.get('end', False):
if partner_vals.get('end_reason', False) == 'deces' or period.end_reason == 'deces':
partner_vals.update({
'dissolution_date': partner_vals.get('end')
})
partner_vals.pop('end', False)
# Update partner
period.partner_id.write(partner_vals)
return super(ScopPeriod, self).write(vals)
......@@ -91,7 +91,7 @@
<field name="name">organisme.tree</field>
<field name="model">res.partner</field>
<field name="arch" type="xml">
<tree string="Organismes">
<tree string="Organismes" create="0">
<field name="display_name" string="Raison Sociale"/>
<field name="member_number_int"/>
<field name="cooperative_form_id"/>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment