Feature: Kontenart Anlagevermögen, euer_zeile im Formular, Doppelklick-Fix Konto-Select

This commit is contained in:
fds2610-bot 2026-04-11 17:14:19 +02:00
parent 4653c082be
commit fc317775a3
4 changed files with 22 additions and 5 deletions

View file

@ -0,0 +1,16 @@
-- Migration 027: Kontenart-ENUM um Anlagevermögen erweitern und Konten 0001–0480 zuweisen
ALTER TABLE accounts
MODIFY COLUMN kontenart ENUM(
'Betriebseinnahme',
'Betriebsausgabe',
'Anlagevermögen',
'Zahlungskonto',
'Verbindlichkeit',
'Privat'
) NOT NULL;
UPDATE accounts
SET kontenart = 'Anlagevermögen'
WHERE CAST(kontonummer AS UNSIGNED) <= 480
AND kontonummer REGEXP '^[0-9]+$';

View file

@ -22,7 +22,7 @@
<select id="kontenart" name="kontenart"
class="<?= isset($errors['kontenart']) ? 'input-error' : '' ?>" required>
<option value="">– wählen –</option>
<?php foreach (['Betriebseinnahme','Betriebsausgabe','Zahlungskonto','Verbindlichkeit','Privat'] as $art): ?>
<?php foreach (['Betriebseinnahme','Betriebsausgabe','Anlagevermögen','Zahlungskonto','Verbindlichkeit','Privat'] as $art): ?>
<option value="<?= $h($art) ?>"<?= ($account['kontenart'] ?? '') === $art ? ' selected' : '' ?>>
<?= $h($art) ?>
</option>

View file

@ -7,7 +7,7 @@
value="<?= $h($filter['search'] ?? '') ?>" style="width:260px">
<select name="kontenart">
<option value="">Alle Kontenarten</option>
<?php foreach (['Betriebseinnahme','Betriebsausgabe','Zahlungskonto','Verbindlichkeit','Privat'] as $art): ?>
<?php foreach (['Betriebseinnahme','Betriebsausgabe','Anlagevermögen','Zahlungskonto','Verbindlichkeit','Privat'] as $art): ?>
<option value="<?= $h($art) ?>"<?= ($filter['kontenart'] ?? '') === $art ? ' selected' : '' ?>><?= $h($art) ?></option>
<?php endforeach; ?>
</select>
@ -47,6 +47,7 @@
$badgeClass = match($acc['kontenart']) {
'Betriebseinnahme' => 'badge-green',
'Betriebsausgabe' => 'badge-red',
'Anlagevermögen' => 'badge-purple',
'Zahlungskonto' => 'badge-blue',
'Verbindlichkeit' => 'badge-yellow',
default => 'badge-gray',

View file

@ -382,7 +382,7 @@ $suppliers = $suppliers ?? [];
<select id="kategorie_konto_id" name="kategorie_konto_id" size="6"
onchange="showKontoArt('kategorie_konto_id','kategorie_konto_art',this);updateEigenanteilState();updateBewirtungsState();updateAutoUst()">
<option value="">– Konto wählen –</option>
<?php foreach (['Betriebsausgabe', 'Betriebseinnahme', 'Privat', 'Verbindlichkeit'] as $art): ?>
<?php foreach (['Betriebsausgabe', 'Betriebseinnahme', 'Anlagevermögen', 'Privat', 'Verbindlichkeit'] as $art): ?>
<?php if (empty($kontenGruppen[$art])) continue; ?>
<optgroup label="── <?= $h($art) ?> ──" data-kontenart="<?= $h($art) ?>">
<?php foreach ($kontenGruppen[$art] as $acc): ?>
@ -497,8 +497,8 @@ function filterKategorieKonten(buchungstyp) {
groups.forEach(function(g) {
const art = g.getAttribute('data-kontenart');
if (!art) return;
// Privat und Verbindlichkeit immer anzeigen, Kategorie nach Typ filtern
g.style.display = (art === zielArt || art === 'Privat' || art === 'Verbindlichkeit') ? '' : 'none';
// Privat, Verbindlichkeit und Anlagevermögen immer anzeigen, Kategorie nach Typ filtern
g.style.display = (art === zielArt || art === 'Privat' || art === 'Verbindlichkeit' || art === 'Anlagevermögen') ? '' : 'none';
});
// Auswahl zurücksetzen wenn aktuell gewähltes Konto nicht mehr sichtbar