/** * @param int $sectionId * @return Tree */ public function create($sectionId) { $context = $this->menuFacade->all()->select('menu.*, typ.name AS type_name, :menu_has_menu.parent.id AS parentId'); $this->menuOrderer->order($context, 'menu'); $this->sectionFilter->filterId($context, $sectionId); return new Tree($context); }
public function load($id, LazyContainer $container) { $menu = $this->menuFilter->filterId($this->menuFacade->all(), $id)->select('html')->fetch(); $defaults = $container->getValues(TRUE); if ($menu) { $defaults['html'] = $menu['html']; } $container->setDefaults($defaults); }
public function validate(LazyContainer $container) { $symlinkId = $container['id_menu']->getValue(); $menu = $this->menuFilter->filterId($this->menuFacade->all(), $symlinkId)->fetch(); if (!$menu) { $container['id_menu']->addError("Položka neexistuje"); return; } if ($menu['type'] == MenuTypeConst::SYMLINK) { $container['id_menu']->addError("Cílová položka nemůže být odkaz na další položku"); } }
public function load($id) { $context = $this->menuFacade->all()->select('menu.*, :menu_has_menu.parent.id AS id_menu'); $this->sectionFilter->filterId($context, $this->sectionId); $this->menuFilter->filterId($context, $id); $section = $context->fetch(); if (!$section) { throw new RecordNotFoundException("Menu with ID {$id} does not exists!"); } $this->id = $id; $sectionData = $section->toArray(); $form = $this['form']; $form['base']->setDefaults($sectionData); $form['parent']->setDefaults($sectionData); $this->lazyItemMap->get($section['type'])->load($id, $form['content']); }
/** * @param string $id * @param string|callable $callback [optional] * @return \Nette\Database\Table\ActiveRow|false * @throws \Nette\InvalidArgumentException */ public function get($id, $callback = NULL) { $selection = $this->menuFilter->filterId($this->menuFacade->all(), $id); $this->apply($selection, $callback); return $selection->fetch(); }
/** * @return \Nette\Database\Table\Selection */ public function all() { return $this->menuFilter->filterShow($this->menuFacade->all(), true); }