This commit is contained in:
salam committed 2025-11-17 09:14:28 +01:00
1 parent c9cac0903a
commit fd40de7ff5
15 files changed
+4418 -112

No files matched your search

@@ -30,7 +30,6 @@ class CreateProjektInhaltsverzeichnis
$inhalt->part = $value->part;
$inhalt->seite = $value->seite;
$inhalt->neue_seite = $value->neue_seite;
$inhalt->seitenzahl_anzeige = $value->seitenzahl_anzeige;
$inhalt->no_edit = $value->no_edit;
$inhalt->textblock_name = $text->name ?? '';
$inhalt->textblock = $text->textblock ?? '';
+6 -8
View File
@@ -63,6 +63,7 @@ class PdfGenerator
$mpdf = new Mpdf(
[
'debug' => true,
'use_kwt' => true,
'mode' => 'utf-8',
'format' => 'A4-P',
'margin_left' => 10,
@@ -82,15 +83,13 @@ class PdfGenerator
$inhaltesverzeichnis = ProjektInhaltsverzeichnis::where('projekte_id', $projekte_id)->where('part', $part)->orderBy('sort')->get();
// dd($inhaltesverzeichnis);
$platzhalter = Platzhalter::load($projekte_id);
foreach ($inhaltesverzeichnis as $inhalt) {
if ($inhalt->neue_seite) {
if ($part == 'nutzwerte') {
$mpdf->AddPage('P', '', self::$projekt->nutzwerte_startseite);
$mpdf->AddPage('P', '', self::$inhalt->seite);
} else {
$mpdf->AddPage();
}
@@ -148,19 +147,18 @@ class PdfGenerator
$html .= $textblock2;
}
if ($inhalt->seitenzahl_anzeige == 1) {
if ($inhalt->seite != 0) {
$mpdf->SetHTMLFooter('<div class="center">Seite {PAGENO} <br><br></div>');
}
if ($html) {
$mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
}
ProjektInhaltsverzeichnis::where('id', $inhalt->id)->update(['seite' => $mpdf->page]);
}
if ($part == 'standard') {
Projekte::where('id', $projekte_id)->update(['nutzwerte_startseite' => $mpdf->page]);
$inhaltesverzeichnis = ProjektInhaltsverzeichnis::where('projekte_id', $projekte_id)->where('part', 'nutzwerte')->orderBy('sort')->first();
$inhaltesverzeichnis->seite = $mpdf->page + 1;
$inhaltesverzeichnis->save();
}
ob_clean();
@@ -26,8 +26,6 @@ class InhaltsverzeichnisForm
->schema([
Checkbox::make('neue_seite')
->label('Start neuer Seite'),
Checkbox::make('seitenzahl_anzeige')
->label('Seitenzahl angezeigen'),
Checkbox::make('ueberschrift_verbergen')
->label('Überschrift verbergen'),
TextInput::make('name')
@@ -6,6 +6,7 @@ use Filament\Actions\DeleteAction;
use Filament\Actions\EditAction;
use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\TextInputColumn;
use Filament\Tables\Enums\FiltersLayout;
use Filament\Tables\Filters\SelectFilter;
use Filament\Tables\Table;
@@ -38,15 +39,11 @@ class InhaltsverzeichnisTable
->wrap(),
TextColumn::make('textblock.name')
->wrap(),
TextColumn::make('seite')
TextInputColumn::make('seite')
->extraInputAttributes(['onClick' => 'this.select()'])
->alignCenter()
->badge()
->color(fn ($record): string => $record->seitenzahl_anzeige ? 'primary' : 'gray')
->getStateUsing(function ($record) {
if ($record->seitenzahl_anzeige) {
return $record->seite == '0' ? 'auto' : $record->seite;
}
}),
->tooltip('Bei 0 wird keine Seitenzahl ausgegeben.')
->getStateUsing(fn ($record): string => $record->seite == 0 ? '' : $record->seite),
])
// ->paginated(false)
->defaultPaginationPageOption(5)
@@ -79,9 +79,6 @@ class ProjektAllgemeinflaechensRelationManager extends RelationManager
$livewire->dispatch('refreshProjektAllgemeinflaechen');
}),
])
->filters([
//
])
->headerActions([
CreateAction::make()
->icon('phosphor-file-plus')
@@ -27,6 +27,8 @@ use Filament\Schemas\Components\Utilities\Set;
use Filament\Schemas\Schema;
use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\TextInputColumn;
use Filament\Tables\Enums\FiltersLayout;
use Filament\Tables\Filters\SelectFilter;
use Filament\Tables\Table;
@@ -52,8 +54,6 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager
->schema([
Checkbox::make('neue_seite')
->label('Start neuer Seite'),
Checkbox::make('seitenzahl_anzeige')
->label('Seitenzahl angezeigen'),
// Checkbox::make('ueberschrift_verbergen')
// ->label('Überschrift verbergen'),
TextInput::make('name')
@@ -334,17 +334,14 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager
->wrap(),
TextColumn::make('inhaltselement.name')
->label('Inhalts Element'),
TextColumn::make('seite')
TextInputColumn::make('seite')
->extraInputAttributes(['onClick' => 'this.select()'])
->width('2rem')
->alignCenter()
->badge()
->color(fn ($record): string => $record->seitenzahl_anzeige ? 'primary' : 'gray')
->getStateUsing(function ($record) {
if ($record->seitenzahl_anzeige) {
return $record->seite == '0' ? 'auto' : $record->seite;
}
}),
->tooltip('Bei 0 wird keine Seitenzahl ausgegeben.')
->getStateUsing(fn ($record): string => $record->seite == 0 ? '' : $record->seite),
])
->defaultPaginationPageOption(5)
// ->defaultPaginationPageOption(5)
->persistFiltersInSession()
->deferFilters(false)
->filtersFormColumns(3)
@@ -358,7 +355,7 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager
'nutzwerte' => 'Nutzwerberechnung',
'paragraph' => 'Auszug Gutachten gem. §6',
]),
])
], FiltersLayout::AboveContent)
->defaultSort('sort', direction: 'asc')
->reorderable('sort')
->headerActions([
-13
View File
@@ -15,24 +15,11 @@ class Inhaltsverzeichnis extends Model
'ordnungszahl',
'seite',
'neue_seite',
'seitenzahl_anzeige',
'hilfe_titel',
'hilfe_description',
'hilfe_image',
];
/**
* Get the attributes that should be cast.
*
* @return array<string, string>
*/
protected function casts(): array
{
return [
'seitenzahl_anzeige' => 'boolean',
];
}
public function textblock()
{
return $this->hasMany(Textblock::class, 'id', 'textblock_id');
-1
View File
@@ -16,7 +16,6 @@ class ProjektInhaltsverzeichnis extends Model
'part',
'seite',
'neue_seite',
'seitenzahl_anzeige',
'textblock_name',
'textblock',
'textblock2',