aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2020-02-09 19:56:01 +0100
committerAlex Auvolat <alex@adnab.me>2020-02-09 19:56:01 +0100
commitf929ca7297905e4233aa32fe2d80dd4cc3fcda30 (patch)
tree4cf59a71cef9c4126fda38cfa5735bcd8a693575
parent13222204392009e07382eecb908b7e6e01155ec4 (diff)
downloadguichet-f929ca7297905e4233aa32fe2d80dd4cc3fcda30.tar.gz
guichet-f929ca7297905e4233aa32fe2d80dd4cc3fcda30.zip
Uniformize templates
-rw-r--r--admin.go10
-rw-r--r--profile.go13
-rw-r--r--templates/admin_users.html2
-rw-r--r--templates/home.html2
-rw-r--r--templates/passwd.html22
-rw-r--r--templates/profile.html60
6 files changed, 58 insertions, 51 deletions
diff --git a/admin.go b/admin.go
index 60296dc..5a86fe2 100644
--- a/admin.go
+++ b/admin.go
@@ -1,9 +1,9 @@
package main
import (
+ "fmt"
"html/template"
"net/http"
- "fmt"
"sort"
"github.com/go-ldap/ldap/v3"
@@ -31,9 +31,9 @@ func checkAdminLogin(w http.ResponseWriter, r *http.Request) *LoginStatus {
}
type AdminUsersTplData struct {
- Login *LoginStatus
+ Login *LoginStatus
UserNameAttr string
- Users []*ldap.Entry
+ Users []*ldap.Entry
}
func handleAdminUsers(w http.ResponseWriter, r *http.Request) {
@@ -58,9 +58,9 @@ func handleAdminUsers(w http.ResponseWriter, r *http.Request) {
}
data := &AdminUsersTplData{
- Login: login,
+ Login: login,
UserNameAttr: config.UserNameAttr,
- Users: sr.Entries,
+ Users: sr.Entries,
}
sort.Sort(data)
diff --git a/profile.go b/profile.go
index 00e93dd..fa372bc 100644
--- a/profile.go
+++ b/profile.go
@@ -63,10 +63,11 @@ func handleProfile(w http.ResponseWriter, r *http.Request) {
}
type PasswdTplData struct {
- Status *LoginStatus
- ErrorMessage string
- NoMatchError bool
- Success bool
+ Status *LoginStatus
+ ErrorMessage string
+ TooShortError bool
+ NoMatchError bool
+ Success bool
}
func handlePasswd(w http.ResponseWriter, r *http.Request) {
@@ -89,7 +90,9 @@ func handlePasswd(w http.ResponseWriter, r *http.Request) {
password := strings.Join(r.Form["password"], "")
password2 := strings.Join(r.Form["password2"], "")
- if password2 != password {
+ if len(password) < 8 {
+ data.TooShortError = true
+ } else if password2 != password {
data.NoMatchError = true
} else {
modify_request := ldap.NewModifyRequest(login.Info.DN, nil)
diff --git a/templates/admin_users.html b/templates/admin_users.html
index 8ca80e2..39e291c 100644
--- a/templates/admin_users.html
+++ b/templates/admin_users.html
@@ -1,7 +1,9 @@
{{define "title"}}Liste des utilisateurs |{{end}}
{{define "body"}}
+
<div class="d-flex">
+ <h4>Liste des utilisateurs</h4>
<a class="ml-auto btn btn-info" href="/">Retour</a>
</div>
diff --git a/templates/home.html b/templates/home.html
index 3f91e7b..b4012fd 100644
--- a/templates/home.html
+++ b/templates/home.html
@@ -1,7 +1,7 @@
{{define "title"}}{{end}}
{{define "body"}}
-<div class="alert alert-success">
+<div class="alert alert-info">
Bienvenue, <strong>{{ .Login.UserEntry.GetAttributeValue "givenname" }}</strong> !
</div>
<div class="d-flex">
diff --git a/templates/passwd.html b/templates/passwd.html
index 57ae234..33953c8 100644
--- a/templates/passwd.html
+++ b/templates/passwd.html
@@ -1,24 +1,31 @@
{{define "title"}}Mot de passe |{{end}}
{{define "body"}}
-<h4>Modifier mon mot de passe</h4>
+<div class="d-flex">
+ <h4>Modifier mon mot de passe</h4>
+ <a class="ml-auto btn btn-info" href="/">Retour</a>
+</div>
{{if .ErrorMessage}}
- <div class="alert alert-danger">Impossible d'effectuer la modification.
+ <div class="alert alert-danger mt-4">Impossible d'effectuer la modification.
<div style="font-size: 0.8em">{{ .ErrorMessage }}</div>
</div>
{{end}}
{{if .Success}}
- <div class="alert alert-success">
+ <div class="alert alert-success mt-4">
Nouveau mot de passe enregistré.
</div>
- <a class="btn btn-info" href="/">Retour</a>
{{else}}
- <form method="POST">
+ <form method="POST" class="mt-4">
<div class="form-group">
<label for="password">Nouveau mot de passe :</label>
<input type="password" id="password" name="password" class="form-control" />
</div>
+ {{if .TooShortError}}
+ <div class="alert alert-warning">
+ Le mot de passe choisi est trop court (minimum 8 caractères).
+ </div>
+ {{end}}
<div class="form-group">
<label for="password2">Répéter le mot de passe :</label>
<input type="password" id="password2" name="password2" class="form-control" />
@@ -28,10 +35,7 @@
Les deux mots de passe entrés ne correspondent pas.
</div>
{{end}}
- <div class="d-flex">
- <button type="submit" class="btn btn-primary">Changer de mot de passe</button>
- <a class="ml-auto btn btn-danger" href="/">Annuler</a>
- </div>
+ <button type="submit" class="btn btn-primary">Changer de mot de passe</button>
</form>
{{end}}
{{end}}
diff --git a/templates/profile.html b/templates/profile.html
index bdab685..d18c372 100644
--- a/templates/profile.html
+++ b/templates/profile.html
@@ -1,44 +1,42 @@
{{define "title"}}Profile |{{end}}
{{define "body"}}
-<h4>Modifier mon profil</h4>
+<div class="d-flex">
+ <h4>Modifier mon profil</h4>
+ <a class="ml-auto btn btn-info" href="/">Retour</a>
+</div>
{{if .ErrorMessage}}
- <div class="alert alert-danger">Impossible d'effectuer la modification.
+ <div class="alert alert-danger mt-4">Impossible d'effectuer la modification.
<div style="font-size: 0.8em">{{ .ErrorMessage }}</div>
</div>
{{end}}
{{if .Success}}
- <div class="alert alert-success">
+ <div class="alert alert-success mt-4">
Profil enregistré.
</div>
- <a class="btn btn-info" href="/">Retour</a>
- {{else}}
- <form method="POST">
- <div class="form-group">
- <label>Nom d'utilisateur:</label>
- <input type="text" disabled="true" class="form-control" value="{{ .Status.Info.Username }}" />
- </div>
- <div class="form-group">
- <label for="mail">Adresse e-mail:</label>
- <input type="text" id="mail" name="mail" class="form-control" value="{{ .Mail }}" />
- </div>
- <div class="form-group">
- <label for="display_name">Nom complet:</label>
- <input type="text" id="display_name" name="display_name" class="form-control" value="{{ .DisplayName }}" />
- </div>
- <div class="form-group">
- <label for="given_name">Prénom:</label>
- <input type="text" id="given_name" name="given_name" class="form-control" value="{{ .GivenName }}" />
- </div>
- <div class="form-group">
- <label for="surname">Nom de famille:</label>
- <input type="text" id="surname" name="surname" class="form-control" value="{{ .Surname }}" />
- </div>
- <div class="d-flex">
- <button type="submit" class="btn btn-primary">Enregistrer les modifications</button>
- <a class="ml-auto btn btn-danger" href="/">Annuler</a>
- </div>
- </form>
{{end}}
+ <form method="POST" class="mt-4">
+ <div class="form-group">
+ <label>Nom d'utilisateur:</label>
+ <input type="text" disabled="true" class="form-control" value="{{ .Status.Info.Username }}" />
+ </div>
+ <div class="form-group">
+ <label for="mail">Adresse e-mail:</label>
+ <input type="text" id="mail" name="mail" class="form-control" value="{{ .Mail }}" />
+ </div>
+ <div class="form-group">
+ <label for="display_name">Nom complet:</label>
+ <input type="text" id="display_name" name="display_name" class="form-control" value="{{ .DisplayName }}" />
+ </div>
+ <div class="form-group">
+ <label for="given_name">Prénom:</label>
+ <input type="text" id="given_name" name="given_name" class="form-control" value="{{ .GivenName }}" />
+ </div>
+ <div class="form-group">
+ <label for="surname">Nom de famille:</label>
+ <input type="text" id="surname" name="surname" class="form-control" value="{{ .Surname }}" />
+ </div>
+ <button type="submit" class="btn btn-primary">Enregistrer les modifications</button>
+ </form>
{{end}}