Skip to content

Commit 6fdee97

Browse files
fill form with data from basemodel
1 parent 8bf2978 commit 6fdee97

3 files changed

Lines changed: 35 additions & 16 deletions

File tree

packages/category/src/Models/Category.php

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,15 @@
66

77
use Override;
88
use Kalnoy\Nestedset\NodeTrait;
9+
use Spatie\MediaLibrary\HasMedia;
910
use Illuminate\Support\Facades\DB;
11+
use Spatie\MediaLibrary\InteractsWithMedia;
1012
use Illuminate\Database\Eloquent\SoftDeletes;
1113
use Moox\Core\Entities\Items\Draft\BaseDraftModel;
1214
use Illuminate\Database\Eloquent\Relations\BelongsTo;
1315
use Moox\Category\Database\Factories\CategoryFactory;
1416
use Illuminate\Database\Eloquent\Factories\HasFactory;
17+
use Spatie\MediaLibrary\MediaCollections\Models\Media;
1518
use Illuminate\Database\Eloquent\Relations\MorphToMany;
1619

1720
/**
@@ -36,12 +39,12 @@
3639
* @method static \Moox\Category\Database\Factories\CategoryFactory factory($count = null, $state = [])
3740
*/
3841

39-
class Category extends BaseDraftModel
42+
class Category extends BaseDraftModel implements HasMedia
4043
{
4144
use HasFactory;
4245
use NodeTrait;
4346
use SoftDeletes;
44-
47+
use InteractsWithMedia;
4548
public $incrementing = false;
4649
protected $keyType = 'int';
4750

@@ -100,4 +103,22 @@ protected static function booted(): void
100103
$category->detachAllCategorizables();
101104
});
102105
}
106+
107+
public function registerMediaConversions(?Media $media = null): void
108+
{
109+
$this
110+
->addMediaConversion('preview')
111+
->fit(Fit::Contain, 300, 300);
112+
}
113+
114+
public function mediaThroughUsables()
115+
{
116+
return $this->belongsToMany(
117+
Media::class,
118+
'media_usables',
119+
'media_usable_id',
120+
'media_id'
121+
)->where('media_usables.media_usable_type', '=', static::class);
122+
}
123+
103124
}

packages/core/src/Entities/Items/Draft/Pages/BaseEditDraft.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,18 @@ public function mount($record): void
3232
public function mutateFormDataBeforeFill(array $data): array
3333
{
3434
$record = $this->getRecord();
35-
35+
$values = $data;
36+
3637
if (! method_exists($record, 'getTranslation') || ! property_exists($record, 'translatedAttributes')) {
37-
return $data;
38+
return $values;
3839
}
39-
40+
4041
$translatable = $record->translatedAttributes;
41-
$values = [];
4242
foreach ($translatable as $attr) {
4343
$translation = $record->getTranslation($this->lang, false);
4444
$values[$attr] = $translation ? $translation->$attr : $record->$attr;
4545
}
46-
46+
4747
return $values;
4848
}
4949

packages/core/src/Entities/Items/Draft/Pages/BaseViewDraft.php

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,14 @@ public function mount($record): void
2626
public function mutateFormDataBeforeFill(array $data): array
2727
{
2828
$record = $this->getRecord();
29+
$values = $data;
2930

30-
if (! method_exists($record, 'getTranslation') || ! property_exists($record, 'translatedAttributes')) {
31-
return $data;
32-
}
33-
34-
$translatable = $record->translatedAttributes;
35-
$values = [];
36-
foreach ($translatable as $attr) {
37-
$translation = $record->getTranslation($this->lang, false);
38-
$values[$attr] = $translation ? $translation->$attr : $record->$attr;
31+
if (method_exists($record, 'getTranslation') && property_exists($record, 'translatedAttributes')) {
32+
$translatable = $record->translatedAttributes;
33+
foreach ($translatable as $attr) {
34+
$translation = $record->getTranslation($this->lang, false);
35+
$values[$attr] = $translation ? $translation->$attr : $record->$attr;
36+
}
3937
}
4038

4139
return $values;

0 commit comments

Comments
 (0)