mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
createdBy fields added
This commit is contained in:
@@ -39,6 +39,7 @@ class ReadAndSyncEinundzwanzigPodcastFeed extends Command
|
||||
'link' => $podcast->feed->link,
|
||||
'language_code' => $podcast->feed->language,
|
||||
'data' => $podcast->feed,
|
||||
'created_by' => 1,
|
||||
]);
|
||||
$episodes = $client->episodes->byFeedUrl('https://einundzwanzig.space/feed.xml')
|
||||
->json();
|
||||
@@ -47,6 +48,7 @@ class ReadAndSyncEinundzwanzigPodcastFeed extends Command
|
||||
->updateOrCreate(['guid' => $item->guid], [
|
||||
'podcast_id' => $einundzwanzigPodcast->id,
|
||||
'data' => $item,
|
||||
'created_by' => 1,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -49,6 +49,7 @@ class SyncOpenBooks extends Command
|
||||
'deactreason' => $case['deactreason'],
|
||||
'entrytype' => $case['entrytype'],
|
||||
'homepage' => $case['homepage'],
|
||||
'created_by' => 1,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
@@ -51,6 +51,11 @@ class BitcoinEvent extends Model implements HasMedia
|
||||
->useFallbackUrl(asset('img/einundzwanzig-cover-lesestunde.png'));
|
||||
}
|
||||
|
||||
public function createdBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class, 'created_by');
|
||||
}
|
||||
|
||||
public function venue(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Venue::class);
|
||||
|
||||
@@ -54,6 +54,11 @@ class BookCase extends Model implements HasMedia
|
||||
$this->addMediaCollection('images');
|
||||
}
|
||||
|
||||
public function createdBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class, 'created_by');
|
||||
}
|
||||
|
||||
public function orangePills(): HasMany
|
||||
{
|
||||
return $this->hasMany(OrangePill::class);
|
||||
|
||||
@@ -40,6 +40,11 @@ class City extends Model
|
||||
->usingLanguage('de');
|
||||
}
|
||||
|
||||
public function createdBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class, 'created_by');
|
||||
}
|
||||
|
||||
public function country(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Country::class);
|
||||
|
||||
@@ -54,6 +54,11 @@ class Course extends Model implements HasMedia
|
||||
->useFallbackUrl(asset('img/einundzwanzig-cover-lesestunde.png'));
|
||||
}
|
||||
|
||||
public function createdBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class, 'created_by');
|
||||
}
|
||||
|
||||
public function categories(): \Illuminate\Database\Eloquent\Relations\BelongsToMany
|
||||
{
|
||||
return $this->belongsToMany(Category::class);
|
||||
|
||||
@@ -29,6 +29,11 @@ class CourseEvent extends Model
|
||||
'to' => 'datetime',
|
||||
];
|
||||
|
||||
public function createdBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class, 'created_by');
|
||||
}
|
||||
|
||||
public function course(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Course::class);
|
||||
|
||||
@@ -28,6 +28,11 @@ class Episode extends Model
|
||||
'data' => 'array',
|
||||
];
|
||||
|
||||
public function createdBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class, 'created_by');
|
||||
}
|
||||
|
||||
public function podcast(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Podcast::class);
|
||||
|
||||
@@ -64,6 +64,11 @@ class Lecturer extends Model implements HasMedia
|
||||
->usingLanguage('de');
|
||||
}
|
||||
|
||||
public function createdBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class, 'created_by');
|
||||
}
|
||||
|
||||
public function team(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Team::class);
|
||||
|
||||
@@ -26,6 +26,11 @@ class Library extends Model
|
||||
'language_codes' => 'array',
|
||||
];
|
||||
|
||||
public function createdBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class, 'created_by');
|
||||
}
|
||||
|
||||
public function libraryItems(): \Illuminate\Database\Eloquent\Relations\BelongsToMany
|
||||
{
|
||||
return $this->belongsToMany(LibraryItem::class);
|
||||
|
||||
@@ -59,6 +59,11 @@ class LibraryItem extends Model implements HasMedia, Sortable
|
||||
->useFallbackUrl(asset('img/einundzwanzig-cover-lesestunde.png'));
|
||||
}
|
||||
|
||||
public function createdBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class, 'created_by');
|
||||
}
|
||||
|
||||
public function lecturer(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Lecturer::class);
|
||||
|
||||
@@ -48,6 +48,11 @@ class Meetup extends Model implements HasMedia
|
||||
->useFallbackUrl(asset('img/einundzwanzig-cover-lesestunde.png'));
|
||||
}
|
||||
|
||||
public function createdBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class, 'created_by');
|
||||
}
|
||||
|
||||
public function city(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(City::class);
|
||||
|
||||
@@ -27,6 +27,11 @@ class MeetupEvent extends Model
|
||||
'start' => 'datetime',
|
||||
];
|
||||
|
||||
public function createdBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class, 'created_by');
|
||||
}
|
||||
|
||||
public function meetup(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Meetup::class);
|
||||
|
||||
@@ -25,6 +25,11 @@ class Podcast extends Model
|
||||
'data' => 'array',
|
||||
];
|
||||
|
||||
public function createdBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class, 'created_by');
|
||||
}
|
||||
|
||||
public function episodes(): HasMany
|
||||
{
|
||||
return $this->hasMany(Episode::class);
|
||||
|
||||
@@ -63,6 +63,11 @@ class Venue extends Model implements HasMedia
|
||||
->usingLanguage('de');
|
||||
}
|
||||
|
||||
public function createdBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class, 'created_by');
|
||||
}
|
||||
|
||||
public function city(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
{
|
||||
return $this->belongsTo(City::class);
|
||||
|
||||
@@ -66,6 +66,8 @@ class BitcoinEvent extends Resource
|
||||
|
||||
BelongsTo::make(__('Venue'), 'venue', Venue::class)->searchable(),
|
||||
|
||||
BelongsTo::make(__('Created By'), 'createdBy', User::class),
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Nova;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Laravel\Nova\Fields\BelongsTo;
|
||||
use Laravel\Nova\Fields\Boolean;
|
||||
use Laravel\Nova\Fields\HasMany;
|
||||
use Laravel\Nova\Fields\ID;
|
||||
@@ -112,6 +113,8 @@ class BookCase extends Resource
|
||||
|
||||
MorphMany::make(__('Comments'), 'comments', Comment::class),
|
||||
|
||||
BelongsTo::make(__('Created By'), 'createdBy', User::class),
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -75,6 +75,8 @@ class City extends Resource
|
||||
|
||||
HasMany::make(__('Meetups'), 'meetups', Meetup::class),
|
||||
|
||||
BelongsTo::make(__('Created By'), 'createdBy', User::class),
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -98,6 +98,8 @@ class Course extends Resource
|
||||
BelongsToMany::make(__('Categories'), 'categories', Category::class)
|
||||
->onlyOnDetail(),
|
||||
|
||||
BelongsTo::make(__('Created By'), 'createdBy', User::class),
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -79,6 +79,8 @@ class CourseEvent extends Resource
|
||||
BelongsTo::make(__('Venue'), 'venue', Venue::class)
|
||||
->searchable(),
|
||||
|
||||
BelongsTo::make(__('Created By'), 'createdBy', User::class),
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -52,7 +52,6 @@ class Episode extends Resource
|
||||
'language_code' => $model->podcast->language_code,
|
||||
'value' => null,
|
||||
]);
|
||||
ray($request->tags);
|
||||
$libraryItem->syncTagsWithType(is_array($request->tags) ? $request->tags : str($request->tags)->explode('-----'),
|
||||
'library_item');
|
||||
$libraryItem->addMediaFromUrl($model->data['image'])
|
||||
@@ -103,6 +102,8 @@ class Episode extends Resource
|
||||
BelongsTo::make(__('Podcast'), 'podcast', Podcast::class)
|
||||
->readonly(),
|
||||
|
||||
BelongsTo::make(__('Created By'), 'createdBy', User::class),
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -86,6 +86,8 @@ class Lecturer extends Resource
|
||||
|
||||
BelongsTo::make('Team'),
|
||||
|
||||
BelongsTo::make(__('Created By'), 'createdBy', User::class),
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Nova;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Laravel\Nova\Fields\BelongsTo;
|
||||
use Laravel\Nova\Fields\BelongsToMany;
|
||||
use Laravel\Nova\Fields\Boolean;
|
||||
use Laravel\Nova\Fields\ID;
|
||||
@@ -62,6 +63,9 @@ class Library extends Resource
|
||||
),
|
||||
|
||||
BelongsToMany::make('Library Items'),
|
||||
|
||||
BelongsTo::make(__('Created By'), 'createdBy', User::class),
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -95,6 +95,8 @@ class LibraryItem extends Resource
|
||||
|
||||
BelongsToMany::make(__('Library'), 'libraries', Library::class),
|
||||
|
||||
BelongsTo::make(__('Created By'), 'createdBy', User::class),
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -56,6 +56,8 @@ class Meetup extends Resource
|
||||
|
||||
BelongsTo::make(__('City'), 'city', City::class)->searchable(),
|
||||
|
||||
BelongsTo::make(__('Created By'), 'createdBy', User::class),
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -62,6 +62,8 @@ class MeetupEvent extends Resource
|
||||
BelongsTo::make('Meetup')
|
||||
->searchable(),
|
||||
|
||||
BelongsTo::make(__('Created By'), 'createdBy', User::class),
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ namespace App\Nova;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Str;
|
||||
use Laravel\Nova\Fields\Avatar;
|
||||
use Laravel\Nova\Fields\BelongsTo;
|
||||
use Laravel\Nova\Fields\Boolean;
|
||||
use Laravel\Nova\Fields\Code;
|
||||
use Laravel\Nova\Fields\HasMany;
|
||||
@@ -80,6 +81,9 @@ class Podcast extends Resource
|
||||
->json(),
|
||||
|
||||
HasMany::make(__('Episodes'), 'episodes', Episode::class),
|
||||
|
||||
BelongsTo::make(__('Created By'), 'createdBy', User::class),
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -63,6 +63,8 @@ class Venue extends Resource
|
||||
|
||||
BelongsTo::make(__('City'), 'city', City::class),
|
||||
|
||||
BelongsTo::make(__('Created By'), 'createdBy', User::class),
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ class BasePolicy
|
||||
*/
|
||||
public function before(User $user, $ability)
|
||||
{
|
||||
if ($user->hasRole('super-admin') || app()->environment('local')) {
|
||||
if ($user->hasRole('super-admin') || config('app.super-admin')) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
101
app/Policies/BitcoinEventPolicy.php
Normal file
101
app/Policies/BitcoinEventPolicy.php
Normal file
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
|
||||
namespace App\Policies;
|
||||
|
||||
use App\Models\BitcoinEvent;
|
||||
use App\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
|
||||
class BitcoinEventPolicy extends BasePolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
*
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Models\BitcoinEvent $bitcoinEvent
|
||||
*
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function view(User $user, BitcoinEvent $bitcoinEvent)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
*
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Models\BitcoinEvent $bitcoinEvent
|
||||
*
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function update(User $user, BitcoinEvent $bitcoinEvent)
|
||||
{
|
||||
return $bitcoinEvent->created_by === $user->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Models\BitcoinEvent $bitcoinEvent
|
||||
*
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function delete(User $user, BitcoinEvent $bitcoinEvent)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Models\BitcoinEvent $bitcoinEvent
|
||||
*
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function restore(User $user, BitcoinEvent $bitcoinEvent)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Models\BitcoinEvent $bitcoinEvent
|
||||
*
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function forceDelete(User $user, BitcoinEvent $bitcoinEvent)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
@@ -53,7 +53,7 @@ class CityPolicy extends BasePolicy
|
||||
*/
|
||||
public function update(User $user, City $city)
|
||||
{
|
||||
return $user->is_lecturer;
|
||||
return $city->created_by === $user->id;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -57,7 +57,7 @@ class LecturerPolicy extends BasePolicy
|
||||
*/
|
||||
public function update(User $user, Lecturer $lecturer)
|
||||
{
|
||||
return $user->belongsToTeam($lecturer->team);
|
||||
return $lecturer->created_by === $user->id;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -53,7 +53,7 @@ class LibraryItemPolicy extends BasePolicy
|
||||
*/
|
||||
public function update(User $user, LibraryItem $libraryItem)
|
||||
{
|
||||
return false;
|
||||
return $libraryItem->created_by === $user->id;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -53,7 +53,7 @@ class LibraryPolicy extends BasePolicy
|
||||
*/
|
||||
public function update(User $user, Library $library)
|
||||
{
|
||||
return false;
|
||||
return $library->created_by === $user->id;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -53,7 +53,7 @@ class MeetupEventPolicy extends BasePolicy
|
||||
*/
|
||||
public function update(User $user, MeetupEvent $meetupEvent)
|
||||
{
|
||||
return false;
|
||||
return $meetupEvent->created_by === $user->id;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -57,7 +57,7 @@ class MeetupPolicy extends BasePolicy
|
||||
*/
|
||||
public function update(User $user, Meetup $meetup)
|
||||
{
|
||||
return false;
|
||||
return $meetup->created_by === $user->id;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,6 +14,7 @@ class OrangePillPolicy extends BasePolicy
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
*
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
@@ -26,6 +27,7 @@ class OrangePillPolicy extends BasePolicy
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Models\OrangePill $orangePill
|
||||
*
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function view(User $user, OrangePill $orangePill)
|
||||
@@ -37,6 +39,7 @@ class OrangePillPolicy extends BasePolicy
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
*
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function create(User $user)
|
||||
@@ -49,11 +52,12 @@ class OrangePillPolicy extends BasePolicy
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Models\OrangePill $orangePill
|
||||
*
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function update(User $user, OrangePill $orangePill)
|
||||
{
|
||||
return false;
|
||||
return $orangePill->user_id === $user->id;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -61,6 +65,7 @@ class OrangePillPolicy extends BasePolicy
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Models\OrangePill $orangePill
|
||||
*
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function delete(User $user, OrangePill $orangePill)
|
||||
@@ -73,6 +78,7 @@ class OrangePillPolicy extends BasePolicy
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Models\OrangePill $orangePill
|
||||
*
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function restore(User $user, OrangePill $orangePill)
|
||||
@@ -85,6 +91,7 @@ class OrangePillPolicy extends BasePolicy
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Models\OrangePill $orangePill
|
||||
*
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function forceDelete(User $user, OrangePill $orangePill)
|
||||
|
||||
@@ -57,8 +57,7 @@ class VenuePolicy extends BasePolicy
|
||||
*/
|
||||
public function update(User $user, Venue $venue)
|
||||
{
|
||||
return $venue->lecturers->where('team_id', $user->current_team_id)
|
||||
->isNotEmpty();
|
||||
return $venue->created_by === $user->id;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user