protected function fillObject($data) { $object = parent::fillObject($data); $sectionmodel = new myarticlesectionModel(); $articlemodel = new myarticleModel(); $section = $sectionmodel->getfromId($object->getSectionid()); if (count($section) == 1) { $object->setSectionname($section[0]->getName()); } $article = $articlemodel->getfromId($object->getArticleid()); if (count($article) == 1) { $object->setAlias($article[0]->getAlias()); $object->setArticleauthorname($article[0]->getAuthorname()); $object->setArticlecreationdate($article[0]->getCreationdate()); } return $object; }
public function editArticle($parameters = array()) { $view = new ui($this); $articlemodel = new myarticleModel(); $versionmodel = new myarticleversionModel(); $article = $articlemodel->getfromId($parameters['id']); if (count($article) == 1) { $article = $article[0]; $view->assign('article', $article); $aliasform = new mygridform($parameters, $parameters['-gridid-'], 'edit'); $aliasform->addField(new textField('alias', 'Werktitel', $article->getAlias(), array('required'))); $aliasform->addField(new hiddenField('id', $parameters['id'])); $aliasform->addField(new hiddenField('title', $parameters['title'])); if ($aliasform->validate()) { $article->setAlias($aliasform->getFieldvalue('alias')); $flash = new popupController(); try { $articlemodel->save($article); } catch (Exception $e) { $flash->createflash(array('name' => 'error', 'type' => 'error', 'content' => 'De aanpassing werd niet doorgevoerd! Contacteer de informaticadienst.')); return false; } $flash->createflash(array('name' => 'error', 'type' => 'success', 'content' => 'De aanpassing werd goed doorgevoerd.')); $gridcontroller = new mygridController(); unset($parameters['hidden_form_id']); $parameters['alias'] = ''; $gridcontroller->editrequest($parameters); return true; } elseif (!$aliasform->isSent()) { $view->assign('aliasform', $aliasform); } else { return false; } $versionsids = $article->getVersion(); $grid = new mygrid('articleversions-' . $article->getId()); $grid->setModel(new myarticleversionModel()); $idcond = array('articleid' => array('mode' => '=', 'value' => $parameters['id'])); $grid->setDefaultconditions($idcond); $grid->setDefaultorder(array('fields' => array('state', 'creationdate'), 'type' => 'DESC')); $grid->registerEditrequest('myarticle', 'editversion', array('id' => '{id}', 'articleid' => $parameters['id'], 'title' => 'Versie aanpassen', 'myacl' => array('target' => $article, 'right' => 'create_newversion', 'default' => false))); $view->assign('grid', $grid); if (myacl::isAllowed(myauth::getCurrentuser(), $article, 'manage_sectionlinks')) { $sectiongrid = new mygrid('sections_' . $article->getId()); $sectiongrid->setModel(new processedmyarticlesectionlinkModel()); $sectiongrid->setDefaultconditions($idcond); $sectiongrid->registerAddrequest('myarticle', 'addsectionlink', array('articleid' => $article->getId(), 'title' => 'Nieuwe sectie linken')); $sectiongrid->registerDeleterequest('myarticle', 'deletesectionlink', array('id' => '{id}', 'title' => 'Link met sectie verwijderen')); $view->assign('sectiongrid', $sectiongrid); } $aclcontroller = new myaclController(); $view->assign('acllist', $aclcontroller->listacl(array('targetoutput' => '_return_', 'objecttype' => 'myarticleObject', 'objectid' => $parameters['id']))); return $view->fetch('myarticle_editarticle.tpl'); } else { return false; } }
public function editpromotext($parameters = array()) { $view = new ui($this); $articlemodel = new myarticleModel(); $versionmodel = new myarticleversionModel(); $article = $articlemodel->getfromId($parameters['id']); if (count($article) == 1) { $article = $article[0]; $view->assign('article', $article); $aliasform = new mygridform($parameters, $parameters['-gridid-'], 'edit'); $aliasform->addField(new textField('alias', 'Werktitel', $article->getAlias(), array('required'))); $aliasform->addField(new hiddenField('id', $parameters['id'])); $aliasform->addField(new hiddenField('title', $parameters['title'])); if ($aliasform->validate()) { $article->setAlias($aliasform->getFieldvalue('alias')); $flash = new popupController(); try { $articlemodel->save($article); } catch (Exception $e) { $flash->createflash(array('name' => 'error', 'type' => 'error', 'content' => 'De aanpassing werd niet doorgevoerd! Contacteer de informaticadienst.')); return false; } $flash->createflash(array('name' => 'error', 'type' => 'success', 'content' => 'De aanpassing werd goed doorgevoerd.')); $gridcontroller = new mygridController(); unset($parameters['hidden_form_id']); $parameters['alias'] = ''; $gridcontroller->editrequest($parameters); return true; } elseif (!$aliasform->isSent()) { $view->assign('aliasform', $aliasform); } else { return false; } $versionsids = $article->getVersion(); $grid = new mygrid('articleversions-' . $article->getId()); $grid->setModel(new myarticleversionModel()); $idcond = array('articleid' => array('mode' => '=', 'value' => $parameters['id'])); $grid->setDefaultconditions($idcond); $grid->setDefaultorder(array('fields' => array('state', 'creationdate'), 'type' => 'DESC')); $grid->registerEditrequest('mycafetaria', 'editpromotextversion', array('id' => '{id}', 'articleid' => $parameters['id'], 'title' => 'Versie aanpassen')); $view->assign('grid', $grid); return $view->fetch('myarticle_editarticle.tpl'); } else { return false; } }