diff --git a/app/Actions/Fortify/CreateNewUser.php b/app/Actions/Fortify/CreateNewUser.php index b098ab2..23126a7 100644 --- a/app/Actions/Fortify/CreateNewUser.php +++ b/app/Actions/Fortify/CreateNewUser.php @@ -4,12 +4,15 @@ namespace App\Actions\Fortify; use A6digital\Image\DefaultProfileImage; use App\Models\User; +use App\Rules\ValidRegistrationCode; +use App\Settings; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; use Laravel\Fortify\Contracts\CreatesNewUsers; use function mb_substr; +use function sendMessage; class CreateNewUser implements CreatesNewUsers { @@ -22,7 +25,9 @@ class CreateNewUser implements CreatesNewUsers */ public function create(array $input): User { + Validator::make($input, [ + 'registration_code' => [new ValidRegistrationCode], 'first_name' => ['required', 'string', 'max:255'], 'last_name' => ['required', 'string', 'max:255'], 'judging_preference' => ['required', 'string', 'max:255'], diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index e9234c4..5b2c14b 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; +use function dd; use function redirect; class DashboardController extends Controller diff --git a/app/Http/Controllers/EntryController.php b/app/Http/Controllers/EntryController.php index 1c1d86f..cde34a7 100644 --- a/app/Http/Controllers/EntryController.php +++ b/app/Http/Controllers/EntryController.php @@ -17,7 +17,7 @@ class EntryController extends Controller { $entries = Auth::user()->entries()->with(['student','audition'])->get(); - $auditions = Audition::all(); + $auditions = Audition::deadlineNotPast(); $students = Auth::user()->students; return view('entries.index',['entries' => $entries, 'students' => $students, 'auditions' => $auditions]); diff --git a/app/Http/Middleware/LoadAuditionSettings.php b/app/Http/Middleware/LoadAuditionSettings.php new file mode 100644 index 0000000..f9c8213 --- /dev/null +++ b/app/Http/Middleware/LoadAuditionSettings.php @@ -0,0 +1,25 @@ +belongsTo(Event::class); } + + public static function deadlineNotPast() + { + return Audition::where('entry_deadline', '>=', now())->get(); + } } diff --git a/app/Rules/ValidRegistrationCode.php b/app/Rules/ValidRegistrationCode.php new file mode 100644 index 0000000..e9e6121 --- /dev/null +++ b/app/Rules/ValidRegistrationCode.php @@ -0,0 +1,23 @@ +withMiddleware(function (Middleware $middleware) { + $middleware->append(LoadAuditionSettings::class); $middleware->redirectUsersTo('/dashboard'); $middleware->redirectGuestsTo('/'); }) diff --git a/resources/views/auth/forgot-password.blade.php b/resources/views/auth/forgot-password.blade.php index 6fbcbde..9c72061 100644 --- a/resources/views/auth/forgot-password.blade.php +++ b/resources/views/auth/forgot-password.blade.php @@ -11,7 +11,7 @@
diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index fd52197..900be42 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -4,8 +4,8 @@{{ $message }}
+ @enderror