/**
  * @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.'));
     if (null !== $tblPerson) {
         $Global = $this->getGlobal();
         if (!isset($Global->POST['Meta'])) {
             /** @var TblCommon $tblCommon */
             $tblCommon = Common::useService()->getCommonByPerson($tblPerson);
             if ($tblCommon) {
                 $Global->POST['Meta']['Remark'] = $tblCommon->getRemark();
                 /** @var TblCommonBirthDates $tblCommonBirthDates */
                 $tblCommonBirthDates = $tblCommon->getTblCommonBirthDates();
                 if ($tblCommonBirthDates) {
                     $Global->POST['Meta']['BirthDates']['Birthday'] = $tblCommonBirthDates->getBirthday();
                     $Global->POST['Meta']['BirthDates']['Birthplace'] = $tblCommonBirthDates->getBirthplace();
                     $Global->POST['Meta']['BirthDates']['Gender'] = $tblCommonBirthDates->getGender();
                 }
                 /** @var TblCommonInformation $tblCommonInformation */
                 $tblCommonInformation = $tblCommon->getTblCommonInformation();
                 if ($tblCommonInformation) {
                     $Global->POST['Meta']['Information']['Nationality'] = $tblCommonInformation->getNationality();
                     $Global->POST['Meta']['Information']['Denomination'] = $tblCommonInformation->getDenomination();
                     $Global->POST['Meta']['Information']['IsAssistance'] = $tblCommonInformation->getIsAssistance();
                     $Global->POST['Meta']['Information']['AssistanceActivity'] = $tblCommonInformation->getAssistanceActivity();
                 }
                 $Global->savePost();
             }
         }
     }
     $Stage->setContent(Common::useService()->createMeta((new Form(array(new FormGroup(array(new FormRow(array(new FormColumn(array(new Panel('Geburtsdaten', array(new DatePicker('Meta[BirthDates][Birthday]', 'Geburtstag', 'Geburtstag', new Calendar()), new AutoCompleter('Meta[BirthDates][Birthplace]', 'Geburtsort', 'Geburtsort', array(), new MapMarker()), new SelectBox('Meta[BirthDates][Gender]', 'Geschlecht', array(TblCommonBirthDates::VALUE_GENDER_NULL => '', TblCommonBirthDates::VALUE_GENDER_MALE => 'Männlich', TblCommonBirthDates::VALUE_GENDER_FEMALE => 'Weiblich'), new Child())), Panel::PANEL_TYPE_INFO), new Panel('Sonstiges', array(new TextArea('Meta[Remark]', 'Bemerkungen', 'Bemerkungen', new Pencil())), Panel::PANEL_TYPE_INFO)), 6), new FormColumn(array(new Panel('Informationen', array(new AutoCompleter('Meta[Information][Nationality]', 'Staatsangehörigkeit', 'Staatsangehörigkeit', array(), new Nameplate()), new AutoCompleter('Meta[Information][Denomination]', 'Konfession', 'Konfession', array(), new TempleChurch()), new SelectBox('Meta[Information][IsAssistance]', 'Mitarbeitsbereitschaft', array(TblCommonInformation::VALUE_IS_ASSISTANCE_NULL => '', TblCommonInformation::VALUE_IS_ASSISTANCE_YES => 'Ja', TblCommonInformation::VALUE_IS_ASSISTANCE_NO => 'Nein'), new Sheriff()), new TextArea('Meta[Information][AssistanceActivity]', 'Mitarbeitsbereitschaft - Tätigkeiten', 'Mitarbeitsbereitschaft - Tätigkeiten', new Pencil())), Panel::PANEL_TYPE_INFO)), 6)))))), new Primary('Informationen speichern')))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert.'), $tblPerson, $Meta));
     return $Stage;
 }
 /**
  * @return bool|TblCommonInformation
  */
 public function getTblCommonInformation()
 {
     if (null === $this->tblCommonInformation) {
         return false;
     } else {
         return Common::useService()->getCommonInformationById($this->tblCommonInformation);
     }
 }