Optionales Partner-Feld für Diensteinträge

Wunsch aus der Community: Name der Person, mit der man zusammen im Dienst
war, zum Eintrag hinterlegen können.

- Neues Textfeld "Partner" (optional, max. 30 Zeichen) in Neuer-Eintrag- und
  Bearbeiten-Modal, direkt unter dem Datum
- Wird als partner-Feld im IndexedDB-Eintrag gespeichert
- Aktivitäten-Tabelle zeigt "mit <Partner>" klein unter dem Typ an, wenn
  angegeben
- Bearbeiten-Formular wird beim Öffnen korrekt mit dem gespeicherten Partner
  vorbefüllt

Lokal getestet: Felder rendern in beiden Modals, Django-Check sauber.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
main
Samuel Zielke 3 weeks ago
parent 3297fde0c0
commit a8c798fbe0

@ -361,6 +361,14 @@ function fillTableWithEntries(entries, sortField = 'date', sortDirection = 'asc'
} else if (entry.type === 1) {
typeCell.textContent = 'Dienst'; // Ansonsten zeige den Type-Wert
}
// Partner (optional) klein darunter anzeigen, falls beim Eintrag angegeben
if (entry.partner) {
const partnerLine = document.createElement('small');
partnerLine.classList.add('text-muted');
partnerLine.style.display = 'block';
partnerLine.textContent = `mit ${entry.partner}`;
typeCell.appendChild(partnerLine);
}
row.appendChild(typeCell);
const editCell = document.createElement('td');
@ -371,6 +379,7 @@ function fillTableWithEntries(entries, sortField = 'date', sortDirection = 'asc'
document.getElementById('editStunden').value = durationDBtoForm(entry.duration)[0];
document.getElementById('editMinuten').value = durationDBtoForm(entry.duration)[1];
document.getElementById('editDatum').value = entry.date;
document.getElementById('editPartnerInput').value = entry.partner || '';
if (entry.type === 2) {
document.getElementById('editldcCheck').checked = true;
} else {

@ -335,6 +335,7 @@ NewEntryButton.addEventListener('click', () => {
type: type,
status: 1,
sondertext: document.getElementById('sonstigesInput').value,
partner: document.getElementById('partnerInput').value.trim(),
}
addEntry(newEntryData, 'hours').then((id) => {
@ -345,6 +346,7 @@ NewEntryButton.addEventListener('click', () => {
hours.value = null
mins.value = null
document.getElementById('sonstigesInput').value = null
document.getElementById('partnerInput').value = null
checkInput()
}
})
@ -720,6 +722,7 @@ document.getElementById('editEntrySubmitButton').addEventListener('click', () =>
type: type,
status: 1,
sondertext: document.getElementById('editsonstigesInput').value,
partner: document.getElementById('editPartnerInput').value.trim(),
}).then(() => {
// console.log('Eintrag aktualisiert.');
location.reload()

@ -191,6 +191,12 @@
<input type="date" class="form-control" id="datum" required>
</div>
<!-- Partner (optional) -->
<div class="form-group">
<p><b>Partner</b> <span class="text-muted" style="font-weight: normal; font-size: 0.85rem;">(optional)</span></p>
<input type="text" class="form-control" id="partnerInput" placeholder="Name" maxlength="30">
</div>
<!-- Auswahl LDC oder Sonstiges (Checkboxen) -->
<div class="form-group">
<p><b>Optionen:</b></p>
@ -258,6 +264,12 @@
<input type="date" class="form-control editItem" id="editDatum" required>
</div>
<!-- Partner (optional) -->
<div class="form-group">
<p><b>Partner</b> <span class="text-muted" style="font-weight: normal; font-size: 0.85rem;">(optional)</span></p>
<input type="text" class="form-control editItem" id="editPartnerInput" placeholder="Name" maxlength="30">
</div>
<!-- Auswahl LDC oder Sonstiges (Checkboxen) -->
<div class="form-group">
<p><b>Optionen:</b></p>

Loading…
Cancel
Save

Powered by TurnKey Linux.