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

[update] staff_shareholder_count is not required for scic

parent 80352250
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -20,6 +20,8 @@ class ScopPartnerStaff(models.Model): ...@@ -20,6 +20,8 @@ class ScopPartnerStaff(models.Model):
index=True) index=True)
partner_city = fields.Char("Ville", related='partner_id.city') partner_city = fields.Char("Ville", related='partner_id.city')
partner_siret = fields.Char("SIRET", related='partner_id.siret') partner_siret = fields.Char("SIRET", related='partner_id.siret')
cooperative_form_id = fields.Many2one(
related='partner_id.cooperative_form_id')
user_id = fields.Many2one( user_id = fields.Many2one(
comodel_name='res.users', comodel_name='res.users',
string='Utilisateur', string='Utilisateur',
...@@ -40,8 +42,9 @@ class ScopPartnerStaff(models.Model): ...@@ -40,8 +42,9 @@ class ScopPartnerStaff(models.Model):
default=fields.Date.today(), default=fields.Date.today(),
required=True, ) required=True, )
staff_count = fields.Integer("Effectif (EF)", required=True, ) staff_count = fields.Integer("Effectif (EF)", required=True, )
staff_shareholder_count = fields.Integer("Eff. Sociétaires (ES)", required=True,) staff_shareholder_count = fields.Integer("Eff. Sociétaires (ES)")
staff_average = fields.Integer("Equivalent temps plein (ETP)", required=True,) staff_average = fields.Integer("Equivalent temps plein (ETP)",
required=True, )
staff_men = fields.Integer("Eff. salariés hommes") staff_men = fields.Integer("Eff. salariés hommes")
staff_women = fields.Integer("Eff. salariés femmes") staff_women = fields.Integer("Eff. salariés femmes")
staff_shareholder_men = fields.Integer("Sociétaires salariés hommes") staff_shareholder_men = fields.Integer("Sociétaires salariés hommes")
...@@ -77,13 +80,23 @@ class ScopPartnerStaff(models.Model): ...@@ -77,13 +80,23 @@ class ScopPartnerStaff(models.Model):
""" """
Interdit de créer une ligne à 0 sauf lorsque Interdit de créer une ligne à 0 sauf lorsque
cette ligne vient de la liste ministère cette ligne vient de la liste ministère
ou si ligne associés pour les SCIC
""" """
if ((self.staff_count == 0 if self.type_entry \
or self.staff_shareholder_count == 0 not in ('questionnaire', 'questionnaire_inscription'):
or self.staff_average == 0) if self.cooperative_form_id.id == self.env.ref(
and self.type_entry not in ('questionnaire', 'questionnaire_inscription')): 'cgscop_partner.form_scic').id:
if self.staff_count == 0 or self.staff_average == 0:
raise ValidationError(
"Les effectifs et les équivalents temps plein doivent"
" être renseignés et supérieurs à 0.")
else:
if self.staff_shareholder_count == 0 \
or self.cooperative_form_id == 0 \
or self.staff_average == 0:
raise ValidationError( raise ValidationError(
"Tous les effectifs doivent être renseignés et supérieurs à 0.") "Tous les effectifs doivent"
" être renseignés et supérieurs à 0.")
@api.constrains('effective_date') @api.constrains('effective_date')
def _check_effective_date(self): def _check_effective_date(self):
...@@ -97,7 +110,8 @@ class ScopPartnerStaff(models.Model): ...@@ -97,7 +110,8 @@ class ScopPartnerStaff(models.Model):
('effective_date', '=', record.effective_date) ('effective_date', '=', record.effective_date)
]) ])
if (len(doublon) > 1 if (len(doublon) > 1
and record.type_entry not in ('questionnaire', 'questionnaire_inscription')): and record.type_entry not in (
'questionnaire', 'questionnaire_inscription')):
raise ValidationError( raise ValidationError(
"Vous ne pouvez pas créer 2 ajustements à la même date.") "Vous ne pouvez pas créer 2 ajustements à la même date.")
......
...@@ -696,10 +696,11 @@ ...@@ -696,10 +696,11 @@
<page name='scop_staff' string="Effectifs" attrs="{'invisible': ['|','&amp;', ('is_cooperative', '=', True), ('project_status', '!=', '6_suivi'),'&amp;',('is_cooperative', '=', False),('organization_subtype_id','!=', %(cgscop_partner.riga_11528)d)]}"> <page name='scop_staff' string="Effectifs" attrs="{'invisible': ['|','&amp;', ('is_cooperative', '=', True), ('project_status', '!=', '6_suivi'),'&amp;',('is_cooperative', '=', False),('organization_subtype_id','!=', %(cgscop_partner.riga_11528)d)]}">
<field name="staff_ids" mode="tree" context="{'default_partner_id': active_id, 'default_type_entry': 'regul_ur'}"> <field name="staff_ids" mode="tree" context="{'default_partner_id': active_id, 'default_type_entry': 'regul_ur'}">
<tree delete="false" default_order="effective_date desc" editable="top"> <tree delete="false" default_order="effective_date desc" editable="top">
<field name="cooperative_form_id" invisible="1"/>
<field name="effective_date" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/> <field name="effective_date" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/>
<field name="type_entry" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/> <field name="type_entry" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/>
<field name="staff_count" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/> <field name="staff_count" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/>
<field name="staff_shareholder_count" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/> <field name="staff_shareholder_count" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))], 'required':[('cooperative_form_id', '!=', %(cgscop_partner.form_scic)d)]}"/>
<field name="staff_average" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/> <field name="staff_average" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/>
<field name="comment" /> <field name="comment" />
<field name="user_id" readonly="1"/> <field name="user_id" readonly="1"/>
......
...@@ -18,13 +18,15 @@ ...@@ -18,13 +18,15 @@
<field name="partner_siret"/> <field name="partner_siret"/>
</group> </group>
<group name="infos_entry"> <group name="infos_entry">
<field name="user_id"/> <field name="user_id" readonly="1"/>
<field name="type_entry"/> <field name="type_entry"/>
<field name="effective_date" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/> <field name="effective_date" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/>
</group> </group>
<group name="staff_stats"> <group name="staff_stats">
<field name="cooperative_form_id" invisible="1"/>
<field name="staff_count" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/> <field name="staff_count" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/>
<field name="staff_shareholder_count" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/> <field name="staff_shareholder_count"
attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))], 'required':[('cooperative_form_id', '!=', %(cgscop_partner.form_scic)d)]}"/>
<field name="staff_average" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/> <field name="staff_average" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/>
</group> </group>
<group name="staff_stats"> <group name="staff_stats">
......
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