diff --git a/.env.example b/.env.example index dd79c63..27e7a64 100644 --- a/.env.example +++ b/.env.example @@ -2,7 +2,7 @@ APP_NAME="CTS Presenter" APP_ENV=local APP_KEY= APP_DEBUG=true -APP_URL=http://localhost:8000 +APP_URL=http://cts-work.test # Application Locale (German) APP_LOCALE=de @@ -74,9 +74,13 @@ CTS_API_TOKEN=CHANGEME CHURCHTOOLS_URL=https://CHANGEME.church.tools CHURCHTOOLS_CLIENT_ID=CHANGEME CHURCHTOOLS_CLIENT_SECRET=CHANGEME -CHURCHTOOLS_REDIRECT_URI=http://localhost:8000/auth/churchtools/callback +CHURCHTOOLS_REDIRECT_URI=http://cts-work.test/auth/churchtools/callback # File Upload Configuration # Maximum file size in bytes (default: 100MB) UPLOAD_MAX_FILE_SIZE=104857600 UPLOAD_TEMP_DIR=/tmp + +# TestData +TEST_CTS_USERNAME= +TEST_CTS_PASSWORD= diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 823fbd4..a01af04 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -17,7 +17,9 @@ class AuthController extends Controller */ public function showLogin(): Response { - return Inertia::render('Auth/Login'); + return Inertia::render('Auth/Login', [ + 'canDevLogin' => app()->environment('local', 'testing'), + ]); } /** diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index 584104c..72b3505 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -29,6 +29,10 @@ public function definition(): array 'email_verified_at' => now(), 'password' => static::$password ??= Hash::make('password'), 'remember_token' => Str::random(10), + 'churchtools_id' => fake()->unique()->numberBetween(1000, 99999), + 'avatar' => null, + 'churchtools_groups' => [], + 'churchtools_roles' => [], ]; } diff --git a/resources/js/Pages/Auth/Login.vue b/resources/js/Pages/Auth/Login.vue index 68b5236..397d83c 100644 --- a/resources/js/Pages/Auth/Login.vue +++ b/resources/js/Pages/Auth/Login.vue @@ -1,6 +1,10 @@ diff --git a/routes/web.php b/routes/web.php index dcac5f2..dce4193 100644 --- a/routes/web.php +++ b/routes/web.php @@ -9,6 +9,7 @@ use App\Http\Controllers\TranslationController; use Illuminate\Support\Facades\Route; use Inertia\Inertia; +use Illuminate\Support\Facades\Auth; Route::middleware('guest')->group(function () { Route::get('/login', [AuthController::class, 'showLogin'])->name('login'); @@ -16,6 +17,26 @@ Route::get('/auth/churchtools/callback', [AuthController::class, 'callback'])->name('auth.churchtools.callback'); }); +if (app()->environment('local', 'testing')) { + Route::middleware('guest')->group(function () { + Route::post('/dev-login', function () { + $user = \App\Models\User::updateOrCreate( + ['email' => 'test@local.dev'], + [ + 'name' => 'Test Benutzer', + 'churchtools_id' => 99999, + 'password' => '', + 'avatar' => null, + 'churchtools_groups' => [], + 'churchtools_roles' => [], + ] + ); + Auth::login($user); + return redirect()->route('dashboard'); + })->name('dev-login'); + }); +} + Route::post('/logout', [AuthController::class, 'logout']) ->middleware('auth') ->name('logout');