/**
  * @param TblToPerson $tblToPerson
  *
  * @return Form
  */
 private function formRelationshipToPerson(TblToPerson $tblToPerson = null)
 {
     $PanelSelectPersonTitle = new PullClear('zu folgender Person' . new PullRight(new Standard('Neue Person anlegen', '/People/Person', new PersonIcon(), array(), 'Die aktuell gewählte Person verlassen')));
     if ($tblToPerson) {
         $Global = $this->getGlobal();
         if (!isset($Global->POST['To'])) {
             $Global->POST['Type']['Type'] = $tblToPerson->getTblType()->getId();
             $Global->POST['Type']['Remark'] = $tblToPerson->getRemark();
             $Global->POST['To'] = $tblToPerson->getServiceTblPersonTo()->getId();
             $Global->POST['PanelSearch-' . sha1($PanelSelectPersonTitle)] = $tblToPerson->getServiceTblPersonTo()->getFullName();
             $Global->savePost();
         }
     }
     $tblTypeAll = Relationship::useService()->getTypeAll();
     $tblPersonAll = Person::useService()->getPersonAll();
     array_walk($tblPersonAll, function (TblPerson &$tblPerson) {
         $tblPerson = new PullClear(new PullLeft(new RadioBox('To', $tblPerson->getFullName(), $tblPerson->getId())) . new PullRight(new Standard('', '/People/Person/Relationship/Create', new PersonIcon(), array('Id' => $tblPerson->getId()), 'zu' . ' ' . $tblPerson->getSalutation() . ' ' . $tblPerson->getTitle() . ' ' . $tblPerson->getLastName() . ' wechseln')));
     });
     return new Form(new FormGroup(array(new FormRow(array(new FormColumn(array(new Panel('hat folgende Beziehung', array(new SelectBox('Type[Type]', 'Beziehungstyp', array('{{ Name }} {{ Description }}' => $tblTypeAll), new TileBig()), new TextArea('Type[Remark]', 'Bemerkungen - z.B: Mutter / Vater / ..', 'Bemerkungen', new Pencil()), new \SPHERE\Common\Frontend\Text\Repository\Danger(new Info() . ' Es dürfen ausschließlich für die Schulverwaltung notwendige Informationen gespeichert werden.')), Panel::PANEL_TYPE_INFO)), 6), new FormColumn(array(new Panel($PanelSelectPersonTitle, $tblPersonAll, Panel::PANEL_TYPE_INFO, null, 15)), 6))))));
 }
Beispiel #2
0
 /**
  * @param TblToPerson $tblToPerson
  *
  * @return bool
  */
 public function removePersonRelationshipToPerson(TblToPerson $tblToPerson)
 {
     $Manager = $this->Connection->getEntityManager();
     /** @var TblToPerson $Entity */
     $Entity = $Manager->getEntityById('TblToPerson', $tblToPerson->getId());
     if (null !== $Entity) {
         Protocol::useService()->createDeleteEntry($this->Connection->getDatabase(), $Entity);
         $Manager->killEntity($Entity);
         return true;
     }
     return false;
 }