/** * @param bool|false|int $Id * * @return Stage */ public function frontendSearch($Id = false) { $Stage = new Stage('Suche', 'nach Gruppe'); $tblGroupAll = Group::useService()->getGroupAll(); if (!empty($tblGroupAll)) { /** @noinspection PhpUnusedParameterInspection */ array_walk($tblGroupAll, function (TblGroup &$tblGroup, $Index, Stage $Stage) { $Stage->addButton(new Standard($tblGroup->getName(), new Route(__NAMESPACE__), new PersonGroup(), array('Id' => $tblGroup->getId()), $tblGroup->getDescription())); }, $Stage); } $tblGroup = Group::useService()->getGroupById($Id); if ($tblGroup) { $tblPersonAll = Group::useService()->getPersonAllByGroup($tblGroup); if ($tblPersonAll) { array_walk($tblPersonAll, function (TblPerson &$tblPerson) { $tblPerson->FullName = $tblPerson->getFullName(); $tblPerson->Option = new Standard('', '/People/Person', new Pencil(), array('Id' => $tblPerson->getId()), 'Bearbeiten'); }); } $Stage->setContent(new Layout(new LayoutGroup(array(new LayoutRow(new LayoutColumn(new Panel(new PersonGroup() . ' Gruppe', array(new Bold($tblGroup->getName()), $tblGroup->getDescription() ? new Small($tblGroup->getDescription()) : '', $tblGroup->getRemark() ? new Danger(new Italic(nl2br($tblGroup->getRemark()))) : ''), Panel::PANEL_TYPE_SUCCESS))), new LayoutRow(new LayoutColumn(new TableData($tblPersonAll, null, array('FullName' => 'Name', 'Option' => 'Optionen')))))))); } else { $Stage->setMessage('Bitte wählen Sie eine Gruppe'); } return $Stage; }
public static function registerApplication() { Group\Group::registerModule(); }