TRF Certest first commit

This commit is contained in:
2025-02-26 08:57:46 +01:00
commit 3ce064a108
2524 changed files with 475404 additions and 0 deletions
@@ -0,0 +1,35 @@
<?php
namespace Vanguard\Support\Plugins\Dashboard\Widgets;
use Illuminate\Contracts\View\View;
use Vanguard\Plugins\Widget;
use Vanguard\Repositories\User\UserRepository;
use Vanguard\Support\Enum\UserStatus;
class BannedUsers extends Widget
{
/**
* {@inheritdoc}
*/
public ?string $width = '3';
/**
* {@inheritdoc}
*/
protected string|\Closure|array $permissions = 'users.manage';
public function __construct(protected readonly UserRepository $users)
{
}
/**
* {@inheritDoc}
*/
public function render(): View
{
return view('plugins.dashboard.widgets.banned-users', [
'count' => $this->users->countByStatus(UserStatus::BANNED),
]);
}
}
@@ -0,0 +1,34 @@
<?php
namespace Vanguard\Support\Plugins\Dashboard\Widgets;
use Illuminate\Contracts\View\View;
use Vanguard\Plugins\Widget;
use Vanguard\Repositories\User\UserRepository;
class LatestRegistrations extends Widget
{
/**
* {@inheritdoc}
*/
public ?string $width = '4';
/**
* {@inheritdoc}
*/
protected string|\Closure|array $permissions = 'users.manage';
public function __construct(protected readonly UserRepository $users)
{
}
/**
* {@inheritdoc}
*/
public function render(): View
{
return view('plugins.dashboard.widgets.latest-registrations', [
'latestRegistrations' => $this->users->latest(6),
]);
}
}
@@ -0,0 +1,34 @@
<?php
namespace Vanguard\Support\Plugins\Dashboard\Widgets;
use Illuminate\Contracts\View\View;
use Vanguard\Plugins\Widget;
use Vanguard\Repositories\User\UserRepository;
class NewUsers extends Widget
{
/**
* {@inheritdoc}
*/
public ?string $width = '3';
/**
* {@inheritdoc}
*/
protected string|\Closure|array $permissions = 'users.manage';
public function __construct(protected readonly UserRepository $users)
{
}
/**
* {@inheritdoc}
*/
public function render(): View
{
return view('plugins.dashboard.widgets.new-users', [
'count' => $this->users->newUsersCount(),
]);
}
}
@@ -0,0 +1,59 @@
<?php
namespace Vanguard\Support\Plugins\Dashboard\Widgets;
use Carbon\Carbon;
use Illuminate\Contracts\View\View;
use Vanguard\Plugins\Widget;
use Vanguard\Repositories\User\UserRepository;
class RegistrationHistory extends Widget
{
/**
* {@inheritdoc}
*/
public ?string $width = '8';
protected string|\Closure|array $permissions = 'users.manage';
/**
* @var array Count of new users per month.
*/
protected array $usersPerMonth;
public function __construct(protected UserRepository $users)
{
}
/**
* {@inheritdoc}
*/
public function render(): View
{
return view('plugins.dashboard.widgets.registration-history', [
'usersPerMonth' => $this->getUsersPerMonth(),
]);
}
/**
* {@inheritDoc}
*/
public function scripts(): View
{
return view('plugins.dashboard.widgets.registration-history-scripts', [
'usersPerMonth' => $this->getUsersPerMonth(),
]);
}
private function getUsersPerMonth(): array
{
if (isset($this->usersPerMonth)) {
return $this->usersPerMonth;
}
return $this->usersPerMonth = $this->users->countOfNewUsersPerMonthPerRole(
Carbon::now()->subYear()->startOfMonth(),
Carbon::now()->endOfMonth()
);
}
}
@@ -0,0 +1,34 @@
<?php
namespace Vanguard\Support\Plugins\Dashboard\Widgets;
use Illuminate\Contracts\View\View;
use Vanguard\Plugins\Widget;
use Vanguard\Repositories\User\UserRepository;
class TotalUsers extends Widget
{
/**
* {@inheritdoc}
*/
public ?string $width = '3';
/**
* {@inheritdoc}
*/
protected string|\Closure|array $permissions = 'users.manage';
public function __construct(protected readonly UserRepository $users)
{
}
/**
* {@inheritdoc}
*/
public function render(): View
{
return view('plugins.dashboard.widgets.total-users', [
'count' => $this->users->count(),
]);
}
}
@@ -0,0 +1,35 @@
<?php
namespace Vanguard\Support\Plugins\Dashboard\Widgets;
use Illuminate\Contracts\View\View;
use Vanguard\Plugins\Widget;
use Vanguard\Repositories\User\UserRepository;
use Vanguard\Support\Enum\UserStatus;
class UnconfirmedUsers extends Widget
{
/**
* {@inheritdoc}
*/
public ?string $width = '3';
/**
* {@inheritdoc}
*/
protected string|\Closure|array $permissions = 'users.manage';
public function __construct(protected readonly UserRepository $users)
{
}
/**
* {@inheritdoc}
*/
public function render(): View
{
return view('plugins.dashboard.widgets.unconfirmed-users', [
'count' => $this->users->countByStatus(UserStatus::UNCONFIRMED),
]);
}
}
@@ -0,0 +1,25 @@
<?php
namespace Vanguard\Support\Plugins\Dashboard\Widgets;
use Illuminate\Contracts\View\View;
use Vanguard\Plugins\Widget;
use Vanguard\User;
class UserActions extends Widget
{
public function __construct()
{
$this->permissions(function (User $user) {
return $user->hasRole('User');
});
}
/**
* {@inheritdoc}
*/
public function render(): View
{
return view('plugins.dashboard.widgets.user-actions');
}
}