v1.7.0: Ersteller-BEO in Listenansicht fett und an erster Stelle

Der BEO, der einen Eintrag erstellt hat (created_by), wird in der
BEOs-Spalte fett hervorgehoben und immer als erster angezeigt.
API liefert created_by_kuerzel via JOIN auf beos-Tabelle.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-12 22:15:07 +02:00
parent 3d3346de76
commit 40bf029fc9
5 changed files with 23 additions and 4 deletions
+2
View File
@@ -11,9 +11,11 @@ const LIST_SQL =
' l.Besucher, l.Bemerkungen, l.SonderName,' +
' l.WetterTemp, l.WetterFeuchte, l.WetterDruck,' +
' l.created_by, l.created_at,' +
' creator.kuerzel AS created_by_kuerzel,' +
" GROUP_CONCAT(DISTINCT bk.kuerzel ORDER BY bk.kuerzel SEPARATOR ', ') AS BEOs," +
" GROUP_CONCAT(DISTINCT o.Name ORDER BY o.Name SEPARATOR ', ') AS Objekte" +
' FROM logbuch l' +
' LEFT JOIN (SELECT id, `kürzel` AS kuerzel FROM beos) creator ON creator.id = l.created_by' +
' LEFT JOIN logbuch_beos lb ON lb.LogbuchID = l.ID' +
' LEFT JOIN (SELECT id, `kürzel` AS kuerzel FROM beos) bk ON bk.id = lb.BeoID' +
' LEFT JOIN logbuch_objekte lo ON lo.LogbuchID = l.ID' +
+17 -1
View File
@@ -182,7 +182,23 @@ export default function LogbuchList({ kuppel, refreshKey, onEdit, limit = 10, co
{e.SonderName && <div className="text-xs text-gray-500">{e.SonderName}</div>}
</td>
<td className={`${cell} text-center`}>{e.Besucher || ''}</td>
<td className={cell}>{e.BEOs || '—'}</td>
<td className={cell}>
{e.BEOs
? (() => {
const beos = e.BEOs.split(', ');
if (e.created_by_kuerzel) {
const idx = beos.indexOf(e.created_by_kuerzel);
if (idx > 0) beos.unshift(beos.splice(idx, 1)[0]);
}
return beos.map((k, i, arr) => (
<span key={k}>
{k === e.created_by_kuerzel ? <strong>{k}</strong> : k}
{i < arr.length - 1 ? ', ' : ''}
</span>
));
})()
: '—'}
</td>
<td className={cell}>{e.Objekte || '—'}</td>
{!compact && <td className={cell}>{e.Bemerkungen || ''}</td>}
{!compact && (
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "logbuch",
"version": "1.0.0",
"version": "1.7.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "logbuch",
"version": "1.0.0",
"version": "1.7.0",
"dependencies": {
"bcryptjs": "^3.0.3",
"jose": "^6.2.2",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "logbuch",
"version": "1.6.3",
"version": "1.7.0",
"private": true,
"scripts": {
"dev": "next dev",
+1
View File
@@ -56,6 +56,7 @@ export interface LogbuchEintrag {
WetterFeuchte: number | null;
WetterDruck: number | null;
created_by: number | null;
created_by_kuerzel: string | null;
created_at: string;
BEOs: string;
Objekte: string;