From fbce630b527f5239af7be6a54916415a3b7f5452 Mon Sep 17 00:00:00 2001 From: rxf Date: Tue, 17 Mar 2026 11:36:10 +0100 Subject: [PATCH] =?UTF-8?q?V=202.0.0.=20sofue=20Vor=20dem=20Senden=20der?= =?UTF-8?q?=20Email=20kann=20noch=20ein=20Text=20eingef=C3=BCgt=20werden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sternwarte/DB4js_all.php | 14 +++-- sternwarte/intern/sofue/js/sofue.js | 76 ++++++++++++++++++++++++--- sternwarte/intern/sofue/js/version.js | 9 +++- sternwarte/intern/sofue/sofue.php | 4 ++ 4 files changed, 88 insertions(+), 15 deletions(-) diff --git a/sternwarte/DB4js_all.php b/sternwarte/DB4js_all.php index 0948d23..ba87e4e 100644 --- a/sternwarte/DB4js_all.php +++ b/sternwarte/DB4js_all.php @@ -1307,7 +1307,6 @@ try { IBAN DE18 6007 0070 0122 0383 00 BIC: DEUTDESSXXX - Mit sternfreundlichen Grüßen Reinhard X. Fürst Sternwarte Welzheim @@ -1316,6 +1315,8 @@ try { respond(['success' => $ok]); case 'SENDMAIL2BEO': + $mailNote = trim((string)($input['mail_note'] ?? '')); + $mailNoteBlock = $mailNote !== '' ? "\n " . $mailNote . "\n" : "\n"; $mail = RepoBeos::email($input['ma']); $vor = RepoBeos::vorname($input['ma']); $dt = date('d.m.Y H:i', strtotime($input['termin'])); @@ -1333,6 +1334,8 @@ Hallo " . $vor .", Der Termin wurde in den Sternwartenkalender eingetragen. Die Kontaktdaten sind auf der Sonderführungsseite ( https://sternwarte-welzheim.de/intern/sofue/sofue.php ) zu finden. + +{$mailNoteBlock} Viele Grüße Reinhard @@ -1345,16 +1348,13 @@ Hallo " . $vor .", case 'SENDMAIL2LISTE': $info = RepoSoFue::getById((int)$input['id']); if (!$info) respondError('Führung nicht gefunden', 404); + $mailNote = trim((string)($input['mail_note'] ?? '')); $to = $input['to'] ?? LISTE_EMAIL; $subject = 'Neue Anfrage Sonderführung am ' . date('d.m.Y', strtotime($info['wtermin'])); $body = " Liebe BEOs, wer kann folgende Sonderführung übernehmen? - -Viele Grüße -Reinhard - ---------------------------------------------------------------------------------------------------"; $body = $body . " @@ -1367,6 +1367,10 @@ Weitere Fragen oder Mitteilungen: " . $info['mitteilung'] . " Spendenbescheinigung: \t" . $info['spende'] . " ---------------------------------------------------------------------------------------------------"; + if ($mailNote !== '') { + $body .= "\n\n" . $mailNote . "\n"; + } + $body .= "\n\nViele Grüße\nReinhard\n"; $ok = Mailer::sendPlain($to, $subject, $body); respond(['success' => $ok]); diff --git a/sternwarte/intern/sofue/js/sofue.js b/sternwarte/intern/sofue/js/sofue.js index 0d47128..14a85da 100644 --- a/sternwarte/intern/sofue/js/sofue.js +++ b/sternwarte/intern/sofue/js/sofue.js @@ -565,13 +565,31 @@ function saveSettings() { // 'Content-Type': 'application/json' // } // }) - doAjaxCall_arr(ajaxURL,cmd,showajaxerg); + if (status == 1 || status == 2) { + doAjaxCall_arr(ajaxURL, cmd, function() { + openMailNoteDialog(status, id, marb, termin); + }); + } else { + doAjaxCall_arr(ajaxURL,cmd,showajaxerg); + } +} - if(status == 1) { // offen -> mail an Liste - sendmail2liste(id, termin); +function openMailNoteDialog(status, id, marb, termin) { + $('#mailnote_text').val(''); + $('#div_mailnote').data({ + status: status, + id: id, + marb: marb, + termin: termin + }).dialog('open'); +} + +function sendStatusMails(status, id, marb, termin, mailNote) { + if (status == 1) { // offen -> mail an Liste + sendmail2liste(id, termin, mailNote); } if (status == 2) { - sendmail2beo(id, marb, termin) + sendmail2beo(id, marb, termin, mailNote); sendmailzusage(id, marb, termin); } } @@ -612,9 +630,12 @@ function showdbase(val) { } // Status wurde auf 'offen' gesetzt -> nun eine Mail an die Liste mit der Anfrage senden -function sendmail2liste(id, termin) { +function sendmail2liste(id, termin, mailNote) { const liste = 'sternwarte@planetariumsgesellschaft.de'; let cmd = {cmd: 'SENDMAIL2LISTE', id: id, to: liste} + if (mailNote) { + cmd.mail_note = mailNote; + } console.log("Sende mail to Liste"); doAjaxCall_arr(ajaxURL,cmd,showajaxerg); console.log("Mail gesendet"); @@ -624,8 +645,11 @@ function sendmail2liste(id, termin) { } // Status wurde auf 'zugesgat' gesetzt -> nun eine Mail an den BEO senden -function sendmail2beo(id, beo, termin) { +function sendmail2beo(id, beo, termin, mailNote) { let cmd = {cmd: 'SENDMAIL2BEO', ma: beo, termin: termin} + if (mailNote) { + cmd.mail_note = mailNote; + } console.log("Sende mail to " + beo); doAjaxCall_arr(ajaxURL,cmd,showajaxerg); console.log("Mail gesendet"); @@ -786,8 +810,44 @@ $(document).ready(function() { ], }); + // 3. Dialog für optionale Mail-Bemerkung + $('#div_mailnote').dialog({ + autoOpen: false, + width: 600, + modal: true, + title: 'Zusätzliche Bemerkung für E-Mail', + buttons: [ + { + text: 'Ohne Bemerkung senden', + class: 'btnOK ui-button-left', + click: function() { + var data = $('#div_mailnote').data(); + $(this).dialog('close'); + sendStatusMails(data.status, data.id, data.marb, data.termin, ''); + } + }, + { + text: 'Mit Bemerkung senden', + class: 'btnOK ui-button-left', + click: function() { + var data = $('#div_mailnote').data(); + var note = $('#mailnote_text').val().trim(); + $(this).dialog('close'); + sendStatusMails(data.status, data.id, data.marb, data.termin, note); + } + }, + { + text: 'Abbrechen', + click: function() { + $(this).dialog('close'); + location.reload(true); + } + } + ] + }); + - // 3. Dialog für die Anleitung + // 4. Dialog für die Anleitung // Dieser hat KEINEN Button (wird über das Schließkreuz beendet) und // eine etwas kleinere Schrift $("#anleitung").dialog({ @@ -812,7 +872,7 @@ $(document).ready(function() { }); - // 4. Dialog für die Wartungs-Meldung + // 5. Dialog für die Wartungs-Meldung // Wird nur aufgerufen, wenn das Flag WARTUNG gesetzt ist // Kann NICHT beendet werden $('#maint').dialog({ diff --git a/sternwarte/intern/sofue/js/version.js b/sternwarte/intern/sofue/js/version.js index 8b10f86..d63d030 100755 --- a/sternwarte/intern/sofue/js/version.js +++ b/sternwarte/intern/sofue/js/version.js @@ -1,11 +1,16 @@ // VersiosNummern und -Geschichte -var VERSION="1.95"; -var VDATE="2026-01-19"; +var VERSION="2.0.0"; +var VDATE="2026-03-17"; /* History Rev. Datum Entwickler + 2.0.0 2026-03-17 + - Semantische Versionierung eiungeführt + - Vor dem Senden der Mail bei 'offen' und 'zugesagt' erscheint ein Popup, + in welches man einen Text eingeben kann, der in der Mail mit gesendet wird. + 1.95 2026-01-19 - Eintrag in den Kalender auch bei 'offen' diff --git a/sternwarte/intern/sofue/sofue.php b/sternwarte/intern/sofue/sofue.php index 50c7d41..d756aca 100755 --- a/sternwarte/intern/sofue/sofue.php +++ b/sternwarte/intern/sofue/sofue.php @@ -66,6 +66,10 @@ if ((isset($_GET['fuehrung'])) && ($_GET['fuehrung'] == "TFC7364gf:l@vtr")) {

Diesen Eintrag wirklich aus der Datenbank löschen ?

+