CheeseCake/templates/bake/element/form.twig

76 lines
3.0 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 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>