db = $db; } /** * @Callback(table="tl_vr_wa_reservation", target="fields.sorten.options") */ public function onSortenOptionsCallback(DataContainer $dc) { $arrSorten = []; if (($Slot = WeinanlieferungSlotsModel::findByPk($dc->activeRecord->pid)) === null) { return $arrSorten; } $Sorten = StringUtil::deserialize($Slot->sorten,true); foreach($Sorten as $sorte) { $objSorte = WeinanlieferungRebsorteModel::findByPk($sorte['sorte']); $objLeseart = WeinanlieferungLeseartModel::findByPk($sorte['leseart']); $arrSorten[$objSorte->id.','.$objLeseart->id] = ($objSorte !== null ? $objSorte->title : '') . ' ' . ($objLeseart !== null ? $objLeseart->title : ''); } return $arrSorten; } /** * @Callback(table="tl_vr_wa_reservation", target="fields.pid.options") */ public function onPidOptionsCallback(DataContainer $dc) { if (($Slots = WeinanlieferungSlotsModel::findAllFuturePublished()) === null) { return []; } $arrData = []; foreach ($Slots as $slot) { $arrData[$slot->id] = Date::parse(Date::getNumericDatimFormat(),$slot->time); } return $arrData; } }