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:
@@ -6,6 +6,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/netcell-it/deklarix/internal/auth"
|
||||
"github.com/netcell-it/deklarix/internal/store"
|
||||
)
|
||||
|
||||
type authPageData struct {
|
||||
@@ -46,11 +47,21 @@ func (s *Server) handleRegister(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
accountName := r.FormValue("account_name")
|
||||
accountInput := store.AccountInput{
|
||||
Name: r.FormValue("account_name"),
|
||||
Strasse: r.FormValue("strasse"),
|
||||
PLZ: r.FormValue("plz"),
|
||||
Ort: r.FormValue("ort"),
|
||||
Land: r.FormValue("land"),
|
||||
UStID: r.FormValue("ust_id"), // optional, siehe Migration 0023 (Kleinunternehmer)
|
||||
Rechnungsemail: r.FormValue("rechnungsemail"),
|
||||
}
|
||||
email := r.FormValue("email")
|
||||
password := r.FormValue("password")
|
||||
if accountName == "" || email == "" || password == "" {
|
||||
s.renderAuthPage(w, "register", authPageData{Title: "Registrieren", Error: "Alle Felder sind Pflicht"})
|
||||
if accountInput.Name == "" || email == "" || password == "" ||
|
||||
accountInput.Strasse == "" || accountInput.PLZ == "" || accountInput.Ort == "" ||
|
||||
accountInput.Land == "" || accountInput.Rechnungsemail == "" {
|
||||
s.renderAuthPage(w, "register", authPageData{Title: "Registrieren", Error: "Alle Felder außer USt-IdNr. sind Pflicht"})
|
||||
return
|
||||
}
|
||||
|
||||
@@ -68,7 +79,7 @@ func (s *Server) handleRegister(w http.ResponseWriter, r *http.Request) {
|
||||
// RLS-geschützt) von der Policy abgelehnt.
|
||||
var errMsg string
|
||||
err = s.store.WithTenantScope(r.Context(), "", false, func(ctx context.Context) error {
|
||||
acc, err := s.store.CreateAccount(ctx, accountName)
|
||||
acc, err := s.store.CreateAccount(ctx, accountInput)
|
||||
if err != nil {
|
||||
errMsg = "Konto konnte nicht angelegt werden"
|
||||
return err
|
||||
|
||||
Reference in New Issue
Block a user