Skip to content

Commit cc2edba

Browse files
authored
Feature/stan (#958)
* remove old CategorySeeder, stan errors category package * draft phpstan * expiry phpstam * Fix styling * firewall phpstan * localization phpstan * media phpstan * Fix styling * login-link phpstan * packages phpstan * prompts phpstan * record phpstan * security phpstan * Fix styling * slug phpstan * tag phpstan * user phpstan * Fix styling * user-device phpstan * Fix styling * remove non-ignorable
1 parent 6fdaf1d commit cc2edba

40 files changed

Lines changed: 361 additions & 1057 deletions

File tree

packages/category/database/seeders/CategorySeeder.php

Lines changed: 0 additions & 821 deletions
This file was deleted.

packages/category/src/Models/Category.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -145,19 +145,19 @@ public function mediaThroughUsables()
145145
public function getDisplayTitleAttribute(): string
146146
{
147147
$defaultLocalization = Localization::where('is_default', true)->first();
148-
$mainLocale = $defaultLocalization?->locale_variant ?? config('app.locale', 'en');
148+
$mainLocale = $defaultLocalization !== null
149+
? ($defaultLocalization->locale_variant ?? config('app.locale', 'en'))
150+
: config('app.locale', 'en');
149151
$currentLocale = request()->query('lang') ?? $mainLocale;
150152

151-
if (method_exists($this, 'translate')) {
152-
$translation = $this->translate($currentLocale);
153-
if ($translation && ! empty($translation->title)) {
154-
return $translation->title;
155-
}
153+
$translation = $this->translate($currentLocale);
154+
if ($translation && ! empty($translation->title)) {
155+
return $translation->title;
156+
}
156157

157-
$mainTranslation = $this->translate($mainLocale);
158-
if ($mainTranslation && ! empty($mainTranslation->title)) {
159-
return $mainTranslation->title.' ('.$mainLocale.')';
160-
}
158+
$mainTranslation = $this->translate($mainLocale);
159+
if ($mainTranslation && ! empty($mainTranslation->title)) {
160+
return $mainTranslation->title.' ('.$mainLocale.')';
161161
}
162162

163163
return $this->attributes['title'] ?? ('ID: '.$this->id);

packages/draft/config/draft.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
use Moox\Category\Resources\CategoryResource;
66
use Moox\Draft\Models\Draft;
77
use Moox\Media\Resources\MediaResource;
8-
use Moox\News\Moox\Entities\News\News\NewsResource;
8+
use Moox\News\Resources\NewsResource;
99
use Moox\Tag\Models\Tag;
1010
use Moox\Tag\Resources\TagResource;
1111
use Moox\User\Models\User;

packages/draft/src/DraftServiceProvider.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
use Filament\Tables\View\TablesRenderHook;
99
use Illuminate\Support\Facades\Blade;
1010
use Moox\Core\MooxServiceProvider;
11-
use Moox\Draft\Moox\Entities\Drafts\Draft\Pages\ListDrafts;
11+
use Moox\Draft\Resources\DraftResource\Pages\ListDrafts;
1212
use Spatie\LaravelPackageTools\Package;
1313

1414
class DraftServiceProvider extends MooxServiceProvider

packages/draft/src/Models/Draft.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Moox\Draft\Models;
44

55
use Carbon\Carbon;
6+
use Illuminate\Database\Eloquent\Collection;
67
use Illuminate\Database\Eloquent\Factories\HasFactory;
78
use Moox\Core\Entities\Items\Draft\BaseDraftModel;
89
use Moox\Core\Traits\Taxonomy\HasModelTaxonomy;
@@ -27,9 +28,8 @@
2728
* @property-read string $description
2829
* @property-read string $content
2930
* @property-read string $status
30-
* @property-read int $author_id
31-
* @property-read string $author_type
32-
* @property-read User|null $author
31+
* @property-read int|null $author_id
32+
* @property-read string|null $author_type
3333
3434
* @property-read Collection<int, Media> $media
3535
*/

packages/expiry/src/Jobs/SendEscalatedExpiriesJob.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace Moox\Expiry\Jobs;
44

5-
use Carbon\Carbon;
65
use Illuminate\Bus\Queueable;
76
use Illuminate\Contracts\Queue\ShouldQueue;
87
use Illuminate\Foundation\Bus\Dispatchable;
@@ -33,31 +32,32 @@ public function handle(): void
3332
$query->whereNull('escalated_to')
3433
->whereNotNull('escalated_at');
3534
})
35+
->with('notifyUser')
3636
->get();
3737

3838
if ($escalatedExpiries->isEmpty()) {
3939
return;
4040
}
4141

42-
$escalatedEntries = $escalatedExpiries->filter(fn ($entry): bool => isset($entry->escalated_at));
42+
$escalatedEntries = $escalatedExpiries->filter(fn (Expiry $entry): bool => $entry->escalated_at !== null);
4343

4444
$data = [
45-
'escalatedEntries' => $escalatedEntries->map(function (Expiry $entry) {
45+
'escalatedEntries' => $escalatedEntries->map(function (Expiry $entry): array {
4646
return [
4747
'title' => $entry->title,
48-
'expired_at' => Carbon::parse($entry->expired_at)->diffForHumans(),
49-
'processing_deadline' => Carbon::parse($entry->processing_deadline)->diffForHumans(),
50-
'escalated_at' => Carbon::parse($entry->escalated_at)->format('d.m.Y'),
51-
'notified_to' => config('expiry.user_model')::where('ID', $entry->notified_to)->first()?->display_name,
52-
'user_email' => config('expiry.user_model')::where('ID', $entry->notified_to)->first()?->email,
48+
'expired_at' => $entry->expired_at?->diffForHumans(),
49+
'processing_deadline' => $entry->processing_deadline?->diffForHumans(),
50+
'escalated_at' => $entry->escalated_at?->format('d.m.Y'),
51+
'notified_to' => $entry->notifyUser?->display_name,
52+
'user_email' => $entry->notifyUser?->email,
5353
'category' => $entry->category,
5454
];
5555
}),
5656
];
5757

58-
$responsibleEmail = config('expiry.user_model')::where('ID', $escalatedExpiries->first()->notified_to)->first()?->email;
58+
$responsibleEmail = $escalatedExpiries->first()->notifyUser?->email;
5959

60-
Mail::to($responsibleEmail)
60+
Mail::to($responsibleEmail ?: $adminEmail)
6161
->cc($adminEmail)
6262
->send(new EscalatedExpiriesMail($data, $panelPath));
6363

packages/expiry/src/Models/Expiry.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,39 @@
22

33
namespace Moox\Expiry\Models;
44

5+
use Carbon\Carbon;
56
use Exception;
67
use Illuminate\Database\Eloquent\Factories\HasFactory;
78
use Illuminate\Database\Eloquent\Model;
89
use Illuminate\Database\Eloquent\Relations\BelongsTo;
910
use Illuminate\Support\Collection;
1011
use Moox\Core\Traits\SoftDelete\SingleSoftDeleteInModel;
12+
use Moox\Press\Models\WpUser;
1113
use Moox\Press\QueryBuilder\UserQueryBuilder;
1214
use Override;
1315

16+
/**
17+
* @property int $id
18+
* @property string|null $title
19+
* @property string|null $slug
20+
* @property int|null $item_id
21+
* @property int|null $meta_id
22+
* @property string|null $link
23+
* @property string|null $expiry_job
24+
* @property string|null $category
25+
* @property string|null $status
26+
* @property Carbon|null $expired_at
27+
* @property Carbon|null $processing_deadline
28+
* @property string|null $cycle
29+
* @property Carbon|null $notified_at
30+
* @property int|null $notified_to
31+
* @property Carbon|null $escalated_at
32+
* @property int|null $escalated_to
33+
* @property int|null $handled_by
34+
* @property Carbon|null $done_at
35+
* @property-read WpUser|null $notifyUser
36+
* @property-read WpUser|null $escalateUser
37+
*/
1438
class Expiry extends Model
1539
{
1640
use HasFactory;

packages/firewall/src/Http/Middleware/EnsureFirewallAccess.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ private function isIpAllowedForRequest(string $ip, Request $request, array $conf
183183
return true;
184184
}
185185

186-
$allowedRoutes = is_array($entry->allowed_routes) ? $entry->allowed_routes : [];
186+
$allowedRoutes = (array) $entry->allowed_routes;
187187
if ($allowedRoutes === []) {
188188
return false;
189189
}

packages/firewall/src/Resources/FirewallWhitelistEntryResource.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,13 @@ private static function getCommonRoutePatternOptions(): array
9191
$prefixes = array_values(array_unique($prefixes));
9292
sort($prefixes);
9393

94-
return array_filter([
94+
return [
9595
'/' => '/',
9696
'admin/*' => 'admin/*',
9797
'api/*' => 'api/*',
9898
'connect/*' => 'connect/*',
9999
...array_combine($prefixes, $prefixes) ?: [],
100-
]);
100+
];
101101
}
102102

103103
/**
@@ -133,7 +133,7 @@ private static function searchRoutePatternOptions(string $search): array
133133
*/
134134
private static function iterRouteUris(): \Generator
135135
{
136-
foreach (Route::getRoutes() as $route) {
136+
foreach (Route::getRoutes()->getRoutes() as $route) {
137137
$middleware = $route->gatherMiddleware();
138138

139139
// Filter out API-only routes, keep everything else (Filament routes don't always

packages/localization/src/Filament/Resources/LocalizationResource.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,8 @@ public static function form(Schema $schema): Schema
143143
->default(true)
144144
->disabled(function ($get, $livewire) {
145145
// Disabled when this localization is set as default
146-
$isDefault = $get('is_default') ?? $livewire->record?->is_default ?? false;
146+
$record = $livewire->record;
147+
$isDefault = $get('is_default') ?? ($record !== null ? $record->is_default : false);
147148

148149
return $isDefault;
149150
}),
@@ -155,8 +156,9 @@ public static function form(Schema $schema): Schema
155156
->default(false)
156157
->disabled(function ($get, $livewire) {
157158
// Disabled when English is selected as default
158-
$localeVariant = $get('locale_variant') ?? $livewire->record?->locale_variant ?? '';
159-
$isDefault = $get('is_default') ?? $livewire->record?->is_default ?? false;
159+
$record = $livewire->record;
160+
$localeVariant = $get('locale_variant') ?? ($record !== null ? $record->locale_variant : '');
161+
$isDefault = $get('is_default') ?? ($record !== null ? $record->is_default : false);
160162

161163
// If it is an English localization AND already set as default
162164
if (strpos($localeVariant, 'en_') === 0 && $isDefault) {

0 commit comments

Comments
 (0)