castopod/app/Views/admin/user/list.php
Yassine Doghri 4f1e773c0f feat(episodes): schedule episode with future publication_date by using cache expiration time
- merge publication date fields into one field instanciated with flatpickr datetime picker
- get user timezone to convert user publication_date input to UTC
- remove setPublishedAt() method from episode entity
- add publication pill component to display the episode publication date info
- clear cache after episode insert
- use CI is_really_writable() helper in install instead of is_writable()
- fix latest episodes layout
- update tsconfig to only include ts folders
- update DEPENDENCIES.md to include flatpickr
- add format_duration helper to format episode enclosure duration instead of translating it (causes
translation bug)
- add Time.ts module to convert UTC time to user localized time for episode publication dates
- fix some layout issues
- update php and js dependencies to latest versions

closes #47
2020-10-22 17:41:59 +00:00

89 lines
2.7 KiB
PHP

<?= $this->extend('admin/_layout') ?>
<?= $this->section('title') ?>
<?= lang('User.all_users') ?>
<?= $this->endSection() ?>
<?= $this->section('pageTitle') ?>
<?= lang('User.all_users') ?> (<?= count($users) ?>)
<?= $this->endSection() ?>
<?= $this->section('headerRight') ?>
<?= button(lang('User.create'), route_to('user-create'), [
'variant' => 'primary',
'iconLeft' => 'user-add',
]) ?>
<?= $this->endSection() ?>
<?= $this->section('content') ?>
<?= data_table(
[
[
'header' => lang('User.list.user'),
'cell' => function ($user) {
return '<div class="flex flex-col">' .
$user->username .
'<span class="text-sm text-gray-600">' .
$user->email .
'</span></div>';
},
],
[
'header' => lang('User.list.roles'),
'cell' => function ($user) {
return implode(',', $user->roles) .
icon_button(
'edit',
lang('User.edit_roles', [
'username' => $user->username,
]),
route_to('user-edit', $user->id),
['variant' => 'info'],
['class' => 'ml-2']
);
},
],
[
'header' => lang('User.list.banned'),
'cell' => function ($user) {
return $user->isBanned()
? lang('Common.yes')
: lang('Common.no');
},
],
[
'header' => lang('Common.actions'),
'cell' => function ($user) {
return button(
lang('User.forcePassReset'),
route_to('user-force_pass_reset', $user->id),
[
'variant' => 'secondary',
'size' => 'small',
],
['class' => 'mr-2']
) .
button(
lang('User.' . ($user->isBanned() ? 'unban' : 'ban')),
route_to(
$user->isBanned() ? 'user-unban' : 'user-ban',
$user->id
),
['variant' => 'warning', 'size' => 'small'],
['class' => 'mr-2']
) .
button(
lang('User.delete'),
route_to('user-delete', $user->id),
['variant' => 'danger', 'size' => 'small']
);
},
],
],
$users
) ?>
<?= $this->endSection() ?>