Skip to content
Snippets Groups Projects
Commit 6e33dea3 authored by Hervé Silvant - CGScop's avatar Hervé Silvant - CGScop
Browse files

Ajout d'une notion d'heures supplémentaires (UR Ouest)

parent f71ee0ef
No related branches found
No related tags found
No related merge requests found
...@@ -72,6 +72,14 @@ class ScopHrTimesheet(models.Model): ...@@ -72,6 +72,14 @@ class ScopHrTimesheet(models.Model):
string="Lieu", string="Lieu",
) )
justificatifs = fields.Char(string="Justificatifs", required=False) justificatifs = fields.Char(string="Justificatifs", required=False)
is_overtime = fields.Boolean(
string="Heures supplémentaires",
default=False,
)
is_overtime_allowed = fields.Boolean(
string="Heures supplémentaires autorisées",
compute="_compute_overtime_allowed",
)
calendar_l1 = fields.Char( calendar_l1 = fields.Char(
string="Ligne 1 calendrier", string="Ligne 1 calendrier",
...@@ -85,6 +93,11 @@ class ScopHrTimesheet(models.Model): ...@@ -85,6 +93,11 @@ class ScopHrTimesheet(models.Model):
# ------------------------------------------------------ # ------------------------------------------------------
# Compute Functions # Compute Functions
# ------------------------------------------------------ # ------------------------------------------------------
@api.depends("ur_id")
def _compute_overtime_allowed(self):
for rec in self:
rec.is_overtime_allowed = self.env.company.overtime_working
@api.depends("ur_id") @api.depends("ur_id")
def _compute_ur_system_nb(self): def _compute_ur_system_nb(self):
for timesheet in self: for timesheet in self:
...@@ -269,6 +282,10 @@ class ScopHrTimesheet(models.Model): ...@@ -269,6 +282,10 @@ class ScopHrTimesheet(models.Model):
if len(nbrc) == 0: if len(nbrc) == 0:
custom_context['hide_regional_convention'] = True custom_context['hide_regional_convention'] = True
overtime_allowed = self.env.company.overtime_working
if not overtime_allowed:
custom_context['hide_overtime'] = True
res = super(ScopHrTimesheet, self.with_context(custom_context)).fields_view_get( res = super(ScopHrTimesheet, self.with_context(custom_context)).fields_view_get(
view_id=view_id, view_type=view_type, toolbar=toolbar, submenu=submenu) view_id=view_id, view_type=view_type, toolbar=toolbar, submenu=submenu)
......
...@@ -18,3 +18,8 @@ class ResCompanyTmesheet(models.Model): ...@@ -18,3 +18,8 @@ class ResCompanyTmesheet(models.Model):
help="Si cette option est cochée, un employé peut imputer sans limite" help="Si cette option est cochée, un employé peut imputer sans limite"
" de temps sur une journée", " de temps sur une journée",
) )
overtime_working = fields.Boolean(
string="Heures supplémentaires",
default=False,
help="Si cette option est cochée, un employé peut déclarer des heures supplémentaire"
)
...@@ -105,6 +105,12 @@ ...@@ -105,6 +105,12 @@
/> />
<field name="name" /> <field name="name" />
<field name="unit_amount" widget="float_time" /> <field name="unit_amount" widget="float_time" />
<field name="is_overtime_allowed" invisible="1" />
<field
name="is_overtime"
widget="boolean_toggle"
attrs="{'invisible': [('is_overtime_allowed', '=', False)]}"
/>
</group> </group>
<group string="Divers"> <group string="Divers">
<field name="is_present" widget="boolean_toggle" /> <field name="is_present" widget="boolean_toggle" />
...@@ -179,6 +185,13 @@ ...@@ -179,6 +185,13 @@
/> />
<field name="name" /> <field name="name" />
<field name="unit_amount" widget="float_time" /> <field name="unit_amount" widget="float_time" />
<field name="is_overtime_allowed" invisible="1" />
<field
name="is_overtime"
widget="boolean_toggle"
attrs="{'invisible': [('is_overtime_allowed', '=', False)]}"
/>
</group> </group>
<group string="Divers"> <group string="Divers">
<field name="is_present" widget="boolean_toggle" /> <field name="is_present" widget="boolean_toggle" />
...@@ -267,6 +280,11 @@ ...@@ -267,6 +280,11 @@
>{'readonly': [('state', 'in', ('submit', 'valid'))]}</attribute> >{'readonly': [('state', 'in', ('submit', 'valid'))]}</attribute>
</field> </field>
<field name="unit_amount" position="after"> <field name="unit_amount" position="after">
<field
name="is_overtime"
widget="boolean_toggle"
invisible="context.get('hide_overtime')"
/>
<field name="ur_regional_convention_nb" invisible="1" /> <field name="ur_regional_convention_nb" invisible="1" />
<field name="ur_financial_system_nb" invisible="1" /> <field name="ur_financial_system_nb" invisible="1" />
<field <field
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
name="day_duration" name="day_duration"
attrs="{'invisible': [('day_working', '=', True)]}" attrs="{'invisible': [('day_working', '=', True)]}"
/> />
<field name="overtime_working" widget="boolean_toggle" />
</group> </group>
</group> </group>
</page> </page>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment