diff --git a/app/Actions/Download/DownloadExcel.php b/app/Actions/Download/DownloadExcel.php
new file mode 100644
index 0000000..d44b0b4
--- /dev/null
+++ b/app/Actions/Download/DownloadExcel.php
@@ -0,0 +1,53 @@
+update(['excel_nutzwerte' => '', 'excel_nutzwerte_ok' => '0']);
+ }
+
+ $projekt = Projekt::where('id', $projekts_id)->first()->toArray();
+ $filepath = Storage::disk('public')->path("/download/$projekts_id/excel/");
+
+ if ($projekt['excel_nutzwerte_ok'] == 0) {
+
+ $filename = preg_replace("'[^0-9a-zA-Z]'", '', $projekt['intname']).'.xlsx';
+
+ if (! File::isDirectory($filepath)) {
+ File::makeDirectory($filepath, 0777, true, true);
+ }
+ $file = $filepath.$filename;
+
+ GenerateExcel::generate($file, $projekts_id);
+
+ Projekt::where('id', $projekts_id)->update(['excel_nutzwerte' => $filename, 'excel_nutzwerte_ok' => '1']);
+
+ } else {
+
+ $filename = $projekt['excel_nutzwerte'];
+ $file = $filepath.$filename;
+ }
+
+ $headers = [
+ 'Content-Type: application/vnd.ms-excel',
+ 'Content-Disposition: attachment;filename="'.$filename.'"',
+ 'Cache-Control: max-age=0',
+ 'Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT',
+ 'Cache-Control: cache, must-revalidate',
+ 'Pragma: public',
+ ];
+
+ return Response::download($file, $projekt['name'], $headers);
+
+ }
+}
diff --git a/app/Actions/Download/DownloadNutzwerte.php b/app/Actions/Download/DownloadNutzwerte.php
new file mode 100644
index 0000000..b0c9307
--- /dev/null
+++ b/app/Actions/Download/DownloadNutzwerte.php
@@ -0,0 +1,55 @@
+update(['pdf_nutzwerte' => '', 'pdf_nutzwerte_ok' => '0']);
+ }
+
+ $headers = [
+ 'Content-Type: application/pdf',
+ 'Cache-Control: max-age=0',
+ 'Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT',
+ 'Cache-Control: cache, must-revalidate',
+ ];
+
+ $projekt = Projekt::where('id', $projekts_id)->first()->toArray();
+
+ $filepath = Storage::disk('public')->path("/download/$projekts_id/nutzwerte/");
+
+ if ($projekt['pdf_nutzwerte_ok'] == 0) {
+
+ $filename = preg_replace("'[^0-9a-zA-Z]'", '', $projekt['intname']).'.pdf';
+
+ if (! File::isDirectory($filepath)) {
+ File::makeDirectory($filepath, 0777, true, true);
+ }
+ $file = $filepath.$filename;
+
+ GenerateNutzwerte::generate($file, $projekts_id);
+
+ Projekt::where('id', $projekts_id)->update(['pdf_nutzwerte' => $filename, 'pdf_nutzwerte_ok' => '1']);
+
+ return Response::download($file, $projekt['name'], $headers);
+
+ } else {
+
+ $filename = $projekt['pdf_nutzwerte'];
+
+ $file = $filepath.$filename;
+
+ return Response::download($file, $projekt['name'], $headers);
+ }
+ }
+}
diff --git a/app/Actions/Download/DownloadStandardTexte.php b/app/Actions/Download/DownloadStandardTexte.php
new file mode 100644
index 0000000..caa157a
--- /dev/null
+++ b/app/Actions/Download/DownloadStandardTexte.php
@@ -0,0 +1,54 @@
+update(['pdf_standardtexte' => '', 'pdf_standardtexte_ok' => '0']);
+ }
+
+ $headers = [
+ 'Content-Type: application/pdf',
+ 'Cache-Control: max-age=0',
+ 'Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT',
+ 'Cache-Control: cache, must-revalidate',
+ ];
+
+ $projekt = Projekt::where('id', $projekts_id)->first()->toArray();
+
+ $filepath = Storage::disk('public')->path("/download/$projekts_id/standards/");
+
+ if ($projekt['pdf_standardtexte_ok'] == 0) {
+
+ $filename = preg_replace("'[^0-9a-zA-Z]'", '', $projekt['intname']).'.pdf';
+
+ if (! File::isDirectory($filepath)) {
+ File::makeDirectory($filepath, 0777, true, true);
+ }
+ $file = $filepath.$filename;
+
+ GenerateStandardTexte::generate($file, $projekts_id);
+
+ Projekt::where('id', $projekts_id)->update(['pdf_standardtexte' => $filename, 'pdf_standardtexte_ok' => 1]);
+
+ return Response::download($file, $projekt['name'], $headers);
+ } else {
+
+ $filename = $projekt['pdf_standardtexte'];
+
+ $file = $filepath.$filename;
+
+ return Response::download($file, $projekt['name'], $headers);
+ }
+ }
+}
diff --git a/app/Actions/Generate/GenerateExcel.php b/app/Actions/Generate/GenerateExcel.php
new file mode 100644
index 0000000..159844b
--- /dev/null
+++ b/app/Actions/Generate/GenerateExcel.php
@@ -0,0 +1,369 @@
+get()->first();
+ $gutachter = Gutachter::where('id', $projekt->gutachters_id)->get()->first();
+ // $auftraggeber = Auftraggeber::where('id', $projekt->auftraggebers_id)->get()->first();
+
+ $projektname = str_replace(',', '', $projekt->name);
+ $projektname = preg_replace("'\W, '", '', $projektname);
+ $_headers = self::header();
+
+ // SPREADSHEET start
+
+ $spreadsheet = new Spreadsheet;
+
+ $spreadsheet->getProperties()->setCreator('Hermann Telser Nutzwertberechnung')
+ ->setLastModifiedBy('Hermann Telser Nutzwertberechnung')
+ ->setTitle('Nutzwertberechnung')
+ ->setDescription('Nutzwertberechnung v5.0.1, © Hermann Telser 2007 - '.date('Y'));
+
+ $_rot = [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 52, 53, 54, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 91, 92, 93, 94];
+ $_gelb = [8, 19, 29];
+
+ $row = '1';
+ $coll = 'A';
+
+ $spreadsheet->setActiveSheetIndex(0);
+ foreach ($_headers as $key => $value) {
+ $cell = $coll.$row;
+ $sheet = $spreadsheet->getActiveSheet();
+ $sheet->setCellValue($cell, $value);
+
+ if (\in_array($key, $_rot)) {
+ $spreadsheet->getActiveSheet()->getStyle($cell)->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB('FDE8E8');
+ } elseif (\in_array($key, $_gelb)) {
+ $spreadsheet->getActiveSheet()->getStyle($cell)->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB('FDF6B2');
+ }
+ $sheet->getStyle($cell)
+ ->getBorders()
+ ->getOutline()
+ ->setBorderStyle(Border::BORDER_THIN);
+
+ $coll++;
+ }
+
+ $sheet = $spreadsheet->getActiveSheet();
+ foreach ($sheet->getColumnIterator() as $column) {
+ $sheet->getColumnDimension($column->getColumnIndex())->setAutoSize(true);
+ }
+
+ $_raumorientierung = DB::table('raumorientierung')
+ ->join('orientierungs', 'raumorientierung.orientierungs_id', '=', 'orientierungs.id')
+ ->select(
+ 'raumorientierung.id',
+ 'raumorientierung.top_nr',
+ 'raumorientierung.qm_m1',
+ 'raumorientierung.qm_m1',
+ 'raumorientierung.factor',
+ 'raumorientierung.nicht_in_orientierung',
+ 'raumorientierung.nutzwert_summe',
+ 'orientierungs.name as orientierung',
+ )
+ ->where('raumorientierung.projekts_id', $projekts_id)
+ ->groupBy('raumorientierung.id')
+ ->orderBy('raumorientierung.top_nr', 'ASC')
+ ->get();
+
+ $spalten = [];
+ $letter = 'A';
+ while ($letter !== 'HU') {
+ $key = $letter++;
+ $spalten[$key] = '';
+ }
+
+ $row = 2;
+ $_data = [];
+ foreach ($_raumorientierung as $key => $raumorientierung) {
+
+ $_data[$key] = $spalten;
+ $_data[$key]['B'] = $raumorientierung->top_nr;
+
+ if ($raumorientierung->nicht_in_orientierung == 0) {
+
+ $_data[$key]['C'] = $raumorientierung->nutzwert_summe;
+ $_data[$key]['D'] = $raumorientierung->qm_m1;
+
+ $zunutzwert = self::zunutzwert($raumorientierung->id);
+ if ($zunutzwert > 0) {
+ $_data[$key]['E'] = $zunutzwert;
+ }
+
+ $_data[$key]['F'] = $raumorientierung->qm_m1 + $zunutzwert;
+
+ } else {
+ $_data[$key]['I'] = $raumorientierung->nutzwert_summe;
+
+ $res = self::raumalles($raumorientierung->id, [5]);
+ $qm = 0;
+ $raum = '';
+ foreach ($res as $value) {
+ $qm += (float) $value->qm;
+ $raum = $value->raum;
+ }
+
+ $_data[$key]['L'] = number_format($qm, 2, ',', '');
+ $_data[$key]['AT'] = $raum;
+ }
+
+ // Parifizierer
+ $_data[$key]['R'] = $gutachter->kennung;
+ // Lage
+ $_data[$key]['AQ'] = self::geschoss($raumorientierung->id);
+ // Orientierung
+ $raumorientierung->orientierung = $raumorientierung->orientierung == 'Ohne Zuordnung' ? '' : $raumorientierung->orientierung;
+ $_data[$key]['AR'] = $raumorientierung->orientierung;
+
+ // WOHNUNG
+ if ($raumorientierung->nicht_in_orientierung == 0) {
+ $_data[$key]['AT'] = self::beschreibung($raumorientierung->id, [1, 2, 8]);
+ // M2
+ $_data[$key]['AU'] = self::loggien_qm($raumorientierung->id, [2, 8]);
+ // M3
+ $_data[$key]['AV'] = self::beschreibung_qm($raumorientierung->id, [3, 7]);
+ // M4
+ $_data[$key]['AW'] = self::beschreibung_qm($raumorientierung->id, [3, 4]);
+ } else {
+ $_data[$key]['AT'] = self::beschreibung($raumorientierung->id, [6, 9]);
+ $_data[$key]['AV'] = self::beschreibung_qm($raumorientierung->id, [6, 9]);
+ }
+ $row++;
+ }
+
+ $sheet = $spreadsheet->getActiveSheet();
+ $sheet->fromArray($_data, null, 'A2');
+
+ // Set active sheet index to the first sheet, so Excel opens this as the first sheet
+ $spreadsheet->setActiveSheetIndex(0);
+ // Rename worksheet
+ $spreadsheet->getActiveSheet()->setTitle('Daten für den Kaufvertrag');
+ // output
+ $writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
+ // $writer->save('php://output');
+ $writer->save($filepath);
+ }
+
+ private static function raumalles($raumorientierung_id, $methoden)
+ {
+ return DB::table('raumalles')
+ ->select('*')
+ ->where('raumorientierung_id', $raumorientierung_id)
+ ->whereIn('methodes_id', $methoden)
+ ->get();
+ }
+
+ private static function zunutzwert($raumorientierung_id)
+ {
+ $zunutzwert = 0;
+ $res = DB::table('raumalles')
+ ->select('methodes_id', 'raum', 'factor', 'qm')
+ ->where('raumorientierung_id', $raumorientierung_id)
+ ->whereIn('methodes_id', [2, 8])
+ ->get();
+ foreach ($res as $value) {
+ $zunutzwert += $value->qm;
+ }
+
+ return $zunutzwert;
+ }
+
+ private static function beschreibung_qm($raumorientierung_id, $methoden)
+ {
+ $res = DB::table('raumalles')
+ ->select('*')
+ ->where('raumorientierung_id', $raumorientierung_id)
+ ->whereIn('methodes_id', $methoden)
+ ->get();
+ $_tmp = [];
+ foreach ($res as $value) {
+ if (! in_array($value->raum, ['Loggia', 'Loggia 1', 'Loggia 2'])) {
+ $_tmp[] = $value->raum.': '.number_format($value->qm, 2, ',', '').' m²';
+ }
+ }
+
+ return implode(', ', $_tmp);
+ }
+
+ private static function loggien_qm($raumorientierung_id, $methoden)
+ {
+ $res = DB::table('raumalles')
+ ->select('*')
+ ->where('raumorientierung_id', $raumorientierung_id)
+ ->whereIn('methodes_id', $methoden)
+ ->get();
+ $_tmp = [];
+ foreach ($res as $value) {
+ if (in_array($value->raum, ['Loggia', 'Loggia 1', 'Loggia 2'])) {
+ $_tmp[] = $value->raum.': '.number_format($value->qm, 2, ',', '').' m²';
+ }
+ }
+
+ return implode(', ', $_tmp);
+ }
+
+ private static function beschreibung($raumorientierung_id, $methoden)
+ {
+ $res = DB::table('raumalles')
+ ->select('*')
+ ->where('raumorientierung_id', $raumorientierung_id)
+ ->whereIn('methodes_id', $methoden)
+ ->get();
+ $_tmp = [];
+ foreach ($res as $value) {
+ if (! in_array($value->raum, ['Loggia', 'Loggia 1', 'Loggia 2'])) {
+ $_tmp[] = $value->raum;
+ }
+ }
+
+ return implode(', ', $_tmp);
+ }
+
+ private static function geschoss($raumorientierung_id)
+ {
+ $res = DB::table('raumalles')
+ ->select('geschoss')
+ ->where('raumorientierung_id', $raumorientierung_id)
+ ->where('methodes_id', '=', 1)
+ ->get();
+ foreach ($res as $key => $value) {
+ return $value->geschoss;
+ }
+
+ return '';
+ }
+
+ private static function header()
+ {
+ return [
+ 'Bautengruppe',
+ 'TopNr',
+ 'NWWhg',
+ 'Nutzfläche',
+ 'Loggia',
+ 'Ges.Nutzfläche',
+ 'AbstellplatzTop',
+ 'AbstellplatzTop2',
+ 'NWAbstellplatz',
+ 'NWAbstellplatz2',
+ 'Anzahl Pkw',
+ 'Stellplatzfläche',
+ 'Stellplatzfläche2',
+ 'NW-Whg+Pkw1',
+ 'NW-Whg+Pkw1+2',
+ 'Gesamtnutzwert',
+ 'Gesamtnutzwert2',
+ 'Parifizierer',
+ 'Datum_Parifi',
+ 'Anzahl Whg',
+ 'Anzahl AP',
+ 'Durchgang',
+ 'Anrede',
+ 'Titel',
+ 'Vorname',
+ 'Nachname',
+ 'Geburt',
+ 'Beruf',
+ 'PersonStraße',
+ 'PLZ',
+ 'Ort',
+ 'Partner ja=1',
+ 'Anrede_P',
+ 'Titel_P',
+ 'Vorname_P',
+ 'Nachname_P',
+ 'Geburt_P',
+ 'Beruf_P',
+ 'Straße_P',
+ 'Plz_P',
+ 'Ort_P',
+ 'Haus',
+ 'Lage',
+ 'Orientierung',
+ 'Orientierung PPL',
+ 'Beschreibung',
+ 'Loggien',
+ 'Balkone',
+ 'Zubehör',
+ 'Grundkosten',
+ 'Baukosten',
+ '15% Eigenmittel',
+ 'zusätz. Eigenmittel',
+ 'KP-Wohnung und AP',
+ 'KP-Wohnung',
+ 'KP-Stellplatz',
+ 'KP-Stellplatz2',
+ 'Kaufpreis',
+ 'UST ja=1',
+ 'KP WHG netto',
+ 'Ust WHG',
+ 'Brutto WHG',
+ 'KP TG netto',
+ 'Ust TG',
+ 'Brutto TG',
+ 'UST WHG+TG',
+ 'Netto WHG+TG',
+ 'Brutto WHG+TG',
+ 'Fälligk_KP_1',
+ 'Fälligk_KP_2',
+ 'Fälligk_KP_3',
+ 'KPTeil1',
+ 'KPTeil1 UST',
+ 'KPTeil2',
+ 'KPTeil2 UST',
+ 'KPTeil3',
+ 'KPTeil3 UST',
+ 'KPTeil4',
+ 'KPTeil4 UST',
+ 'Kontrolle_KP',
+ 'Kontrolle_KP UST',
+ 'pfand_ngs',
+ 'pfand_ngs UST',
+ 'VertrKo',
+ 'Bankgarantie',
+ 'Wohnung.WbfDarlehen',
+ 'Globaldarlehen',
+ 'Globaldarlehen abzügl.zusätzl.EM',
+ 'Globalbank',
+ 'GrundstückNummer',
+ 'GstGröße',
+ 'Einlagezahl',
+ 'Grundbuch',
+ 'Baubeginn',
+ 'Baufertigstellung',
+ 'Spät_Übergabe',
+ 'Bau-Ausstatt',
+ 'Architekt',
+ 'Baubescheid',
+ 'Zahl-Baubescheid',
+ 'Baubescheid2',
+ 'Zahl-Baubescheid2',
+ 'UnterschriftKaufvertragAm',
+ 'Beglaubigungsnummer',
+ 'UB1_Datum',
+ 'EFNR1',
+ 'STNR1',
+ 'UB2_Datum',
+ 'EFNR2',
+ 'STNR2',
+ 'GVKB_Datum',
+ 'GVKB_Zahl',
+ 'Fremdfinanzierung',
+ 'KPVertr',
+ 'TZl',
+ ];
+ }
+}
diff --git a/app/Actions/Generate/GenerateNutzwerte.php b/app/Actions/Generate/GenerateNutzwerte.php
new file mode 100644
index 0000000..cc0b84a
--- /dev/null
+++ b/app/Actions/Generate/GenerateNutzwerte.php
@@ -0,0 +1,126 @@
+get()->first();
+ self::$gutachter = Gutachter::where('id', self::$projekt->gutachters_id)->get()->first();
+ self::$auftraggeber = Auftraggeber::where('id', self::$projekt->auftraggebers_id)->get()->first();
+
+ ob_start();
+
+ $mpdf = new Mpdf(
+ [
+ 'debug' => true,
+ 'mode' => 'utf-8',
+ 'format' => 'A4-P',
+ 'margin_left' => 10,
+ 'margin_right' => 10,
+ 'margin_top' => 12,
+ 'margin_bottom' => 20,
+ 'margin_header' => 0,
+ 'margin_footer' => 0,
+ ]
+ );
+ $stylesheet = file_get_contents(__DIR__.'/../../../resources/css/pdf-download.css');
+ $mpdf->WriteHTML($stylesheet, HTMLParserMode::HEADER_CSS);
+ $mpdf->SetTitle('Nutzwertgutachen '.self::$projekt->name);
+ $mpdf->SetCreator('www.nutzwertgutachen.at');
+ $mpdf->SetAuthor(self::$gutachter->adressenblock);
+
+ $inhalte = Inhaltsverzeichnis::where('projekts_id', $projekts_id)->where('is_active', 1)->orderBy('pos')->get();
+ if (count($inhalte) == 0) {
+ exit;
+ }
+ foreach ($inhalte as $inhalt) {
+
+ switch ($inhalt['kennung']) {
+
+ case 'tabelle_zu_abschlaege':
+ // Zu und Abschläge
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage('', '', $inhalt->seite);
+ $mpdf->SetHTMLFooter('
Seite {PAGENO}
');
+ }
+ $html = '';
+ $html .= '';
+ $html .= ZuUndAbschlaege::load($projekts_id);
+ $html .= '
';
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'nutzwertberechnung':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+
+ $html = '';
+ $html .= BerechnungM1M4::load($projekts_id);
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+
+ $html = BerechnungM5::load($projekts_id);
+ if ($html) {
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ }
+ break;
+
+ case 'zusammenstellung':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+ $html = '';
+ $html .= Zusammenstellung::load($projekts_id);
+ $html .= '
';
+ $html .= '';
+ $html .= '| '.self::$projekt->erstellung.' | ';
+ $html .= ''.self::$gutachter->kennung.' | ';
+ $html .= '
';
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'allgemeinflaechen':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+ $html = '';
+ $html .= Allgemeinflaechens::load($projekts_id);
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+ }
+ }
+
+ ob_clean();
+
+ $mpdf->Output($filepath, 'F');
+ }
+}
diff --git a/app/Actions/Generate/GenerateStandardTexte.php b/app/Actions/Generate/GenerateStandardTexte.php
new file mode 100644
index 0000000..40e7d78
--- /dev/null
+++ b/app/Actions/Generate/GenerateStandardTexte.php
@@ -0,0 +1,250 @@
+get()->first();
+ self::$gutachter = Gutachter::where('id', self::$projekt->gutachters_id)->get()->first();
+ self::$auftraggeber = Auftraggeber::where('id', self::$projekt->auftraggebers_id)->get()->first();
+ self::$platzhalter = Platzhalter::where('projekts_id', $projekts_id)->pluck('platzhaltertext', 'platzhalter')->toArray();
+
+ $mpdf = new Mpdf(
+ [
+ 'debug' => true,
+ 'mode' => 'utf-8',
+ 'format' => 'A4-P',
+ 'margin_left' => 10,
+ 'margin_right' => 10,
+ 'margin_top' => 12,
+ 'margin_bottom' => 20,
+ 'margin_header' => 0,
+ 'margin_footer' => 0,
+ ]
+ );
+
+ $stylesheet = file_get_contents(__DIR__.'/../../../resources/css/pdf-download.css');
+ $mpdf->WriteHTML($stylesheet, HTMLParserMode::HEADER_CSS);
+ $mpdf->SetTitle('Nutzwertgutachen '.self::$projekt->name);
+
+ $mpdf->SetTitle('Standardtexte '.self::$projekt->name);
+ $mpdf->SetCreator('www.nutzwertgutachten.at');
+ $mpdf->SetAuthor(self::$gutachter->adressenblock);
+
+ $inhalte = Inhaltsverzeichnis::where('projekts_id', $projekts_id)->where('is_active', 1)->orderBy('pos')->get();
+ if (count($inhalte) == 0) {
+ exit;
+ }
+ foreach ($inhalte as $inhalt) {
+
+ $standardtext = Standardtext::replace($inhalt['standardtext']);
+
+ switch ($inhalt['kennung']) {
+
+ case 'deckblatt':
+ $html = Deckblatt::load($standardtext);
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'inhalt':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ }
+ $html = Inhalt::load($standardtext);
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ break;
+
+ case 'allgemeineangaben':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+ $html = '';
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'auftraggeber':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+ $html = '';
+ $html .= trim(self::$auftraggeber->adressenblock);
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'zweck':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+ $html = '';
+ $html .= $standardtext;
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'ortsbesichtigung':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+ $html = '';
+ $html .= $standardtext;
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'unterlagen':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+ $html = '';
+ $html .= $standardtext;
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'befund':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+ $html = '';
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'grundbuchstand':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+ $html = '';
+ $html .= Tabelle::load($standardtext);
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'beschreibung':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+ $html = '';
+ $html .= $standardtext;
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'paragraph_6_teil_1':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+ $html = '';
+ $html .= $standardtext;
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'paragraph_6_tabelle':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ }
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ $html = '';
+ $html = Paragraph6Tabelle::load($projekts_id);
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'paragraph_6_teil_2':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+ $html = '';
+ $html .= $standardtext;
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'allgemeinflaechen_nach_p6':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+ $html = '';
+ $html .= AllgemeinTabelle::load($projekts_id);
+ $html .= '
';
+ $html .= '';
+ $html .= '| '.self::$projekt->erstellung.' | ';
+ $html .= ''.self::$gutachter->kennung.' | ';
+ $html .= '
';
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'gutachten':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ }
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ $html = '';
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'allgemeine-grundsaetze':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+ $html = '';
+ $html .= $standardtext;
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'allgemeine-bewertungen':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+ $html = '';
+ $html .= $standardtext;
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+
+ case 'zubehoer':
+ if ($inhalt['neue_seite']) {
+ $mpdf->AddPage();
+ $mpdf->SetHTMLFooter('Seite {PAGENO}
');
+ }
+ $html = '';
+ $html .= $standardtext;
+ $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
+ break;
+ }
+ }
+
+ ob_clean();
+
+ $mpdf->Output($filepath, 'F');
+ }
+}
diff --git a/app/Actions/Generate/Nutzwerte/Allgemeinflaechens.php b/app/Actions/Generate/Nutzwerte/Allgemeinflaechens.php
new file mode 100644
index 0000000..f238d1c
--- /dev/null
+++ b/app/Actions/Generate/Nutzwerte/Allgemeinflaechens.php
@@ -0,0 +1,47 @@
+';
+ $html .= '';
+ $html .= Html::td('Top', 'head bl bt bb');
+ $html .= Html::td('Raumart', 'head bl bt bb');
+ $html .= Html::td('Fläche', 'head center bl bt bb');
+ $html .= Html::td('', 'bl');
+ $html .= Html::td('Top', 'head bb bt bl');
+ $html .= Html::td('Type', 'head bt bl bb');
+ $html .= Html::td('Fläche', 'head center bl bt bb br');
+ $html .= '
';
+
+ $res = Allgemeinflaechen::select('geschoss', 'raumart', 'qm')->where('projekts_id', $projekts_id)->orderBy('geschoss')->orderBy('raumart')->get();
+
+ foreach ($res as $key => $allg) {
+ $bg = ($key % 4 == 2 || $key % 4 == 3) ? 'hellgrau' : '';
+ if ($key % 2 == 0) {
+ $html .= '';
+ $html .= Html::td($allg->geschoss, "bl bb br $bg");
+ $html .= Html::td($allg->raumart, "bb br $bg");
+ $html .= Html::td(Format::numeric($allg->qm, 2), "center bb br $bg");
+ $html .= Html::td('');
+ } else {
+ $html .= Html::td($allg->geschoss, "bl bb br $bg");
+ $html .= Html::td($allg->raumart, "bb br $bg");
+ $html .= Html::td(Format::numeric($allg->qm, 2), "center bb br $bg");
+ $html .= '
';
+ }
+ }
+
+ $html .= '';
+
+ return $html;
+ }
+}
diff --git a/app/Actions/Generate/Nutzwerte/BerechnungM1M4.php b/app/Actions/Generate/Nutzwerte/BerechnungM1M4.php
new file mode 100644
index 0000000..5b42f3d
--- /dev/null
+++ b/app/Actions/Generate/Nutzwerte/BerechnungM1M4.php
@@ -0,0 +1,262 @@
+where('nicht_in_orientierung', 0)
+ ->orderBy('top_nr')
+ ->get();
+
+ foreach ($res as $key => $_objekte) {
+ $raumorientierung_id = $_objekte->id;
+
+ $_raume_m1 = Raumalles::where('projekts_id', $projekts_id)->where('raumorientierung_id', $raumorientierung_id)->where('methodes_id', 1)->orderBy('raum')->get();
+ $_raume_m2 = Raumalles::where('projekts_id', $projekts_id)->where('raumorientierung_id', $raumorientierung_id)->whereIn('methodes_id', [2, 8])->get();
+ $_raume_m3 = Raumalles::where('projekts_id', $projekts_id)->where('raumorientierung_id', $raumorientierung_id)->whereIn('methodes_id', [3, 7])->get();
+
+ $pagebrake = \count($_raume_m1) + \count($_raume_m2) + \count($_raume_m3);
+ if ($pagebrake > 45) {
+ $html .= '';
+ } else {
+ $html .= '';
+ }
+ $html .= '';
+ $html .= Html::td('Top Nr.', 'head center bl bt w10p');
+ $html .= Html::td('Geschoß', 'head bt bb');
+ $html .= Html::td('Orientierung', 'head bt bb');
+ $html .= Html::td('Type', 'head bt bb');
+ $html .= Html::td('Raum', 'head bt bb');
+ $html .= Html::td('qm', 'head right bt bb');
+ $html .= Html::td('', 'head bt bb');
+ $html .= Html::td('Faktor', 'head bt bb');
+ $html .= Html::td('', 'head bt bb');
+ $html .= Html::td('Faktor', 'head bt bb');
+ $html .= Html::td('', 'head bt bb');
+ $html .= Html::td('Nw', 'head bt bb');
+ $html .= Html::td('Nw', 'head bt bb br');
+ $html .= '
';
+
+ /********************************************************
+ METHODE 1
+ ********************************************************/
+ foreach ($_raume_m1 as $key => $_raum) {
+ if ($key > 0) {
+ $_objekte['top_nr'] = '';
+ $_raum['geschoss'] = '';
+ $_objekte['orientierung'] = '';
+ $_objekte['type'] = '';
+ } else {
+ $oid = $_objekte['orientierungs_id'];
+ $_objekte['orientierung'] = $orientierung[$oid];
+ }
+
+ $html .= '';
+ $html .= Html::td($_objekte['top_nr'], 'head center bl br');
+ $html .= Html::td($_raum['geschoss'], 'br');
+ $html .= Html::td($_objekte['orientierung'], 'br');
+ $html .= Html::td($_objekte['type'], 'br');
+ $html .= Html::td($_raum['raum'], 'br');
+ $html .= Html::td(Format::numeric($_raum->qm, 2), 'right br');
+ $html .= Html::td('', 'br', 7);
+ $html .= '
';
+ }
+
+ $nutzwert_summe = 0;
+
+ /********************************************************
+ METHODE 2 + 2b
+ ********************************************************/
+ if (\count($_raume_m2) > 0) {
+ $html .= '';
+ $html .= Html::td('', 'head bl br');
+ $html .= Html::td('', 'br');
+ $html .= Html::td('', 'br');
+ $html .= Html::td('', 'br');
+ $html .= Html::td('', 'br');
+ $html .= Html::td(Format::numeric($_objekte->qm_m1, 2), 'right bt br bb');
+ $html .= Html::td('', 'bt br bb');
+ $html .= Html::td('', 'bt br bb');
+ $html .= Html::td('x', 'center bt br bb');
+ $html .= Html::td(Format::numeric($_objekte->factor, 3), 'right bt br bb');
+ $html .= Html::td('=', 'center bt br bb');
+
+ $nutzwert = $_objekte->qm_m1 * $_objekte->factor;
+ $html .= Html::td(Format::numeric($nutzwert, 3), 'right bt br bb');
+ $html .= Html::td(round($nutzwert), 'right center bt br bb');
+ $html .= '
';
+
+ $factor_summe = 0;
+ // $zunutzwert = 0;
+ foreach ($_raume_m2 as $key => $_raum) {
+ $html .= '';
+ $html .= Html::td('', 'head bl br');
+ $html .= Html::td('', 'br');
+ $html .= Html::td('', 'br');
+ $html .= Html::td('', 'br');
+ $html .= Html::td($_raum->raum, 'br');
+ $html .= Html::td(Format::numeric($_raum->qm, 2), 'right br bb');
+ $html .= Html::td('x', 'center br bb');
+ $html .= Html::td(Format::numeric($_raum->factor, 3), 'right br bb');
+
+ if ($_raum['tt_raumart_id'] == 2) {
+ // Methode 2 (2)
+ $html .= Html::td('x', 'center br bb');
+ $html .= Html::td(Format::numeric($_objekte->factor, 3), 'right br bb');
+ $html .= Html::td('=', 'center br bb');
+ $factor_summe += $_raum->qm * $_raum->factor * $_objekte->factor;
+ $html .= Html::td(Format::numeric($factor_summe, 3), 'right br bb');
+ } else {
+ // Methode 2b (8) )
+ $html .= Html::td('', 'br bb');
+ $html .= Html::td('', 'br bb');
+ $html .= Html::td('=', 'center br bb');
+ $factor_summe += $_raum->qm * $_raum->factor;
+ $html .= Html::td(Format::numeric($factor_summe, 3), 'right br bb');
+ }
+ $html .= Html::td('', 'br bb');
+ $html .= '
';
+ }
+ $ungerundet = $nutzwert + $factor_summe;
+
+ $nutzwert_summe = round($ungerundet);
+
+ // if ($zunutzwert) {
+ // $zunutzwert = $zunutzwert + $_objekte->qm_m1;
+ $html .= '';
+ $html .= Html::td('', 'head bl br');
+ $html .= Html::td('', 'br');
+ $html .= Html::td('', 'br');
+ $html .= Html::td('', 'br');
+ // $html .= '| Gesamtnutzfläche | ';
+ // $html .= ''.Format::numeric($zunutzwert, 2).' | ';
+ $html .= Html::td('', 'br');
+ $html .= Html::td('', 'br bb');
+ $html .= Html::td('', 'br bb');
+ $html .= Html::td('', 'br bb');
+ $html .= Html::td('', 'br bb');
+ $html .= Html::td('', 'br bb');
+ $html .= Html::td('', 'br bb');
+ $html .= Html::td(Format::numeric($ungerundet, 3), 'right br bb');
+ $html .= Html::td($nutzwert_summe, 'right br bb');
+ $html .= '
';
+ } else {
+
+ $ungerundet = $_objekte->qm_m1 * $_objekte->factor;
+ $nutzwert_summe = round($ungerundet);
+
+ $html .= '';
+ $html .= Html::td('', 'head bl br');
+ $html .= Html::td('', 'br');
+ $html .= Html::td('', 'br');
+ $html .= Html::td('', 'br');
+ $html .= Html::td('', 'br');
+ $html .= Html::td(Format::numeric($_objekte->qm_m1, 2), 'right bt br bb');
+ $html .= Html::td('x', 'center bt br');
+ $html .= Html::td(Format::numeric($_objekte->factor, 3), 'right bt br');
+ $html .= Html::td('', 'bt br');
+ $html .= Html::td('', 'bt br');
+ $html .= Html::td('=', 'center bt br');
+ $html .= Html::td(Format::numeric($ungerundet, 3), 'right bt br');
+ $html .= Html::td($nutzwert_summe, 'right bt br');
+ $html .= '
';
+ }
+
+ /********************************************************
+ METHODE 3 + 3b (3b wie Methode 3 aber ohne Wohnungsfactor)
+ ********************************************************/
+ if (\count($_raume_m3) > 0) {
+ foreach ($_raume_m3 as $key => $_raum) {
+ $html .= '';
+ $html .= Html::td('', 'head bl br');
+ $html .= Html::td($_raum->geschoss, 'br');
+ $html .= Html::td('', 'br');
+ $html .= Html::td('', 'br');
+ $html .= Html::td($_raum->raum, 'br');
+ $html .= Html::td(Format::numeric($_raum->qm, 2), 'right br');
+
+ // Methode 3
+ if ($_raum->methodes_id == 3) {
+ $html .= Html::td('x', 'center bt br');
+ $html .= Html::td(Format::numeric($_objekte->factor, 3), 'right bt br');
+ $html .= Html::td('x', 'center bt br');
+ $html .= Html::td(Format::numeric($_raum->factor, 3), 'right bt br');
+ $html .= Html::td('=', 'center bt br');
+ $nutzwert = $_raum->qm * $_raum->factor * $_objekte->factor;
+ $html .= Html::td(Format::numeric($nutzwert, 3), 'right bt br');
+ } else {
+ $html .= Html::td('', 'bt br');
+ $html .= Html::td('', 'bt br');
+ $html .= Html::td('x', 'center bt br');
+ $html .= Html::td(Format::numeric($_raum->factor, 3), 'right bt br');
+ $html .= Html::td('=', 'center bt br');
+ $nutzwert = $_raum->qm * $_raum->factor;
+ $html .= Html::td(Format::numeric($nutzwert, 3), 'right bt br');
+ }
+ $nutzwert = round($nutzwert) < 1 ? 1 : round($nutzwert);
+ $html .= Html::td($nutzwert, 'right bt br');
+ $html .= '
';
+ $nutzwert_summe += $nutzwert;
+ }
+ }
+
+ /********************************************************
+ METHODE 4
+ ********************************************************/
+ $_raume_m4 = Raumalles::where('projekts_id', $projekts_id)->where('raumorientierung_id', $raumorientierung_id)->where('methodes_id', 4)->get();
+ if (\count($_raume_m4) > 0) {
+
+ foreach ($_raume_m4 as $key => $_raum) {
+ $ungerunded = $_raum->qm * $_raum->factor;
+ $nutzwert = round($nutzwert) < 1 ? 1 : round($nutzwert);
+ $nutzwert_summe += $nutzwert;
+
+ $html .= '';
+ $html .= Html::td('', 'head bl bl br');
+ $html .= Html::td($_raum->geschoss, 'br');
+ $html .= Html::td('', 'br');
+ $html .= Html::td('Zubehör', 'br');
+ $html .= Html::td($_raum->raum, 'br');
+ $html .= Html::td(Format::numeric($_raum->qm, 2), 'right br');
+ $html .= Html::td('', 'bt br');
+ $html .= Html::td('', 'bt br');
+ $html .= Html::td('x', 'center bt br');
+ $html .= Html::td(Format::numeric($_raum->factor, 3), 'right bt br');
+ $html .= Html::td('=', 'center bt br');
+ $html .= Html::td(Format::numeric($ungerunded, 3), 'right bt br');
+ $html .= Html::td($nutzwert, 'right bt br');
+ $html .= '
';
+ }
+ }
+
+ // Fuß Zeile
+ $html .= '';
+ $html .= Html::td('', 'head bl bb');
+ $html .= Html::td('Nutzwert gerundet', 'head right bt bb', 11);
+ $html .= Html::td($nutzwert_summe, 'head right bt br bb');
+ $html .= '
';
+
+ // dd($raumorientierung_id, $nutzwert_summe);
+ Raumorientierung::where('id', $raumorientierung_id)->update(['nutzwert_summe' => $nutzwert_summe]);
+
+ $html .= '
';
+ }
+
+ return $html;
+ }
+}
diff --git a/app/Actions/Generate/Nutzwerte/BerechnungM5.php b/app/Actions/Generate/Nutzwerte/BerechnungM5.php
new file mode 100644
index 0000000..34822e4
--- /dev/null
+++ b/app/Actions/Generate/Nutzwerte/BerechnungM5.php
@@ -0,0 +1,91 @@
+where('nicht_in_orientierung', 1)
+ ->orderBy('top_nr')
+ ->get();
+
+ if ($result->isEmpty()) {
+ return;
+ }
+
+ foreach ($result as $key => $_objekte) {
+ $raumorientierung_id = $_objekte->id;
+
+ $_raume_m5 = Raumalles::where('projekts_id', $projekts_id)->where('raumorientierung_id', $raumorientierung_id)->whereIn('methodes_id', [5, 6, 9])->get();
+
+ $summe_nutzwert = 0;
+
+ if (\count($_raume_m5) > 0) {
+ $html .= '';
+ $html .= '';
+ $html .= Html::td('Top', 'head bl bt w10p');
+ $html .= Html::td('Geschoß', 'head bt bb');
+ $html .= Html::td('Type', 'head bt bb');
+ $html .= Html::td('qm', 'head center bt bb');
+ $html .= Html::td('', 'head bt bb');
+ $html .= Html::td('Faktor', 'head center bt bb');
+ $html .= Html::td('', 'head bt bb');
+ $html .= Html::td('', 'head bt bb');
+ $html .= Html::td('Nw', 'center head bt bb br');
+ $html .= '
';
+
+ // Methode 5
+ foreach ($_raume_m5 as $key => $_raum) {
+
+ if ($key > 0) {
+ $_objekte->top_nr = '';
+ $_raum->geschoss = '';
+ $_objekte->typ = '';
+ }
+
+ $html .= '';
+ $html .= Html::td($_objekte->top_nr, 'head center bl br');
+ $html .= Html::td($_raum->geschoss, 'br');
+ $html .= Html::td($_raum->raum, 'br');
+ $html .= Html::td(Format::numeric($_raum->qm, 2), 'center br');
+ $html .= Html::td('x', 'center br');
+ $html .= Html::td(Format::numeric($_raum->factor, 3), 'center br');
+ $html .= Html::td('=', 'center br');
+
+ $nutzwert = $_raum->qm * $_raum->factor;
+ $html .= Html::td(Format::numeric($nutzwert, 3), 'center br');
+
+ if ($_raum->methodes_id != 9) {
+ $html .= Html::td($nutzwert, 'center br');
+ } else {
+ $html .= Html::td('', 'br');
+ }
+ $html .= '
';
+
+ $summe_nutzwert += $nutzwert;
+ }
+
+ $summe_nutzwert = $summe_nutzwert < 1 ? 1 : round($summe_nutzwert);
+ $html .= '';
+ $html .= Html::td('', 'head bl bb');
+ $html .= Html::td('Nutzwert gerundet', 'head right bt bb', 7);
+ $html .= Html::td($summe_nutzwert, 'head right grau bt br bb');
+ $html .= '
';
+
+ $html .= '
';
+ }
+ }
+
+ return $html;
+ }
+}
diff --git a/app/Actions/Generate/Nutzwerte/BerechnungNutzwerte.php b/app/Actions/Generate/Nutzwerte/BerechnungNutzwerte.php
new file mode 100644
index 0000000..10dc498
--- /dev/null
+++ b/app/Actions/Generate/Nutzwerte/BerechnungNutzwerte.php
@@ -0,0 +1,141 @@
+where('nicht_in_orientierung', 0)
+ ->get();
+
+ foreach ($_raumorientierung as $raumorientierung) {
+
+ $_raumalles = Raumalles::where('raumorientierung_id', $raumorientierung->id)
+ ->where('projekts_id', $projekts_id)
+ ->whereIn('methodes_id', [3, 4, 5, 6, 7, 9])
+ ->get();
+
+ foreach ($_raumalles as $raumalle) {
+
+ $nutzwert_ungerundet = $raumalle->qm * $raumalle->factor;
+
+ switch ($raumalle->methodes_id) {
+ case '9':
+ Raumalles::where('id', $raumalle->id)
+ ->where('methodes_id', 9)
+ ->update(['nutzwert_ungerundet' => $nutzwert_ungerundet]);
+ break;
+ case '3':
+ $nutzwert_gerundet = round($raumalle->qm * $raumalle->factor * $raumorientierung->factor);
+ Raumalles::where('id', $raumalle->id)
+ ->where('methodes_id', 3)
+ ->update(['nutzwert_gerundet' => $nutzwert_ungerundet]);
+ break;
+ default:
+ $nutzwert_gerundet = round($raumalle->qm * $raumalle->factor);
+ Raumalles::where('id', $raumalle->id)
+ ->where('methodes_id', $raumalle->methodes_id)
+ ->update(['nutzwert_gerundet' => $nutzwert_gerundet]);
+ break;
+ }
+
+ Raumorientierung::where('id', $raumorientierung->id)
+ ->where('nutzwert_summe', 0)
+ ->update(['nutzwert_summe' => 1]);
+
+ $t1 = Raumalles::select('nutzwert_gerundet')
+ ->where('raumorientierung_id', $raumorientierung->id)
+ ->whereIn('methodes_id', [5, 6])
+ ->get()
+ ->sum('nutzwert_gerundet');
+ $t2 = Raumalles::select('nutzwert_ungerundet')
+ ->where('raumorientierung_id', $raumorientierung->id)
+ ->where('methodes_id', 9)
+ ->get()
+ ->sum('nutzwert_ungerundet');
+ $nutzwert_summe = round($t1 + $t2);
+
+ Raumorientierung::where('id', $raumorientierung->id)
+ ->update(['nutzwert_summe' => $nutzwert_summe]);
+ }
+ }
+
+ // METHODEN 1, 2, 2b , 3, 3b, 4
+ $_raumorientierung = Raumorientierung::where('projekts_id', $projekts_id)
+ ->where('nicht_in_orientierung', 0)
+ ->get();
+
+ foreach ($_raumorientierung as $raumorientierung) {
+
+ // METHODE 1
+ $qm_m1 = Raumalles::select('qm')
+ ->where('projekts_id', $projekts_id)
+ ->where('raumorientierung_id', $raumorientierung->id)
+ ->where('methodes_id', 1)
+ ->get()
+ ->sum('qm');
+
+ if ($qm_m1) {
+ Raumorientierung::where('id', $raumorientierung->id)
+ ->where('projekts_id', $projekts_id)
+ ->update(['qm_m1' => $qm_m1]);
+ }
+
+ // METHODE 1 & METHODE 2
+ $nw_m2 = Raumalles::select(DB::raw('sum(qm * factor) as total'))
+ ->where('projekts_id', $projekts_id)
+ ->where('raumorientierung_id', $raumorientierung->id)
+ ->where('methodes_id', 2)
+ ->get()
+ ->sum('total');
+
+ $nw_m8 = Raumalles::select(DB::raw('sum(qm * factor) as total'))
+ ->where('projekts_id', $projekts_id)
+ ->where('raumorientierung_id', $raumorientierung->id)
+ ->where('methodes_id', 8)
+ ->get()
+ ->sum('total');
+
+ $nw_m1_m2 = round((($qm_m1 + $nw_m2) * $raumorientierung->factor) + $nw_m8);
+
+ $nw_m3_m4 = Raumalles::select('nutzwert_gerundet')
+ ->where('projekts_id', $projekts_id)
+ ->where('raumorientierung_id', $raumorientierung->id)
+ ->whereIn('methodes_id', [3, 4, 7])
+ ->get()
+ ->sum('nutzwert_gerundet');
+
+ $nutzwert_summe = $nw_m1_m2 + $nw_m3_m4;
+ Raumorientierung::where('id', $raumorientierung->id)
+ ->update(['nutzwert_summe' => $nutzwert_summe]);
+ }
+ }
+}
diff --git a/app/Actions/Generate/Nutzwerte/ZuUndAbschlaege.php b/app/Actions/Generate/Nutzwerte/ZuUndAbschlaege.php
new file mode 100644
index 0000000..a0f0ce6
--- /dev/null
+++ b/app/Actions/Generate/Nutzwerte/ZuUndAbschlaege.php
@@ -0,0 +1,64 @@
+where('top_nr', '')->delete();
+ Raumorientierung::where('projekts_id', $projekts_id)->where('top_nr', 'like', '%---%')->delete();
+
+ // 3.21 Zu und Abschläge
+ $header_row = ['Top', 'Geschoß', 'Typ', 'Nutzfläche', 'Loggia / sonst. Zusatzflächen', 'Gesamtnutzfläche'];
+ $merkmale = Merkmale::merkmale($projekts_id);
+ $markmale_col = [];
+ foreach ($merkmale as $value) {
+ $markmale_col[] = $value['col'];
+ $header_row[] = $value['name'];
+ }
+ $header_row[] = 'Summe Merkmale';
+ $header_row[] = 'Wohnungsbewertung';
+ $html = Html::table_header_90($header_row);
+
+ $res = Raumalles::select('raumorientierung_id', 'geschoss')->where('projekts_id', $projekts_id)->where('methodes_id', 1)->get();
+ $geschoss = [];
+ foreach ($res as $value) {
+ $id = $value->raumorientierung_id;
+ $geschoss[$id] = $value['geschoss'];
+ }
+
+ $res = Raumorientierung::select()->where('projekts_id', $projekts_id)->where('nicht_in_orientierung', 0)->whereNotNull('top_nr')->orderBy('top_nr')->get();
+ foreach ($res as $value) {
+ $id = $value->id;
+ $html .= '';
+ $html .= Html::td($value->top_nr, 'left bl br bb');
+ $html .= Html::td($geschoss[$value['id']], 'center br bb');
+ $html .= Html::td($value->type, 'wp20 br bb');
+ // Nutzfläache
+ $html .= Html::td(Format::numeric($value->qm_m1, 2), 'right br bb');
+ // Loggia
+ $loggia = Raumalles::loggia($id);
+ $gesnutzfl = $loggia + $value->qm_m1;
+ $loggia = $loggia != 0 ? $loggia : '';
+ $html .= Html::td($loggia, 'right br bb');
+ // Gesammtnutzfläche = Nutzfläache + Loggia
+ $html .= Html::td(Format::numeric($gesnutzfl, 2), 'right br bb');
+ foreach ($markmale_col as $col) {
+ $tmp = (float) $value[$col] != 0 ? $value[$col] : '';
+ $html .= Html::td(Format::numeric($tmp, 2), 'right br bb');
+ }
+ $html .= Html::td(Format::numeric($value->summe_az, 2), 'right br bb');
+ $html .= Html::td(Format::numeric($value->bewertung, 2), 'right br bb');
+ $html .= '
';
+ }
+
+ return $html;
+ }
+}
diff --git a/app/Actions/Generate/Nutzwerte/Zusammenstellung.php b/app/Actions/Generate/Nutzwerte/Zusammenstellung.php
new file mode 100644
index 0000000..8c5cabf
--- /dev/null
+++ b/app/Actions/Generate/Nutzwerte/Zusammenstellung.php
@@ -0,0 +1,91 @@
+where('projekts_id', $projekts_id);
+ $nutzwert_summe = $res->sum('nutzwert_summe');
+
+ $summe_prozent = [];
+ $summe_nutzwert = [];
+
+ $html .= '';
+ $html .= '';
+ $html .= Html::td('Top', 'head bl bt bb');
+ $html .= Html::td('Geschoß', 'head bt bb');
+ $html .= Html::td('Orientierung', 'head bt bb');
+ $html .= Html::td('Type', 'head bt bb');
+ $html .= Html::td('NW', 'head center bt bb');
+ $html .= Html::td('x2 *', 'head center bt bb');
+ $html .= Html::td('%', 'head center bt bb br');
+ $html .= '
';
+
+ $res = Zusammenstellung_Methode1::load($projekts_id);
+
+ foreach ($res as $row) {
+ $str = '';
+ $prozent = '';
+ if ($nutzwert_summe > 0) {
+
+ $str = $row['nutzwert_summe'] * 2 .' / '.$nutzwert_summe * 2 .' tel Anteil =';
+
+ $tmp = ($row['nutzwert_summe'] * 2) / ($nutzwert_summe * 2) * 100;
+ $prozent = Format::numeric($tmp, 3).'%';
+ }
+ $summe_prozent[] = $tmp;
+ $summe_nutzwert[] = $row['nutzwert_summe'];
+
+ $html .= '';
+ $html .= Html::td($row['top_nr'], 'bl bb br');
+ $html .= Html::td($row['geschoss'], 'bb br');
+ $html .= Html::td($row['orientierung'], 'center bb br');
+ $html .= Html::td($row['type'], 'bb br');
+ $html .= Html::td(round($row['nutzwert_summe']), 'center bb br');
+ $html .= Html::td($str, 'center bb br');
+ $html .= Html::td($prozent, 'center bb br');
+ $html .= '
';
+ }
+
+ $_obj = Zusammenstellung_Methode5::load($projekts_id);
+
+ foreach ($_obj as $row) {
+ $row['nutzwert_summe2'] = $row['nutzwert_summe'] * 2 .' / '.$nutzwert_summe * 2 .' tel Anteil =';
+ $tmp = ($row['nutzwert_summe'] * 2) / ($nutzwert_summe * 2) * 100;
+ $row['prozent'] = Format::numeric($tmp, 3).'%';
+
+ $summe_prozent[] = $tmp;
+ $summe_nutzwert[] = $row['nutzwert_summe'];
+
+ $html .= '';
+ $html .= Html::td($row['top_nr'], 'bl bb br');
+ $html .= Html::td($row['geschoss'], 'bb br');
+ $html .= Html::td($row['orientierung'], 'center bb br');
+ $html .= Html::td($row['type'], 'bb br');
+ $html .= Html::td(round($row['nutzwert_summe']), 'center bb br');
+ $html .= Html::td($row['nutzwert_summe2'], 'center bb br');
+ $html .= Html::td($row['prozent'], 'center bb br');
+ $html .= '
';
+ }
+
+ $html .= '';
+ $html .= Html::td('', 'head bl bb', 4);
+ $html .= Html::td(array_sum($summe_nutzwert), 'head center bb');
+ $html .= Html::td(array_sum($summe_nutzwert) * 2 .'/'.round($nutzwert_summe) * 2 .' tel Anteil =', 'head center bb');
+ $html .= Html::td(round(array_sum($summe_prozent)).'%', 'head center bb br');
+ $html .= '
';
+ $html .= '
';
+ $html .= '* Die Anteile wurden verdoppelt, sodaß die Mindestanteile jederzeit durch zwei geteilt werden können.';
+
+ return $html;
+ }
+}
diff --git a/app/Actions/Generate/Nutzwerte/Zusammenstellung_Methode1.php b/app/Actions/Generate/Nutzwerte/Zusammenstellung_Methode1.php
new file mode 100644
index 0000000..744bb7e
--- /dev/null
+++ b/app/Actions/Generate/Nutzwerte/Zusammenstellung_Methode1.php
@@ -0,0 +1,43 @@
+where('projekts_id', $projekts_id)->where('methodes_id', '1')->groupBy('raumorientierung_id', 'geschoss')->get();
+ $geschoss = [];
+ $raumorientierung_ids = [];
+ foreach ($res as $value) {
+ $geschoss[$value->raumorientierung_id][] = $value->geschoss;
+ $raumorientierung_ids[] = $value->raumorientierung_id;
+ }
+
+ $orientierung = Orientierung::map();
+ $orientierung[1] = '';
+
+ $res = Raumorientierung::where('projekts_id', $projekts_id)->whereIn('id', $raumorientierung_ids)->orderBy('top_nr')->get();
+
+ $return = [];
+ foreach ($res as $value) {
+ $tmp = [];
+ $tmp['id'] = $value->id;
+ $tmp['top_nr'] = $value->top_nr;
+ $tmp['type'] = $value->type;
+ $tmp['nutzwert_summe'] = $value->nutzwert_summe;
+ $tmp['orientierung'] = $orientierung[$value->orientierungs_id];
+ $tmp['geschoss'] = '';
+ if (isset($geschoss[$value['id']])) {
+ $tmp['geschoss'] = implode(',', $geschoss[$value->id]);
+ }
+ $return[] = $tmp;
+ }
+
+ return $return;
+ }
+}
diff --git a/app/Actions/Generate/Nutzwerte/Zusammenstellung_Methode5.php b/app/Actions/Generate/Nutzwerte/Zusammenstellung_Methode5.php
new file mode 100644
index 0000000..328c65d
--- /dev/null
+++ b/app/Actions/Generate/Nutzwerte/Zusammenstellung_Methode5.php
@@ -0,0 +1,65 @@
+where('projekts_id', $projekts_id)->whereIn('methodes_id', [5, 9])->groupBy('raumorientierung_id', 'geschoss')->get();
+ $geschoss = [];
+ $raumorientierung_ids = [];
+ foreach ($res as $value) {
+ $geschoss[$value->raumorientierung_id][] = $value->geschoss;
+ $raumorientierung_ids[] = $value->raumorientierung_id;
+ }
+
+ $res = Raumalles::select('raumorientierung_id', 'raum')->where('projekts_id', $projekts_id)->whereIn('methodes_id', [5, 9])->get();
+ $type = [];
+ foreach ($res as $value) {
+ $type[$value->raumorientierung_id] = $value->raum;
+ }
+
+ $res = Raumorientierung::where('projekts_id', $projekts_id)->whereIn('id', $raumorientierung_ids)->orderBy('top_nr')->get();
+ $return = [];
+ foreach ($res as $value) {
+ $tmp = [];
+ $tmp['id'] = $value->id;
+ $tmp['top_nr'] = $value->top_nr;
+ $tmp['type'] = '';
+ if (isset($type[$value->id])) {
+ $tmp['type'] = $type[$value->id];
+ }
+ $tmp['nutzwert_summe'] = $value->nutzwert_summe;
+ $tmp['orientierung'] = '';
+ $tmp['geschoss'] = '';
+ if (isset($geschoss[$value['id']])) {
+ $tmp['geschoss'] = implode(',', $geschoss[$value->id]);
+ }
+ $return[] = $tmp;
+ }
+
+ return $return;
+ }
+}
diff --git a/app/Actions/Generate/StandardTexte/AllgemeinTabelle.php b/app/Actions/Generate/StandardTexte/AllgemeinTabelle.php
new file mode 100644
index 0000000..fc10716
--- /dev/null
+++ b/app/Actions/Generate/StandardTexte/AllgemeinTabelle.php
@@ -0,0 +1,46 @@
+where('projekts_id', $projekts_id)->get()->toArray();
+
+ $_data = array_chunk($_allgemeine, 2);
+
+ $html = '
';
+ $html .= '';
+ $html .= Html::td('Geschoß', 'head bl bt wp10');
+ $html .= Html::td('Typ', 'head bl bt wp25');
+ $html .= Html::td('Fläche', 'head bl bt br wp10');
+ $html .= ' | ';
+ $html .= Html::td('Geschoß', 'head bl bt wp10');
+ $html .= Html::td('Typ', 'head bl bt wp25');
+ $html .= Html::td('Fläche', 'head bl bt br wp10');
+ $html .= '
';
+
+ foreach ($_data as $value) { //
+ $html .= '';
+ if (isset($value[0])) {
+ $html .= Html::td($value[0]['geschoss'], 'bl bb');
+ $html .= Html::td($value[0]['raumart'], 'bl bb');
+ $html .= Html::td($value[0]['qm'], 'bl bb br');
+ $html .= ' | ';
+ }
+ if (isset($value[1])) {
+ $html .= Html::td($value[1]['geschoss'], 'bl bb');
+ $html .= Html::td($value[1]['raumart'], 'bl bb');
+ $html .= Html::td($value[1]['qm'], 'bl bb br');
+ }
+ $html .= '
';
+ }
+ $html .= '
';
+
+ return $html;
+ }
+}
diff --git a/app/Actions/Generate/StandardTexte/Deckblatt.php b/app/Actions/Generate/StandardTexte/Deckblatt.php
new file mode 100644
index 0000000..a3b276a
--- /dev/null
+++ b/app/Actions/Generate/StandardTexte/Deckblatt.php
@@ -0,0 +1,39 @@
+';
+ if (GenerateStandardTexte::$gutachter->kopf == 'adressenblock') {
+ $html .= ''.GenerateStandardTexte::$gutachter->adressenblock.'
';
+ } elseif (GenerateStandardTexte::$gutachter->kopf == 'logo') {
+ $html .= '';
+ $html .= '
.'/storage/'.GenerateStandardTexte::$gutachter->clientlogo.')
';
+ $html .= '
';
+ }
+ $html .= '';
+
+ // TITEL
+ $html .= 'Gutachten';
+ $html .= '
'.trim(GenerateStandardTexte::$projekt->name).'
';
+ $html .= '
';
+
+ // PROJEKT
+ $html .= 'Zur Festsetzung der Nutzwerte';
+ $html .= '
'.trim($standardtext).'
';
+ $html .= '
';
+
+ // AUFTRAGGEBER
+ $html .= '';
+ $html .= GenerateStandardTexte::$auftraggeber->adressenblock;
+ $html .= '
';
+
+ return $html;
+ }
+}
diff --git a/app/Actions/Generate/StandardTexte/Inhalt.php b/app/Actions/Generate/StandardTexte/Inhalt.php
new file mode 100644
index 0000000..cc8b47f
--- /dev/null
+++ b/app/Actions/Generate/StandardTexte/Inhalt.php
@@ -0,0 +1,45 @@
+INHALTSVERZEICHNIS';
+
+ $standardtext = strip_tags($standardtext, '
');
+
+ $standardtext = str_replace('
', '§§', $standardtext);
+ $standardtext = str_replace('
', '§§', $standardtext);
+ $standardtext = str_replace('
', '§§', $standardtext);
+
+ $arr = explode('§§', $standardtext);
+
+ $html .= '';
+
+ foreach ($arr as $value) {
+
+ $tmp = explode('|', $value);
+
+ $tmp[0] = $tmp[0] ?? '';
+ $tmp[1] = $tmp[1] ?? '';
+ $tmp[2] = $tmp[2] ?? '';
+ $tmp[3] = $tmp[3] ?? '';
+
+ $html .= '';
+ $html .= Html::td($tmp[0]);
+ $html .= Html::td($tmp[1]);
+ $html .= Html::td($tmp[2]);
+ $html .= Html::td($tmp[3]);
+ $html .= '
';
+
+ }
+
+ $html .= '
';
+
+ return $html;
+ }
+}
diff --git a/app/Actions/Generate/StandardTexte/Paragraph6Tabelle.php b/app/Actions/Generate/StandardTexte/Paragraph6Tabelle.php
new file mode 100644
index 0000000..5565891
--- /dev/null
+++ b/app/Actions/Generate/StandardTexte/Paragraph6Tabelle.php
@@ -0,0 +1,44 @@
+join('raumalles', 'raumorientierung.id', '=', 'raumalles.raumorientierung_id')
+ ->join('orientierungs', 'raumorientierung.orientierungs_id', '=', 'orientierungs.id')
+ ->select('raumorientierung.top_nr', 'raumorientierung.type', 'raumalles.geschoss', 'orientierungs.name')
+ ->where('raumorientierung.projekts_id', $projekts_id)
+ ->whereIn('raumalles.methodes_id', [1, 5, 6, 9])
+ ->groupBy('raumorientierung.id')
+ ->orderBy('raumalles.methodes_id', 'ASC')
+ ->orderBy('raumorientierung.top_nr', 'ASC')
+ ->get();
+
+ $html = '';
+
+ $html .= '';
+ $html .= Html::td('Top', 'head center br bb');
+ $html .= Html::td('Geschoß', 'head center br bb');
+ $html .= Html::td('Orientierung', 'head center br bb');
+ $html .= Html::td('Typ', 'head center br bb');
+ $html .= '
';
+ foreach ($data as $value) {
+
+ $html .= '';
+ $html .= Html::td($value->top_nr, 'center br bb');
+ $html .= Html::td($value->geschoss, 'center br bb');
+ $html .= Html::td(($value->name == 'Ohne Zuordnung') ? '' : $value->name, 'center br bb');
+ $html .= Html::td($value->type, 'center br bb');
+ $html .= '
';
+ }
+ $html .= '
';
+
+ return $html;
+ }
+}
diff --git a/app/Actions/Generate/StandardTexte/Standardtext.php b/app/Actions/Generate/StandardTexte/Standardtext.php
new file mode 100644
index 0000000..91eb627
--- /dev/null
+++ b/app/Actions/Generate/StandardTexte/Standardtext.php
@@ -0,0 +1,13 @@
+');
+
+ $standardtext = str_replace('
', '§§', $standardtext);
+ $standardtext = str_replace('
', '§§', $standardtext);
+ $standardtext = str_replace('
', '§§', $standardtext);
+
+ $arr = explode('§§', $standardtext);
+
+ $html = '';
+
+ foreach ($arr as $value) {
+
+ $tmp = explode('|', $value);
+
+ $tmp[0] = $tmp[0] ?? '';
+ $tmp[1] = $tmp[1] ?? '';
+
+ $html .= '';
+ $html .= Html::td($tmp[0], 'br bb');
+ $html .= Html::td($tmp[1], 'br bb');
+ $html .= '
';
+
+ }
+
+ $html .= '
';
+
+ return $html;
+ }
+}
diff --git a/app/Filament/Resources/Auftraggebers/Pages/ListAuftraggebers.php b/app/Filament/Resources/Auftraggebers/Pages/ListAuftraggebers.php
index 4d8c63b..e5b7d0e 100644
--- a/app/Filament/Resources/Auftraggebers/Pages/ListAuftraggebers.php
+++ b/app/Filament/Resources/Auftraggebers/Pages/ListAuftraggebers.php
@@ -13,7 +13,9 @@ class ListAuftraggebers extends ListRecords
protected function getHeaderActions(): array
{
return [
- CreateAction::make()->createAnother(false),
+ CreateAction::make()
+ ->icon('phosphor-file-plus')
+ ->createAnother(false),
];
}
}
diff --git a/app/Filament/Resources/Gutachters/Pages/ListGutachters.php b/app/Filament/Resources/Gutachters/Pages/ListGutachters.php
index 72de18c..e009e6b 100644
--- a/app/Filament/Resources/Gutachters/Pages/ListGutachters.php
+++ b/app/Filament/Resources/Gutachters/Pages/ListGutachters.php
@@ -13,7 +13,9 @@ class ListGutachters extends ListRecords
protected function getHeaderActions(): array
{
return [
- CreateAction::make()->createAnother(false),
+ CreateAction::make()
+ ->icon('phosphor-file-plus')
+ ->createAnother(false),
];
}
}
diff --git a/app/Filament/Resources/Inhaltsverzeichnis/Pages/ListInhaltsverzeichnis.php b/app/Filament/Resources/Inhaltsverzeichnis/Pages/ListInhaltsverzeichnis.php
index f326901..beb2ea8 100644
--- a/app/Filament/Resources/Inhaltsverzeichnis/Pages/ListInhaltsverzeichnis.php
+++ b/app/Filament/Resources/Inhaltsverzeichnis/Pages/ListInhaltsverzeichnis.php
@@ -13,7 +13,9 @@ class ListInhaltsverzeichnis extends ListRecords
protected function getHeaderActions(): array
{
return [
- CreateAction::make()->createAnother(false),
+ CreateAction::make()
+ ->icon('phosphor-file-plus')
+ ->createAnother(false),
];
}
}
diff --git a/app/Filament/Resources/KontoTextblocks/Pages/ListKontoTextblocks.php b/app/Filament/Resources/KontoTextblocks/Pages/ListKontoTextblocks.php
index d0160e0..ce9fba7 100644
--- a/app/Filament/Resources/KontoTextblocks/Pages/ListKontoTextblocks.php
+++ b/app/Filament/Resources/KontoTextblocks/Pages/ListKontoTextblocks.php
@@ -13,7 +13,9 @@ class ListKontoTextblocks extends ListRecords
protected function getHeaderActions(): array
{
return [
- CreateAction::make(),
+ CreateAction::make()
+ ->icon('phosphor-file-plus')
+ ->createAnother(false),
];
}
}
diff --git a/app/Filament/Resources/Methodes/Pages/ListMethodes.php b/app/Filament/Resources/Methodes/Pages/ListMethodes.php
index f191682..a0510cc 100644
--- a/app/Filament/Resources/Methodes/Pages/ListMethodes.php
+++ b/app/Filament/Resources/Methodes/Pages/ListMethodes.php
@@ -13,7 +13,9 @@ class ListMethodes extends ListRecords
protected function getHeaderActions(): array
{
return [
- // CreateAction::make(),
+ // CreateAction::make()
+ // ->icon('phosphor-file-plus')
+ // ->createAnother(false),
];
}
}
diff --git a/app/Filament/Resources/Orientierungs/Pages/ListOrientierungs.php b/app/Filament/Resources/Orientierungs/Pages/ListOrientierungs.php
index 5989829..ec9876a 100644
--- a/app/Filament/Resources/Orientierungs/Pages/ListOrientierungs.php
+++ b/app/Filament/Resources/Orientierungs/Pages/ListOrientierungs.php
@@ -13,7 +13,9 @@ class ListOrientierungs extends ListRecords
protected function getHeaderActions(): array
{
return [
- CreateAction::make()->createAnother(false),
+ CreateAction::make()
+ ->icon('phosphor-file-plus')
+ ->createAnother(false),
];
}
}
diff --git a/app/Filament/Resources/Permissions/Pages/ListPermissions.php b/app/Filament/Resources/Permissions/Pages/ListPermissions.php
index 4d05b04..26b59af 100644
--- a/app/Filament/Resources/Permissions/Pages/ListPermissions.php
+++ b/app/Filament/Resources/Permissions/Pages/ListPermissions.php
@@ -13,7 +13,9 @@ class ListPermissions extends ListRecords
protected function getHeaderActions(): array
{
return [
- // CreateAction::make(),
+ // CreateAction::make()
+ // ->icon('phosphor-file-plus')
+ // ->createAnother(false),
];
}
}
diff --git a/app/Filament/Resources/Plans/Pages/ListPlans.php b/app/Filament/Resources/Plans/Pages/ListPlans.php
index f879fdc..20c30c0 100644
--- a/app/Filament/Resources/Plans/Pages/ListPlans.php
+++ b/app/Filament/Resources/Plans/Pages/ListPlans.php
@@ -13,7 +13,9 @@ class ListPlans extends ListRecords
protected function getHeaderActions(): array
{
return [
- // CreateAction::make(),
+ // CreateAction::make()
+ // ->icon('phosphor-file-plus')
+ // ->createAnother(false),
];
}
}
diff --git a/app/Filament/Resources/Projektes/Pages/EditProjekte.php b/app/Filament/Resources/Projektes/Pages/EditProjekte.php
index 44da3c9..e79126e 100644
--- a/app/Filament/Resources/Projektes/Pages/EditProjekte.php
+++ b/app/Filament/Resources/Projektes/Pages/EditProjekte.php
@@ -3,6 +3,8 @@
namespace App\Filament\Resources\Projektes\Pages;
use App\Filament\Resources\Projektes\ProjekteResource;
+use Filament\Actions\Action;
+use Filament\Actions\ActionGroup;
use Filament\Actions\DeleteAction;
use Filament\Resources\Pages\EditRecord;
@@ -13,10 +15,48 @@ class EditProjekte extends EditRecord
protected function getHeaderActions(): array
{
return [
- DeleteAction::make(),
+ Action::make('standardtexte')
+ ->label('Standard Texte')
+ ->icon('icon-pdf')
+ ->url(fn ($record) => route('standard.download', ['record' => $record, 'mode' => 'file']))
+ ->openUrlInNewTab(),
+ Action::make('nutzwerte')
+ ->label('Nutzwerte')
+ ->icon('icon-pdf')
+ ->url(fn ($record) => route('nutzwerte.download', ['record' => $record, 'mode' => 'file']))
+ ->openUrlInNewTab(),
+ Action::make('nutzwerte_excel')
+ ->label('Nutzdaten')
+ ->color('success')
+ ->icon('icon-excel')
+ ->url(fn ($record) => route('excel.download', ['record' => $record, 'mode' => 'file']))
+ ->openUrlInNewTab(),
+ ActionGroup::make([
+ Action::make('generator_standardtexte')
+ ->label('Standards Generieren')
+ ->icon('heroicon-o-cog-8-tooth')
+ ->url(fn ($record) => route('standard.download', ['record' => $record, 'mode' => 'new']))
+ ->openUrlInNewTab(),
+ Action::make('generator_nutzwerte')
+ ->label('Nutzwerte Generieren')
+ ->icon('heroicon-o-cog-8-tooth')
+ ->url(fn ($record) => route('nutzwerte.download', ['record' => $record, 'mode' => 'new']))
+ ->openUrlInNewTab(),
+ Action::make('nutzwerte_excel')
+ ->label('Excel Generieren')
+ ->icon('heroicon-o-cog-8-tooth')
+ ->url(fn ($record) => route('excel.download', ['record' => $record, 'mode' => 'new']))
+ ->openUrlInNewTab(),
+ DeleteAction::make()->label('Projekt löschen'),
+ ]),
];
}
+ protected function getSavedNotificationTitle(): ?string
+ {
+ return 'Projekt Änderungen gespeichert';
+ }
+
// protected function getFormActions(): array
// {
// return [
diff --git a/app/Filament/Resources/Projektes/Pages/ListProjektes.php b/app/Filament/Resources/Projektes/Pages/ListProjektes.php
index 19287ca..95b94f2 100644
--- a/app/Filament/Resources/Projektes/Pages/ListProjektes.php
+++ b/app/Filament/Resources/Projektes/Pages/ListProjektes.php
@@ -15,6 +15,7 @@ class ListProjektes extends ListRecords
{
return [
CreateAction::make()
+ ->icon('phosphor-file-plus')
->createAnother(false)
->mutateDataUsing(function (array $data): array {
$data['konto_id'] = auth()->user()->konto_id;
diff --git a/app/Filament/Resources/Projektes/RelationManagers/AllgemeinflaechensRelationManager.php b/app/Filament/Resources/Projektes/RelationManagers/AllgemeinflaechensRelationManager.php
index 9bc6d4e..16c4d6e 100644
--- a/app/Filament/Resources/Projektes/RelationManagers/AllgemeinflaechensRelationManager.php
+++ b/app/Filament/Resources/Projektes/RelationManagers/AllgemeinflaechensRelationManager.php
@@ -75,7 +75,8 @@ class AllgemeinflaechensRelationManager extends RelationManager
])
->headerActions([
CreateAction::make()
- ->icon('phosphor-file-plus'),
+ ->icon('phosphor-file-plus')
+ ->createAnother(false),
ImportAction::make()
->importer(AllgemeinflaechenImporter::class)
->modalHeading('Allgemeinflächen Import')
diff --git a/app/Filament/Resources/Projektes/RelationManagers/ProjektInhaltsverzeichnisRelationManager.php b/app/Filament/Resources/Projektes/RelationManagers/ProjektInhaltsverzeichnisRelationManager.php
index a881819..afce179 100644
--- a/app/Filament/Resources/Projektes/RelationManagers/ProjektInhaltsverzeichnisRelationManager.php
+++ b/app/Filament/Resources/Projektes/RelationManagers/ProjektInhaltsverzeichnisRelationManager.php
@@ -157,7 +157,9 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager
//
])
->headerActions([
- CreateAction::make(),
+ CreateAction::make()
+ ->icon('phosphor-file-plus')
+ ->createAnother(false),
])
->recordActions([
EditAction::make('edit')->iconButton()->color('gray'),
diff --git a/app/Filament/Resources/Projektes/RelationManagers/RaeumeallesRelationManager.php b/app/Filament/Resources/Projektes/RelationManagers/RaeumeallesRelationManager.php
index 7d57955..d78b6d9 100644
--- a/app/Filament/Resources/Projektes/RelationManagers/RaeumeallesRelationManager.php
+++ b/app/Filament/Resources/Projektes/RelationManagers/RaeumeallesRelationManager.php
@@ -97,7 +97,8 @@ class RaeumeallesRelationManager extends RelationManager
// ], layout: FiltersLayout::AboveContentCollapsible)
->headerActions([
CreateAction::make()
- ->icon('phosphor-file-plus'),
+ ->icon('phosphor-file-plus')
+ ->createAnother(false),
ImportAction::make()
->importer(RaeumealleImporter::class)
->label('Hochladen')
diff --git a/app/Filament/Resources/Textblocks/Pages/ListTextblocks.php b/app/Filament/Resources/Textblocks/Pages/ListTextblocks.php
index 32efc43..9146c1a 100644
--- a/app/Filament/Resources/Textblocks/Pages/ListTextblocks.php
+++ b/app/Filament/Resources/Textblocks/Pages/ListTextblocks.php
@@ -13,7 +13,9 @@ class ListTextblocks extends ListRecords
protected function getHeaderActions(): array
{
return [
- CreateAction::make()->createAnother(false),
+ CreateAction::make()
+ ->icon('phosphor-file-plus')
+ ->createAnother(false),
];
}
}
diff --git a/app/Filament/Resources/Users/Pages/ListUsers.php b/app/Filament/Resources/Users/Pages/ListUsers.php
index ac30e03..df5d61b 100644
--- a/app/Filament/Resources/Users/Pages/ListUsers.php
+++ b/app/Filament/Resources/Users/Pages/ListUsers.php
@@ -14,6 +14,8 @@ class ListUsers extends ListRecords
{
return [
CreateAction::make()
+ ->icon('phosphor-file-plus')
+ ->createAnother(false)
->mutateDataUsing(function (array $data): array {
$data['konto_id'] = auth()->user()->konto_id;
diff --git a/bootstrap/cache/blade-icons.php b/bootstrap/cache/blade-icons.php
index b21f1c7..3c5c682 100755
--- a/bootstrap/cache/blade-icons.php
+++ b/bootstrap/cache/blade-icons.php
@@ -1,7 +1,7 @@
array (
- '/Users/salam/Sites/nutzwerte_fi4/vendor/blade-ui-kit/blade-heroicons/src/../resources/svg' =>
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/vendor/blade-ui-kit/blade-heroicons/src/../resources/svg' =>
array (
0 => 'c-academic-cap',
1 => 'c-adjustments-horizontal',
@@ -1295,7 +1295,7 @@
),
'phosphor-icons' =>
array (
- '/Users/salam/Sites/nutzwerte_fi4/vendor/codeat3/blade-phosphor-icons/src/../resources/svg' =>
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/vendor/codeat3/blade-phosphor-icons/src/../resources/svg' =>
array (
0 => 'acorn-bold',
1 => 'acorn-duotone',
@@ -10373,7 +10373,7 @@
),
'filament' =>
array (
- '/Users/salam/Sites/nutzwerte_fi4/vendor/filament/support/src/../resources/svg' =>
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/vendor/filament/support/src/../resources/svg' =>
array (
0 => 'o-align-center',
1 => 'o-align-end',
@@ -10410,7 +10410,7 @@
),
'lucide' =>
array (
- '/Users/salam/Sites/nutzwerte_fi4/vendor/mallardduck/blade-lucide-icons/src/../resources/svg' =>
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/vendor/mallardduck/blade-lucide-icons/src/../resources/svg' =>
array (
0 => 'a-arrow-down',
1 => 'a-arrow-up',
diff --git a/bootstrap/cache/config.php b/bootstrap/cache/config.php
index bcff738..b970f2e 100644
--- a/bootstrap/cache/config.php
+++ b/bootstrap/cache/config.php
@@ -81,9 +81,9 @@
array (
'paths' =>
array (
- 0 => '/Users/salam/Sites/nutzwerte_fi4/resources/views',
+ 0 => '/Users/hermanntelser/Sites/nutzwerte_fi4/resources/views',
),
- 'compiled' => '/Users/salam/Sites/nutzwerte_fi4/storage/framework/views',
+ 'compiled' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/framework/views',
),
'cors' =>
array (
@@ -124,9 +124,9 @@
'timezone' => 'UTC',
'locale' => 'de',
'fallback_locale' => 'en',
- 'faker_locale' => 'de_AT',
+ 'faker_locale' => 'at_AT',
'cipher' => 'AES-256-CBC',
- 'key' => 'base64:zrVnUcBmUGjEV/EoAKnZCm/1FWplKu79kYBvevE2/ek=',
+ 'key' => 'base64:yRi9h21i7xAkGpeF7JoArovQJU1w6xwczQ6ijpYpJrs=',
'previous_keys' =>
array (
),
@@ -274,8 +274,8 @@
'file' =>
array (
'driver' => 'file',
- 'path' => '/Users/salam/Sites/nutzwerte_fi4/storage/framework/cache/data',
- 'lock_path' => '/Users/salam/Sites/nutzwerte_fi4/storage/framework/cache/data',
+ 'path' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/framework/cache/data',
+ 'lock_path' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/framework/cache/data',
),
'memcached' =>
array (
@@ -486,7 +486,7 @@
),
'policies' =>
array (
- 'path' => '/Users/salam/Sites/nutzwerte_fi4/app/Policies',
+ 'path' => '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Policies',
'merge' => true,
'generate' => true,
'methods' =>
@@ -574,7 +574,7 @@
'local' =>
array (
'driver' => 'local',
- 'root' => '/Users/salam/Sites/nutzwerte_fi4/storage/app/private',
+ 'root' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/app/private',
'serve' => true,
'throw' => false,
'report' => false,
@@ -582,7 +582,7 @@
'public' =>
array (
'driver' => 'local',
- 'root' => '/Users/salam/Sites/nutzwerte_fi4/storage/app/public',
+ 'root' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/app/public',
'url' => 'http://nutzwerte_fi4.test/storage',
'visibility' => 'public',
'throw' => false,
@@ -604,7 +604,7 @@
'promotion' =>
array (
'driver' => 'local',
- 'root' => '/Users/salam/Sites/nutzwerte_fi4/storage/app/public/promotion',
+ 'root' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/app/public/promotion',
'url' => 'http://nutzwerte_fi4.test/storage/promotion',
'visibility' => 'public',
'throw' => false,
@@ -612,7 +612,7 @@
),
'links' =>
array (
- '/Users/salam/Sites/nutzwerte_fi4/public/storage' => '/Users/salam/Sites/nutzwerte_fi4/storage/app/public',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/public/storage' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/app/public',
),
),
'logging' =>
@@ -637,14 +637,14 @@
'single' =>
array (
'driver' => 'single',
- 'path' => '/Users/salam/Sites/nutzwerte_fi4/storage/logs/laravel.log',
+ 'path' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/logs/laravel.log',
'level' => 'debug',
'replace_placeholders' => true,
),
'daily' =>
array (
'driver' => 'daily',
- 'path' => '/Users/salam/Sites/nutzwerte_fi4/storage/logs/laravel.log',
+ 'path' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/logs/laravel.log',
'level' => 'debug',
'days' => 14,
'replace_placeholders' => true,
@@ -709,7 +709,7 @@
),
'emergency' =>
array (
- 'path' => '/Users/salam/Sites/nutzwerte_fi4/storage/logs/laravel.log',
+ 'path' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/logs/laravel.log',
),
),
),
@@ -808,7 +808,7 @@
'theme' => 'default',
'paths' =>
array (
- 0 => '/Users/salam/Sites/nutzwerte_fi4/resources/views/vendor/mail',
+ 0 => '/Users/hermanntelser/Sites/nutzwerte_fi4/resources/views/vendor/mail',
),
),
),
@@ -984,7 +984,7 @@
'lifetime' => 120,
'expire_on_close' => false,
'encrypt' => false,
- 'files' => '/Users/salam/Sites/nutzwerte_fi4/storage/framework/sessions',
+ 'files' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/framework/sessions',
'connection' => NULL,
'table' => 'sessions',
'store' => NULL,
@@ -1048,7 +1048,7 @@
),
'default_filesystem_disk' => 'local',
'assets_path' => NULL,
- 'cache_path' => '/Users/salam/Sites/nutzwerte_fi4/bootstrap/cache/filament',
+ 'cache_path' => '/Users/hermanntelser/Sites/nutzwerte_fi4/bootstrap/cache/filament',
'livewire_loading_delay' => 'default',
'file_generation' =>
array (
@@ -1061,7 +1061,7 @@
'livewire' =>
array (
'class_namespace' => 'App\\Livewire',
- 'view_path' => '/Users/salam/Sites/nutzwerte_fi4/resources/views/livewire',
+ 'view_path' => '/Users/hermanntelser/Sites/nutzwerte_fi4/resources/views/livewire',
'layout' => 'components.layouts.app',
'lazy_placeholder' => NULL,
'temporary_file_upload' =>
diff --git a/bootstrap/cache/filament/panels/admin.php b/bootstrap/cache/filament/panels/admin.php
index d92af03..36ef307 100644
--- a/bootstrap/cache/filament/panels/admin.php
+++ b/bootstrap/cache/filament/panels/admin.php
@@ -68,9 +68,9 @@
),
'clusters' =>
array (
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Administration/AdministrationCluster.php' => 'App\\Filament\\Clusters\\Administration\\AdministrationCluster',
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Projekte/ProjekteCluster.php' => 'App\\Filament\\Clusters\\Projekte\\ProjekteCluster',
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Verwaltung/VerwaltungCluster.php' => 'App\\Filament\\Clusters\\Verwaltung\\VerwaltungCluster',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters/Administration/AdministrationCluster.php' => 'App\\Filament\\Clusters\\Administration\\AdministrationCluster',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters/Projekte/ProjekteCluster.php' => 'App\\Filament\\Clusters\\Projekte\\ProjekteCluster',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters/Verwaltung/VerwaltungCluster.php' => 'App\\Filament\\Clusters\\Verwaltung\\VerwaltungCluster',
),
'clusteredComponents' =>
array (
@@ -95,7 +95,7 @@
),
'clusterDirectories' =>
array (
- 0 => '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters',
+ 0 => '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters',
),
'clusterNamespaces' =>
array (
@@ -103,14 +103,14 @@
),
'pages' =>
array (
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Administration/AdministrationCluster.php' => 'App\\Filament\\Clusters\\Administration\\AdministrationCluster',
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Projekte/ProjekteCluster.php' => 'App\\Filament\\Clusters\\Projekte\\ProjekteCluster',
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Verwaltung/VerwaltungCluster.php' => 'App\\Filament\\Clusters\\Verwaltung\\VerwaltungCluster',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters/Administration/AdministrationCluster.php' => 'App\\Filament\\Clusters\\Administration\\AdministrationCluster',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters/Projekte/ProjekteCluster.php' => 'App\\Filament\\Clusters\\Projekte\\ProjekteCluster',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters/Verwaltung/VerwaltungCluster.php' => 'App\\Filament\\Clusters\\Verwaltung\\VerwaltungCluster',
0 => 'Filament\\Pages\\Dashboard',
),
'pageDirectories' =>
array (
- 0 => '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Pages',
+ 0 => '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Pages',
),
'pageNamespaces' =>
array (
@@ -118,23 +118,23 @@
),
'resources' =>
array (
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Auftraggebers/AuftraggeberResource.php' => 'App\\Filament\\Resources\\Auftraggebers\\AuftraggeberResource',
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Gutachters/GutachterResource.php' => 'App\\Filament\\Resources\\Gutachters\\GutachterResource',
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Inhaltsverzeichnis/InhaltsverzeichnisResource.php' => 'App\\Filament\\Resources\\Inhaltsverzeichnis\\InhaltsverzeichnisResource',
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/KontoTextblocks/KontoTextblockResource.php' => 'App\\Filament\\Resources\\KontoTextblocks\\KontoTextblockResource',
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Kontos/KontoResource.php' => 'App\\Filament\\Resources\\Kontos\\KontoResource',
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Methodes/MethodeResource.php' => 'App\\Filament\\Resources\\Methodes\\MethodeResource',
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Orientierungs/OrientierungResource.php' => 'App\\Filament\\Resources\\Orientierungs\\OrientierungResource',
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Permissions/PermissionResource.php' => 'App\\Filament\\Resources\\Permissions\\PermissionResource',
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Plans/PlanResource.php' => 'App\\Filament\\Resources\\Plans\\PlanResource',
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Projektes/ProjekteResource.php' => 'App\\Filament\\Resources\\Projektes\\ProjekteResource',
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Textblocks/TextblockResource.php' => 'App\\Filament\\Resources\\Textblocks\\TextblockResource',
- '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Users/UserResource.php' => 'App\\Filament\\Resources\\Users\\UserResource',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Auftraggebers/AuftraggeberResource.php' => 'App\\Filament\\Resources\\Auftraggebers\\AuftraggeberResource',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Gutachters/GutachterResource.php' => 'App\\Filament\\Resources\\Gutachters\\GutachterResource',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Inhaltsverzeichnis/InhaltsverzeichnisResource.php' => 'App\\Filament\\Resources\\Inhaltsverzeichnis\\InhaltsverzeichnisResource',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/KontoTextblocks/KontoTextblockResource.php' => 'App\\Filament\\Resources\\KontoTextblocks\\KontoTextblockResource',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Kontos/KontoResource.php' => 'App\\Filament\\Resources\\Kontos\\KontoResource',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Methodes/MethodeResource.php' => 'App\\Filament\\Resources\\Methodes\\MethodeResource',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Orientierungs/OrientierungResource.php' => 'App\\Filament\\Resources\\Orientierungs\\OrientierungResource',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Permissions/PermissionResource.php' => 'App\\Filament\\Resources\\Permissions\\PermissionResource',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Plans/PlanResource.php' => 'App\\Filament\\Resources\\Plans\\PlanResource',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Projektes/ProjekteResource.php' => 'App\\Filament\\Resources\\Projektes\\ProjekteResource',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Textblocks/TextblockResource.php' => 'App\\Filament\\Resources\\Textblocks\\TextblockResource',
+ '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Users/UserResource.php' => 'App\\Filament\\Resources\\Users\\UserResource',
0 => 'BezhanSalleh\\FilamentShield\\Resources\\Roles\\RoleResource',
),
'resourceDirectories' =>
array (
- 0 => '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources',
+ 0 => '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources',
),
'resourceNamespaces' =>
array (
@@ -147,7 +147,7 @@
),
'widgetDirectories' =>
array (
- 0 => '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Widgets',
+ 0 => '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Widgets',
),
'widgetNamespaces' =>
array (
diff --git a/bootstrap/cache/routes-v7.php b/bootstrap/cache/routes-v7.php
index 03e4c7a..654c7cf 100644
--- a/bootstrap/cache/routes-v7.php
+++ b/bootstrap/cache/routes-v7.php
@@ -306,26 +306,6 @@ app('router')->setCompiledRoutes(
6 => NULL,
),
),
- '/app/verwaltung/konto-textblocks/create' =>
- array (
- 0 =>
- array (
- 0 =>
- array (
- '_route' => 'filament.admin.verwaltung.resources.konto-textblocks.create',
- ),
- 1 => NULL,
- 2 =>
- array (
- 'GET' => 0,
- 'HEAD' => 1,
- ),
- 3 => NULL,
- 4 => false,
- 5 => false,
- 6 => NULL,
- ),
- ),
'/app/verwaltung/kontos' =>
array (
0 =>
@@ -551,7 +531,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
- '_route' => 'generated::Ln7uDmO40XfEShda',
+ '_route' => 'generated::nhkspirB08wPcEqX',
),
1 => NULL,
2 =>
@@ -571,7 +551,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
- '_route' => 'generated::iRuBL8OD6LJIP3HX',
+ '_route' => 'generated::0ZTEqfES7Kdi161v',
),
1 => NULL,
2 =>
@@ -629,7 +609,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
- '_route' => 'generated::YjuqBvLenMm2yolY',
+ '_route' => 'generated::uvB5MUuG5RfsaOV2',
),
1 => NULL,
2 =>
@@ -649,7 +629,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
- '_route' => 'generated::dUyL0yaZh39GvuXU',
+ '_route' => 'generated::AVv0QYbNzkUoiFdJ',
),
1 => NULL,
2 =>
@@ -669,7 +649,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
- '_route' => 'generated::EImZQvugnpLvkIo8',
+ '_route' => 'generated::AuyL1OA8uHrzBpon',
),
1 => NULL,
2 =>
@@ -689,7 +669,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
- '_route' => 'generated::nn1khffeyT9weHtd',
+ '_route' => 'generated::l6oTxL1NqW6yBegd',
),
1 => NULL,
2 =>
@@ -709,7 +689,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
- '_route' => 'generated::S8cpPyu4We6KkbAI',
+ '_route' => 'generated::q9BkNRCuUHnyFeYH',
),
1 => NULL,
2 =>
@@ -726,7 +706,7 @@ app('router')->setCompiledRoutes(
),
2 =>
array (
- 0 => '{^(?|/filament/(?|exports/([^/]++)/download(*:45)|imports/([^/]++)/failed\\-rows/download(*:90))|/app/(?|email\\-(?|verification/verify/([^/]++)/([^/]++)(*:153)|change\\-verification/verify/([^/]++)/([^/]++)(?|(*:209)|/block(*:223)))|verwaltung/konto\\-textblocks/([^/]++)/edit(*:275)|projektes/([^/]++)/edit(*:306)|administration/shield/roles/([^/]++)(?|(*:353)|/edit(*:366)))|/livewire/preview\\-file/([^/]++)(*:408)|/storage/(.*)(*:429))/?$}sDu',
+ 0 => '{^(?|/filament/(?|exports/([^/]++)/download(*:45)|imports/([^/]++)/failed\\-rows/download(*:90))|/app/(?|email\\-(?|verification/verify/([^/]++)/([^/]++)(*:153)|change\\-verification/verify/([^/]++)/([^/]++)(?|(*:209)|/block(*:223)))|projektes/([^/]++)/edit(*:256)|administration/shield/roles/([^/]++)(?|(*:303)|/edit(*:316)))|/livewire/preview\\-file/([^/]++)(*:358)|/storage/(.*)(*:379))/?$}sDu',
),
3 =>
array (
@@ -848,30 +828,7 @@ app('router')->setCompiledRoutes(
6 => NULL,
),
),
- 275 =>
- array (
- 0 =>
- array (
- 0 =>
- array (
- '_route' => 'filament.admin.verwaltung.resources.konto-textblocks.edit',
- ),
- 1 =>
- array (
- 0 => 'record',
- ),
- 2 =>
- array (
- 'GET' => 0,
- 'HEAD' => 1,
- ),
- 3 => NULL,
- 4 => false,
- 5 => false,
- 6 => NULL,
- ),
- ),
- 306 =>
+ 256 =>
array (
0 =>
array (
@@ -894,7 +851,7 @@ app('router')->setCompiledRoutes(
6 => NULL,
),
),
- 353 =>
+ 303 =>
array (
0 =>
array (
@@ -917,7 +874,7 @@ app('router')->setCompiledRoutes(
6 => NULL,
),
),
- 366 =>
+ 316 =>
array (
0 =>
array (
@@ -940,7 +897,7 @@ app('router')->setCompiledRoutes(
6 => NULL,
),
),
- 408 =>
+ 358 =>
array (
0 =>
array (
@@ -963,7 +920,7 @@ app('router')->setCompiledRoutes(
6 => NULL,
),
),
- 429 =>
+ 379 =>
array (
0 =>
array (
@@ -1991,112 +1948,6 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
- 'filament.admin.verwaltung.resources.konto-textblocks.create' =>
- array (
- 'methods' =>
- array (
- 0 => 'GET',
- 1 => 'HEAD',
- ),
- 'uri' => 'app/verwaltung/konto-textblocks/create',
- 'action' =>
- array (
- 'domain' => NULL,
- 'middleware' =>
- array (
- 0 => 'panel:admin',
- 1 => 'Illuminate\\Cookie\\Middleware\\EncryptCookies',
- 2 => 'Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse',
- 3 => 'Illuminate\\Session\\Middleware\\StartSession',
- 4 => 'Filament\\Http\\Middleware\\AuthenticateSession',
- 5 => 'Illuminate\\View\\Middleware\\ShareErrorsFromSession',
- 6 => 'Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken',
- 7 => 'Illuminate\\Routing\\Middleware\\SubstituteBindings',
- 8 => 'Filament\\Http\\Middleware\\DisableBladeIconComponents',
- 9 => 'Filament\\Http\\Middleware\\DispatchServingFilamentEvent',
- 10 => 'App\\Http\\Middleware\\AppUserVerifiedMiddleware',
- 11 => 'Filament\\Http\\Middleware\\Authenticate',
- 12 => 'verified:filament.admin.auth.email-verification.prompt',
- ),
- 'excluded_middleware' =>
- array (
- ),
- 'uses' => 'App\\Filament\\Resources\\KontoTextblocks\\Pages\\CreateKontoTextblock@__invoke',
- 'controller' => 'App\\Filament\\Resources\\KontoTextblocks\\Pages\\CreateKontoTextblock',
- 'as' => 'filament.admin.verwaltung.resources.konto-textblocks.create',
- 'namespace' => NULL,
- 'prefix' => 'app/verwaltung/konto-textblocks',
- 'where' =>
- array (
- ),
- ),
- 'fallback' => false,
- 'defaults' =>
- array (
- ),
- 'wheres' =>
- array (
- ),
- 'bindingFields' =>
- array (
- ),
- 'lockSeconds' => NULL,
- 'waitSeconds' => NULL,
- 'withTrashed' => false,
- ),
- 'filament.admin.verwaltung.resources.konto-textblocks.edit' =>
- array (
- 'methods' =>
- array (
- 0 => 'GET',
- 1 => 'HEAD',
- ),
- 'uri' => 'app/verwaltung/konto-textblocks/{record}/edit',
- 'action' =>
- array (
- 'domain' => NULL,
- 'middleware' =>
- array (
- 0 => 'panel:admin',
- 1 => 'Illuminate\\Cookie\\Middleware\\EncryptCookies',
- 2 => 'Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse',
- 3 => 'Illuminate\\Session\\Middleware\\StartSession',
- 4 => 'Filament\\Http\\Middleware\\AuthenticateSession',
- 5 => 'Illuminate\\View\\Middleware\\ShareErrorsFromSession',
- 6 => 'Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken',
- 7 => 'Illuminate\\Routing\\Middleware\\SubstituteBindings',
- 8 => 'Filament\\Http\\Middleware\\DisableBladeIconComponents',
- 9 => 'Filament\\Http\\Middleware\\DispatchServingFilamentEvent',
- 10 => 'App\\Http\\Middleware\\AppUserVerifiedMiddleware',
- 11 => 'Filament\\Http\\Middleware\\Authenticate',
- 12 => 'verified:filament.admin.auth.email-verification.prompt',
- ),
- 'excluded_middleware' =>
- array (
- ),
- 'uses' => 'App\\Filament\\Resources\\KontoTextblocks\\Pages\\EditKontoTextblock@__invoke',
- 'controller' => 'App\\Filament\\Resources\\KontoTextblocks\\Pages\\EditKontoTextblock',
- 'as' => 'filament.admin.verwaltung.resources.konto-textblocks.edit',
- 'namespace' => NULL,
- 'prefix' => 'app/verwaltung/konto-textblocks',
- 'where' =>
- array (
- ),
- ),
- 'fallback' => false,
- 'defaults' =>
- array (
- ),
- 'wheres' =>
- array (
- ),
- 'bindingFields' =>
- array (
- ),
- 'lockSeconds' => NULL,
- 'waitSeconds' => NULL,
- 'withTrashed' => false,
- ),
'filament.admin.verwaltung.resources.kontos.index' =>
array (
'methods' =>
@@ -2817,7 +2668,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
- 'generated::Ln7uDmO40XfEShda' =>
+ 'generated::nhkspirB08wPcEqX' =>
array (
'methods' =>
array (
@@ -2829,7 +2680,7 @@ app('router')->setCompiledRoutes(
array (
'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile',
'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile',
- 'as' => 'generated::Ln7uDmO40XfEShda',
+ 'as' => 'generated::nhkspirB08wPcEqX',
),
'fallback' => false,
'defaults' =>
@@ -2845,7 +2696,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
- 'generated::iRuBL8OD6LJIP3HX' =>
+ 'generated::0ZTEqfES7Kdi161v' =>
array (
'methods' =>
array (
@@ -2857,7 +2708,7 @@ app('router')->setCompiledRoutes(
array (
'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps',
'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps',
- 'as' => 'generated::iRuBL8OD6LJIP3HX',
+ 'as' => 'generated::0ZTEqfES7Kdi161v',
),
'fallback' => false,
'defaults' =>
@@ -2959,7 +2810,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
- 'generated::YjuqBvLenMm2yolY' =>
+ 'generated::uvB5MUuG5RfsaOV2' =>
array (
'methods' =>
array (
@@ -2969,7 +2820,7 @@ app('router')->setCompiledRoutes(
'uri' => 'up',
'action' =>
array (
- 'uses' => 'O:55:"Laravel\\SerializableClosure\\UnsignedSerializableClosure":1:{s:12:"serializable";O:46:"Laravel\\SerializableClosure\\Serializers\\Native":5:{s:3:"use";a:0:{}s:8:"function";s:826:"function () {
+ 'uses' => 'O:55:"Laravel\\SerializableClosure\\UnsignedSerializableClosure":1:{s:12:"serializable";O:46:"Laravel\\SerializableClosure\\Serializers\\Native":5:{s:3:"use";a:0:{}s:8:"function";s:834:"function () {
$exception = null;
try {
@@ -2984,11 +2835,11 @@ app('router')->setCompiledRoutes(
$exception = $e->getMessage();
}
- return response(\\Illuminate\\Support\\Facades\\View::file(\'/Users/salam/Sites/nutzwerte_fi4/vendor/laravel/framework/src/Illuminate/Foundation/Configuration\'.\'/../resources/health-up.blade.php\', [
+ return response(\\Illuminate\\Support\\Facades\\View::file(\'/Users/hermanntelser/Sites/nutzwerte_fi4/vendor/laravel/framework/src/Illuminate/Foundation/Configuration\'.\'/../resources/health-up.blade.php\', [
\'exception\' => $exception,
]), status: $exception ? 500 : 200);
- }";s:5:"scope";s:54:"Illuminate\\Foundation\\Configuration\\ApplicationBuilder";s:4:"this";N;s:4:"self";s:32:"0000000000000f360000000000000000";}}',
- 'as' => 'generated::YjuqBvLenMm2yolY',
+ }";s:5:"scope";s:54:"Illuminate\\Foundation\\Configuration\\ApplicationBuilder";s:4:"this";N;s:4:"self";s:32:"0000000000000f300000000000000000";}}',
+ 'as' => 'generated::uvB5MUuG5RfsaOV2',
),
'fallback' => false,
'defaults' =>
@@ -3004,7 +2855,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
- 'generated::dUyL0yaZh39GvuXU' =>
+ 'generated::AVv0QYbNzkUoiFdJ' =>
array (
'methods' =>
array (
@@ -3020,13 +2871,13 @@ app('router')->setCompiledRoutes(
),
'uses' => 'O:55:"Laravel\\SerializableClosure\\UnsignedSerializableClosure":1:{s:12:"serializable";O:46:"Laravel\\SerializableClosure\\Serializers\\Native":5:{s:3:"use";a:0:{}s:8:"function";s:50:"function () {
return \\view(\'pages.welcome\');
-}";s:5:"scope";s:37:"Illuminate\\Routing\\RouteFileRegistrar";s:4:"this";N;s:4:"self";s:32:"0000000000000f3d0000000000000000";}}',
+}";s:5:"scope";s:37:"Illuminate\\Routing\\RouteFileRegistrar";s:4:"this";N;s:4:"self";s:32:"0000000000000f370000000000000000";}}',
'namespace' => NULL,
'prefix' => '',
'where' =>
array (
),
- 'as' => 'generated::dUyL0yaZh39GvuXU',
+ 'as' => 'generated::AVv0QYbNzkUoiFdJ',
),
'fallback' => false,
'defaults' =>
@@ -3042,7 +2893,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
- 'generated::EImZQvugnpLvkIo8' =>
+ 'generated::AuyL1OA8uHrzBpon' =>
array (
'methods' =>
array (
@@ -3058,13 +2909,13 @@ app('router')->setCompiledRoutes(
),
'uses' => 'O:55:"Laravel\\SerializableClosure\\UnsignedSerializableClosure":1:{s:12:"serializable";O:46:"Laravel\\SerializableClosure\\Serializers\\Native":5:{s:3:"use";a:0:{}s:8:"function";s:52:"function () {
return \\view(\'pages.nutzwerte\');
-}";s:5:"scope";s:37:"Illuminate\\Routing\\RouteFileRegistrar";s:4:"this";N;s:4:"self";s:32:"0000000000000f3f0000000000000000";}}',
+}";s:5:"scope";s:37:"Illuminate\\Routing\\RouteFileRegistrar";s:4:"this";N;s:4:"self";s:32:"0000000000000f390000000000000000";}}',
'namespace' => NULL,
'prefix' => '',
'where' =>
array (
),
- 'as' => 'generated::EImZQvugnpLvkIo8',
+ 'as' => 'generated::AuyL1OA8uHrzBpon',
),
'fallback' => false,
'defaults' =>
@@ -3080,7 +2931,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
- 'generated::nn1khffeyT9weHtd' =>
+ 'generated::l6oTxL1NqW6yBegd' =>
array (
'methods' =>
array (
@@ -3096,13 +2947,13 @@ app('router')->setCompiledRoutes(
),
'uses' => 'O:55:"Laravel\\SerializableClosure\\UnsignedSerializableClosure":1:{s:12:"serializable";O:46:"Laravel\\SerializableClosure\\Serializers\\Native":5:{s:3:"use";a:0:{}s:8:"function";s:51:"function () {
return \\view(\'pages.programm\');
-}";s:5:"scope";s:37:"Illuminate\\Routing\\RouteFileRegistrar";s:4:"this";N;s:4:"self";s:32:"0000000000000f410000000000000000";}}',
+}";s:5:"scope";s:37:"Illuminate\\Routing\\RouteFileRegistrar";s:4:"this";N;s:4:"self";s:32:"0000000000000f3b0000000000000000";}}',
'namespace' => NULL,
'prefix' => '',
'where' =>
array (
),
- 'as' => 'generated::nn1khffeyT9weHtd',
+ 'as' => 'generated::l6oTxL1NqW6yBegd',
),
'fallback' => false,
'defaults' =>
@@ -3118,7 +2969,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
- 'generated::S8cpPyu4We6KkbAI' =>
+ 'generated::q9BkNRCuUHnyFeYH' =>
array (
'methods' =>
array (
@@ -3134,13 +2985,13 @@ app('router')->setCompiledRoutes(
),
'uses' => 'O:55:"Laravel\\SerializableClosure\\UnsignedSerializableClosure":1:{s:12:"serializable";O:46:"Laravel\\SerializableClosure\\Serializers\\Native":5:{s:3:"use";a:0:{}s:8:"function";s:52:"function () {
return \\view(\'pages.impressum\');
-}";s:5:"scope";s:37:"Illuminate\\Routing\\RouteFileRegistrar";s:4:"this";N;s:4:"self";s:32:"0000000000000f430000000000000000";}}',
+}";s:5:"scope";s:37:"Illuminate\\Routing\\RouteFileRegistrar";s:4:"this";N;s:4:"self";s:32:"0000000000000f3d0000000000000000";}}',
'namespace' => NULL,
'prefix' => '',
'where' =>
array (
),
- 'as' => 'generated::S8cpPyu4We6KkbAI',
+ 'as' => 'generated::q9BkNRCuUHnyFeYH',
),
'fallback' => false,
'defaults' =>
@@ -3166,13 +3017,13 @@ app('router')->setCompiledRoutes(
'uri' => 'storage/{path}',
'action' =>
array (
- 'uses' => 'O:55:"Laravel\\SerializableClosure\\UnsignedSerializableClosure":1:{s:12:"serializable";O:46:"Laravel\\SerializableClosure\\Serializers\\Native":5:{s:3:"use";a:3:{s:4:"disk";s:5:"local";s:6:"config";a:5:{s:6:"driver";s:5:"local";s:4:"root";s:52:"/Users/salam/Sites/nutzwerte_fi4/storage/app/private";s:5:"serve";b:1;s:5:"throw";b:0;s:6:"report";b:0;}s:12:"isProduction";b:0;}s:8:"function";s:323:"function (\\Illuminate\\Http\\Request $request, string $path) use ($disk, $config, $isProduction) {
+ 'uses' => 'O:55:"Laravel\\SerializableClosure\\UnsignedSerializableClosure":1:{s:12:"serializable";O:46:"Laravel\\SerializableClosure\\Serializers\\Native":5:{s:3:"use";a:3:{s:4:"disk";s:5:"local";s:6:"config";a:5:{s:6:"driver";s:5:"local";s:4:"root";s:60:"/Users/hermanntelser/Sites/nutzwerte_fi4/storage/app/private";s:5:"serve";b:1;s:5:"throw";b:0;s:6:"report";b:0;}s:12:"isProduction";b:0;}s:8:"function";s:323:"function (\\Illuminate\\Http\\Request $request, string $path) use ($disk, $config, $isProduction) {
return (new \\Illuminate\\Filesystem\\ServeFile(
$disk,
$config,
$isProduction
))($request, $path);
- }";s:5:"scope";s:47:"Illuminate\\Filesystem\\FilesystemServiceProvider";s:4:"this";N;s:4:"self";s:32:"0000000000000f460000000000000000";}}',
+ }";s:5:"scope";s:47:"Illuminate\\Filesystem\\FilesystemServiceProvider";s:4:"this";N;s:4:"self";s:32:"0000000000000f400000000000000000";}}',
'as' => 'storage.local',
),
'fallback' => false,
diff --git a/resources/views/livewire/konto-switch.blade.php b/resources/views/livewire/konto-switch.blade.php
index 301f958..a1ef363 100644
--- a/resources/views/livewire/konto-switch.blade.php
+++ b/resources/views/livewire/konto-switch.blade.php
@@ -1,6 +1,6 @@
-
+
Kontos
diff --git a/routes/web.php b/routes/web.php
index dc4422a..7ecf932 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -1,5 +1,8 @@
name('nutzwerte.download');
+Route::get('/admin/standard/{record}/{mode}/download', [DownloadStandardTexte::class, 'download'])->name('standard.download');
+Route::get('/admin/excel/{record}/{mode}/download', [DownloadExcel::class, 'download'])->name('excel.download');