moved to its own repo
This commit is contained in:
45
templates/bake/element/Controller/add.twig
Normal file
45
templates/bake/element/Controller/add.twig
Normal file
@@ -0,0 +1,45 @@
|
||||
{#
|
||||
/**
|
||||
* 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 compact = ["'#{singularName}'"] %}
|
||||
/**
|
||||
* Add method
|
||||
*
|
||||
* @return \Cake\Http\Response|null|void Redirects on successful add, renders view otherwise.
|
||||
*/
|
||||
public function add()
|
||||
{
|
||||
${{ singularName }} = $this->{{ currentModelName }}->newEmptyEntity();
|
||||
if ($this->request->is('post')) {
|
||||
${{ 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.'));
|
||||
}
|
||||
{% set associations = Bake.aliasExtractor(modelObj, 'BelongsTo') %}
|
||||
{% set associations = associations|merge(Bake.aliasExtractor(modelObj, 'BelongsToMany')) %}
|
||||
|
||||
{%- for assoc in associations %}
|
||||
{%- 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 }}));
|
||||
}
|
||||
34
templates/bake/element/Controller/delete.twig
Normal file
34
templates/bake/element/Controller/delete.twig
Normal file
@@ -0,0 +1,34 @@
|
||||
{#
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
#}
|
||||
/**
|
||||
* Delete method
|
||||
*
|
||||
* @param string|null $id {{ singularHumanName }} id.
|
||||
* @return \Cake\Http\Response|null Redirects to index.
|
||||
* @throws \Cake\Datasource\Exception\RecordNotFoundException When record not found.
|
||||
*/
|
||||
public function delete($id = null)
|
||||
{
|
||||
$this->request->allowMethod(['post', 'delete']);
|
||||
${{ singularName }} = $this->{{ currentModelName }}->get($id);
|
||||
if ($this->{{ currentModelName }}->delete(${{ singularName }})) {
|
||||
$this->Flash->success(__('The {{ singularHumanName|lower }} has been deleted.'));
|
||||
} else {
|
||||
$this->Flash->error(__('The {{ singularHumanName|lower }} could not be deleted. Please, try again.'));
|
||||
}
|
||||
|
||||
return $this->redirect(['action' => 'index']);
|
||||
}
|
||||
46
templates/bake/element/Controller/edit.twig
Normal file
46
templates/bake/element/Controller/edit.twig
Normal file
@@ -0,0 +1,46 @@
|
||||
{#
|
||||
/**
|
||||
* 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 }}));
|
||||
}
|
||||
33
templates/bake/element/Controller/index.twig
Normal file
33
templates/bake/element/Controller/index.twig
Normal file
@@ -0,0 +1,33 @@
|
||||
{#
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
#}
|
||||
/**
|
||||
* Index method
|
||||
*
|
||||
* @return \Cake\Http\Response|null|void Renders view
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
{% set belongsTo = Bake.aliasExtractor(modelObj, 'BelongsTo') %}
|
||||
{% if belongsTo %}
|
||||
$query = $this->{{ currentModelName }}->find()
|
||||
->contain({{ Bake.exportArray(belongsTo)|raw }});
|
||||
{% else %}
|
||||
$query = $this->{{ currentModelName }}->find();
|
||||
{% endif %}
|
||||
${{ pluralName }} = $this->paginate($query);
|
||||
|
||||
$this->set(compact('{{ pluralName }}'));
|
||||
}
|
||||
31
templates/bake/element/Controller/view.twig
Normal file
31
templates/bake/element/Controller/view.twig
Normal file
@@ -0,0 +1,31 @@
|
||||
{#
|
||||
/**
|
||||
* 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 allAssociations = Bake.aliasExtractor(modelObj, 'BelongsTo') %}
|
||||
{% set allAssociations = allAssociations|merge(Bake.aliasExtractor(modelObj, 'BelongsToMany')) %}
|
||||
{% set allAssociations = allAssociations|merge(Bake.aliasExtractor(modelObj, 'HasOne')) %}
|
||||
{% set allAssociations = allAssociations|merge(Bake.aliasExtractor(modelObj, 'HasMany')) %}
|
||||
/**
|
||||
* View method
|
||||
*
|
||||
* @param string|null $id {{ singularHumanName }} id.
|
||||
* @return \Cake\Http\Response|null|void Renders view
|
||||
* @throws \Cake\Datasource\Exception\RecordNotFoundException When record not found.
|
||||
*/
|
||||
public function view($id = null)
|
||||
{
|
||||
${{ singularName }} = $this->{{ currentModelName }}->get($id, contain: {{ Bake.exportArray(allAssociations)|raw }});
|
||||
$this->set(compact('{{ singularName }}'));
|
||||
}
|
||||
6
templates/bake/element/array_property.twig
Normal file
6
templates/bake/element/array_property.twig
Normal file
@@ -0,0 +1,6 @@
|
||||
/**
|
||||
* {{ name|humanize }}
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public array ${{ name }} = {{ Bake.exportArray(value)|raw }};
|
||||
4
templates/bake/element/file_header.twig
Normal file
4
templates/bake/element/file_header.twig
Normal file
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
{{- namespace ? "\n\nnamespace #{namespace};" : '' }}
|
||||
{{- Bake.concat('\n', [Bake.classUses(classImports ?? []), Bake.functionUses(functionImports ?? []), Bake.constUses(constImports ?? [])], '\n\n') }}
|
||||
75
templates/bake/element/form.twig
Normal file
75
templates/bake/element/form.twig
Normal file
@@ -0,0 +1,75 @@
|
||||
{#
|
||||
/**
|
||||
* 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 fields = Bake.filterFields(fields, schema, modelObject) %}
|
||||
<div class="row">
|
||||
<aside class="column">
|
||||
<div class="side-nav">
|
||||
<h4 class="heading"><?= __('Actions') ?></h4>
|
||||
{% if 'add' not in action %}
|
||||
<?= $this->Form->postLink(
|
||||
__('Delete'),
|
||||
['action' => 'delete', ${{ singularVar }}->{{ primaryKey[0] }}],
|
||||
['confirm' => __('Are you sure you want to delete # {0}?', ${{ singularVar }}->{{ primaryKey[0] }}), 'class' => 'side-nav-item']
|
||||
) ?>
|
||||
{% endif %}
|
||||
<?= $this->Html->link(__('List {{ pluralHumanName }}'), ['action' => 'index'], ['class' => 'side-nav-item']) ?>
|
||||
{{- "\n" }}
|
||||
{%- set done = [] %}
|
||||
</div>
|
||||
</aside>
|
||||
<div class="column column-80">
|
||||
<div class="{{ pluralVar }} form content">
|
||||
<?= $this->Form->create(${{ singularVar }}) ?>
|
||||
<fieldset>
|
||||
<legend><?= __('{{ action|humanize }} {{ singularHumanName }}') ?></legend>
|
||||
<?php
|
||||
{% for field in fields %}
|
||||
{%- if field not in primaryKey %}
|
||||
{%- if keyFields[field] is defined %}
|
||||
{%- set fieldData = Bake.columnData(field, schema) %}
|
||||
{%- if fieldData.null %}
|
||||
echo $this->Form->control('{{ field }}', ['options' => ${{ keyFields[field] }}, 'empty' => true]);
|
||||
{{- "\n" }}
|
||||
{%- else %}
|
||||
echo $this->Form->control('{{ field }}', ['options' => ${{ keyFields[field] }}]);
|
||||
{{- "\n" }}
|
||||
{%- endif %}
|
||||
{%- elseif field not in ['created', 'modified', 'updated'] %}
|
||||
{%- set fieldData = Bake.columnData(field, schema) %}
|
||||
{%- if fieldData.type in ['date', 'datetime', 'time'] and fieldData.null %}
|
||||
echo $this->Form->control('{{ field }}', ['empty' => true]);
|
||||
{{- "\n" }}
|
||||
{%- else %}
|
||||
echo $this->Form->control('{{ field }}');
|
||||
{{- "\n" }}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
|
||||
{%- if associations.BelongsToMany is defined %}
|
||||
{%- for assocName, assocData in associations.BelongsToMany %}
|
||||
echo $this->Form->control('{{ assocData.property }}._ids', ['options' => ${{ assocData.variable }}]);
|
||||
{{- "\n" }}
|
||||
{%- endfor %}
|
||||
{% endif %}
|
||||
?>
|
||||
</fieldset>
|
||||
<?= $this->Form->button(__('Submit')) ?>
|
||||
<?= $this->Form->end() ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user