Skip to content
Extraits de code Groupes Projets
Valider fb4c7c0a rédigé par Hervé Silvant - CGScop's avatar Hervé Silvant - CGScop
Parcourir les fichiers

Ajout d'un temps de déplacement sur la ligne de temps

parent b6a3afbe
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -80,7 +80,13 @@ class ScopHrTimesheet(models.Model): ...@@ -80,7 +80,13 @@ class ScopHrTimesheet(models.Model):
string="Heures supplémentaires autorisées", string="Heures supplémentaires autorisées",
compute="_compute_overtime_allowed", compute="_compute_overtime_allowed",
) )
travel_time = fields.Float(
string="Temps déplacement",
)
is_travel_time_allowed = fields.Boolean(
string="Temps de déplacement autorisé",
compute="_compute_travel_time_allowed",
)
calendar_l1 = fields.Char( calendar_l1 = fields.Char(
string="Ligne 1 calendrier", string="Ligne 1 calendrier",
compute="_compute_calendar_l1", compute="_compute_calendar_l1",
...@@ -98,6 +104,11 @@ class ScopHrTimesheet(models.Model): ...@@ -98,6 +104,11 @@ class ScopHrTimesheet(models.Model):
for rec in self: for rec in self:
rec.is_overtime_allowed = self.env.company.overtime_working rec.is_overtime_allowed = self.env.company.overtime_working
@api.depends("ur_id")
def _compute_travel_time_allowed(self):
for rec in self:
rec.is_travel_time_allowed = self.env.company.use_travel_time
@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:
...@@ -285,6 +296,9 @@ class ScopHrTimesheet(models.Model): ...@@ -285,6 +296,9 @@ class ScopHrTimesheet(models.Model):
overtime_allowed = self.env.company.overtime_working overtime_allowed = self.env.company.overtime_working
if not overtime_allowed: if not overtime_allowed:
custom_context['hide_overtime'] = True custom_context['hide_overtime'] = True
travel_time_allowed = self.env.company.use_travel_time
if not travel_time_allowed:
custom_context['hide_travel_time'] = 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)
......
...@@ -23,3 +23,8 @@ class ResCompanyTmesheet(models.Model): ...@@ -23,3 +23,8 @@ class ResCompanyTmesheet(models.Model):
default=False, default=False,
help="Si cette option est cochée, un employé peut déclarer des heures supplémentaire" help="Si cette option est cochée, un employé peut déclarer des heures supplémentaire"
) )
use_travel_time = fields.Boolean(
string="Saisie des temps de déplacement",
default=False,
help="Si cette option est cochée, un employé peut saisir ses temps de déplacement"
)
...@@ -106,6 +106,12 @@ ...@@ -106,6 +106,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_allowed" invisible="1" />
<field name="is_travel_time_allowed" invisible="1" />
<field
name="travel_time"
widget="float_time"
attrs="{'invisible': [('is_travel_time_allowed', '=', False)]}"
/>
<field <field
name="is_overtime" name="is_overtime"
widget="boolean_toggle" widget="boolean_toggle"
...@@ -186,6 +192,12 @@ ...@@ -186,6 +192,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_allowed" invisible="1" />
<field name="is_travel_time_allowed" invisible="1" />
<field
name="travel_time"
widget="float_time"
attrs="{'invisible': [('is_travel_time_allowed', '=', False)]}"
/>
<field <field
name="is_overtime" name="is_overtime"
widget="boolean_toggle" widget="boolean_toggle"
...@@ -280,6 +292,11 @@ ...@@ -280,6 +292,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="travel_time"
widget="float_time"
invisible="context.get('hide_travel_time')"
/>
<field <field
name="is_overtime" name="is_overtime"
widget="boolean_toggle" widget="boolean_toggle"
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
attrs="{'invisible': [('day_working', '=', True)]}" attrs="{'invisible': [('day_working', '=', True)]}"
/> />
<field name="overtime_working" widget="boolean_toggle" /> <field name="overtime_working" widget="boolean_toggle" />
<field name="use_travel_time" widget="boolean_toggle" />
</group> </group>
</group> </group>
</page> </page>
......
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