Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/core/src/Models/Block.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ protected function casts(): array

public function sites(): BelongsToMany
{
return $this->belongsToMany(Site::class);
return $this->belongsToMany(Site::class, 'block_site', 'block_ulid', 'site_ulid');
}

public function render(): HtmlString
Expand Down
17 changes: 17 additions & 0 deletions packages/core/src/Models/Concerns/BelongsToCurrentTenant.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?php

namespace Backstage\Models\Concerns;

use Filament\Facades\Filament;

trait BelongsToCurrentTenant
{
public static function bootBelongsToCurrentTenant(): void
{
static::creating(function ($model) {
if (! $model->site_ulid && Filament::getTenant()) {
$model->site_ulid = Filament::getTenant()->ulid;
}
});
}
}
2 changes: 2 additions & 0 deletions packages/core/src/Models/Content.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
use Backstage\Fields\Models\Field;
use Backstage\Jobs\TranslateContent;
use Backstage\Media\Concerns\HasMedia;
use Backstage\Models\Concerns\BelongsToCurrentTenant;
use Backstage\Models\Concerns\HasContentRelations;
use Backstage\Observers\ContentDepthObserver;
use Backstage\Observers\ContentRevisionObserver;
Expand Down Expand Up @@ -70,6 +71,7 @@
#[ObservedBy(ContentRevisionObserver::class)]
class Content extends Model
{
use BelongsToCurrentTenant;
use DecodesJsonStrings;
use HasContentRelations;
use HasFields;
Expand Down
2 changes: 2 additions & 0 deletions packages/core/src/Models/Domain.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

namespace Backstage\Models;

use Backstage\Models\Concerns\BelongsToCurrentTenant;
use Backstage\Shared\HasPackageFactory;
use Illuminate\Database\Eloquent\Concerns\HasUlids;
use Illuminate\Database\Eloquent\Model;
Expand All @@ -10,6 +11,7 @@

class Domain extends Model
{
use BelongsToCurrentTenant;
use HasPackageFactory;
use HasUlids;

Expand Down
2 changes: 2 additions & 0 deletions packages/core/src/Models/Form.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace Backstage\Models;

use Backstage\Fields\Models\Field;
use Backstage\Models\Concerns\BelongsToCurrentTenant;
use Backstage\Shared\HasPackageFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
Expand All @@ -11,6 +12,7 @@

class Form extends Model
{
use BelongsToCurrentTenant;
use HasPackageFactory;

protected $primaryKey = 'slug';
Expand Down
2 changes: 2 additions & 0 deletions packages/core/src/Models/FormAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace Backstage\Models;

use Backstage\Mail\FormActionExecute;
use Backstage\Models\Concerns\BelongsToCurrentTenant;
use Backstage\Shared\HasPackageFactory;
use Illuminate\Database\Eloquent\Concerns\HasUlids;
use Illuminate\Database\Eloquent\Model;
Expand All @@ -13,6 +14,7 @@
*/
class FormAction extends Model
{
use BelongsToCurrentTenant;
use HasPackageFactory;
use HasUlids;

Expand Down
2 changes: 2 additions & 0 deletions packages/core/src/Models/Menu.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@

namespace Backstage\Models;

use Backstage\Models\Concerns\BelongsToCurrentTenant;
use Backstage\Shared\HasPackageFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;

class Menu extends Model
{
use BelongsToCurrentTenant;
use HasPackageFactory;

protected $primaryKey = 'slug';
Expand Down
2 changes: 2 additions & 0 deletions packages/core/src/Models/Setting.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace Backstage\Models;

use Backstage\Fields\Concerns\HasFields;
use Backstage\Models\Concerns\BelongsToCurrentTenant;
use Backstage\Models\Concerns\HasContentRelations;
use Backstage\Shared\HasPackageFactory;
use Illuminate\Database\Eloquent\Concerns\HasUlids;
Expand All @@ -18,6 +19,7 @@
*/
class Setting extends Model
{
use BelongsToCurrentTenant;
use HasContentRelations;
use HasFields;
use HasPackageFactory;
Expand Down
6 changes: 3 additions & 3 deletions packages/core/src/Models/Site.php
Original file line number Diff line number Diff line change
Expand Up @@ -61,17 +61,17 @@ public function settings(): HasMany

public function types(): BelongsToMany
{
return $this->belongsToMany(Type::class);
return $this->belongsToMany(Type::class, 'site_type', 'site_ulid', 'type_slug');
}

public function users(): BelongsToMany
{
return $this->belongsToMany(User::class);
return $this->belongsToMany(User::class, 'site_user', 'site_ulid', 'user_id');
}

public function blocks(): BelongsToMany
{
return $this->belongsToMany(Block::class);
return $this->belongsToMany(Block::class, 'block_site', 'site_ulid', 'block_ulid');
}

public function forms(): HasMany
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/Models/Template.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,6 @@ public function fields(): MorphToMany

public function sites(): BelongsToMany
{
return $this->belongsToMany(Site::class);
return $this->belongsToMany(Site::class, 'site_template', 'template_slug', 'site_ulid');
}
}
2 changes: 1 addition & 1 deletion packages/core/src/Models/Type.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ protected function casts(): array

public function sites(): BelongsToMany
{
return $this->belongsToMany(Site::class);
return $this->belongsToMany(Site::class, 'site_type', 'type_slug', 'site_ulid');
}

public function getTemplateAttribute(): string
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/Models/User.php
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ class User extends Authenticatable implements FilamentUser, HasAppAuthentication

public function sites(): BelongsToMany
{
return $this->belongsToMany(Site::class);
return $this->belongsToMany(Site::class, 'site_user', 'user_id', 'site_ulid');
}

public function settings(): BelongsToMany
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,15 @@
namespace Backstage\Resources\BlockResource\Pages;

use Backstage\Resources\BlockResource;
use Filament\Facades\Filament;
use Filament\Resources\Pages\CreateRecord;

class CreateBlock extends CreateRecord
{
protected static string $resource = BlockResource::class;

protected function afterCreate(): void
{
$this->record->sites()->attach(Filament::getTenant());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
use Backstage\Fields\Concerns\CanMapDynamicFields;
use Backstage\Fields\Concerns\PersistsContentData;
use Backstage\Resources\ContentResource;
use Filament\Facades\Filament;
use Filament\Resources\Pages\CreateRecord;

class CreateContent extends CreateRecord
Expand Down Expand Up @@ -50,10 +49,6 @@ protected function mutateFormDataBeforeCreate(array $data): array
unset($data['tags']);
unset($data['values']);

if (! isset($data['site_ulid']) && Filament::getTenant()) {
$data['site_ulid'] = Filament::getTenant()->ulid;
}

return $data;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Facades\Filament;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\Textarea;
Expand Down Expand Up @@ -174,12 +173,6 @@ public function table(Table $table): Table
->headerActions([
CreateAction::make()
->slideOver()
->mutateDataUsing(function (array $data) {
return [
...$data,
'site_ulid' => Filament::getTenant()->ulid,
];
})
->after(function (Component $livewire) {
$livewire->dispatch('refreshFields');
}),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,4 @@
class CreateSetting extends CreateRecord
{
protected static string $resource = SettingResource::class;

protected function mutateFormDataBeforeCreate(array $data): array
{
return $data;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,15 @@
namespace Backstage\Resources\TemplateResource\Pages;

use Backstage\Resources\TemplateResource;
use Filament\Facades\Filament;
use Filament\Resources\Pages\CreateRecord;

class CreateTemplate extends CreateRecord
{
protected static string $resource = TemplateResource::class;

protected function afterCreate(): void
{
$this->record->sites()->attach(Filament::getTenant());
}
}
6 changes: 6 additions & 0 deletions packages/core/src/Resources/TypeResource/Pages/CreateType.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,15 @@
namespace Backstage\Resources\TypeResource\Pages;

use Backstage\Resources\TypeResource;
use Filament\Facades\Filament;
use Filament\Resources\Pages\CreateRecord;

class CreateType extends CreateRecord
{
protected static string $resource = TypeResource::class;

protected function afterCreate(): void
{
$this->record->sites()->attach(Filament::getTenant());
}
}
Loading