/** * @param TblCompany $tblCompany * @param TblPerson $tblPerson * @param TblType $tblType * @param string $Remark * * @return TblToCompany */ public function addCompanyRelationshipToPerson(TblCompany $tblCompany, TblPerson $tblPerson, TblType $tblType, $Remark) { $Manager = $this->Connection->getEntityManager(); $Entity = $Manager->getEntity('TblToCompany')->findOneBy(array(TblToCompany::SERVICE_TBL_COMPANY => $tblCompany->getId(), TblToCompany::SERVICE_TBL_PERSON => $tblPerson->getId(), TblToCompany::ATT_TBL_TYPE => $tblType->getId())); if (null === $Entity) { $Entity = new TblToCompany(); $Entity->setServiceTblCompany($tblCompany); $Entity->setServiceTblPerson($tblPerson); $Entity->setTblType($tblType); $Entity->setRemark($Remark); $Manager->saveEntity($Entity); Protocol::useService()->createInsertEntry($this->Connection->getDatabase(), $Entity); } return $Entity; }
/** * @param TblCompany $tblCompany * @param TblPerson $tblPerson * @param TblType $tblType * @param string $Remark * * @return TblToCompany */ public function addCompanyRelationshipToPerson(TblCompany $tblCompany, TblPerson $tblPerson, TblType $tblType, $Remark) { $Manager = $this->Connection->getEntityManager(); $Entity = new TblToCompany(); $Entity->setServiceTblCompany($tblCompany); $Entity->setServiceTblPerson($tblPerson); $Entity->setTblType($tblType); $Entity->setRemark($Remark); $Manager->saveEntity($Entity); Protocol::useService()->createInsertEntry($this->Connection->getDatabase(), $Entity); return $Entity; }
/** * @param TblToCompany $tblToCompany * * @return Form */ private function formRelationshipToCompany(TblToCompany $tblToCompany = null) { $PanelSelectCompanyTitle = new PullClear('zu folgender Firma' . new PullRight(new Standard('Neue Firma anlegen', '/Corporation/Company', new Building(), array(), 'Die aktuell gewählte Person verlassen'))); if ($tblToCompany) { $Global = $this->getGlobal(); if (!isset($Global->POST['To'])) { $Global->POST['Type']['Type'] = $tblToCompany->getTblType()->getId(); $Global->POST['Type']['Remark'] = $tblToCompany->getRemark(); $Global->POST['To'] = $tblToCompany->getServiceTblCompany()->getId(); $Global->POST['PanelSearch-' . sha1($PanelSelectCompanyTitle)] = $tblToCompany->getServiceTblCompany()->getName(); $Global->savePost(); } } $tblTypeAll = Relationship::useService()->getTypeAll(); $tblCompanyAll = Company::useService()->getCompanyAll(); array_walk($tblCompanyAll, function (TblCompany &$tblCompany) { $tblCompany = new PullClear(new RadioBox('To', $tblCompany->getName() . ($tblCompany->getDescription() ? ' - ' . $tblCompany->getDescription() : ''), $tblCompany->getId())); }); 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: Schulleiter / Geschäftsführer / ..', '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($PanelSelectCompanyTitle, $tblCompanyAll, Panel::PANEL_TYPE_INFO, null, 15)), 6)))))); }