wip controll and repair

This commit is contained in:
salam committed 2026-07-06 07:45:01 +02:00
1 parent 4a509c6a16
commit 3dd1dad42f
19 files changed
+182 -91

No files matched your search

@@ -155,7 +155,7 @@ class EditProjekte extends EditRecord
->color('success')
->label('Daten reparieren')
->modalIcon('phosphor-arrow-fat-line-right-fill')
->modalDescription( new HtmlString('<ol class="list-decimal"><li>Bei geklonten Projekten werden Änderungen vom originalen <u>Objekt</u> und <u>Objekt im Detail</u> übernommen.</li><li>Bei geklonten Projekten werden gelöschte <u>Objekt</u> und <u>Objekt im Detail</u> ergänzt.</li><li><u>Objekt im Detail</u> ohne Verbindung zum <u>Objekt</u> werden gelöscht.</li><li>Doppelte <u>Objekt</u> oder <u>Objekt im Detail</u> werden gelöscht.</li></ol>'))
->modalDescription( self::reparierenText())
// ->hidden(fn ($record): bool => ! $record->cloned_from_id)
->action(fn ($record) => Reparieren::run($record))
->icon('phosphor-arrow-fat-line-right-fill'),
@@ -173,4 +173,23 @@ class EditProjekte extends EditRecord
{
return 'Projekt Änderungen gespeichert';
}
protected function reparierenText(): ?HtmlString
{
$txt = '<div class="font-bold">Geklonte Projekte</div>';
$txt .= '<ol class="list-decimal">';
$txt .= '<li>Es werden Änderungen vom originalen <u>Objekt</u> und <u>Objekt im Detail</u> übernommen.</li>';
$txt .= '<li>Es werden gelöschte <u>Objekt</u> und <u>Objekt im Detail</u> ergänzt.</li>';
$txt .= '<li>Elemente ohne Verbindung zum Originale werden gelöscht.</li>';
$txt .= '</ol>';
$txt .= '<div class="font-bold">Alle Projekte</div>';
$txt .= '<ol class="list-decimal">';
$txt .= '<li><u>Objekt</u> ohne verbundene <u>Objekt im Detail</u> werden gelöscht.</li>';
$txt .= '<li><u>Objekt im Detail</u> ohne Verbindung zu einem <u>Objekt</u> werden gelöscht.</li>';
$txt .= '<li>Manuell hinzugefügte Elemente werden nicht gelöscht.</li>';
// $txt .= '<li>Doppelte <u>Objekt</u> oder <u>Objekt im Detail</u> werden gelöscht.</li>';
$txt .= '</ol>';
return new HtmlString($txt);
}
}
@@ -10,6 +10,7 @@ use Filament\Actions\CreateAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Textarea;
use Filament\Forms\Components\TextInput;
use Filament\Notifications\Notification;
@@ -37,6 +38,7 @@ class ProjektAllgemeinflaechensRelationManager extends RelationManager
{
return $schema
->components([
Hidden::make('added_manuel')->default(1),
TextInput::make('geschoss')
->required()
->maxLength(255),
@@ -14,6 +14,7 @@ use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Forms\Components\Checkbox;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\RichEditor\RichContentRenderer;
use Filament\Forms\Components\Select;
@@ -32,6 +33,7 @@ use Filament\Tables\Enums\FiltersLayout;
use Filament\Tables\Filters\Filter;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Facades\Auth;
use ToneGabes\BetterOptions\Forms\Components\RadioCards;
use ToneGabes\Filament\Icons\Enums\Phosphor;
@@ -53,6 +55,7 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager
->components([
Tabs::make('Tabs')
->tabs([
Hidden::make('added_manuel')->default(1),
Tab::make('Überschrift')
->schema([
Checkbox::make('neue_seite')
@@ -157,7 +160,7 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager
// $record = $mountedActions[0]->getRawData();
// $block = new KontoTextblock;
// $block->konto_id = auth()->user()->konto_id;
// $block->konto_id = Auth::user()->konto_id;
// $block->name = $data['name'];
// $block->textblock = RichContentRenderer::make($record['textblock'])->toHtml();
// $block->save();
@@ -171,7 +174,7 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager
// Select::make('konto_textblock_id')
// ->hiddenLabel()
// ->searchable()
// ->options(KontoTextblock::where('konto_id', auth()->user()->konto_id)->pluck('name', 'id'))
// ->options(KontoTextblock::where('konto_id', Auth::user()->konto_id)->pluck('name', 'id'))
// ->belowLabel([
// 'Bitte eine Vorlage auswählen',
// ]),
@@ -270,7 +273,7 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager
$record = $mountedActions[0]->getRawData();
$block = new KontoTextblock;
$block->konto_id = auth()->user()->konto_id;
$block->konto_id = Auth::user()->konto_id;
$block->name = $data['name'];
$block->textblock = RichContentRenderer::make($record['textblock'])->toHtml();
$block->save();
@@ -284,7 +287,7 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager
Select::make('konto_textblock_id')
->hiddenLabel()
->searchable()
->options(KontoTextblock::where('konto_id', auth()->user()->konto_id)->pluck('name', 'id'))
->options(KontoTextblock::where('konto_id', Auth::user()->konto_id)->pluck('name', 'id'))
->belowLabel([
'Bitte eine Vorlage auswählen',
]),
@@ -12,6 +12,7 @@ use Filament\Actions\BulkAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteAction;
use Filament\Actions\EditAction;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Notifications\Notification;
@@ -4,6 +4,7 @@ namespace App\Filament\Resources\Projektes\RelationManagers;
use App\Actions\Create\CreatePlatzhalter;
use Filament\Actions\Action;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\TextInput;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Schemas\Schema;
@@ -27,6 +28,7 @@ class ProjektPlatzhalterRelationManager extends RelationManager
{
return $schema
->components([
Hidden::make('added_manuel')->default(1),
TextInput::make('platzhalter')
->required()
->maxLength(255),
@@ -29,12 +29,12 @@ class ProjektesTable
->columns([
TextColumn::make('id')->sortable(),
ToggleColumn::make('meine')
->state(fn ($record) => ProjektUser::where('user_id', auth()->user()->id)->where('projekte_id', $record->id)->count())
->state(fn ($record) => ProjektUser::where('user_id', Auth::user()->id)->where('projekte_id', $record->id)->count())
->beforeStateUpdated(function ($record, $state) {
if ($state) {
ProjektUser::create(['user_id' => auth()->user()->id, 'projekte_id' => $record->id]);
ProjektUser::create(['user_id' => Auth::user()->id, 'projekte_id' => $record->id]);
} else {
ProjektUser::where('user_id', auth()->user()->id)->where('projekte_id', $record->id)->delete();
ProjektUser::where('user_id', Auth::user()->id)->where('projekte_id', $record->id)->delete();
}
}),
TextColumn::make('interner_name')
@@ -71,7 +71,7 @@ class ProjektesTable
$data['meine'],
function (Builder $query, $meine) {
$query->whereHas('projekt_users', function ($query) {
$query->where('projekt_users.user_id', auth()->user()->id);
$query->where('projekt_users.user_id', Auth::user()->id);
});
}
);