This commit is contained in:
2023-10-02 17:18:53 +10:00
parent 6e98269a0b
commit 1ef4332df6
6 changed files with 23 additions and 4 deletions

View File

@@ -28,6 +28,7 @@ class AnalyticsConductor extends Conductor
*/
public static function viewable(Model $model): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && $user->hasPermission('admin/analytics') === true);
}
@@ -50,6 +51,7 @@ class AnalyticsConductor extends Conductor
*/
public static function updatable(Model $model): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && $user->hasPermission('admin/analytics') === true);
}
@@ -62,6 +64,7 @@ class AnalyticsConductor extends Conductor
*/
public static function destroyable(Model $model): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && $user->hasPermission('admin/analytics') === true);
}

View File

@@ -44,6 +44,7 @@ class ArticleConductor extends Conductor
*/
public function scope(Builder $builder): void
{
/** @var \App\Models\User */
$user = auth()->user();
if ($user === null || $user->hasPermission('admin/articles') === false) {
$builder
@@ -60,6 +61,7 @@ class ArticleConductor extends Conductor
public static function viewable(Model $model): bool
{
if (Carbon::parse($model->publish_at)->isFuture() === true) {
/** @var \App\Models\User */
$user = auth()->user();
if ($user === null || $user->hasPermission('admin/articles') === false) {
return false;
@@ -76,6 +78,7 @@ class ArticleConductor extends Conductor
*/
public static function creatable(): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && $user->hasPermission('admin/articles') === true);
}
@@ -88,6 +91,7 @@ class ArticleConductor extends Conductor
*/
public static function updatable(Model $model): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && $user->hasPermission('admin/articles') === true);
}
@@ -100,6 +104,7 @@ class ArticleConductor extends Conductor
*/
public static function destroyable(Model $model): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && $user->hasPermission('admin/articles') === true);
}

View File

@@ -37,6 +37,7 @@ class EventConductor extends Conductor
*/
public function scope(Builder $builder): void
{
/** @var \App\Models\User */
$user = auth()->user();
if ($user === null || $user->hasPermission('admin/events') === false) {
$builder
@@ -54,6 +55,7 @@ class EventConductor extends Conductor
public static function viewable(Model $model): bool
{
if (strtolower($model->status) === 'draft' || Carbon::parse($model->publish_at)->isFuture() === true) {
/** @var \App\Models\User */
$user = auth()->user();
if ($user === null || $user->hasPermission('admin/events') === false) {
return false;
@@ -70,6 +72,7 @@ class EventConductor extends Conductor
*/
public static function creatable(): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && $user->hasPermission('admin/events') === true);
}
@@ -82,6 +85,7 @@ class EventConductor extends Conductor
*/
public static function updatable(Model $model): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && $user->hasPermission('admin/events') === true);
}
@@ -94,6 +98,7 @@ class EventConductor extends Conductor
*/
public static function destroyable(Model $model): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && $user->hasPermission('admin/events') === true);
}
@@ -106,6 +111,7 @@ class EventConductor extends Conductor
*/
public function includeAttachments(Model $model)
{
/** @var \App\Models\User */
$user = auth()->user();
return $model->getAttachments()->map(function ($attachment) use ($user) {

View File

@@ -2,9 +2,7 @@
namespace App\Conductors;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Foundation\Auth\User;
class ShortlinkConductor extends Conductor
{
@@ -28,6 +26,7 @@ class ShortlinkConductor extends Conductor
*/
public static function creatable(): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && $user->hasPermission('admin/shortlinks') === true);
}
@@ -40,6 +39,7 @@ class ShortlinkConductor extends Conductor
*/
public static function updatable(Model $model): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && $user->hasPermission('admin/shortlinks') === true);
}
@@ -52,6 +52,7 @@ class ShortlinkConductor extends Conductor
*/
public static function destroyable(Model $model): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && $user->hasPermission('admin/shortlinks') === true);
}

View File

@@ -21,6 +21,7 @@ class SubscriptionConductor extends Conductor
*/
public static function updatable(Model $model): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && ((strcasecmp($model->email, $user->email) === 0 && $user->email_verified_at !== null) || $user->hasPermission('admin/subscriptions') === true));
}
@@ -33,6 +34,7 @@ class SubscriptionConductor extends Conductor
*/
public static function destroyable(Model $model): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && ((strcasecmp($model->email, $user->email) === 0 && $user->email_verified_at !== null) || $user->hasPermission('admin/subscriptions') === true));
}

View File

@@ -21,6 +21,7 @@ class UserConductor extends Conductor
*/
public function fields(Model $model): array
{
/** @var \App\Models\User */
$user = auth()->user();
if ($user === null || $user->hasPermission('admin/users') === false) {
return ['id', 'display_name'];
@@ -37,12 +38,11 @@ class UserConductor extends Conductor
*/
public function transform(Model $model): array
{
/** @var \App\Models\User */
$user = auth()->user();
$data = $model->toArray();
$limit = $this->fields($model);
// echo 'USER--' . implode(',', $limit) . "\n";
if ($user === null || ($user->hasPermission('admin/users') === false && strcasecmp($user->id, $model->id) !== 0)) {
$limit = ['id', 'display_name'];
} else {
@@ -61,6 +61,7 @@ class UserConductor extends Conductor
*/
public static function updatable(Model $model): bool
{
/** @var \App\Models\User */
$user = auth()->user();
if ($user !== null) {
return ($user->hasPermission('admin/users') === true || strcasecmp($user->id, $model->id) === 0);
@@ -77,6 +78,7 @@ class UserConductor extends Conductor
*/
public static function destroyable(Model $model): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && $user->hasPermission('admin/users') === true);
}