Source of file OpeningHourException.php
Size: 2,250 Bytes - Last Modified: 2021-12-24T06:33:58+00:00
/var/www/docs.ssmods.com/process/src/src/OpeningHourException.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 | <?php namespace Broarm\OpeningHours; use DatePeriod; use DateTime; use DateInterval; use SilverStripe\ORM\DataObject; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\TextField; use SilverStripe\Forms\DateField; use SilverStripe\Forms\TimeField; /** * Class OpeningHourException * @package Broarm\OpeningHours * * @property string DateFrom * @property string DateTill * @property string From * @property string Till * @property string Reason */ class OpeningHourException extends DataObject { private static $table_name = 'OpeningHourException'; private static $db = [ 'DateFrom' => 'Date', 'DateTill' => 'Date', 'From' => 'Time', 'Till' => 'Time', 'Reason' => 'Varchar' ]; private static $summary_fields = [ 'DateFrom', 'DateTill', 'From', 'Till' ]; private static $has_one = [ 'Parent' => DataObject::class ]; public function getCMSFields() { $this->beforeUpdateCMSFields(function (FieldList $fields) { $fields->addFieldsToTab('Root.Main', [ DateField::create('DateFrom'), DateField::create('DateTill'), TimeField::create('From'), TimeField::create('Till'), TextField::create('Reason'), ]); }); return parent::getCMSFields(); } public function getRange() { if ($this->DateTill > $this->DateFrom) { return new DatePeriod( new DateTime($this->DateFrom), new DateInterval('P1D'), new DateTime($this->DateTill) ); } else { return [new DateTime($this->DateFrom)]; } } public function fieldLabels($includerelations = true) { $labels = parent::fieldLabels($includerelations); $labels['DateFrom'] = _t(__CLASS__ . '.DateFrom', 'Date from'); $labels['DateTill'] = _t(__CLASS__ . '.DateTill', 'Date till'); $labels['From'] = _t(__CLASS__ . '.From', 'Time from'); $labels['Till'] = _t(__CLASS__ . '.Till', 'Time till'); $labels['Reason'] = _t(__CLASS__ . '.Reason', 'Reason'); return $labels; } } |