initial commit
This commit is contained in:
+48
@@ -0,0 +1,48 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type settingsView struct {
|
||||
Cfg Config
|
||||
Saved bool
|
||||
Error string
|
||||
Version string
|
||||
}
|
||||
|
||||
func (s *Server) handleSettings(w http.ResponseWriter, r *http.Request) {
|
||||
s.mu.Lock()
|
||||
cfg := s.Cfg
|
||||
s.mu.Unlock()
|
||||
s.render(w, "settings_page", settingsView{Cfg: cfg, Version: Version})
|
||||
}
|
||||
|
||||
func (s *Server) handleSettingsSave(w http.ResponseWriter, r *http.Request) {
|
||||
r.ParseForm()
|
||||
|
||||
dueDays, _ := strconv.Atoi(r.FormValue("payment_terms_days"))
|
||||
mvg, _ := strconv.ParseFloat(r.FormValue("mvg_percent"), 64)
|
||||
|
||||
s.mu.Lock()
|
||||
// Web-only POC: settings edits stay in memory only and are reset with the
|
||||
// rest of the POC state every 10 minutes. config.json is never rewritten.
|
||||
s.Cfg.CompanyName = r.FormValue("company_name")
|
||||
s.Cfg.CompanyAddress = r.FormValue("company_address")
|
||||
s.Cfg.CompanyPhone = r.FormValue("company_phone")
|
||||
s.Cfg.CompanyEmail = r.FormValue("company_email")
|
||||
s.Cfg.CompanyWeb = r.FormValue("company_web")
|
||||
s.Cfg.TaxID = r.FormValue("tax_id")
|
||||
s.Cfg.BankInfo = r.FormValue("bank_info")
|
||||
if dueDays > 0 {
|
||||
s.Cfg.PaymentTermsDays = dueDays
|
||||
}
|
||||
if mvg > 0 {
|
||||
s.Cfg.MVGPercent = mvg
|
||||
}
|
||||
cfg := s.Cfg
|
||||
s.mu.Unlock()
|
||||
|
||||
s.render(w, "settings_page", settingsView{Cfg: cfg, Saved: true, Version: Version})
|
||||
}
|
||||
Reference in New Issue
Block a user