/** * @param TblPerson $tblPerson * @param array $Meta * * @return Stage */ public function frontendMeta(TblPerson $tblPerson = null, $Meta = array()) { $Stage = new Stage(); $Stage->setMessage(new Danger(new Info() . ' Es dürfen ausschließlich für die Schulverwaltung notwendige Informationen gespeichert werden.')); $tblCompanyAllSchool = Group::useService()->getCompanyAllByGroup(Group::useService()->getGroupByMetaTable('SCHOOL')); array_push($tblCompanyAllSchool, new TblCompany()); if (null !== $tblPerson) { $Global = $this->getGlobal(); if (!isset($Global->POST['Meta'])) { /** @var TblProspect $tblProspect */ $tblProspect = Prospect::useService()->getProspectByPerson($tblPerson); if ($tblProspect) { $Global->POST['Meta']['Remark'] = $tblProspect->getRemark(); /** @var TblProspectAppointment $tblProspectAppointment */ $tblProspectAppointment = $tblProspect->getTblProspectAppointment(); if ($tblProspectAppointment) { $Global->POST['Meta']['Appointment']['ReservationDate'] = $tblProspectAppointment->getReservationDate(); $Global->POST['Meta']['Appointment']['InterviewDate'] = $tblProspectAppointment->getInterviewDate(); $Global->POST['Meta']['Appointment']['TrialDate'] = $tblProspectAppointment->getTrialDate(); } /** @var TblProspectReservation $tblProspectReservation */ $tblProspectReservation = $tblProspect->getTblProspectReservation(); if ($tblProspectReservation) { $Global->POST['Meta']['Reservation']['Year'] = $tblProspectReservation->getReservationYear(); $Global->POST['Meta']['Reservation']['Division'] = $tblProspectReservation->getReservationDivision(); $Global->POST['Meta']['Reservation']['SchoolOptionA'] = $tblProspectReservation->getServiceTblCompanyOptionA() ? $tblProspectReservation->getServiceTblCompanyOptionA()->getId() : 0; $Global->POST['Meta']['Reservation']['SchoolOptionB'] = $tblProspectReservation->getServiceTblCompanyOptionB() ? $tblProspectReservation->getServiceTblCompanyOptionB()->getId() : 0; } $Global->savePost(); } } } $Stage->setContent(Prospect::useService()->createMeta((new Form(array(new FormGroup(array(new FormRow(array(new FormColumn(array(new Panel('Termine', array(new DatePicker('Meta[Appointment][ReservationDate]', 'Eingangsdatum', 'Eingangsdatum', new Calendar()), new DatePicker('Meta[Appointment][InterviewDate]', 'Aufnahmegespräch', 'Aufnahmegespräch', new Calendar()), new DatePicker('Meta[Appointment][TrialDate]', 'Schnuppertag', 'Schnuppertag', new Calendar())), Panel::PANEL_TYPE_INFO)), 3), new FormColumn(array(new Panel('Voranmeldung für', array(new TextField('Meta[Reservation][Year]', 'Schuljahr', 'Schuljahr'), new TextField('Meta[Reservation][Division]', 'Klassenstufe', 'Klassenstufe'), new SelectBox('Meta[Reservation][SchoolOptionA]', 'Schule: Option 1', array('{{ Name }} {{ Description }}' => $tblCompanyAllSchool), new Education()), new SelectBox('Meta[Reservation][SchoolOptionB]', 'Schule: Option 2', array('{{ Name }} {{ Description }}' => $tblCompanyAllSchool), new Education())), Panel::PANEL_TYPE_INFO)), 4), new FormColumn(array(new Panel('Sonstiges', array(new TextArea('Meta[Remark]', 'Bemerkungen', 'Bemerkungen', new Pencil())), Panel::PANEL_TYPE_INFO)), 5)))))), new Primary('Informationen speichern')))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert.'), $tblPerson, $Meta)); return $Stage; }
/** * @return bool|TblProspectReservation */ public function getTblProspectReservation() { if (null === $this->tblProspectReservation) { return false; } else { return Prospect::useService()->getProspectReservationById($this->tblProspectReservation); } }