mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
NeedMeetupMiddleware added
This commit is contained in:
@@ -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/')
|
||||
|
||||
@@ -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(),
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user