コード例 #1
0
 function edit(Application $app, $id)
 {
     $article = $this->articleManager->getById($id);
     $article->metadatas = $this->transformMetadatas($article->metadatas);
     /** @var $form Form **/
     $form = $app['form.factory']->create(new ArticleForm());
     if ("POST" === $app['request']->getMethod()) {
         $form->bindRequest($app["request"]);
         if ($form->isValid()) {
             $articleDatas = $form->getData();
             $article->content = $articleDatas['content'];
             $article->title = $articleDatas['title'];
             $article->tags = $articleDatas['tags'];
             $article->metadatas = $articleDatas['metadatas'];
             $article->feature = $articleDatas['featured'];
             $this->articleManager->update($id, $article);
             $app["session"]->setFlash("success", "the article was updated");
             return $app->redirect($app["url_generator"]->generate('admin.article.dashboard'));
         } else {
             $app["session"]->setFlash("error", "the form contains errors");
         }
     } else {
         $form->setData($article);
     }
     return $app["twig"]->render("article/edit.twig", array('article_id' => $id, 'article' => $article, 'form' => $form->createView()));
 }