diff --git a/lib/Cake/Console/Templates/default/actions/controller_actions.ctp b/lib/Cake/Console/Templates/default/actions/controller_actions.ctp index ecc3363ad..3cae12115 100644 --- a/lib/Cake/Console/Templates/default/actions/controller_actions.ctp +++ b/lib/Cake/Console/Templates/default/actions/controller_actions.ctp @@ -55,15 +55,14 @@ $this->->create(); if ($this->->save($this->request->data)) { - $this->Session->setFlash(__('The has been saved')); + $this->Session->setFlash(__('The has been saved.')); return $this->redirect(array('action' => 'index')); + } else { + $this->Session->setFlash(__('The could not be saved. Please, try again.')); - return $this->flash(__(' saved.'), array('action' => 'index')); + return $this->flash(__('The has been saved.'), array('action' => 'index')); } - - $this->Session->setFlash(__('The could not be saved. Please, try again.')); - } request->is('post') || $this->request->is('put')) { if ($this->->save($this->request->data)) { - $this->Session->setFlash(__('The has been saved')); + $this->Session->setFlash(__('The has been saved.')); return $this->redirect(array('action' => 'index')); + } else { + $this->Session->setFlash(__('The could not be saved. Please, try again.')); return $this->flash(__('The has been saved.'), array('action' => 'index')); } - - $this->Session->setFlash(__('The could not be saved. Please, try again.')); - } else { $options = array('conditions' => array('.' . $this->->primaryKey => $id)); $this->request->data = $this->->find('first', $options); @@ -142,16 +140,15 @@ $this->request->onlyAllow('post', 'delete'); if ($this->->delete()) { - $this->Session->setFlash(__(' deleted')); - return $this->redirect(array('action' => 'index')); - - return $this->flash(__(' deleted'), array('action' => 'index')); - + $this->Session->setFlash(__('The has been deleted.')); + } else { + $this->Session->setFlash(__('The could not be deleted. Please, try again.')); } - - $this->Session->setFlash(__(' was not deleted')); - - return $this->flash(__(' was not deleted'), array('action' => 'index')); - return $this->redirect(array('action' => 'index')); + + return $this->flash(__('The has been deleted.'), array('action' => 'index')); + } else { + return $this->flash(__('The could not be deleted. Please, try again.'), array('action' => 'index')); + } + } diff --git a/lib/Cake/Console/Templates/default/classes/controller.ctp b/lib/Cake/Console/Templates/default/classes/controller.ctp index dcdfd1063..ac07d8f8f 100644 --- a/lib/Cake/Console/Templates/default/classes/controller.ctp +++ b/lib/Cake/Console/Templates/default/classes/controller.ctp @@ -76,7 +76,7 @@ class Controller extends App echo ");\n\n"; endif; - echo trim($actions) . "\n"; + echo trim($actions); endif; ?> } diff --git a/lib/Cake/Test/Case/Console/Command/Task/ControllerTaskTest.php b/lib/Cake/Test/Case/Console/Command/Task/ControllerTaskTest.php index fcf86204b..f363e878b 100644 --- a/lib/Cake/Test/Case/Console/Command/Task/ControllerTaskTest.php +++ b/lib/Cake/Test/Case/Console/Command/Task/ControllerTaskTest.php @@ -282,29 +282,17 @@ class ControllerTaskTest extends CakeTestCase { $components = array('Acl', 'Auth'); $this->Task->expects($this->any())->method('createFile')->will($this->returnValue(true)); - $result = $this->Task->bake('Articles', '--actions--', $helpers, $components); - $this->assertContains(' * @property Article $Article', $result); - $this->assertContains(' * @property AclComponent $Acl', $result); - $this->assertContains(' * @property AuthComponent $Auth', $result); - $this->assertContains(' * @property PaginatorComponent $Paginator', $result); - $this->assertContains('class ArticlesController extends AppController', $result); - $this->assertContains("public \$components = array('Acl', 'Auth', 'Paginator')", $result); - $this->assertContains("public \$helpers = array('Js', 'Time')", $result); - $this->assertContains("--actions--", $result); + $result = $this->Task->bake('Articles', null, $helpers, $components); + $expected = file_get_contents(CAKE . 'Test' . DS . 'bake_compare' . DS . 'Controller' . DS . 'NoActions.ctp'); + $this->assertTextEquals($expected, $result); + + $result = $this->Task->bake('Articles', null, array(), array()); + $expected = file_get_contents(CAKE . 'Test' . DS . 'bake_compare' . DS . 'Controller' . DS . 'NoHelpersOrComponents.ctp'); + $this->assertTextEquals($expected, $result); $result = $this->Task->bake('Articles', 'scaffold', $helpers, $components); - $this->assertContains("class ArticlesController extends AppController", $result); - $this->assertContains("public \$scaffold", $result); - $this->assertNotContains('@property', $result); - $this->assertNotContains('helpers', $result); - $this->assertNotContains('components', $result); - - $result = $this->Task->bake('Articles', '--actions--', array(), array()); - $this->assertContains('class ArticlesController extends AppController', $result); - $this->assertSame(substr_count($result, '@property'), 2); - $this->assertContains("public \$components = array('Paginator')", $result); - $this->assertNotContains('helpers', $result); - $this->assertContains('--actions--', $result); + $expected = file_get_contents(CAKE . 'Test' . DS . 'bake_compare' . DS . 'Controller' . DS . 'Scaffold.ctp'); + $this->assertTextEquals($expected, $result); } /** @@ -348,30 +336,10 @@ class ControllerTaskTest extends CakeTestCase { */ public function testBakeActionsUsingSessions() { $result = $this->Task->bakeActions('BakeArticles', null, true); - - $this->assertContains('function index() {', $result); - $this->assertContains('$this->BakeArticle->recursive = 0;', $result); - $this->assertContains("\$this->set('bakeArticles', \$this->Paginator->paginate());", $result); - - $this->assertContains('function view($id = null)', $result); - $this->assertContains("throw new NotFoundException(__('Invalid bake article'));", $result); - $this->assertContains("\$options = array('conditions' => array('BakeArticle.' . \$this->BakeArticle->primaryKey => \$id));", $result); - $this->assertContains("\$this->set('bakeArticle', \$this->BakeArticle->find('first', \$options));", $result); - - $this->assertContains('function add()', $result); - $this->assertContains("if (\$this->request->is('post'))", $result); - $this->assertContains('if ($this->BakeArticle->save($this->request->data))', $result); - $this->assertContains("\$this->Session->setFlash(__('The bake article has been saved'));", $result); - - $this->assertContains('function edit($id = null)', $result); - $this->assertContains("\$this->Session->setFlash(__('The bake article could not be saved. Please, try again.'));", $result); - - $this->assertContains('function delete($id = null)', $result); - $this->assertContains('if ($this->BakeArticle->delete())', $result); - $this->assertContains("\$this->Session->setFlash(__('Bake article deleted'));", $result); + $expected = file_get_contents(CAKE . 'Test' . DS . 'bake_compare' . DS . 'Controller' . DS . 'ActionsUsingSessions.ctp'); + $this->assertTextEquals($expected, $result); $result = $this->Task->bakeActions('BakeArticles', 'admin_', true); - $this->assertContains('function admin_index() {', $result); $this->assertContains('function admin_add()', $result); $this->assertContains('function admin_view($id = null)', $result); @@ -386,29 +354,8 @@ class ControllerTaskTest extends CakeTestCase { */ public function testBakeActionsWithNoSessions() { $result = $this->Task->bakeActions('BakeArticles', null, false); - - $this->assertContains('function index() {', $result); - $this->assertContains('$this->BakeArticle->recursive = 0;', $result); - $this->assertContains("\$this->set('bakeArticles', \$this->Paginator->paginate());", $result); - - $this->assertContains('function view($id = null)', $result); - $this->assertContains("throw new NotFoundException(__('Invalid bake article'));", $result); - $this->assertContains("\$this->set('bakeArticle', \$this->BakeArticle->find('first', \$options));", $result); - - $this->assertContains('function add()', $result); - $this->assertContains("if (\$this->request->is('post'))", $result); - $this->assertContains('if ($this->BakeArticle->save($this->request->data))', $result); - - $this->assertContains("\$this->flash(__('The bake article has been saved.'), array('action' => 'index'))", $result); - - $this->assertContains('function edit($id = null)', $result); - $this->assertContains("\$this->BakeArticle->BakeTag->find('list')", $result); - $this->assertContains("\$this->set(compact('bakeTags'))", $result); - - $this->assertContains('function delete($id = null)', $result); - $this->assertContains("\$this->request->onlyAllow('post', 'delete')", $result); - $this->assertContains('if ($this->BakeArticle->delete())', $result); - $this->assertContains("\$this->flash(__('Bake article deleted'), array('action' => 'index'))", $result); + $expected = file_get_contents(CAKE . 'Test' . DS . 'bake_compare' . DS . 'Controller' . DS . 'ActionsWithNoSessions.ctp'); + $this->assertTextEquals($expected, $result); } /** diff --git a/lib/Cake/Test/bake_compare/Controller/ActionsUsingSessions.ctp b/lib/Cake/Test/bake_compare/Controller/ActionsUsingSessions.ctp new file mode 100644 index 000000000..35bed4c8b --- /dev/null +++ b/lib/Cake/Test/bake_compare/Controller/ActionsUsingSessions.ctp @@ -0,0 +1,91 @@ + +/** + * index method + * + * @return void + */ + public function index() { + $this->BakeArticle->recursive = 0; + $this->set('bakeArticles', $this->Paginator->paginate()); + } + +/** + * view method + * + * @throws NotFoundException + * @param string $id + * @return void + */ + public function view($id = null) { + if (!$this->BakeArticle->exists($id)) { + throw new NotFoundException(__('Invalid bake article')); + } + $options = array('conditions' => array('BakeArticle.' . $this->BakeArticle->primaryKey => $id)); + $this->set('bakeArticle', $this->BakeArticle->find('first', $options)); + } + +/** + * add method + * + * @return void + */ + public function add() { + if ($this->request->is('post')) { + $this->BakeArticle->create(); + if ($this->BakeArticle->save($this->request->data)) { + $this->Session->setFlash(__('The bake article has been saved.')); + return $this->redirect(array('action' => 'index')); + } else { + $this->Session->setFlash(__('The bake article could not be saved. Please, try again.')); + } + } + $bakeTags = $this->BakeArticle->BakeTag->find('list'); + $this->set(compact('bakeTags')); + } + +/** + * edit method + * + * @throws NotFoundException + * @param string $id + * @return void + */ + public function edit($id = null) { + if (!$this->BakeArticle->exists($id)) { + throw new NotFoundException(__('Invalid bake article')); + } + if ($this->request->is('post') || $this->request->is('put')) { + if ($this->BakeArticle->save($this->request->data)) { + $this->Session->setFlash(__('The bake article has been saved.')); + return $this->redirect(array('action' => 'index')); + } else { + $this->Session->setFlash(__('The bake article could not be saved. Please, try again.')); + } + } else { + $options = array('conditions' => array('BakeArticle.' . $this->BakeArticle->primaryKey => $id)); + $this->request->data = $this->BakeArticle->find('first', $options); + } + $bakeTags = $this->BakeArticle->BakeTag->find('list'); + $this->set(compact('bakeTags')); + } + +/** + * delete method + * + * @throws NotFoundException + * @param string $id + * @return void + */ + public function delete($id = null) { + $this->BakeArticle->id = $id; + if (!$this->BakeArticle->exists()) { + throw new NotFoundException(__('Invalid bake article')); + } + $this->request->onlyAllow('post', 'delete'); + if ($this->BakeArticle->delete()) { + $this->Session->setFlash(__('The bake article has been deleted.')); + } else { + $this->Session->setFlash(__('The bake article could not be deleted. Please, try again.')); + } + return $this->redirect(array('action' => 'index')); + } diff --git a/lib/Cake/Test/bake_compare/Controller/ActionsWithNoSessions.ctp b/lib/Cake/Test/bake_compare/Controller/ActionsWithNoSessions.ctp new file mode 100644 index 000000000..61fb80127 --- /dev/null +++ b/lib/Cake/Test/bake_compare/Controller/ActionsWithNoSessions.ctp @@ -0,0 +1,84 @@ + +/** + * index method + * + * @return void + */ + public function index() { + $this->BakeArticle->recursive = 0; + $this->set('bakeArticles', $this->Paginator->paginate()); + } + +/** + * view method + * + * @throws NotFoundException + * @param string $id + * @return void + */ + public function view($id = null) { + if (!$this->BakeArticle->exists($id)) { + throw new NotFoundException(__('Invalid bake article')); + } + $options = array('conditions' => array('BakeArticle.' . $this->BakeArticle->primaryKey => $id)); + $this->set('bakeArticle', $this->BakeArticle->find('first', $options)); + } + +/** + * add method + * + * @return void + */ + public function add() { + if ($this->request->is('post')) { + $this->BakeArticle->create(); + if ($this->BakeArticle->save($this->request->data)) { + return $this->flash(__('The bake article has been saved.'), array('action' => 'index')); + } + } + $bakeTags = $this->BakeArticle->BakeTag->find('list'); + $this->set(compact('bakeTags')); + } + +/** + * edit method + * + * @throws NotFoundException + * @param string $id + * @return void + */ + public function edit($id = null) { + if (!$this->BakeArticle->exists($id)) { + throw new NotFoundException(__('Invalid bake article')); + } + if ($this->request->is('post') || $this->request->is('put')) { + if ($this->BakeArticle->save($this->request->data)) { + return $this->flash(__('The bake article has been saved.'), array('action' => 'index')); + } + } else { + $options = array('conditions' => array('BakeArticle.' . $this->BakeArticle->primaryKey => $id)); + $this->request->data = $this->BakeArticle->find('first', $options); + } + $bakeTags = $this->BakeArticle->BakeTag->find('list'); + $this->set(compact('bakeTags')); + } + +/** + * delete method + * + * @throws NotFoundException + * @param string $id + * @return void + */ + public function delete($id = null) { + $this->BakeArticle->id = $id; + if (!$this->BakeArticle->exists()) { + throw new NotFoundException(__('Invalid bake article')); + } + $this->request->onlyAllow('post', 'delete'); + if ($this->BakeArticle->delete()) { + return $this->flash(__('The bake article has been deleted.'), array('action' => 'index')); + } else { + return $this->flash(__('The bake article could not be deleted. Please, try again.'), array('action' => 'index')); + } + } diff --git a/lib/Cake/Test/bake_compare/Controller/NoActions.ctp b/lib/Cake/Test/bake_compare/Controller/NoActions.ctp new file mode 100644 index 000000000..54efe9f9f --- /dev/null +++ b/lib/Cake/Test/bake_compare/Controller/NoActions.ctp @@ -0,0 +1,27 @@ +