feat: vollständige Firmendaten (Adresse, Abrechnung) bei Firmenanlage
Bei Firmenanlage (Registrierung + Betreiber-Firmenanlage) müssen jetzt Adresse (Straße, PLZ, Ort, Land) und Abrechnungsdaten (Rechnungsemail, optional USt-IdNr.) erfasst werden, nicht nur der Firmenname (Migration 0023). USt-IdNr. bewusst optional - Kleinunternehmer nach §19 UStG haben keine. Neue Seite /verwaltung/firma (admin-only) zum Einsehen/ Nachtragen für bestehende Firmen. store.CreateAccount nimmt jetzt ein AccountInput statt nur einen Namen entgegen (Signaturänderung betrifft ~20 Testaufrufe, mechanisch umgestellt). register.html/ betreiber_account_neu.html auf form-card/form-grid umgestellt. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -11,19 +11,65 @@
|
||||
Ergebnis wie die öffentliche Registrierung, nur vom Betreiber aus.
|
||||
</p>
|
||||
{{if .Error}}<p class="fehler">{{.Error}}</p>{{end}}
|
||||
<div class="form-card">
|
||||
<form method="post" action="/betreiber/accounts">
|
||||
<label for="account_name">Firmenname</label>
|
||||
<input type="text" id="account_name" name="account_name" required>
|
||||
|
||||
<label for="email">E-Mail (erster Nutzer, wird Admin)</label>
|
||||
<input type="email" id="email" name="email" required>
|
||||
|
||||
<label for="password">Initialpasswort (mind. 8 Zeichen)</label>
|
||||
<input type="password" id="password" name="password" minlength="8" required>
|
||||
|
||||
<button type="submit">Firma anlegen</button>
|
||||
<fieldset class="form-section">
|
||||
<legend>Firma</legend>
|
||||
<div class="form-grid">
|
||||
<div class="form-full">
|
||||
<label for="account_name">Firmenname</label>
|
||||
<input type="text" id="account_name" name="account_name" required>
|
||||
</div>
|
||||
<div class="form-full">
|
||||
<label for="strasse">Straße und Hausnummer</label>
|
||||
<input type="text" id="strasse" name="strasse" required>
|
||||
</div>
|
||||
<div>
|
||||
<label for="plz">PLZ</label>
|
||||
<input type="text" id="plz" name="plz" required>
|
||||
</div>
|
||||
<div>
|
||||
<label for="ort">Ort</label>
|
||||
<input type="text" id="ort" name="ort" required>
|
||||
</div>
|
||||
<div>
|
||||
<label for="land">Land</label>
|
||||
<input type="text" id="land" name="land" value="Deutschland" required>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset class="form-section">
|
||||
<legend>Abrechnung</legend>
|
||||
<div class="form-grid">
|
||||
<div>
|
||||
<label for="rechnungsemail">Rechnungsemail</label>
|
||||
<input type="email" id="rechnungsemail" name="rechnungsemail" required>
|
||||
</div>
|
||||
<div>
|
||||
<label for="ust_id">USt-IdNr. (optional)</label>
|
||||
<input type="text" id="ust_id" name="ust_id" placeholder="z. B. DE123456789">
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset class="form-section">
|
||||
<legend>Erster Nutzer (wird Admin)</legend>
|
||||
<div class="form-grid">
|
||||
<div>
|
||||
<label for="email">E-Mail</label>
|
||||
<input type="email" id="email" name="email" required>
|
||||
</div>
|
||||
<div>
|
||||
<label for="password">Initialpasswort (mind. 8 Zeichen)</label>
|
||||
<input type="password" id="password" name="password" minlength="8" required>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="form-actions">
|
||||
<button type="submit">Firma anlegen</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
{{end}}
|
||||
|
||||
63
internal/web/templates/firmendaten.html
Normal file
63
internal/web/templates/firmendaten.html
Normal file
@@ -0,0 +1,63 @@
|
||||
{{define "firmendaten"}}<!doctype html>
|
||||
<html lang="de">
|
||||
<head>{{template "head" .}}</head>
|
||||
<body>
|
||||
{{template "nav" .Nav}}
|
||||
<div class="page">
|
||||
<div class="page-header">
|
||||
<div>
|
||||
<h1>Firmendaten</h1>
|
||||
<p class="hinweis">Adress- und Abrechnungsdaten deiner Firma.</p>
|
||||
</div>
|
||||
</div>
|
||||
{{if .Error}}<p class="fehler">{{.Error}}</p>{{end}}
|
||||
{{if .Gespeichert}}<p class="hinweis">Gespeichert.</p>{{end}}
|
||||
<div class="form-card">
|
||||
<form method="post" action="/verwaltung/firma">
|
||||
<fieldset class="form-section">
|
||||
<legend>Firma</legend>
|
||||
<div class="form-grid">
|
||||
<div class="form-full">
|
||||
<label for="account_name">Firmenname</label>
|
||||
<input type="text" id="account_name" name="account_name" value="{{.Name}}" required>
|
||||
</div>
|
||||
<div class="form-full">
|
||||
<label for="strasse">Straße und Hausnummer</label>
|
||||
<input type="text" id="strasse" name="strasse" value="{{.Strasse}}" required>
|
||||
</div>
|
||||
<div>
|
||||
<label for="plz">PLZ</label>
|
||||
<input type="text" id="plz" name="plz" value="{{.PLZ}}" required>
|
||||
</div>
|
||||
<div>
|
||||
<label for="ort">Ort</label>
|
||||
<input type="text" id="ort" name="ort" value="{{.Ort}}" required>
|
||||
</div>
|
||||
<div>
|
||||
<label for="land">Land</label>
|
||||
<input type="text" id="land" name="land" value="{{.Land}}" required>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset class="form-section">
|
||||
<legend>Abrechnung</legend>
|
||||
<div class="form-grid">
|
||||
<div>
|
||||
<label for="rechnungsemail">Rechnungsemail</label>
|
||||
<input type="email" id="rechnungsemail" name="rechnungsemail" value="{{.Rechnungsemail}}" required>
|
||||
</div>
|
||||
<div>
|
||||
<label for="ust_id">USt-IdNr. (optional)</label>
|
||||
<input type="text" id="ust_id" name="ust_id" value="{{.UStID}}" placeholder="z. B. DE123456789">
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="form-actions">
|
||||
<button type="submit">Speichern</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
{{end}}
|
||||
@@ -28,6 +28,7 @@
|
||||
{{if .IsFachebene}}<a href="/faelle">Posteingang</a>{{end}}
|
||||
{{if .IsFachebene}}<a href="/registereintraege">Register</a>{{end}}
|
||||
{{if .IsFachebene}}<a href="/wiedervorlage">Wiedervorlage</a>{{end}}
|
||||
{{if .IsAdmin}}<a href="/verwaltung/firma">Firmendaten</a>{{end}}
|
||||
{{if .IsAdmin}}<a href="/verwaltung/nutzer">Nutzerverwaltung</a>{{end}}
|
||||
{{if .IsAdmin}}<a href="/verwaltung/einladung">Einladungslink</a>{{end}}
|
||||
{{if .IsAdmin}}<a href="/verwaltung/abteilungen">Abteilungen</a>{{end}}
|
||||
|
||||
@@ -9,18 +9,64 @@
|
||||
den Betreiber freigeschaltet.
|
||||
</p>
|
||||
{{if .Error}}<p class="fehler">{{.Error}}</p>{{end}}
|
||||
<div class="form-card">
|
||||
<form method="post" action="/register">
|
||||
<label for="account_name">Firmenname</label>
|
||||
<input type="text" id="account_name" name="account_name" required>
|
||||
|
||||
<label for="email">E-Mail (erster Nutzer, wird Admin)</label>
|
||||
<input type="email" id="email" name="email" required>
|
||||
|
||||
<label for="password">Passwort (mind. 8 Zeichen)</label>
|
||||
<input type="password" id="password" name="password" minlength="8" required>
|
||||
|
||||
<button type="submit">Konto anlegen</button>
|
||||
<fieldset class="form-section">
|
||||
<legend>Firma</legend>
|
||||
<div class="form-grid">
|
||||
<div class="form-full">
|
||||
<label for="account_name">Firmenname</label>
|
||||
<input type="text" id="account_name" name="account_name" required>
|
||||
</div>
|
||||
<div class="form-full">
|
||||
<label for="strasse">Straße und Hausnummer</label>
|
||||
<input type="text" id="strasse" name="strasse" required>
|
||||
</div>
|
||||
<div>
|
||||
<label for="plz">PLZ</label>
|
||||
<input type="text" id="plz" name="plz" required>
|
||||
</div>
|
||||
<div>
|
||||
<label for="ort">Ort</label>
|
||||
<input type="text" id="ort" name="ort" required>
|
||||
</div>
|
||||
<div>
|
||||
<label for="land">Land</label>
|
||||
<input type="text" id="land" name="land" value="Deutschland" required>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset class="form-section">
|
||||
<legend>Abrechnung</legend>
|
||||
<div class="form-grid">
|
||||
<div>
|
||||
<label for="rechnungsemail">Rechnungsemail</label>
|
||||
<input type="email" id="rechnungsemail" name="rechnungsemail" required>
|
||||
</div>
|
||||
<div>
|
||||
<label for="ust_id">USt-IdNr. (optional)</label>
|
||||
<input type="text" id="ust_id" name="ust_id" placeholder="z. B. DE123456789">
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset class="form-section">
|
||||
<legend>Erster Nutzer (wird Admin)</legend>
|
||||
<div class="form-grid">
|
||||
<div>
|
||||
<label for="email">E-Mail</label>
|
||||
<input type="email" id="email" name="email" required>
|
||||
</div>
|
||||
<div>
|
||||
<label for="password">Passwort (mind. 8 Zeichen)</label>
|
||||
<input type="password" id="password" name="password" minlength="8" required>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="form-actions">
|
||||
<button type="submit">Konto anlegen</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<p><a href="/login">Schon ein Konto? Anmelden</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user