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

[cgscop #107] validation sur les effectifs > 0 sauf pour inport depuis LM +...

[cgscop #107] validation sur les effectifs > 0 sauf pour inport depuis LM + obligatoire saisie type sauf questionnaire depuis inteface
parent 22d6dc69
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!412.0 rv ajout champ et reorg contact
# © 2020 Le Filament (<http://www.le-filament.com>) # © 2020 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import models, fields from odoo import models, fields, api
from odoo.exceptions import ValidationError
class ScopPartnerStaff(models.Model): class ScopPartnerStaff(models.Model):
...@@ -30,7 +31,8 @@ class ScopPartnerStaff(models.Model): ...@@ -30,7 +31,8 @@ class ScopPartnerStaff(models.Model):
('regul_cg', 'Régularisation CG'), ('regul_cg', 'Régularisation CG'),
('regul_diane', 'Régularisation Diane')], ('regul_diane', 'Régularisation Diane')],
string="Type", string="Type",
default='regul_ur') default='regul_ur',
required=True,)
effective_date = fields.Date( effective_date = fields.Date(
string="Date", string="Date",
default=fields.Date.today(), default=fields.Date.today(),
...@@ -43,3 +45,30 @@ class ScopPartnerStaff(models.Model): ...@@ -43,3 +45,30 @@ class ScopPartnerStaff(models.Model):
string='Questionnaire', string='Questionnaire',
ondelete='cascade') ondelete='cascade')
comment = fields.Char('Commentaire') comment = fields.Char('Commentaire')
# ------------------------------------------------------
# OnChange
# ------------------------------------------------------
@api.onchange('type_entry')
def _onchange_type_entry(self):
"""
Interdit la sélection questionnaire ou questionnaire inscription
sur l'interface
"""
if self.type_entry in ('questionnaire', 'questionnaire_inscription'):
raise ValidationError(
'Vous ne pouvez choisir que des types "Régularisation".')
# ------------------------------------------------------
# Contrains
# ------------------------------------------------------
@api.constrains('staff_count')
def _check_staff_count(self):
"""
Interdit de créer une ligne à 0 sauf lorsque
cette ligne vient de la liste ministère
"""
for record in self:
if record.staff_count == 0 and record.type_entry not in ('questionnaire', 'questionnaire_inscription'):
raise ValidationError(
"L'effectif renseigné doit être supérieur à 0.")
...@@ -740,13 +740,13 @@ ...@@ -740,13 +740,13 @@
</field> </field>
</page> </page>
<page name='scop_staff' string="Effectifs" attrs="{'invisible': [('project_status', '!=', '6_suivi')]}"> <page name='scop_staff' string="Effectifs" attrs="{'invisible': [('project_status', '!=', '6_suivi')]}">
<field name="staff_ids" mode="tree" context="{'default_partner_id': active_id}"> <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="effective_date"/> <field name="effective_date" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/>
<field name="type_entry" readonly="1"/> <field name="type_entry" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/>
<field name="staff_count" attrs="{'readonly':[('type_entry','=','ministry_list')]}"/> <field name="staff_count" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/>
<field name="staff_shareholder_count" attrs="{'readonly':[('type_entry','=','ministry_list')]}"/> <field name="staff_shareholder_count" attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}"/>
<field name="staff_average" attrs="{'readonly':[('type_entry','=','ministry_list')]}"/> <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"/>
</tree> </tree>
......
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