Odoo Mindscape. Understand Odoo faster. Explore modules, fields, dependencies and version differences in one place instead of digging through the source code.

Module: Work Entries

Entity: hr.time.rule

Compute Method: _compute_condition_label

View 20.0
Inputs Method Outputs
  • threshold_operator
  • working_hours_mode
  • expected_hours
  • timing_start
  • timing_stop
+ def _fmt_hour(h):
+             hh, mm = divmod(round(h * 60), 60)
+             return f"{hh:02d}:{mm:02d}"
+ for rule in self:
+             op = '>' if rule.threshold_operator == 'exceed' else '<'
+             mode = rule.working_hours_mode
+             if mode in ('schedule_day', 'schedule_week'):
+                 period = self.env._('day') if mode == 'schedule_day' else self.env._('week')
+                 label = self.env._('%(op)s schedule/%(period)s', op=op, period=period)
+             else:
+                 period = self.env._('day') if mode == 'day' else self.env._('week')
+                 label = self.env._('%(op)s %(hours)gh/%(period)s', op=op, hours=rule.expected_hours, period=period)
+             if rule.timing_start != 0 or rule.timing_stop != 24:
+                 label += ' ' + self.env._('%(from)s-%(to)s', **{'from': _fmt_hour(rule.timing_start), 'to': _fmt_hour(rule.timing_stop)})
+             rule.condition_label = label
  • condition_label

Back to entity