openerp-community-reviewer team mailing list archive
-
openerp-community-reviewer team
-
Mailing list archive
-
Message #07554
[Merge] lp:~agilebg/hr-timesheet/hr_attendance_analysis-imp-time_difference-message into lp:hr-timesheet
Lorenzo Battistini - Agile BG has proposed merging lp:~agilebg/hr-timesheet/hr_attendance_analysis-imp-time_difference-message into lp:hr-timesheet.
Requested reviews:
HR Core Editors (hr-core-editors)
For more details, see:
https://code.launchpad.net/~agilebg/hr-timesheet/hr_attendance_analysis-imp-time_difference-message/+merge/225275
--
https://code.launchpad.net/~agilebg/hr-timesheet/hr_attendance_analysis-imp-time_difference-message/+merge/225275
Your team HR Core Editors is requested to review the proposed merge of lp:~agilebg/hr-timesheet/hr_attendance_analysis-imp-time_difference-message into lp:hr-timesheet.
=== modified file 'hr_attendance_analysis/hr_attendance.py'
--- hr_attendance_analysis/hr_attendance.py 2014-05-21 22:04:08 +0000
+++ hr_attendance_analysis/hr_attendance.py 2014-07-02 08:57:12 +0000
@@ -75,16 +75,26 @@
def total_seconds(self, td):
return (td.microseconds + (td.seconds + td.days * 24 * 3600) * 10**6) / 10**6
- def time_difference(self, float_start_time, float_end_time):
+ def time_difference(
+ self, float_start_time, float_end_time, attendance_id=False
+ ):
if float_compare(
float_end_time, float_start_time, precision_rounding=0.0000001
) == -1:
# that means a difference smaller than 0.36 milliseconds
+ message = _('End time %s < start time %s') % (
+ str(float_end_time), str(float_start_time)
+ if attendance_id:
+ message = _(
+ 'End time %s < start time %s (attendance ID: %s)'
+ ) % (
+ str(float_end_time),
+ str(float_start_time),
+ str(attendance_id)
+ )
raise orm.except_orm(
_('Error'),
- _('End time %s < start time %s') % (
- str(float_end_time), str(float_start_time)
- )
+ message
)
delta = self.float_to_datetime(
float_end_time) - self.float_to_datetime(
@@ -329,9 +339,12 @@
res[attendance.id]['inside_calendar_duration'] = intervals_within * precision
# make difference using time in order to avoid rounding errors
# inside_calendar_duration can't be > duration
- res[attendance.id]['outside_calendar_duration'] = self.time_difference(
+ res[attendance.id][
+ 'outside_calendar_duration'
+ ] = self.time_difference(
res[attendance.id]['inside_calendar_duration'],
- res[attendance.id]['duration'])
+ res[attendance.id]['duration'],
+ attendance_id = attendance.id)
if reference_calendar.overtime_rounding:
if res[attendance.id]['outside_calendar_duration']: