Finanzen: Rueckfrage vor dem Senden, Anschrift des Kunden pruefen, Fehlermeldungen im Bild
Senden einer Rechnung (Dialog und Entwurf in der Tabelle) fragt vorher: "Rechnung fuer
<Kunde> ueber <Betrag> jetzt festschreiben und an <E-Mail> senden? Danach laesst sie sich
nur noch stornieren."
Fehlt dem Kunden Strasse, PLZ oder Ort, zeigen Rechnungsdialog und Kundenansicht die
Warnung "Adresse des Kunden unvollstaendig ..." mit Weg zur Uebersicht, und Senden ist
ueber 250 € gesperrt (§ 14 Abs. 4 Nr. 1 UStG, Kleinbetragsrechnung); Entwuerfe bleiben
moeglich. Reine Helfer addressComplete und invoiceSendGate samt Tests.
Fehlermeldungen in Rechnungs- und Zuordnen-Dialog werden per scrollIntoView
({ block: 'nearest' }) in den sichtbaren Bereich geholt.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1e72faf97c
commit
72f07410fe
9 files changed
+240
-15
No files matched your search
@@ -0,0 +1,26 @@
|
||||
import { Link } from 'react-router-dom'
|
||||
import { ADDRESS_INCOMPLETE_TEXT, addressComplete } from '../../lib/financeView'
|
||||
|
||||
/**
|
||||
* Hinweis „Adresse des Kunden unvollständig (Straße, PLZ, Ort). Für den Versand bitte zuerst ergänzen.“ mit Weg zur
|
||||
* Übersicht des Kunden (dort stehen die Stammdaten). Rendert nichts, wenn die Anschrift vollständig ist. Mit
|
||||
* `onShowOverview` (Reiter am Kunden) wechselt ein Knopf zum Reiter Übersicht, sonst führt ein Link zur Kundenseite.
|
||||
* `variant`: 'dialog' (im Rechnungsdialog) oder 'page' (über der Rechnungsliste des Kunden).
|
||||
*/
|
||||
export default function AddressWarning({ customer, onShowOverview, variant = 'page' }) {
|
||||
if (!customer || addressComplete(customer)) return null
|
||||
return (
|
||||
<div className={`fin-address-warn fin-address-warn-${variant}`} role="alert">
|
||||
<span>{ADDRESS_INCOMPLETE_TEXT}</span>
|
||||
{onShowOverview ? (
|
||||
<button type="button" className="fin-link" onClick={onShowOverview}>
|
||||
Zur Übersicht
|
||||
</button>
|
||||
) : customer.$id ? (
|
||||
<Link className="fin-link" to={`/customers/${customer.$id}`}>
|
||||
Zur Übersicht
|
||||
</Link>
|
||||
) : null}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in new issue
Block a user