NeedMeetupMiddleware added

This commit is contained in:
Benjamin Takats
2023-01-17 18:59:10 +01:00
parent 3a32d1ebe5
commit 8e0d23a296
26 changed files with 524 additions and 36 deletions

View File

@@ -37,6 +37,10 @@ class Meetup extends Resource
public static function afterCreate(NovaRequest $request, Model $model)
{
auth()
->user()
->meetups()
->attach($model);
\App\Models\User::find(1)
->notify(new ModelCreatedNotification($model, str($request->getRequestUri())
->after('/nova-api/')

View File

@@ -8,6 +8,7 @@ use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Laravel\Nova\Fields\BelongsTo;
use Laravel\Nova\Fields\DateTime;
use Laravel\Nova\Fields\Field;
use Laravel\Nova\Fields\ID;
use Laravel\Nova\Fields\Text;
use Laravel\Nova\Http\Requests\NovaRequest;
@@ -47,6 +48,18 @@ class MeetupEvent extends Resource
->toString()));
}
public static function relatableMeetups(NovaRequest $request, $query, Field $field)
{
if ($field instanceof BelongsTo) {
$query->whereIn('meetups.id', $request->user()
->meetups()
->pluck('id')
->toArray());
}
return $query;
}
public function subtitle()
{
return __('Created by: :name', ['name' => $this->createdBy->name]);
@@ -79,14 +92,16 @@ class MeetupEvent extends Resource
->rules('required', 'string'),
BelongsTo::make('Meetup')
->searchable()->withSubtitles(),
->searchable()
->withSubtitles(),
BelongsTo::make(__('Created By'), 'createdBy', User::class)
->canSee(function ($request) {
return $request->user()
->hasRole('super-admin');
})
->searchable()->withSubtitles(),
->searchable()
->withSubtitles(),
];
}