From 1ac4a2050c8076eb96e07e83721ebc9db864db94 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 14:47:21 +0200 Subject: Adding upstream version 0.3.3. Signed-off-by: Daniel Baumann --- application/controllers/EditController.php | 92 ++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 application/controllers/EditController.php (limited to 'application/controllers/EditController.php') diff --git a/application/controllers/EditController.php b/application/controllers/EditController.php new file mode 100644 index 0000000..b91255c --- /dev/null +++ b/application/controllers/EditController.php @@ -0,0 +1,92 @@ +assertPermission('toplevelview/edit'); + + $tabs = $this->getTabs(); + + if ($name = $this->getParam('name')) { + $tabs->add( + 'tiles', + array( + 'title' => $this->translate('Tiles'), + 'url' => Url::fromPath('toplevelview/show', array( + 'name' => $name + )) + ) + ); + + $tabs->add( + 'index', + array( + 'title' => $this->translate('Edit'), + 'url' => Url::fromPath('toplevelview/edit', array( + 'name' => $name + )) + ) + ); + } + + + $action = $this->getRequest()->getActionName(); + if ($tab = $tabs->get($action)) { + $tab->setActive(); + } + } + + public function indexAction() + { + $action = $this->getRequest()->getActionName(); + if ($action === 'add') { + $this->view->title = sprintf( + '%s Top Level View', + $this->translate('Add') + ); + $view = new ViewConfig(); + $view->setConfigDir(); + } elseif ($action === 'clone') { + $name = $this->params->getRequired('name'); + $this->view->title = sprintf( + '%s Top Level View', + $this->translate('Clone') + ); + $view = clone ViewConfig::loadByName($name); + } else { + $this->view->name = $name = $this->params->getRequired('name'); + $this->view->title = sprintf( + '%s Top Level View: %s', + $this->translate('Edit'), + $this->params->getRequired('name') + ); + $view = ViewConfig::loadByName($name); + } + + $this->view->form = $form = new EditForm(); + $view->setFormat(ViewConfig::FORMAT_YAML); + $form->setViewConfig($view); + $form->handleRequest(); + + $this->setViewScript('edit/index'); + } + + public function addAction() + { + $this->indexAction(); + } + + public function cloneAction() + { + $this->indexAction(); + } +} -- cgit v1.2.3