*Calendar/category report:

- Fix not counting the selected end range
- Fix miscalculation of events extended from a year to another
- Fix miscalculation of amount of event when range is greater than event's start time and less than event's end time
This commit is contained in:
Hadi Nategh 2017-01-03 15:18:05 +01:00
parent 123f902f43
commit ae200c190a

View File

@ -109,7 +109,7 @@ class calendar_category_report extends calendar_ui{
// week number // week number
$week_number = date('W', $day_timestamp); $week_number = date('W', $day_timestamp);
$previous_week_number = $week_number == 1? 53: $week_number -1; $previous_week_number = $week_number == 1? ($events_log[$user_id]['53']? 53: 52): $week_number -1;
// check if multidays event starts before start range // check if multidays event starts before start range
$is_over_range_event = $day_timestamp< $event['end'] && $start_range > $event['start']; $is_over_range_event = $day_timestamp< $event['end'] && $start_range > $event['start'];
// check if multidays event ends after end range // check if multidays event ends after end range
@ -160,7 +160,11 @@ class calendar_category_report extends calendar_ui{
else else
{ {
// over ranged multidays event // over ranged multidays event
if ($is_over_range_event) if ($is_over_range_event && $is_over_end_range && $is_multiple_days_event)
{
$amount = $end_range - $start_range;
}
else if ($is_over_range_event)
{ {
$amount = $event['end'] - $start_range; $amount = $event['end'] - $start_range;
} }
@ -263,7 +267,7 @@ class calendar_category_report extends calendar_ui{
// query calendar for events // query calendar for events
$events = $this->bo->search(array( $events = $this->bo->search(array(
'start' => $content['start'], 'start' => $content['start'],
'end' => $content['end'], 'end' => $content['end']+86399, // range till midnight of the sele3cted end date
'users' => $users, 'users' => $users,
'cat_id' => $categories, 'cat_id' => $categories,
'daywise' => true 'daywise' => true
@ -288,7 +292,7 @@ class calendar_category_report extends calendar_ui{
$content['grid'][$row_id]['min_days'], $content['grid'][$row_id]['min_days'],
$content['grid'][$row_id]['unit'], $content['grid'][$row_id]['unit'],
$content['start'], $content['start'],
$content['end'] $content['end']+86399 // range till midnight of the sele3cted end date
); );
} }
} }