mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
locked podcasts
This commit is contained in:
@@ -3,7 +3,9 @@
|
||||
namespace App\Nova;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Str;
|
||||
use Laravel\Nova\Fields\Avatar;
|
||||
use Laravel\Nova\Fields\Boolean;
|
||||
use Laravel\Nova\Fields\Code;
|
||||
use Laravel\Nova\Fields\HasMany;
|
||||
use Laravel\Nova\Fields\ID;
|
||||
@@ -41,6 +43,8 @@ class Podcast extends Resource
|
||||
*/
|
||||
public function fields(Request $request)
|
||||
{
|
||||
$guid = $this->guid ?? Str::uuid();
|
||||
|
||||
return [
|
||||
ID::make()
|
||||
->sortable(),
|
||||
@@ -48,8 +52,19 @@ class Podcast extends Resource
|
||||
Avatar::make('Image')
|
||||
->squared()
|
||||
->thumbnail(function () {
|
||||
return $this->data['image'];
|
||||
}),
|
||||
return $this?->data['image'] ?? '';
|
||||
})
|
||||
->exceptOnForms(),
|
||||
|
||||
Boolean::make('Locked', 'locked', fn($value) => $value ?? false),
|
||||
|
||||
Text::make('Guid', 'guid', function ($value) use ($guid) {
|
||||
if ($value) {
|
||||
return $value;
|
||||
} else {
|
||||
return $guid;
|
||||
}
|
||||
}),
|
||||
|
||||
Text::make('Title')
|
||||
->rules('required', 'string'),
|
||||
|
||||
@@ -41,7 +41,7 @@ class PodcastPolicy
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -53,7 +53,7 @@ class PodcastPolicy
|
||||
*/
|
||||
public function update(User $user, Podcast $podcast)
|
||||
{
|
||||
return false;
|
||||
return !$podcast->locked;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -65,7 +65,7 @@ class PodcastPolicy
|
||||
*/
|
||||
public function delete(User $user, Podcast $podcast)
|
||||
{
|
||||
return false;
|
||||
return !$podcast->locked;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -77,7 +77,7 @@ class PodcastPolicy
|
||||
*/
|
||||
public function restore(User $user, Podcast $podcast)
|
||||
{
|
||||
return false;
|
||||
return !$podcast->locked;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -89,6 +89,6 @@ class PodcastPolicy
|
||||
*/
|
||||
public function forceDelete(User $user, Podcast $podcast)
|
||||
{
|
||||
return false;
|
||||
return !$podcast->locked;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user