116 lines
3.7 KiB
PHTML
116 lines
3.7 KiB
PHTML
<?php
|
|
|
|
use Icinga\Data\Updatable;
|
|
use Icinga\Data\Reducible;
|
|
use Icinga\Data\Selectable;
|
|
|
|
$editLink = null;
|
|
if ($this->hasPermission('config/authentication/users/edit') && $backend instanceof Updatable) {
|
|
$editLink = $this->qlink(
|
|
null,
|
|
'user/edit',
|
|
array(
|
|
'backend' => $backend->getName(),
|
|
'user' => $user->user_name
|
|
),
|
|
array(
|
|
'title' => sprintf($this->translate('Edit user %s'), $user->user_name),
|
|
'class' => 'user-edit',
|
|
'icon' => 'edit'
|
|
)
|
|
);
|
|
}
|
|
|
|
?>
|
|
<div class="controls">
|
|
<?php if (! $this->compact): ?>
|
|
<?= $tabs; ?>
|
|
<?php endif ?>
|
|
<h1><?= $this->escape($user->user_name); ?><span class="pull-right"><?= $editLink; ?></span></h1>
|
|
<table class="avp user-header">
|
|
<tr>
|
|
<th><?= $this->translate('State'); ?></th>
|
|
<td><?= $user->is_active === null ? '-' : ($user->is_active ? $this->translate('Active') : $this->translate('Inactive')); ?></td>
|
|
</tr>
|
|
<tr>
|
|
<th><?= $this->translate('Created at'); ?></th>
|
|
<td><?= $user->created_at === null ? '-' : $this->formatDateTime($user->created_at); ?></td>
|
|
</tr>
|
|
<tr>
|
|
<th><?= $this->translate('Last modified'); ?></th>
|
|
<td><?= $user->last_modified === null ? '-' : $this->formatDateTime($user->last_modified); ?></td>
|
|
</tr>
|
|
</table>
|
|
<h2><?= $this->translate('Group Memberships'); ?></h2>
|
|
<?php if (! $this->compact): ?>
|
|
<?= $this->sortBox; ?>
|
|
<?php endif ?>
|
|
<?= $this->limiter; ?>
|
|
<?= $this->paginator; ?>
|
|
<?php if (! $this->compact): ?>
|
|
<?= $this->filterEditor; ?>
|
|
<?php endif ?>
|
|
</div>
|
|
<div class="content memberships">
|
|
<?php
|
|
|
|
$firstRow = true;
|
|
foreach ($memberships as $membership): ?>
|
|
<?php if ($firstRow): ?>
|
|
<?php $firstRow = false; ?>
|
|
<table data-base-target="_next" class="action membership-list alternating">
|
|
<thead>
|
|
<tr>
|
|
<th class="membership-group"><?= $this->translate('Group'); ?></th>
|
|
<th class="membership-cancel"><?= $this->translate('Cancel', 'group.membership'); ?></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php endif ?>
|
|
<tr>
|
|
<td class="membership-group">
|
|
<?php if ($this->hasPermission('config/authentication/groups/show') && $membership->backend instanceof Selectable): ?>
|
|
<?= $this->qlink($membership->group_name, 'group/show', array(
|
|
'backend' => $membership->backend->getName(),
|
|
'group' => $membership->group_name
|
|
), array(
|
|
'title' => sprintf($this->translate('Show detailed information for group %s'), $membership->group_name)
|
|
)); ?>
|
|
<?php else: ?>
|
|
<?= $this->escape($membership->group_name); ?>
|
|
<?php endif ?>
|
|
</td>
|
|
<td class="membership-cancel" data-base-target="_self">
|
|
<?php if (isset($removeForm) && $membership->backend instanceof Reducible): ?>
|
|
<?= $removeForm->setAction($this->url('group/removemember', array(
|
|
'backend' => $membership->backend->getName(),
|
|
'group' => $membership->group_name
|
|
))); ?>
|
|
<?php else: ?>
|
|
-
|
|
<?php endif ?>
|
|
</td>
|
|
</tr>
|
|
<?php endforeach ?>
|
|
<?php if ($memberships->hasResult()): ?>
|
|
</tbody>
|
|
</table>
|
|
<?php else: ?>
|
|
<p><?= $this->translate('No memberships found matching the filter'); ?></p>
|
|
<?php endif ?>
|
|
<?php if ($showCreateMembershipLink): ?>
|
|
<?= $this->qlink(
|
|
$this->translate('Create New Membership'),
|
|
'user/createmembership',
|
|
array(
|
|
'backend' => $backend->getName(),
|
|
'user' => $user->user_name
|
|
),
|
|
array(
|
|
'icon' => 'plus',
|
|
'data-base-target' => '_next',
|
|
'class' => 'membership-create'
|
|
)
|
|
); ?>
|
|
<?php endif ?>
|
|
</div>
|