moved to its own repo

This commit is contained in:
Brandon Shipley
2024-03-31 01:45:24 -07:00
parent 10b9a78d31
commit 15f02e6f0a
45 changed files with 2497 additions and 27 deletions

View 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') }}

View 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') }}

View 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>

View 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>

View 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>