public function setValue($val) { if ($val == array('date' => '', 'time' => '')) { $val = null; } parent::setValue($val); }
function testSetValueWithDmyArray() { $f = new DatetimeField('Datetime', 'Datetime'); $f->getDateField()->setConfig('dmyfields', true); $f->setValue(array('date' => array('day' => 29, 'month' => 03, 'year' => 2003), 'time' => '11pm')); $this->assertEquals($f->dataValue(), '2003-03-29 23:00:00'); }
public function testTimezoneFromConfig() { $oldTz = date_default_timezone_get(); date_default_timezone_set('Europe/Berlin'); // Berlin and Auckland have 12h time difference in northern hemisphere summer, but Berlin and Moscow only 2h. $f = new DatetimeField('Datetime', 'Datetime'); $f->setConfig('usertimezone', 'Europe/Moscow'); $f->setValue(array('date' => '24/06/2003', 'time' => '23:59:59')); $this->assertEquals('2003-06-24 21:59:59', $f->dataValue(), 'Data value matches server timezone'); date_default_timezone_set($oldTz); }
public function testSetTimeField() { $form = $this->getMockForm(); $field = new DatetimeField('Datetime', 'Datetime'); $field->setForm($form); $field->setValue(array('date' => '24/06/2003', 'time' => '23:59:59')); $timeField = new TimeField('Datetime[time]'); $field->setTimeField($timeField); $this->assertEquals($timeField->getForm(), $form, 'Sets form on new field'); $this->assertEquals('23:59:59', $timeField->dataValue(), 'Sets existing value on new field'); }
protected function getBaseFields() { $testState = $this->environment->getState(); $fields = new FieldList($textfield = new TextField('fixture', 'Fixture YAML file path'), $datetimeField = new DatetimeField('datetime', 'Custom date'), new HiddenField('flush', null, 1)); $textfield->setAttribute('placeholder', 'Example: framework/tests/security/MemberTest.yml'); $datetimeField->getDateField()->setConfig('dateformat', 'yyyy-MM-dd')->setConfig('showcalendar', true)->setAttribute('placeholder', 'Date (yyyy-MM-dd)'); $datetimeField->getTimeField()->setConfig('timeformat', 'HH:mm:ss')->setAttribute('placeholder', 'Time (HH:mm:ss)'); $datetimeField->setValue(isset($testState->datetime) ? $testState->datetime : null); $this->extend('updateBaseFields', $fields); return $fields; }
function getHTML($page) { Requirements::css('cmsworkflow/css/FutureStateNavigatorItem.css'); Requirements::javascript(THIRDPARTY_DIR . '/jquery/jquery.js'); Requirements::javascript(THIRDPARTY_DIR . '/jquery-livequery/jquery.livequery.js'); Requirements::javascript('cmsworkflow/javascript/futurestate.js'); $datetimeField = new DatetimeField('FutureStateDate', 'Date'); $datetimeField->getDateField()->setConfig('showcalendar', true); $datetimeField->getTimeField()->setConfig('showdropdown', true); $datetime = SiteTreeFutureState::get_future_datetime(); if ($datetime) { $datetimeField->setValue($datetime); } $data = new ArrayData(array('Page' => $page, 'DateTimeField' => $datetimeField, 'Current' => (bool) $datetime)); return $data->renderWith(array('FutureStateNavigatorItem')); }