parcoursmob/handlers/application/support.go

41 lines
935 B
Go
Executable File

package application
import (
"net/http"
"git.coopgo.io/coopgo-apps/parcoursmob/utils/identification"
"github.com/rs/zerolog/log"
)
type Message struct {
Content string
}
func (h *ApplicationHandler) SupportSend(w http.ResponseWriter, r *http.Request) {
c := r.Context().Value(identification.ClaimsKey)
if c == nil {
log.Error().Msg("no current user claims")
w.WriteHeader(http.StatusInternalServerError)
return
}
current_user_claims := c.(map[string]any)
comment := r.PostFormValue(("comment"))
if r.Method == "POST" {
data := map[string]any{
"key": comment,
"user": current_user_claims["email"],
}
if err := h.emailing.Send("support.request", "support@parcoursmob.fr", data); err != nil {
log.Error().Err(err).Msg("")
w.WriteHeader(http.StatusInternalServerError)
}
http.Redirect(w, r, "/app/", http.StatusFound)
return
}
h.Renderer.SupportSend(w, r, comment, current_user_claims)
}