package main import ( "github.com/Masterminds/sprig" "os" "text/template" ) func CreateMotion(decision *Decision, voter *Voter) (err error) { decision.ProponentId = voter.Id err = decision.Save() if err != nil { logger.Println("Error saving motion:", err) return } // TODO: implement fetching new decision, implement mail return } func WithdrawMotion(decision *Decision, voter *Voter) (err error) { // load template, fill name, tag, title, content type mailContext struct { *Decision Name string Sender string Recipient string } context := mailContext{decision, voter.Name, config.NoticeSenderAddress, config.BoardMailAddress} // fill withdraw_mail.txt t, err := template.New("withdraw_mail.txt").Funcs( sprig.GenericFuncMap()).ParseFiles("templates/withdraw_mail.txt") if err != nil { logger.Fatal(err) } // TODO: send mail t.Execute(os.Stdout, context) // TODO: implement call decision.Close() return }