47 lines
2.2 KiB
Twig
47 lines
2.2 KiB
Twig
{#
|
|
/**
|
|
* CakePHP(tm) : Rapid Development Framework (https://cakephp.org)
|
|
* Copyright (c) Cake Software Foundation, Inc. (https://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. (https://cakefoundation.org)
|
|
* @link https://cakephp.org CakePHP(tm) Project
|
|
* @since 2.0.0
|
|
* @license https://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|void Redirects on successful edit, renders view otherwise.
|
|
* @throws \Cake\Datasource\Exception\RecordNotFoundException When record not found.
|
|
*/
|
|
public function edit($id = null)
|
|
{
|
|
${{ singularName }} = $this->{{ currentModelName }}->get($id, contain: {{ Bake.exportArray(belongsToMany)|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)->all();
|
|
{{- "\n" }}
|
|
{%- set compact = compact|merge(["'#{otherPlural}'"]) %}
|
|
{% endfor %}
|
|
$this->set(compact({{ compact|join(', ')|raw }}));
|
|
}
|