Store due date without the time

This commit is contained in:
Frederic Guillot 2015-01-25 18:55:11 -05:00
parent 1fc6d69e2e
commit 28a7f57d86
4 changed files with 26 additions and 8 deletions

View File

@ -87,13 +87,13 @@ class DateParser extends Base
}
/**
* For a given timestamp, reset the date to midnight
* Remove the time from a timestamp
*
* @access public
* @param integer $timestamp Timestamp
* @return integer
*/
public function resetDateToMidnight($timestamp)
public function removeTimeFromTimestamp($timestamp)
{
return mktime(0, 0, 0, date('m', $timestamp), date('d', $timestamp), date('Y', $timestamp));
}
@ -107,7 +107,7 @@ class DateParser extends Base
*/
public function getTimestampFromIsoFormat($date)
{
return $this->resetDateToMidnight(strtotime($date));
return $this->removeTimeFromTimestamp(strtotime($date));
}
/**
@ -147,7 +147,7 @@ class DateParser extends Base
foreach ($fields as $field) {
if (! empty($values[$field]) && ! is_numeric($values[$field])) {
$values[$field] = $this->getTimestamp($values[$field]);
$values[$field] = $this->removeTimeFromTimestamp($this->getTimestamp($values[$field]));
}
}
}

View File

@ -94,11 +94,11 @@ class SubtaskExport extends Base
public function getSubtasks($project_id, $from, $to)
{
if (! is_numeric($from)) {
$from = $this->dateParser->resetDateToMidnight($this->dateParser->getTimestamp($from));
$from = $this->dateParser->removeTimeFromTimestamp($this->dateParser->getTimestamp($from));
}
if (! is_numeric($to)) {
$to = $this->dateParser->resetDateToMidnight(strtotime('+1 day', $this->dateParser->getTimestamp($to)));
$to = $this->dateParser->removeTimeFromTimestamp(strtotime('+1 day', $this->dateParser->getTimestamp($to)));
}
return $this->db->table(SubTask::TABLE)

View File

@ -77,11 +77,11 @@ class TaskExport extends Base
';
if (! is_numeric($from)) {
$from = $this->dateParser->resetDateToMidnight($this->dateParser->getTimestamp($from));
$from = $this->dateParser->removeTimeFromTimestamp($this->dateParser->getTimestamp($from));
}
if (! is_numeric($to)) {
$to = $this->dateParser->resetDateToMidnight(strtotime('+1 day', $this->dateParser->getTimestamp($to)));
$to = $this->dateParser->removeTimeFromTimestamp(strtotime('+1 day', $this->dateParser->getTimestamp($to)));
}
$rq = $this->db->execute($sql, array($from, $to, $project_id));

View File

@ -29,4 +29,22 @@ class DateParserTest extends Base
$this->assertEquals('2014-03-05', date('Y-m-d', $d->getTimestamp('2014_03_05')));
$this->assertEquals('2014-03-05', date('Y-m-d', $d->getTimestamp('03/05/2014')));
}
public function testConvert()
{
$d = new DateParser($this->container);
$values = array(
'date_due' => '2015-01-25',
'date_started' => '2015_01_25',
);
$d->convert($values, array('date_due', 'date_started'));
$this->assertEquals(mktime(0, 0, 0, 1, 25, 2015), $values['date_due']);
$this->assertEquals('2015-01-25', date('Y-m-d', $values['date_due']));
$this->assertEquals(mktime(0, 0, 0, 1, 25, 2015), $values['date_started']);
$this->assertEquals('2015-01-25', date('Y-m-d', $values['date_started']));
}
}