diff --git a/app/Website/Pages/Register.php b/app/Website/Pages/Register.php index 9f44b3774..797d5d46e 100644 --- a/app/Website/Pages/Register.php +++ b/app/Website/Pages/Register.php @@ -3,6 +3,7 @@ namespace App\Website\Pages; use App\Actions\User\UserCreateAction; +use App\Models\Enums\UserRole; use DanHarrin\LivewireRateLimiting\WithRateLimiting; use Filament\Facades\Filament; use Filament\Http\Responses\Auth\Contracts\RegistrationResponse; @@ -42,6 +43,9 @@ class Register extends Page #[Rule('required')] public $privacy_statement_agree = false; + #[Rule('required')] + public $selfAssignRole = []; + public function mount() { if (Filament::auth()->check()) { @@ -61,6 +65,7 @@ protected function getViewData(): array { return [ 'countries' => Country::all(), + 'roles' => UserRole::selfAssignedRoleNames(), ]; } @@ -73,7 +78,11 @@ public function register() 'meta' => Arr::only($data, ['affiliation', 'country']), ]); - event(new Registered($user)); + if (data_get($data, 'selfAssignRole')) { + $user->assignRole($data['selfAssignRole']); + } + + // event(new Registered($user)); Filament::auth()->login($user); diff --git a/public/build/manifest.json b/public/build/manifest.json index fcadaca69..168ce8af8 100644 --- a/public/build/manifest.json +++ b/public/build/manifest.json @@ -13,7 +13,7 @@ "isEntry": true, "src": "resources/panel/js/panel.js" }, - "resources/website/css/website.css": { + "resources/website/css/website.css": "file": "assets/website-cbb12118.css", "isEntry": true, "src": "resources/website/css/website.css" diff --git a/resources/views/website/pages/register.blade.php b/resources/views/website/pages/register.blade.php index 1a6b34506..d3dfc1a86 100644 --- a/resources/views/website/pages/register.blade.php +++ b/resources/views/website/pages/register.blade.php @@ -2,119 +2,142 @@

{{ $this->getTitle() }}

- @if(setting('allow_registration')) -
-
-
- - - @error('given_name') -
- {{ $message }} -
- @enderror -
-
- - - @error('family_name') -
- {{ $message }} -
- @enderror -
-
- - - @error('affiliation') -
- {{ $message }} -
- @enderror -
-
- - - @error('country') -
- {{ $message }} -
- @enderror -
-
- - - @error('email') -
- {{ $message }} -
- @enderror -
-
- - - @error('password') -
- {{ $message }} -
- @enderror -
-
- - - @error('password_confirmation') -
- {{ $message }} -
- @enderror -
-
-
-
- \ No newline at end of file +