forked from fa/breadcrumb-the-shire
56 lines
1.9 KiB
PHTML
56 lines
1.9 KiB
PHTML
<?php
|
|
|
|
/**
|
|
* @var array $values
|
|
* @var string|null $formId
|
|
* @var bool $detailsOpenAll
|
|
* @var bool $isReadOnly
|
|
* @var array $tenants
|
|
* @var array $selectedTenantIds
|
|
*/
|
|
|
|
use MintyPHP\Session;
|
|
|
|
$values = $values ?? [];
|
|
$formId = $formId ?? 'department-form';
|
|
$detailsOpenAll = $detailsOpenAll ?? false;
|
|
$isReadOnly = $isReadOnly ?? false;
|
|
$tenants = $tenants ?? [];
|
|
$selectedTenantIds = $selectedTenantIds ?? [];
|
|
$detailsOpenAttr = $detailsOpenAll ? 'open' : '';
|
|
$readonlyAttr = $isReadOnly ? 'readonly' : '';
|
|
$disabledAttr = $isReadOnly ? 'disabled' : '';
|
|
$dataDisabledAttr = $isReadOnly ? 'data-disabled="true"' : '';
|
|
|
|
?>
|
|
<form id="<?php e($formId); ?>" method="post">
|
|
<details name="basic-data" open>
|
|
<summary>Stammdaten</summary>
|
|
<hr>
|
|
<label for="description">
|
|
<span><?php e(t('Description')); ?></span>
|
|
<input required type="text" name="description" id="description" value="<?php e($values['description'] ?? ''); ?>" <?php e($readonlyAttr); ?> />
|
|
</label>
|
|
</details>
|
|
<?php if ($tenants): ?>
|
|
<label>
|
|
<span><?php e(t('Assigned tenants')); ?></span>
|
|
</label>
|
|
<select id="department-tenants" name="tenant_ids" multiple data-multi-select="true" <?php e($dataDisabledAttr); ?> <?php e($disabledAttr); ?>
|
|
data-placeholder="<?php e(t('Select tenants')); ?>" data-search="true"
|
|
data-search-placeholder="<?php e(t('Search...')); ?>" data-select-all="true"
|
|
data-select-all-label="<?php e(t('Select all')); ?>">
|
|
<?php foreach ($tenants as $tenant): ?>
|
|
<?php
|
|
$tenantId = (int) ($tenant['id'] ?? 0);
|
|
$selected = in_array($tenantId, $selectedTenantIds ?? [], true) ? 'selected' : '';
|
|
?>
|
|
<option value="<?php e((string) $tenantId); ?>" <?php e($selected); ?>>
|
|
<?php e($tenant['description'] ?? ''); ?>
|
|
</option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
<?php endif; ?>
|
|
<?php Session::getCsrfInput(); ?>
|
|
</form>
|