diff options
author | Alex Auvolat <alex@adnab.me> | 2020-02-09 19:56:01 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2020-02-09 19:56:01 +0100 |
commit | f929ca7297905e4233aa32fe2d80dd4cc3fcda30 (patch) | |
tree | 4cf59a71cef9c4126fda38cfa5735bcd8a693575 | |
parent | 13222204392009e07382eecb908b7e6e01155ec4 (diff) | |
download | guichet-f929ca7297905e4233aa32fe2d80dd4cc3fcda30.tar.gz guichet-f929ca7297905e4233aa32fe2d80dd4cc3fcda30.zip |
Uniformize templates
-rw-r--r-- | admin.go | 10 | ||||
-rw-r--r-- | profile.go | 13 | ||||
-rw-r--r-- | templates/admin_users.html | 2 | ||||
-rw-r--r-- | templates/home.html | 2 | ||||
-rw-r--r-- | templates/passwd.html | 22 | ||||
-rw-r--r-- | templates/profile.html | 60 |
6 files changed, 58 insertions, 51 deletions
@@ -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) @@ -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}} |