Refactoring

This commit is contained in:
Chris Mann 2023-07-26 11:05:47 +02:00
parent ce356dc87c
commit 8505abca6f
7 changed files with 58 additions and 7 deletions

View file

@ -67,6 +67,7 @@ func makeGVRouter() (*mux.Router, error) {
r.HandleFunc("/user", handleUser) r.HandleFunc("/user", handleUser)
r.HandleFunc("/user/new", handleInviteNewAccount) r.HandleFunc("/user/new", handleInviteNewAccount)
r.HandleFunc("/user/wait", handleUserWait)
r.HandleFunc("/picture/{name}", handleDownloadPicture) r.HandleFunc("/picture/{name}", handleDownloadPicture)

View file

@ -121,11 +121,11 @@ func add(user User, config *ConfigFile, ldapConn *ldap.Conn) error {
sendMailTplData := SendMailTplData{ sendMailTplData := SendMailTplData{
From: "alice@resdigita.org", From: "alice@resdigita.org",
To: user.OtherMailbox, To: user.OtherMailbox,
RelTemplatePath: "user/mail.txt", RelTemplatePath: "user/new.email.txt",
ContentVars: map[string]string{ EmailContentVars: EmailContentVarsTplData{
"InviteFrom": "alice@resdigita.org", InviteFrom: "alice@resdigita.org",
"SebAddress": "https://www.gvoisins.org", SendAddress: "https://www.gvoisins.org",
"Code": "...", Code: "...",
}, },
} }
err = sendMail(sendMailTplData) err = sendMail(sendMailTplData)

View file

@ -5,7 +5,7 @@ Content-type: text/plain; charset=utf-8
Vous avez été invité à créer un compte sur GVoisin.com par {{.InviteFrom}} :) Vous avez été invité à créer un compte sur GVoisin.com par {{.InviteFrom}} :)
Pour créer votre compte, rendez-vous à l'addresse suivante: Pour créer votre compte, rendez-vous à l'adresse suivante:
{{.WebBaseAddress}}/invitation/{{.Code}} {{.WebBaseAddress}}/invitation/{{.Code}}

View file

@ -0,0 +1,13 @@
From: {{.From}}
To: {{.To}}
Subject: Code d'invitation GVoisin.com
Content-type: text/plain; charset=utf-8
Vous avez été invité à créer un compte sur GVoisin.com par {{.InviteFrom}} :)
Pour créer votre compte, rendez-vous à l'adresse suivante:
{{.WebBaseAddress}}/invitation/{{.Code}}
À bientôt sur GVoisin.com !

26
templates/user/wait.html Normal file
View file

@ -0,0 +1,26 @@
{{define "title"}}Attente de validation{{end}}
{{define "admenu"}}
{{end}}
{{define "body"}}
{{if .Common.ErrorMessage}}
<div class="alert alert-danger mt-4">Impossible de créer le compte.
<div style="font-size: 0.8em">{{ .Common.ErrorMessage }}</div>
</div>
{{end}}
{{if .Common.WarningMessage}}
<div class="alert alert-danger mt-4">Des erreurs se sont produites, le compte pourrait ne pas être totalement
fonctionnel.
<div style="font-size: 0.8em">{{ .Common.WarningMessage }}</div>
</div>
{{end}}
{{if .Common.Success}}
<div class="alert alert-success mt-4">
Le compe a été créé !
Rendez-vous <a href="/session/logout">sur la page d'accueil</a> pour vous connecter avec ce nouveau compte.
</div>
{{else}}
<p>Vous avez reçu un courriel. Nous allons valider votre compte. </p>
{{end}}
{{end}}

View file

@ -9,6 +9,11 @@ import (
// "github.com/gorilla/mux" // "github.com/gorilla/mux"
) )
func handleUserWait(w http.ResponseWriter, r *http.Request) {
templateProfile := getTemplate("user/wait.html")
templateProfile.Execute(w, nil)
}
func handleUser(w http.ResponseWriter, r *http.Request) { func handleUser(w http.ResponseWriter, r *http.Request) {
templateProfile := getTemplate("user.html") templateProfile := getTemplate("user.html")

View file

@ -218,6 +218,12 @@ type LoginFormData struct {
Common NestedCommonTplData Common NestedCommonTplData
} }
type EmailContentVarsTplData struct {
Code string
SendAddress string
InviteFrom string
}
// Data to be passed to an email for sending // Data to be passed to an email for sending
type SendMailTplData struct { type SendMailTplData struct {
// Sender of the email // Sender of the email
@ -228,7 +234,7 @@ type SendMailTplData struct {
// usually ending in .txt // usually ending in .txt
RelTemplatePath string RelTemplatePath string
// Variables to be included in the template of the email // Variables to be included in the template of the email
ContentVars map[string]string EmailContentVars EmailContentVarsTplData
} }
var templatePath = "./templates" var templatePath = "./templates"