mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-21 23:43:17 +01:00
Calculate totals all the time
This commit is contained in:
parent
dafe7d484d
commit
d9f99b9fe4
@ -471,47 +471,45 @@ class timesheet_ui extends timesheet_bo
|
||||
function get_rows(&$query_in,&$rows,&$readonlys,$id_only=false)
|
||||
{
|
||||
$this->show_sums = false;
|
||||
if ($query_in['filter'])
|
||||
|
||||
$query_in['enddate'] = $query_in['enddate'] ? $query_in['enddate'] : time();
|
||||
$date_filter = $this->date_filter($query_in['filter'],$query_in['startdate'],$query_in['enddate']);
|
||||
|
||||
if ($query_in['startdate'])
|
||||
{
|
||||
$query_in['enddate'] = $query_in['enddate'] ? $query_in['enddate'] : time();
|
||||
$date_filter = $this->date_filter($query_in['filter'],$query_in['startdate'],$query_in['enddate']);
|
||||
$start = explode('-',date('Y-m-d',$query_in['startdate']+12*60*60));
|
||||
$end = explode('-',date('Y-m-d',$query_in['enddate'] ? $query_in['enddate'] : $query_in['startdate']+7.5*24*60*60));
|
||||
|
||||
if ($query_in['startdate'])
|
||||
// show year-sums, if we are year-aligned (show full years)?
|
||||
if ((int)$start[2] == 1 && (int)$start[1] == 1 && (int)$end[2] == 31 && (int)$end[1] == 12)
|
||||
{
|
||||
$start = explode('-',date('Y-m-d',$query_in['startdate']+12*60*60));
|
||||
$end = explode('-',date('Y-m-d',$query_in['enddate'] ? $query_in['enddate'] : $query_in['startdate']+7.5*24*60*60));
|
||||
|
||||
// show year-sums, if we are year-aligned (show full years)?
|
||||
if ((int)$start[2] == 1 && (int)$start[1] == 1 && (int)$end[2] == 31 && (int)$end[1] == 12)
|
||||
{
|
||||
$this->show_sums[] = 'year';
|
||||
}
|
||||
// show month-sums, if we are month-aligned (show full monthes)?
|
||||
if ((int)$start[2] == 1 && (int)$end[2] == (int)date('d',mktime(12,0,0,$end[1]+1,0,$end[0])))
|
||||
{
|
||||
$this->show_sums[] = 'month';
|
||||
}
|
||||
// show week-sums, if we are week-aligned (show full weeks)?
|
||||
$week_start_day = $GLOBALS['egw_info']['user']['preferences']['calendar']['weekdaystarts'];
|
||||
if (!$week_start_day) $week_start_day = 'Sunday';
|
||||
switch($week_start_day)
|
||||
{
|
||||
case 'Sunday': $week_end_day = 'Saturday'; break;
|
||||
case 'Monday': $week_end_day = 'Sunday'; break;
|
||||
case 'Saturday': $week_end_day = 'Friday'; break;
|
||||
}
|
||||
$filter_start_day = date('l',$query_in['startdate']+12*60*60);
|
||||
$filter_end_day = $query_in['enddate'] ? date('l',$query_in['enddate']+12*60*60) : false;
|
||||
//echo "<p align=right>prefs: $week_start_day - $week_end_day, filter: $filter_start_day - $filter_end_day</p>\n";
|
||||
if ($filter_start_day == $week_start_day && (!$filter_end_day || $filter_end_day == $week_end_day))
|
||||
{
|
||||
$this->show_sums[] = 'week';
|
||||
}
|
||||
// show day-sums, if range <= 5 weeks
|
||||
if (!$query_in['enddate'] || $query_in['enddate'] - $query_in['startdate'] < 36*24*60*60)
|
||||
{
|
||||
$this->show_sums[] = 'day';
|
||||
}
|
||||
$this->show_sums[] = 'year';
|
||||
}
|
||||
// show month-sums, if we are month-aligned (show full monthes)?
|
||||
if ((int)$start[2] == 1 && (int)$end[2] == (int)date('d',mktime(12,0,0,$end[1]+1,0,$end[0])))
|
||||
{
|
||||
$this->show_sums[] = 'month';
|
||||
}
|
||||
// show week-sums, if we are week-aligned (show full weeks)?
|
||||
$week_start_day = $GLOBALS['egw_info']['user']['preferences']['calendar']['weekdaystarts'];
|
||||
if (!$week_start_day) $week_start_day = 'Sunday';
|
||||
switch($week_start_day)
|
||||
{
|
||||
case 'Sunday': $week_end_day = 'Saturday'; break;
|
||||
case 'Monday': $week_end_day = 'Sunday'; break;
|
||||
case 'Saturday': $week_end_day = 'Friday'; break;
|
||||
}
|
||||
$filter_start_day = date('l',$query_in['startdate']+12*60*60);
|
||||
$filter_end_day = $query_in['enddate'] ? date('l',$query_in['enddate']+12*60*60) : false;
|
||||
//echo "<p align=right>prefs: $week_start_day - $week_end_day, filter: $filter_start_day - $filter_end_day</p>\n";
|
||||
if ($filter_start_day == $week_start_day && (!$filter_end_day || $filter_end_day == $week_end_day))
|
||||
{
|
||||
$this->show_sums[] = 'week';
|
||||
}
|
||||
// show day-sums, if range <= 5 weeks
|
||||
if (!$query_in['enddate'] || $query_in['enddate'] - $query_in['startdate'] < 36*24*60*60)
|
||||
{
|
||||
$this->show_sums[] = 'day';
|
||||
}
|
||||
}
|
||||
//echo "<p align=right>show_sums=".print_r($this->show_sums,true)."</p>\n";
|
||||
@ -785,15 +783,9 @@ class timesheet_ui extends timesheet_bo
|
||||
if ($query['col_filter']['ts_owner']) $rows['ownerClass'] = 'noPrint';
|
||||
$rows['no_owner_col'] = $query['no_owner_col'];
|
||||
if (!$rows['no_owner_col'] && $query['selectcols'] && !strpos($query['selectcols'],'ts_owner')) $rows['no_owner_col'] = 1;
|
||||
if ($query['filter'])
|
||||
{
|
||||
$rows += $this->summary;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Clear summary
|
||||
$rows += array('duration'=>'','price'=>'','quantity'=>'');
|
||||
}
|
||||
|
||||
$rows += $this->summary;
|
||||
|
||||
$rows['pm_integration'] = $this->pm_integration;
|
||||
$rows['ts_viewtype'] = $rows['no_ts_quantity'] = $rows['no_ts_unitprice'] = $rows['no_ts_total'] = $this->ts_viewtype == 'short';
|
||||
if (!$rows['ts_viewtype'])
|
||||
|
Loading…
Reference in New Issue
Block a user