diff options
Diffstat (limited to 'fai_gestion/plugins/CustomTheme/src/Template/Bake/Element/Controller/edit.twig')
-rw-r--r-- | fai_gestion/plugins/CustomTheme/src/Template/Bake/Element/Controller/edit.twig | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/fai_gestion/plugins/CustomTheme/src/Template/Bake/Element/Controller/edit.twig b/fai_gestion/plugins/CustomTheme/src/Template/Bake/Element/Controller/edit.twig new file mode 100644 index 0000000..d06cb9c --- /dev/null +++ b/fai_gestion/plugins/CustomTheme/src/Template/Bake/Element/Controller/edit.twig @@ -0,0 +1,49 @@ +{# +/** + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @since 2.0.0 + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ +#} +{% set belongsTo = Bake.aliasExtractor(modelObj, 'BelongsTo') %} +{% set belongsToMany = Bake.aliasExtractor(modelObj, 'belongsToMany') %} +{% set compact = ["'#{singularName}'"] %} + + /** + * Edit method + * + * @param string|null $id {{ singularHumanName }} id. + * @return \Cake\Http\Response|null Redirects on successful edit, renders view otherwise. + * @throws \Cake\Network\Exception\NotFoundException When record not found. + */ + public function edit($id = null) + { + ${{ singularName }} = $this->{{ currentModelName }}->get($id, [ + 'contain' => [{{ Bake.stringifyList(belongsToMany, {'indent': false})|raw }}] + ]); + if ($this->request->is(['patch', 'post', 'put'])) { + ${{ singularName }} = $this->{{ currentModelName }}->patchEntity(${{ singularName }}, $this->request->getData()); + if ($this->{{ currentModelName }}->save(${{ singularName }})) { + $this->Flash->success(__('The {{ singularHumanName|lower }} has been saved.')); + + return $this->redirect(['action' => 'index']); + } + $this->Flash->error(__('The {{ singularHumanName|lower }} could not be saved. Please, try again.')); + } +{% for assoc in belongsTo|merge(belongsToMany) %} + {%- set otherName = Bake.getAssociatedTableAlias(modelObj, assoc) %} + {%- set otherPlural = otherName|variable %} + ${{ otherPlural }} = $this->{{ currentModelName }}->{{ otherName }}->find('list', ['limit' => 200]); + {{- "\n" }} + {%- set compact = compact|merge(["'#{otherPlural}'"]) %} +{% endfor %} + $this->set(compact({{ compact|join(', ')|raw }})); + } |