Esempio n. 1
0
 /**
  * @param int  $Id
  * @param bool $Confirm
  *
  * @return Stage
  */
 public function frontendDestroyToCompany($Id, $Confirm = false)
 {
     $Stage = new Stage('Beziehung', 'Löschen');
     if ($Id) {
         $tblToCompany = Relationship::useService()->getRelationshipToCompanyById($Id);
         $tblPerson = $tblToCompany->getServiceTblPerson();
         if (!$Confirm) {
             $Stage->setContent(new Layout(new LayoutGroup(new LayoutRow(new LayoutColumn(array(new Panel(new PersonIcon() . ' Person', $tblPerson->getFullName(), Panel::PANEL_TYPE_SUCCESS, new Standard('Zurück zur Person', '/People/Person', new ChevronLeft(), array('Id' => $tblPerson->getId()))), new Panel(new Question() . ' Diese Beziehung wirklich löschen?', array($tblToCompany->getTblType()->getName() . ' ' . $tblToCompany->getTblType()->getDescription(), $tblToCompany->getServiceTblCompany()->getName(), new Muted(new Small($tblToCompany->getRemark()))), Panel::PANEL_TYPE_DANGER, new Standard('Ja', '/Corporation/Company/Relationship/Destroy', new Ok(), array('Id' => $Id, 'Confirm' => true)) . new Standard('Nein', '/People/Person', new Disable(), array('Id' => $tblPerson->getId())))))))));
         } else {
             $Stage->setContent(new Layout(new LayoutGroup(array(new LayoutRow(new LayoutColumn(array(Relationship::useService()->removeCompanyRelationshipToPerson($tblToCompany) ? new Success('Die Beziehung wurde gelöscht') : new Danger('Die Beziehung konnte nicht gelöscht werden'), new Redirect('/People/Person', 1, array('Id' => $tblPerson->getId())))))))));
         }
     } else {
         $Stage->setContent(new Layout(new LayoutGroup(array(new LayoutRow(new LayoutColumn(array(new Danger('Die Beziehung konnte nicht gefunden werden'), new Redirect('/People/Search/Group'))))))));
     }
     return $Stage;
 }
 /**
  * @return bool|TblType
  */
 public function getTblType()
 {
     if (null === $this->tblType) {
         return false;
     } else {
         return Relationship::useService()->getTypeById($this->tblType);
     }
 }
Esempio n. 3
0
 public function LayoutCombine(TblCompany $tblCompany)
 {
     $tblAddressAll = Address::useService()->getAddressAllByCompany($tblCompany);
     $tblPhoneAll = Phone::useService()->getPhoneAllByCompany($tblCompany);
     $tblMailAll = Mail::useService()->getMailAllByCompany($tblCompany);
     $tblRelationshipAll = Relationship::useService()->getCompanyRelationshipAllByCompany($tblCompany);
     if ($tblAddressAll !== false) {
         array_walk($tblAddressAll, function (TblToCompany &$tblToCompany) {
             $Panel = array($tblToCompany->getTblAddress()->getLayout());
             if ($tblToCompany->getRemark()) {
                 array_push($Panel, new Muted(new Small($tblToCompany->getRemark())));
             }
             $tblToCompany = new LayoutColumn(new Panel(new MapMarker() . ' ' . $tblToCompany->getTblType()->getName(), $Panel, Panel::PANEL_TYPE_SUCCESS, new Standard('', '/Corporation/Company/Address/Edit', new Pencil(), array('Id' => $tblToCompany->getId()), 'Bearbeiten') . new Standard('', '/Corporation/Company/Address/Destroy', new Remove(), array('Id' => $tblToCompany->getId()), 'Löschen')), 3);
         });
     } else {
         $tblAddressAll = array(new LayoutColumn(new Warning('Keine Adressen hinterlegt')));
     }
     if ($tblPhoneAll !== false) {
         array_walk($tblPhoneAll, function (\SPHERE\Application\Contact\Phone\Service\Entity\TblToCompany &$tblToCompany) {
             $Panel = array($tblToCompany->getTblPhone()->getNumber());
             if ($tblToCompany->getRemark()) {
                 array_push($Panel, new Muted(new Small($tblToCompany->getRemark())));
             }
             $tblToCompany = new LayoutColumn(new Panel((preg_match('!Fax!is', $tblToCompany->getTblType()->getName() . ' ' . $tblToCompany->getTblType()->getDescription()) ? new PhoneFax() : (preg_match('!Mobil!is', $tblToCompany->getTblType()->getName() . ' ' . $tblToCompany->getTblType()->getDescription()) ? new PhoneMobil() : new PhoneIcon())) . ' ' . $tblToCompany->getTblType()->getName() . ' ' . $tblToCompany->getTblType()->getDescription(), $Panel, preg_match('!Notfall!is', $tblToCompany->getTblType()->getName() . ' ' . $tblToCompany->getTblType()->getDescription()) ? Panel::PANEL_TYPE_DANGER : Panel::PANEL_TYPE_SUCCESS, new Standard('', '/Corporation/Company/Phone/Edit', new Pencil(), array('Id' => $tblToCompany->getId()), 'Bearbeiten') . new Standard('', '/Corporation/Company/Phone/Destroy', new Remove(), array('Id' => $tblToCompany->getId()), 'Löschen')), 3);
         });
     } else {
         $tblPhoneAll = array(new LayoutColumn(new Warning('Keine Telefonnummern hinterlegt')));
     }
     if ($tblMailAll !== false) {
         array_walk($tblMailAll, function (\SPHERE\Application\Contact\Mail\Service\Entity\TblToCompany &$tblToCompany) {
             $Panel = array($tblToCompany->getTblMail()->getAddress());
             if ($tblToCompany->getRemark()) {
                 array_push($Panel, new Muted(new Small($tblToCompany->getRemark())));
             }
             $tblToCompany = new LayoutColumn(new Panel(new MailIcon() . ' ' . $tblToCompany->getTblType()->getName(), $Panel, Panel::PANEL_TYPE_SUCCESS, new Standard('', '/Corporation/Company/Mail/Edit', new Pencil(), array('Id' => $tblToCompany->getId()), 'Bearbeiten') . new Standard('', '/Corporation/Company/Mail/Destroy', new Remove(), array('Id' => $tblToCompany->getId()), 'Löschen')), 3);
         });
     } else {
         $tblMailAll = array(new LayoutColumn(new Warning('Keine E-Mail Adressen hinterlegt')));
     }
     if ($tblRelationshipAll !== false) {
         array_walk($tblRelationshipAll, function (\SPHERE\Application\People\Relationship\Service\Entity\TblToCompany &$tblToCompany, $Index, TblCompany $tblCompany) {
             $Panel = array($tblToCompany->getServiceTblPerson()->getFullName(), $tblToCompany->getServiceTblCompany()->getName());
             if ($tblToCompany->getRemark()) {
                 array_push($Panel, new Muted(new Small($tblToCompany->getRemark())));
             }
             $tblToCompany = new LayoutColumn(new Panel(new Building() . ' ' . new Link() . ' ' . $tblToCompany->getTblType()->getName(), $Panel, Panel::PANEL_TYPE_DEFAULT, new Standard('', '/People/Person', new PersonIcon(), array('Id' => $tblToCompany->getServiceTblPerson()->getId()), 'zur Person')), 3);
         }, $tblCompany);
     } else {
         $tblRelationshipAll = array(new LayoutColumn(new Warning('Keine Firmenbeziehungen hinterlegt')));
     }
     $LayoutRowList = array();
     $LayoutRowCount = 0;
     $LayoutRow = null;
     /**
      * @var LayoutColumn $tblAddress
      */
     foreach ($tblAddressAll as $tblAddress) {
         if ($LayoutRowCount % 50 == 0) {
             $LayoutRow = new LayoutRow(array());
             $LayoutRowList[] = $LayoutRow;
         }
         $LayoutRow->addColumn($tblAddress);
         $LayoutRowCount++;
     }
     /**
      * @var LayoutColumn $tblPhone
      */
     foreach ($tblPhoneAll as $tblPhone) {
         if ($LayoutRowCount % 50 == 0) {
             $LayoutRow = new LayoutRow(array());
             $LayoutRowList[] = $LayoutRow;
         }
         $LayoutRow->addColumn($tblPhone);
         $LayoutRowCount++;
     }
     /**
      * @var LayoutColumn $tblMail
      */
     foreach ($tblMailAll as $tblMail) {
         if ($LayoutRowCount % 50 == 0) {
             $LayoutRow = new LayoutRow(array());
             $LayoutRowList[] = $LayoutRow;
         }
         $LayoutRow->addColumn($tblMail);
         $LayoutRowCount++;
     }
     /**
      * @var LayoutColumn $tblRelationship
      */
     foreach ($tblRelationshipAll as $tblRelationship) {
         if ($LayoutRowCount % 50 == 0) {
             $LayoutRow = new LayoutRow(array());
             $LayoutRowList[] = $LayoutRow;
         }
         $LayoutRow->addColumn($tblRelationship);
         $LayoutRowCount++;
     }
     return new Layout(new LayoutGroup($LayoutRowList));
 }