moved to its own repo
This commit is contained in:
35
templates/bake/Template/add.twig
Normal file
35
templates/bake/Template/add.twig
Normal file
@@ -0,0 +1,35 @@
|
||||
{#
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
#}
|
||||
<?php
|
||||
/**
|
||||
* @var \{{ namespace }}\View\AppView $this
|
||||
* @var \{{ entityClass }} ${{ singularVar }}
|
||||
{{- "\n" }}
|
||||
{%- if associations.BelongsTo is defined %}
|
||||
{%- for assocName, assocData in associations.BelongsTo %}
|
||||
* @var \Cake\Collection\CollectionInterface|string[] ${{ assocData.variable }}
|
||||
{{- "\n" }}
|
||||
{%- endfor %}
|
||||
{% endif %}
|
||||
{%- if associations.BelongsToMany is defined %}
|
||||
{%- for assocName, assocData in associations.BelongsToMany %}
|
||||
* @var \Cake\Collection\CollectionInterface|string[] ${{ assocData.variable }}
|
||||
{{- "\n" }}
|
||||
{%- endfor %}
|
||||
{% endif %}
|
||||
*/
|
||||
?>
|
||||
{{ element('Bake.form') }}
|
||||
35
templates/bake/Template/edit.twig
Normal file
35
templates/bake/Template/edit.twig
Normal file
@@ -0,0 +1,35 @@
|
||||
{#
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
#}
|
||||
<?php
|
||||
/**
|
||||
* @var \{{ namespace }}\View\AppView $this
|
||||
* @var \{{ entityClass }} ${{ singularVar }}
|
||||
{{- "\n" }}
|
||||
{%- if associations.BelongsTo is defined %}
|
||||
{%- for assocName, assocData in associations.BelongsTo %}
|
||||
* @var string[]|\Cake\Collection\CollectionInterface ${{ assocData.variable }}
|
||||
{{- "\n" }}
|
||||
{%- endfor %}
|
||||
{% endif %}
|
||||
{%- if associations.BelongsToMany is defined %}
|
||||
{%- for assocName, assocData in associations.BelongsToMany %}
|
||||
* @var string[]|\Cake\Collection\CollectionInterface ${{ assocData.variable }}
|
||||
{{- "\n" }}
|
||||
{%- endfor %}
|
||||
{% endif %}
|
||||
*/
|
||||
?>
|
||||
{{ element('Bake.form') }}
|
||||
82
templates/bake/Template/index.twig
Normal file
82
templates/bake/Template/index.twig
Normal file
@@ -0,0 +1,82 @@
|
||||
{#
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
#}
|
||||
<?php
|
||||
/**
|
||||
* @var \{{ namespace }}\View\AppView $this
|
||||
* @var iterable<\{{ entityClass }}> ${{ pluralVar }}
|
||||
*/
|
||||
?>
|
||||
<div class="{{ pluralVar }} index content">
|
||||
{% set fields = Bake.filterFields(fields, schema, modelObject, indexColumns, ['binary', 'text']) %}
|
||||
<?= $this->Html->link(__('New {{ singularHumanName }}'), ['action' => 'add'], ['class' => 'button float-right']) ?>
|
||||
{% set done = [] %}
|
||||
<h3><?= __('{{ pluralHumanName }}') ?></h3>
|
||||
<div class="table-responsive">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
{% for field in fields %}
|
||||
<th><?= $this->Paginator->sort('{{ field }}') ?></th>
|
||||
{% endfor %}
|
||||
<th class="actions"><?= __('Actions') ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach (${{ pluralVar }} as ${{ singularVar }}): ?>
|
||||
<tr>
|
||||
{% for field in fields %}
|
||||
{% set isKey = false %}
|
||||
{% if associations.BelongsTo is defined %}
|
||||
{% for alias, details in associations.BelongsTo %}
|
||||
{% if field == details.foreignKey %}
|
||||
{% set isKey = true %}
|
||||
<td><?= ${{ singularVar }}->hasValue('{{ details.property }}') ? $this->Html->link(${{ singularVar }}->{{ details.property }}->{{ details.displayField }}, ['controller' => '{{ details.controller }}', 'action' => 'view', ${{ singularVar }}->{{ details.property }}->{{ details.primaryKey[0] }}]) : '' ?></td>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if isKey is not same as(true) %}
|
||||
{% set columnData = Bake.columnData(field, schema) %}
|
||||
{% if columnData.type not in ['integer', 'float', 'decimal', 'biginteger', 'smallinteger', 'tinyinteger'] %}
|
||||
<td><?= h(${{ singularVar }}->{{ field }}) ?></td>
|
||||
{% elseif columnData.null %}
|
||||
<td><?= ${{ singularVar }}->{{ field }} === null ? '' : $this->Number->format(${{ singularVar }}->{{ field }}) ?></td>
|
||||
{% else %}
|
||||
<td><?= $this->Number->format(${{ singularVar }}->{{ field }}) ?></td>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% set pk = '$' ~ singularVar ~ '->' ~ primaryKey[0] %}
|
||||
<td class="actions">
|
||||
<?= $this->Html->link(__('View'), ['action' => 'view', {{ pk|raw }}]) ?>
|
||||
<?= $this->Html->link(__('Edit'), ['action' => 'edit', {{ pk|raw }}]) ?>
|
||||
<?= $this->Form->postLink(__('Delete'), ['action' => 'delete', {{ pk|raw }}], ['confirm' => __('Are you sure you want to delete # {0}?', {{ pk|raw }})]) ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="paginator">
|
||||
<ul class="pagination">
|
||||
<?= $this->Paginator->first('<< ' . __('first')) ?>
|
||||
<?= $this->Paginator->prev('< ' . __('previous')) ?>
|
||||
<?= $this->Paginator->numbers() ?>
|
||||
<?= $this->Paginator->next(__('next') . ' >') ?>
|
||||
<?= $this->Paginator->last(__('last') . ' >>') ?>
|
||||
</ul>
|
||||
<p><?= $this->Paginator->counter(__('Page {{ '{{' }}page{{ '}}' }} of {{ '{{' }}pages{{ '}}' }}, showing {{ '{{' }}current{{ '}}' }} record(s) out of {{ '{{' }}count{{ '}}' }} total')) ?></p>
|
||||
</div>
|
||||
</div>
|
||||
30
templates/bake/Template/login.twig
Normal file
30
templates/bake/Template/login.twig
Normal file
@@ -0,0 +1,30 @@
|
||||
{#
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
#}
|
||||
<?php
|
||||
/**
|
||||
* @var \{{ namespace }}\View\AppView $this
|
||||
*/
|
||||
?>
|
||||
<div class="{{ pluralVar }} form content">
|
||||
<?= $this->Form->create() ?>
|
||||
<fieldset>
|
||||
<legend><?= __('Please enter your username and password') ?></legend>
|
||||
<?= $this->Form->control('username') ?>
|
||||
<?= $this->Form->control('password') ?>
|
||||
</fieldset>
|
||||
<?= $this->Form->button(__('Login')); ?>
|
||||
<?= $this->Form->end() ?>
|
||||
</div>
|
||||
141
templates/bake/Template/view.twig
Normal file
141
templates/bake/Template/view.twig
Normal file
@@ -0,0 +1,141 @@
|
||||
{#
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
#}
|
||||
<?php
|
||||
/**
|
||||
* @var \{{ namespace }}\View\AppView $this
|
||||
* @var \{{ entityClass }} ${{ singularVar }}
|
||||
*/
|
||||
?>
|
||||
{% set associations = {'BelongsTo': [], 'HasOne': [], 'HasMany': [], 'BelongsToMany': []}|merge(associations) %}
|
||||
{% set fieldsData = Bake.getViewFieldsData(fields, schema, associations) %}
|
||||
{% set associationFields = fieldsData.associationFields %}
|
||||
{% set groupedFields = fieldsData.groupedFields %}
|
||||
{% set pK = '$' ~ singularVar ~ '->' ~ primaryKey[0] %}
|
||||
<div class="row">
|
||||
<aside class="column">
|
||||
<div class="side-nav">
|
||||
<h4 class="heading"><?= __('Actions') ?></h4>
|
||||
<?= $this->Html->link(__('Edit {{ singularHumanName }}'), ['action' => 'edit', {{ pK|raw }}], ['class' => 'side-nav-item']) ?>
|
||||
<?= $this->Form->postLink(__('Delete {{ singularHumanName }}'), ['action' => 'delete', {{ pK|raw }}], ['confirm' => __('Are you sure you want to delete # {0}?', {{ pK|raw }}), 'class' => 'side-nav-item']) ?>
|
||||
<?= $this->Html->link(__('List {{ pluralHumanName }}'), ['action' => 'index'], ['class' => 'side-nav-item']) ?>
|
||||
<?= $this->Html->link(__('New {{ singularHumanName }}'), ['action' => 'add'], ['class' => 'side-nav-item']) ?>
|
||||
{% set done = [] %}
|
||||
</div>
|
||||
</aside>
|
||||
<div class="column column-80">
|
||||
<div class="{{ pluralVar }} view content">
|
||||
<h3><?= h(${{ singularVar }}->{{ displayField }}) ?></h3>
|
||||
<table>
|
||||
{% if groupedFields['string'] %}
|
||||
{% for field in groupedFields['string'] %}
|
||||
{% if associationFields[field] is defined %}
|
||||
{% set details = associationFields[field] %}
|
||||
<tr>
|
||||
<th><?= __('{{ details.property|humanize }}') ?></th>
|
||||
<td><?= ${{ singularVar }}->hasValue('{{ details.property }}') ? $this->Html->link(${{ singularVar }}->{{ details.property }}->{{ details.displayField }}, ['controller' => '{{ details.controller }}', 'action' => 'view', ${{ singularVar }}->{{ details.property }}->{{ details.primaryKey[0] }}]) : '' ?></td>
|
||||
</tr>
|
||||
{% else %}
|
||||
<tr>
|
||||
<th><?= __('{{ field|humanize }}') ?></th>
|
||||
<td><?= h(${{ singularVar }}->{{ field }}) ?></td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if associations.HasOne %}
|
||||
{% for alias, details in associations.HasOne %}
|
||||
<tr>
|
||||
<th><?= __('{{ alias|underscore|singularize|humanize }}') ?></th>
|
||||
<td><?= ${{ singularVar }}->hasValue('{{ details.property }}') ? $this->Html->link(${{ singularVar }}->{{ details.property }}->{{ details.displayField }}, ['controller' => '{{ details.controller }}', 'action' => 'view', ${{ singularVar }}->{{ details.property }}->{{ details.primaryKey[0] }}]) : '' ?></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if groupedFields.number %}
|
||||
{% for field in groupedFields.number %}
|
||||
<tr>
|
||||
<th><?= __('{{ field|humanize }}') ?></th>
|
||||
{% set columnData = Bake.columnData(field, schema) %}
|
||||
{% if columnData.null %}
|
||||
<td><?= ${{ singularVar }}->{{ field }} === null ? '' : $this->Number->format(${{ singularVar }}->{{ field }}) ?></td>
|
||||
{% else %}
|
||||
<td><?= $this->Number->format(${{ singularVar }}->{{ field }}) ?></td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if groupedFields.date %}
|
||||
{% for field in groupedFields.date %}
|
||||
<tr>
|
||||
<th><?= __('{{ field|humanize }}') ?></th>
|
||||
<td><?= h(${{ singularVar }}->{{ field }}) ?></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if groupedFields.boolean %}
|
||||
{% for field in groupedFields.boolean %}
|
||||
<tr>
|
||||
<th><?= __('{{ field|humanize }}') ?></th>
|
||||
<td><?= ${{ singularVar }}->{{ field }} ? __('Yes') : __('No'); ?></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</table>
|
||||
{% if groupedFields.text %}
|
||||
{% for field in groupedFields.text %}
|
||||
<div class="text">
|
||||
<strong><?= __('{{ field|humanize }}') ?></strong>
|
||||
<blockquote>
|
||||
<?= $this->Text->autoParagraph(h(${{ singularVar }}->{{ field }})); ?>
|
||||
</blockquote>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% set relations = associations.BelongsToMany|merge(associations.HasMany) %}
|
||||
{% for alias, details in relations %}
|
||||
{% set otherSingularVar = alias|variable %}
|
||||
{% set otherPluralHumanName = details.controller|underscore|humanize %}
|
||||
<div class="related">
|
||||
<h4><?= __('Related {{ otherPluralHumanName }}') ?></h4>
|
||||
<?php if (!empty(${{ singularVar }}->{{ details.property }})) : ?>
|
||||
<div class="table-responsive">
|
||||
<table>
|
||||
<tr>
|
||||
{% for field in details.fields %}
|
||||
<th><?= __('{{ field|humanize }}') ?></th>
|
||||
{% endfor %}
|
||||
<th class="actions"><?= __('Actions') ?></th>
|
||||
</tr>
|
||||
<?php foreach (${{ singularVar }}->{{ details.property }} as ${{ otherSingularVar }}) : ?>
|
||||
<tr>
|
||||
{% for field in details.fields %}
|
||||
<td><?= h(${{ otherSingularVar }}->{{ field }}) ?></td>
|
||||
{% endfor %}
|
||||
{% set otherPk = '$' ~ otherSingularVar ~ '->' ~ details.primaryKey[0] %}
|
||||
<td class="actions">
|
||||
<?= $this->Html->link(__('View'), ['controller' => '{{ details.controller }}', 'action' => 'view', {{ otherPk|raw }}]) ?>
|
||||
<?= $this->Html->link(__('Edit'), ['controller' => '{{ details.controller }}', 'action' => 'edit', {{ otherPk|raw }}]) ?>
|
||||
<?= $this->Form->postLink(__('Delete'), ['controller' => '{{ details.controller }}', 'action' => 'delete', {{ otherPk|raw }}], ['confirm' => __('Are you sure you want to delete # {0}?', {{ otherPk|raw }})]) ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user