diff --git a/app/Http/Controllers/InvitationController.php b/app/Http/Controllers/InvitationController.php
index 6016e05..fd4d365 100644
--- a/app/Http/Controllers/InvitationController.php
+++ b/app/Http/Controllers/InvitationController.php
@@ -2,7 +2,10 @@
namespace App\Http\Controllers;
+use App\Http\Requests\ApproveInviteRequest;
+use App\Http\Requests\DenyInviteRequest;
use App\Http\Requests\InvitationRequest;
+use App\Http\Requests\ValidateInviteRequest;
use App\Invitation;
use App\Mail\InviteApprovedMail;
use App\Mail\InvitedToApp;
@@ -60,7 +63,7 @@ class InvitationController extends Controller
return redirect()->back();
}
- public function approveInvite(Request $request, Invitation $invitation)
+ public function approveInvite(ApproveInviteRequest $request, Invitation $invitation)
{
$approvableStates = [
'pending'
@@ -88,7 +91,7 @@ class InvitationController extends Controller
}
}
- public function denyInvite(Request $request, Invitation $invitation)
+ public function denyInvite(DenyInviteRequest $request, Invitation $invitation)
{
$declinableStates = [
'pending'
@@ -115,7 +118,7 @@ class InvitationController extends Controller
return view('auth.redeem-invite', ['validationToken' => $request->route('token')]);
}
- public function validateInvite(Request $request)
+ public function validateInvite(ValidateInviteRequest $request)
{
$token = $request->input('validation_token');
$email = $request->input('email');
diff --git a/app/Http/Requests/ApproveInviteRequest.php b/app/Http/Requests/ApproveInviteRequest.php
new file mode 100644
index 0000000..012fcc7
--- /dev/null
+++ b/app/Http/Requests/ApproveInviteRequest.php
@@ -0,0 +1,27 @@
+|string>
+ */
+ public function rules(): array
+ {
+ return [];
+ }
+}
diff --git a/app/Http/Requests/DenyInviteRequest.php b/app/Http/Requests/DenyInviteRequest.php
new file mode 100644
index 0000000..dc7c1f9
--- /dev/null
+++ b/app/Http/Requests/DenyInviteRequest.php
@@ -0,0 +1,29 @@
+|string>
+ */
+ public function rules(): array
+ {
+ return [
+ //
+ ];
+ }
+}
diff --git a/app/Http/Requests/InvitationRequest.php b/app/Http/Requests/InvitationRequest.php
index bcc8f8e..e228e62 100644
--- a/app/Http/Requests/InvitationRequest.php
+++ b/app/Http/Requests/InvitationRequest.php
@@ -17,11 +17,7 @@ class InvitationRequest extends FormRequest
public function authorize(): bool
{
- if (Options::getOption('enable_registrations')) {
- return false;
- }
-
- return true;
+ return !Options::getOption('enable_registrations');
}
protected function failedAuthorization()
diff --git a/app/Http/Requests/ValidateInviteRequest.php b/app/Http/Requests/ValidateInviteRequest.php
new file mode 100644
index 0000000..5c4178e
--- /dev/null
+++ b/app/Http/Requests/ValidateInviteRequest.php
@@ -0,0 +1,30 @@
+|string>
+ */
+ public function rules(): array
+ {
+ return [
+ 'validation_token' => 'required|string',
+ 'email' => 'required|email'
+ ];
+ }
+}
diff --git a/resources/views/dashboard/administration/invites.blade.php b/resources/views/dashboard/administration/invites.blade.php
index eaf7cf2..a3a7bcc 100644
--- a/resources/views/dashboard/administration/invites.blade.php
+++ b/resources/views/dashboard/administration/invites.blade.php
@@ -14,16 +14,30 @@
@section('content')
+ @if(\App\Facades\Options::getOption('enable_registrations'))
+ {!! __('The invitation system is currently disabled because sign ups are open to everyone. If you\'d like to change this, head over to App Settings > Global Settings and disable registrations.', ['globalSettingsLink' => route('showSettings')]) !!}