Remove "staff member" list
This commit is contained in:
parent
9bf27fd3f4
commit
4da435dc1e
6
.idea/laravel-plugin.xml
generated
6
.idea/laravel-plugin.xml
generated
@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="LaravelPluginSettings">
|
|
||||||
<option name="pluginEnabled" value="true" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
6
.idea/misc.xml
generated
6
.idea/misc.xml
generated
@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="JavaScriptSettings">
|
|
||||||
<option name="languageLevel" value="ES6" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
8
.idea/modules.xml
generated
8
.idea/modules.xml
generated
@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ProjectModuleManager">
|
|
||||||
<modules>
|
|
||||||
<module fileurl="file://$PROJECT_DIR$/../rbrecruiter/.idea/rbrecruiter.iml" filepath="$PROJECT_DIR$/../rbrecruiter/.idea/rbrecruiter.iml" />
|
|
||||||
</modules>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
175
.idea/php.xml
generated
175
.idea/php.xml
generated
@ -1,175 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="PhpIncludePathManager">
|
|
||||||
<include_path>
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/routing" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher-contracts" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/phpunit/php-file-iterator" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/phpunit/php-text-template" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/phpunit/php-code-coverage" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/phpunit/php-invoker" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/phpunit/phpunit" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/phpunit/php-timer" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/phpspec/prophecy" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/phar-io/manifest" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/phar-io/version" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/myclabs/deep-copy" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/mpociot/teamwork" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/monolog/monolog" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/mockery/mockery" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/mcamara/laravel-localization" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/laravel/serializable-closure" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/laravel/tinker" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/laravel/slack-notification-channel" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/laravel/framework" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/laravel/ui" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/geo-sot/laravel-env-editor" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/egulias/email-validator" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/dasprid/enum" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/vlucas/phpdotenv" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/spatie/laravel-permission" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sentry/sentry-laravel" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sentry/sentry" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/ramsey/collection" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/ramsey/uuid" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/nyholm/psr7" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/nesbot/carbon" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/league/flysystem" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/league/commonmark" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/league/mime-type-detection" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/league/fractal" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/jean85/pretty-package-versions" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/facade/flare-client-php" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/facade/ignition" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/facade/ignition-contracts" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/nikic/php-parser" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/dingo/api" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/dingo/blueprint" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/brick/math" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/bacon/bacon-qr-code" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/asm89/stack-cors" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/voku/portable-ascii" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/opis/closure" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/filp/whoops" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/clue/stream-filter" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/psy/psysh" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/psr/container" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/psr/log" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/psr/event-dispatcher" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/psr/cache" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/psr/http-message" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/psr/http-client" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/psr/simple-cache" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/psr/http-factory" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/composer" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/graham-campbell/result-type" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/graham-campbell/markdown" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/phpdocumentor/type-resolver" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-common" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-docblock" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/dragonmantank/cron-expression" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/almasaeed2010/adminlte" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/tijsverkoyen/css-to-inline-styles" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/http-interop/http-factory-guzzle" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/swiftmailer/swiftmailer" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/jeroennoten/laravel-adminlte" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/nunomaduro/collision" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/guzzlehttp/promises" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/guzzlehttp/psr7" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/guzzlehttp/guzzle" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/fzaninotto/faker" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/webmozart/assert" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sebastian/resource-operations" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sebastian/comparator" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sebastian/code-unit" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sebastian/cli-parser" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sebastian/global-state" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sebastian/code-unit-reverse-lookup" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sebastian/version" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sebastian/exporter" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sebastian/object-enumerator" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sebastian/complexity" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sebastian/environment" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sebastian/object-reflector" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sebastian/type" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sebastian/lines-of-code" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sebastian/recursion-context" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/sebastian/diff" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/ralouphie/getallheaders" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/phpoption/phpoption" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/paragonie/constant_time_encoding" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/fruitcake/laravel-cors" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/fideloper/proxy" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/arcanedev/support" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/arcanedev/log-viewer" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/pragmarx/google2fa-laravel" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/pragmarx/google2fa" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/pragmarx/google2fa-qrcode" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/php-http/message" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/php-http/message-factory" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/php-http/promise" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/php-http/discovery" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/php-http/client-common" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/php-http/httplug" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/maximebf/debugbar" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/hamcrest/hamcrest-php" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/doctrine/instantiator" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/doctrine/lexer" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/doctrine/cache" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/doctrine/dbal" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/doctrine/event-manager" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/doctrine/deprecations" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/doctrine/inflector" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/doctrine/annotations" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/barryvdh/laravel-debugbar" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/theseer/tokenizer" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/var-dumper" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/http-kernel" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/finder" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/service-contracts" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/string" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php72" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php80" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/console" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/debug" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/css-selector" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-ctype" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/error-handler" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-iconv" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/mime" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/translation" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/http-client" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/options-resolver" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-idn" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/http-client-contracts" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-grapheme" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/http-foundation" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/deprecation-contracts" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/process" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/translation-contracts" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-mbstring" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-uuid" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/psr-http-message-bridge" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-normalizer" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php73" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php81" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/phpunit/php-token-stream" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/scrivo/highlight.php" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/dnoegel/php-xdg-base-dir" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/php-http/guzzle6-adapter" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/paragonie/random_compat" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php70" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/socialiteproviders/manager" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/laravel/socialite" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/league/oauth1-client" />
|
|
||||||
<path value="$PROJECT_DIR$/vendor/socialiteproviders/discord" />
|
|
||||||
</include_path>
|
|
||||||
</component>
|
|
||||||
<component name="PhpProjectSharedConfiguration" php_language_level="8.0" />
|
|
||||||
<component name="PhpUnit">
|
|
||||||
<phpunit_settings>
|
|
||||||
<PhpUnitSettings configuration_file_path="$PROJECT_DIR$/phpunit.xml" custom_loader_path="$PROJECT_DIR$/vendor/autoload.php" use_configuration_file="true" />
|
|
||||||
</phpunit_settings>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
10
.idea/phpunit.xml
generated
10
.idea/phpunit.xml
generated
@ -1,10 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="PHPUnit">
|
|
||||||
<option name="directories">
|
|
||||||
<list>
|
|
||||||
<option value="$PROJECT_DIR$/tests" />
|
|
||||||
</list>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
6
.idea/vcs.xml
generated
6
.idea/vcs.xml
generated
@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="VcsDirectoryMappings">
|
|
||||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
11
app/Appeal.php
Normal file
11
app/Appeal.php
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class Appeal extends Model
|
||||||
|
{
|
||||||
|
use HasFactory;
|
||||||
|
}
|
93
app/Http/Controllers/AppealController.php
Normal file
93
app/Http/Controllers/AppealController.php
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Appeal;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
// temp logic
|
||||||
|
/*
|
||||||
|
* Appeal types:
|
||||||
|
* - Discord ban appeal (Will prompt user to login with Discord, if account is not linked)
|
||||||
|
* - Site ban appeal (Can be filled while logged out, requires a valid email address, won't prompt for Discord auth)
|
||||||
|
* - Timeout appeal (Will prompt user to login with Discord, if account is not linked)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class AppealController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Display a listing of the resource.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for creating a new resource.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function create()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store a newly created resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function store(Request $request)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display the specified resource.
|
||||||
|
*
|
||||||
|
* @param \App\Appeal $appeal
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function show(Appeal $appeal)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for editing the specified resource.
|
||||||
|
*
|
||||||
|
* @param \App\Appeal $appeal
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function edit(Appeal $appeal)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the specified resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @param \App\Appeal $appeal
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function update(Request $request, Appeal $appeal)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the specified resource from storage.
|
||||||
|
*
|
||||||
|
* @param \App\Appeal $appeal
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function destroy(Appeal $appeal)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
@ -46,56 +46,14 @@ class UserController extends Controller
|
|||||||
{
|
{
|
||||||
use ReceivesAccountTokens;
|
use ReceivesAccountTokens;
|
||||||
|
|
||||||
public function showStaffMembers()
|
public function showUsers()
|
||||||
{
|
|
||||||
$this->authorize('viewStaff', User::class);
|
|
||||||
|
|
||||||
$staffRoles = [
|
|
||||||
'reviewer',
|
|
||||||
'hiringManager',
|
|
||||||
'admin',
|
|
||||||
]; // TODO: Un-hardcode this, move to config/roles.php
|
|
||||||
$users = User::with('roles')->get();
|
|
||||||
$staffMembers = collect([]);
|
|
||||||
|
|
||||||
foreach ($users as $user) {
|
|
||||||
if (empty($user->roles)) {
|
|
||||||
Log::debug($user->role->name);
|
|
||||||
Log::debug('Staff list: User without role detected; Ignoring');
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($user->roles as $role) {
|
|
||||||
if (in_array($role->name, $staffRoles)) {
|
|
||||||
$staffMembers->push($user);
|
|
||||||
continue 2; // Skip directly to the next user instead of comparing more roles for the current user
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return view('dashboard.administration.staff-members')
|
|
||||||
->with([
|
|
||||||
'users' => $staffMembers,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function showPlayers()
|
|
||||||
{
|
{
|
||||||
$this->authorize('viewPlayers', User::class);
|
$this->authorize('viewPlayers', User::class);
|
||||||
|
|
||||||
$users = User::with('roles')->get();
|
|
||||||
$players = collect([]);
|
|
||||||
|
|
||||||
foreach ($users as $user) {
|
|
||||||
// TODO: Might be problematic if we don't check if the role is user
|
|
||||||
if (count($user->roles) == 1) {
|
|
||||||
$players->push($user);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return view('dashboard.administration.players')
|
return view('dashboard.administration.players')
|
||||||
->with([
|
->with([
|
||||||
'users' => $players,
|
'users' => User::with('roles')->paginate('6'),
|
||||||
|
'numUsers' => count(User::all()),
|
||||||
'bannedUserCount' => Ban::all()->count(),
|
'bannedUserCount' => Ban::all()->count(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
1418
composer.lock
generated
1418
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -309,15 +309,9 @@ return [
|
|||||||
],
|
],
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'text' => 'm_staff_m',
|
'text' => 'Users',
|
||||||
'icon' => 'fas fa-fw fa-users',
|
|
||||||
'url' => '/hr/staff-members',
|
|
||||||
'can' => 'admin.stafflist',
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'text' => 'Registered users',
|
|
||||||
'icon' => 'fas fa-fw fa-user-friends',
|
'icon' => 'fas fa-fw fa-user-friends',
|
||||||
'url' => '/hr/players',
|
'route' => 'registeredPlayerList',
|
||||||
'can' => 'admin.userlist',
|
'can' => 'admin.userlist',
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
@ -0,0 +1,45 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateAppealsTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('appeals', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->bigInteger('appellant_id')->unsigned();
|
||||||
|
$table->bigInteger('appeal_assignee')->unsigned();
|
||||||
|
$table->enum('appeal_type', [
|
||||||
|
'discord_ban',
|
||||||
|
'discord_timeout'
|
||||||
|
]);
|
||||||
|
$table->text('appeal_reasoning_desc');
|
||||||
|
$table->enum('appeal_status', [
|
||||||
|
'IN_REVISION',
|
||||||
|
'AWAITING_DECISION',
|
||||||
|
'PUNISHMENT_LIFTED',
|
||||||
|
'PUNISHMENT_REDUCED',
|
||||||
|
'PUNISHMENT_MAINTAINED'
|
||||||
|
]);
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('appeals');
|
||||||
|
}
|
||||||
|
}
|
@ -1,10 +1,10 @@
|
|||||||
@extends('adminlte::page')
|
@extends('adminlte::page')
|
||||||
|
|
||||||
@section('title', config('app.name') . ' | ' . __('messages.players.reg_players'))
|
@section('title', config('app.name') . ' | ' . __('Registered users'))
|
||||||
|
|
||||||
@section('content_header')
|
@section('content_header')
|
||||||
|
|
||||||
<h4>{{__('messages.adm')}} / {{__('messages.players.reg_players')}}</h4>
|
<h4>{{__('messages.adm')}} / {{__('Users')}}</h4>
|
||||||
|
|
||||||
@stop
|
@stop
|
||||||
|
|
||||||
@ -21,9 +21,9 @@
|
|||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="small-box bg-info">
|
<div class="small-box bg-info">
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
<h3>{{$users->count()}}</h3>
|
<h3>{{ $numUsers }}</h3>
|
||||||
|
|
||||||
<p>{{__('messages.players.reg_players')}}</p>
|
<p>{{__('Registered users')}}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<i class="fa fa-users"></i>
|
<i class="fa fa-users"></i>
|
||||||
@ -37,7 +37,7 @@
|
|||||||
<div class="inner">
|
<div class="inner">
|
||||||
<h3>{{$bannedUserCount}}</h3>
|
<h3>{{$bannedUserCount}}</h3>
|
||||||
|
|
||||||
<p>{{__('messages.players.total_banned')}}</p>
|
<p>{{__('Suspended users')}}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<i class="fa fa-ban"></i>
|
<i class="fa fa-ban"></i>
|
||||||
@ -55,7 +55,7 @@
|
|||||||
<div class="card">
|
<div class="card">
|
||||||
|
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<div class="card-title"><h4><i class="fas fa-search"></i>{{__('messages.players.search')}}</h4></div>
|
<div class="card-title"><h4><i class="fas fa-search"></i>{{__('Search users')}}</h4></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@ -81,20 +81,6 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="row mt-5">
|
|
||||||
|
|
||||||
<div class="col">
|
|
||||||
|
|
||||||
<div class="alert alert-warning">
|
|
||||||
<p>{{__('messages.players.p_disclaimer')}}</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div class="col">
|
<div class="col">
|
||||||
@ -103,7 +89,7 @@
|
|||||||
|
|
||||||
<div class="card-header bg-indigo">
|
<div class="card-header bg-indigo">
|
||||||
|
|
||||||
<div class="card-title"><h4 class="text-bold">{{__('messages.players.listing')}}</h4></div>
|
<div class="card-title"><h4 class="text-bold">{{__('Registered users')}}</h4></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -158,7 +144,7 @@
|
|||||||
|
|
||||||
<div class="card-footer">
|
<div class="card-footer">
|
||||||
|
|
||||||
<button type="button" class="btn btn-outline-primary" onclick="window.location.href='{{route("staffMemberList")}}'">{{__('messages.players.see_staff')}}</button>
|
{{ $users->links() }}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -25,31 +25,31 @@
|
|||||||
@if ($demoActive)
|
@if ($demoActive)
|
||||||
|
|
||||||
<div class="alert alert-danger">
|
<div class="alert alert-danger">
|
||||||
<p class="font-weight-bold"><i class="fas fa-exclamation-triangle"></i> This feature is disabled</p>
|
<p class="font-weight-bold"><i class="fas fa-exclamation-triangle"></i> {{ __('This feature is disabled') }}</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<p>Deleting your account is an irreversible process. The following data will be deleted (including personally identifiable data):</p>
|
<p>{{ __('Deleting your account is an irreversible process. The following data will be deleted (including personally identifiable data):') }}</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Last IP address</li>
|
<li>{{ __('Last IP address') }}</li>
|
||||||
<li>Name, Email and MC Username</li>
|
<li>{{ __('Name, Email and MC Username') }}</li>
|
||||||
<li>Your previous applications</li>
|
<li>{{ __('Your previous applications') }}</li>
|
||||||
<li>Your profile data and preferences</li>
|
<li>{{ __('Your profile data and preferences') }}</li>
|
||||||
<li>If you were a staff member:</li>
|
<li>{{ __('If you were a staff member:') }}</li>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Your comments</li>
|
<li>{{ __('Your comments') }}</li>
|
||||||
<li>Any votes</li>
|
<li>{{ __('Any votes') }}</li>
|
||||||
<li>Your roles</li>
|
<li>{{ __('Your roles') }}</li>
|
||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
<p>What is not deleted:</p>
|
<p>{{ __('What is not deleted:') }}</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Server logs of your visits, including IP addresses</li>
|
<li>{{ __('Server logs of your visits, including IP addresses') }}</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<x-alert alert-type="danger">
|
<x-alert alert-type="danger">
|
||||||
<p class="text-bold"><i class="fas fa-exclamation-triangle"></i> Feature temporarily unavailable</p>
|
<p class="text-bold"><i class="fas fa-exclamation-triangle"></i> {{ __('Feature temporarily unavailable') }}</p>
|
||||||
|
|
||||||
<p>This feature has been temporarily made unavailable while we work to fix underlying issues that are causing our backoffice to crash. We apologize for the inconvenience, and any account/data deletion requests should be forwarded to our data protection officer below.</p>
|
<p>This feature has been temporarily made unavailable while we work to fix underlying issues that are causing our backoffice to crash. We apologize for the inconvenience, and any account/data deletion requests should be forwarded to our data protection officer below.</p>
|
||||||
<p><i class="fas fa-user"></i> <a href="mailto:dpo@gamescluboficial.com.br?subject=GDPR%20Request%20-%20Games%20Club">dpo@gamescluboficial.com.br</a></p>
|
<p><i class="fas fa-user"></i> <a href="mailto:dpo@gamescluboficial.com.br?subject=GDPR%20Request%20-%20Games%20Club">dpo@gamescluboficial.com.br</a></p>
|
||||||
@ -62,17 +62,17 @@
|
|||||||
@method('PATCH')
|
@method('PATCH')
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="currentPassword">Re-enter your password</label>
|
<label for="currentPassword">{{ __('Re-enter your password') }}</label>
|
||||||
<input disabled class="form-control" autocomplete="current-password" type="password" name="currentPassword" id="currentPassword" required>
|
<input disabled class="form-control" autocomplete="current-password" type="password" name="currentPassword" id="currentPassword" required>
|
||||||
<p class="text-muted text-sm"><i class="fas fa-info-circle"></i> For your security, your password is always required for sensitive operations. <a href="{{ route('password.request') }}">Forgot your password?</a></p>
|
<p class="text-muted text-sm"><i class="fas fa-info-circle"></i> {{ __('For your security, your password is always required for sensitive operations.') }} <a href="{{ route('password.request') }}">{{ __('Forgot your password?') }}</a></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@if (Auth::user()->has2FA())
|
@if (Auth::user()->has2FA())
|
||||||
<div class="form-group mt-5">
|
<div class="form-group mt-5">
|
||||||
|
|
||||||
<label for="otp">Two-factor authentication code</label>
|
<label for="otp">{{ __('Two-factor authentication code') }}</label>
|
||||||
<input disabled type="text" id="otp" name="otp" class="form-control">
|
<input disabled type="text" id="otp" name="otp" class="form-control">
|
||||||
<p class="text-muted text-sm"><i class="fas fa-info-circle"></i> You cannot recover lost 2FA secrets.</p>
|
<p class="text-muted text-sm"><i class="fas fa-info-circle"></i> {{ __('You cannot recover lost 2FA secrets.') }}</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
@ -81,7 +81,7 @@
|
|||||||
|
|
||||||
<x-slot name="modalFooter">
|
<x-slot name="modalFooter">
|
||||||
|
|
||||||
<button {{ ($demoActive) ? 'disabled' : 'disabled' }} onclick="$('#deleteAccountForm').submit()" type="button" class="btn btn-warning"><i class="fas fa-exclamation-triangle"></i> Continue</button>
|
<button {{ ($demoActive) ? 'disabled' : 'disabled' }} onclick="$('#deleteAccountForm').submit()" type="button" class="btn btn-warning"><i class="fas fa-exclamation-triangle"></i> {{ __('Continue') }}</button>
|
||||||
|
|
||||||
</x-slot>
|
</x-slot>
|
||||||
|
|
||||||
@ -95,7 +95,7 @@
|
|||||||
|
|
||||||
@if($demoActive)
|
@if($demoActive)
|
||||||
<div class="alert alert-danger">
|
<div class="alert alert-danger">
|
||||||
<p class="font-weight-bold"><i class="fa fa-exclamation-triangle"></i> This feature is disabled</p>
|
<p class="font-weight-bold"><i class="fa fa-exclamation-triangle"></i> {{ __('This feature is disabled') }}</p>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@ -229,13 +229,12 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="alert alert-warning">
|
<div class="alert alert-warning">
|
||||||
<p><i class="fas fa-exclamation-triangle"></i><b> Your password has expired</b></p>
|
<p><i class="fas fa-exclamation-triangle"></i><b> {{ __('Your password has expired') }}</b></p>
|
||||||
<p>
|
<p>
|
||||||
You've been redirected here because your <b>password has expired.</b> All users must change their password every {{ \App\Facades\Options::getOption('password_expiry') }} days.
|
{{ __('You\'ve been redirected here because your password has expired. All users must change their password every :numDaysChangePw days. This is put in place to make sure user accounts remain secure.', ['numDaysChangePw' => \App\Facades\Options::getOption('password_expiry')]) }}
|
||||||
This is put in place to make sure user accounts remain secure.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>Please change update your password now. You won't be able to use the application until you do this.</p>
|
<p>{{ __('Please change update your password now. You won\'t be able to use the site until you do this.') }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -260,7 +259,7 @@
|
|||||||
<a class="nav-link" id="contactSettingsTab" data-toggle="tab" href="#contactSettings" role="tab" aria-controls="ContactSettings" aria-selected="false">{{__('messages.profile.contact_settings')}}</a>
|
<a class="nav-link" id="contactSettingsTab" data-toggle="tab" href="#contactSettings" role="tab" aria-controls="ContactSettings" aria-selected="false">{{__('messages.profile.contact_settings')}}</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" id="dangerZoneTab" data-toggle="tab" href="#dangerZone" role="tab" aria-controls="DangerZone" aria-selected="false">Danger Zone</a>
|
<a class="nav-link" id="dangerZoneTab" data-toggle="tab" href="#dangerZone" role="tab" aria-controls="DangerZone" aria-selected="false">{{ __('Danger Zone') }}</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -269,7 +268,7 @@
|
|||||||
<div class="tab-pane fade show active p-3" id="accountSecurity" role="tabpanel" aria-labelledby="accountSecurityTab">
|
<div class="tab-pane fade show active p-3" id="accountSecurity" role="tabpanel" aria-labelledby="accountSecurityTab">
|
||||||
@if($demoActive)
|
@if($demoActive)
|
||||||
<div class="alert alert-danger">
|
<div class="alert alert-danger">
|
||||||
<p class="font-weight-bold"><i class="fa fa-exclamation-triangle"></i> This feature is disabled</p>
|
<p class="font-weight-bold"><i class="fa fa-exclamation-triangle"></i> {{ __('This feature is disabled') }}</p>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@ -320,7 +319,7 @@
|
|||||||
<div class="tab-pane fade p-3" id="contactSettings" role="tabpanel" aria-labelledby="contactSettingsTab">
|
<div class="tab-pane fade p-3" id="contactSettings" role="tabpanel" aria-labelledby="contactSettingsTab">
|
||||||
@if($demoActive)
|
@if($demoActive)
|
||||||
<div class="alert alert-danger">
|
<div class="alert alert-danger">
|
||||||
<p class="font-weight-bold"><i class="fa fa-exclamation-triangle"></i> This feature is disabled</p>
|
<p class="font-weight-bold"><i class="fa fa-exclamation-triangle"></i> {{ __('This feature is disabled') }}</p>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
<h5 class="card-title">{{__('messages.profile.contact_settings')}}</h5>
|
<h5 class="card-title">{{__('messages.profile.contact_settings')}}</h5>
|
||||||
@ -355,8 +354,8 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="tab-pane fade p-3" id="dangerZone" role="tabpanel" aria-labelledby="dangerZoneTab">
|
<div class="tab-pane fade p-3" id="dangerZone" role="tabpanel" aria-labelledby="dangerZoneTab">
|
||||||
<h5 class="card-title">Danger Zone</h5>
|
<h5 class="card-title">{{ __('Danger Zone') }}</h5>
|
||||||
<p class="card-text text-bold"><i class="fas fa-radiation"></i> Careful! Actions in these tab might result in irreversible loss of data.</p>
|
<p class="card-text text-bold"><i class="fas fa-radiation"></i> {{ __('Careful! Actions in these tab might result in irreversible loss of data.') }}</p>
|
||||||
|
|
||||||
<button onclick="$('#deleteAccountModal').modal('show')" rel="buttonTxtTooltip" data-toggle="tooltip" data-placement="top" title="This action will delete your account permanently." class="btn btn-danger" type="button"><i class="fas fa-user-slash"></i> Close Account</button>
|
<button onclick="$('#deleteAccountModal').modal('show')" rel="buttonTxtTooltip" data-toggle="tooltip" data-placement="top" title="This action will delete your account permanently." class="btn btn-danger" type="button"><i class="fas fa-user-slash"></i> Close Account</button>
|
||||||
|
|
||||||
|
@ -235,10 +235,8 @@ Route::group(['prefix' => LaravelLocalization::setLocale(), 'middleware' => ['lo
|
|||||||
});
|
});
|
||||||
|
|
||||||
Route::group(['prefix' => '/hr', 'middleware' => ['passwordredirect']], function () {
|
Route::group(['prefix' => '/hr', 'middleware' => ['passwordredirect']], function () {
|
||||||
Route::get('staff-members', [UserController::class, 'showStaffMembers'])
|
|
||||||
->name('staffMemberList');
|
|
||||||
|
|
||||||
Route::get('players', [UserController::class, 'showPlayers'])
|
Route::get('users', [UserController::class, 'showUsers'])
|
||||||
->name('registeredPlayerList');
|
->name('registeredPlayerList');
|
||||||
|
|
||||||
Route::post('players/search', [UserController::class, 'showPlayersLike'])
|
Route::post('players/search', [UserController::class, 'showPlayersLike'])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user