Refactoring
This commit is contained in:
parent
ce356dc87c
commit
8505abca6f
7 changed files with 58 additions and 7 deletions
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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}}
|
||||||
|
|
||||||
|
|
13
templates/user/new.email.txt
Normal file
13
templates/user/new.email.txt
Normal 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
26
templates/user/wait.html
Normal 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}}
|
|
@ -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")
|
||||||
|
|
||||||
|
|
8
view.go
8
view.go
|
@ -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"
|
||||||
|
|
Loading…
Reference in a new issue