This commit is contained in:
Adrian Hopek 2022-04-14 10:36:39 +02:00
parent d27d1736d7
commit 5356b0fc8c
6 changed files with 68 additions and 48 deletions

View File

@ -21,7 +21,7 @@ class ExceptionHandler extends Handler
{
$response = parent::render($request, $e);
if (! app()->environment("production")) {
if (!app()->environment("production")) {
return $response;
}

View File

@ -0,0 +1,30 @@
<?php
declare(strict_types=1);
namespace Toby\Infrastructure\Console\Commands;
use Illuminate\Console\Command;
use Toby\Eloquent\Models\User;
class MoveUserDataToProfile extends Command
{
protected $signature = "toby:move-user-data-to-profile";
protected $description = "Move user data to their profiles";
public function handle(): void
{
$users = User::all();
/** @var User $user */
foreach ($users as $user) {
$user->profile()->updateOrCreate(["user_id" => $user->id], [
"first_name" => $user->first_name,
"last_name" => $user->last_name,
"position" => $user->position,
"employment_form" => $user->employment_form,
"employment_date" => $user->employment_date,
]);
}
}
}

View File

@ -21,7 +21,7 @@ class DashboardController extends Controller
public function __invoke(
Request $request,
YearPeriodRetriever $yearPeriodRetriever,
UserVacationStatsRetriever $vacationStatsRetriever
UserVacationStatsRetriever $vacationStatsRetriever,
): Response {
$user = $request->user();
$now = Carbon::now();

View File

@ -16,8 +16,7 @@ class HandleInertiaRequests extends Middleware
{
public function __construct(
protected YearPeriodRetriever $yearPeriodRetriever,
) {
}
) {}
public function share(Request $request): array
{

View File

@ -4,11 +4,14 @@ declare(strict_types=1);
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Schema;
return new class() extends Migration {
public function up(): void
{
Artisan::call("toby:move-user-data-to-profile");
Schema::table("users", function (Blueprint $table): void {
$table->dropColumn("first_name");
$table->dropColumn("last_name");

View File

@ -30,87 +30,75 @@ class DemoSeeder extends Seeder
public function run(): void
{
$user = User::factory([
"first_name" => "Jan",
"last_name" => "Kowalski",
"email" => env("LOCAL_EMAIL_FOR_LOGIN_VIA_GOOGLE"),
"employment_form" => EmploymentForm::EmploymentContract,
"position" => "programista",
"role" => Role::Administrator,
"employment_date" => Carbon::createFromDate(2021, 12, 31),
"remember_token" => Str::random(10),
])
->hasProfile([
"first_name" => "Jan",
"last_name" => "Kowalski",
"employment_form" => EmploymentForm::EmploymentContract,
"position" => "programista",
"employment_date" => Carbon::createFromDate(2021, 12, 31),
])
->create();
User::factory([
"first_name" => "Anna",
"last_name" => "Nowak",
"email" => "anna.nowak@example.com",
"employment_form" => EmploymentForm::CommissionContract,
"position" => "tester",
"role" => Role::Employee,
"employment_date" => Carbon::createFromDate(2021, 5, 10),
"remember_token" => Str::random(10),
])
->hasProfile([
"first_name" => "Anna",
"last_name" => "Nowak",
"employment_form" => EmploymentForm::CommissionContract,
"position" => "tester",
"employment_date" => Carbon::createFromDate(2021, 5, 10),
])
->create();
User::factory([
"first_name" => "Tola",
"last_name" => "Sawicka",
"email" => "tola.sawicka@example.com",
"employment_form" => EmploymentForm::B2bContract,
"position" => "programista",
"role" => Role::Employee,
"employment_date" => Carbon::createFromDate(2021, 1, 4),
"remember_token" => Str::random(10),
])
->hasProfile([
"first_name" => "Tola",
"last_name" => "Sawicka",
"employment_form" => EmploymentForm::B2bContract,
"position" => "programista",
"employment_date" => Carbon::createFromDate(2021, 1, 4),
])
->create();
$technicalApprover = User::factory([
"first_name" => "Maciej",
"last_name" => "Ziółkowski",
"email" => "maciej.ziolkowski@example.com",
"employment_form" => EmploymentForm::BoardMemberContract,
"position" => "programista",
"role" => Role::TechnicalApprover,
"employment_date" => Carbon::createFromDate(2021, 1, 4),
"remember_token" => Str::random(10),
])
->hasProfile([
"first_name" => "Maciej",
"last_name" => "Ziółkowski",
"employment_form" => EmploymentForm::BoardMemberContract,
"position" => "programista",
"employment_date" => Carbon::createFromDate(2021, 1, 4),
])
->create();
$administrativeApprover = User::factory([
"first_name" => "Katarzyna",
"last_name" => "Zając",
"email" => "katarzyna.zajac@example.com",
"employment_form" => EmploymentForm::EmploymentContract,
"position" => "dyrektor",
"role" => Role::AdministrativeApprover,
"employment_date" => Carbon::createFromDate(2021, 1, 4),
"remember_token" => Str::random(10),
])
->hasProfile([
"first_name" => "Katarzyna",
"last_name" => "Zając",
"employment_form" => EmploymentForm::EmploymentContract,
"position" => "dyrektor",
"employment_date" => Carbon::createFromDate(2021, 1, 4),
])
->create();
User::factory([
"first_name" => "Miłosz",
"last_name" => "Borowski",
"email" => "milosz.borowski@example.com",
"employment_form" => EmploymentForm::EmploymentContract,
"position" => "administrator",
"role" => Role::Administrator,
"employment_date" => Carbon::createFromDate(2021, 1, 4),
"remember_token" => Str::random(10),
])
->hasProfile([
"first_name" => "Miłosz",
"last_name" => "Borowski",
"employment_form" => EmploymentForm::EmploymentContract,
"position" => "administrator",
"employment_date" => Carbon::createFromDate(2021, 1, 4),
])
->create();
$users = User::all();
@ -130,7 +118,7 @@ class DemoSeeder extends Seeder
->afterCreating(function (YearPeriod $yearPeriod) use ($users): void {
foreach ($users as $user) {
VacationLimit::factory([
"days" => $user->profile->employment_form === EmploymentForm::EmploymentContract ? 26 : null,
"days" => $user->employment_form === EmploymentForm::EmploymentContract ? 26 : null,
])
->for($yearPeriod)
->for($user)
@ -329,4 +317,4 @@ class DemoSeeder extends Seeder
$vacationRequestRejected->state = new Rejected($vacationRequestRejected);
$vacationRequestRejected->save();
}
}
}