/** * @Route("/", methods="POST") * @Request({"menu":"array"}, csrf=true) */ public function saveAction($menu) { $oldId = isset($menu['id']) ? trim($menu['id']) : null; $label = trim($menu['label']); if (!($id = App::filter($label, 'slugify'))) { App::abort(400, __('Invalid id.')); } if ($id != $oldId) { if ($this->config->has('menus.' . $id)) { throw new ConflictException(__('Duplicate Menu Id.')); } $this->config->remove('menus.' . $oldId); Node::where(['menu = :old'], [':old' => $oldId])->update(['menu' => $id]); } $this->config->merge(['menus' => [$id => compact('id', 'label')]]); App::menu()->assign($id, $menu['positions']); return ['message' => 'success', 'menu' => $menu]; }
public function testHas() { $this->assertTrue($this->config->has('foo')); $this->assertTrue(!$this->config->has('none')); }