You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cacert-boardvoting/actions.go

43 lines
956 B
Go

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
}