Uniformize templates
This commit is contained in:
parent
1322220439
commit
f929ca7297
6 changed files with 58 additions and 51 deletions
10
admin.go
10
admin.go
|
@ -1,9 +1,9 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"html/template"
|
"html/template"
|
||||||
"net/http"
|
"net/http"
|
||||||
"fmt"
|
|
||||||
"sort"
|
"sort"
|
||||||
|
|
||||||
"github.com/go-ldap/ldap/v3"
|
"github.com/go-ldap/ldap/v3"
|
||||||
|
@ -31,9 +31,9 @@ func checkAdminLogin(w http.ResponseWriter, r *http.Request) *LoginStatus {
|
||||||
}
|
}
|
||||||
|
|
||||||
type AdminUsersTplData struct {
|
type AdminUsersTplData struct {
|
||||||
Login *LoginStatus
|
Login *LoginStatus
|
||||||
UserNameAttr string
|
UserNameAttr string
|
||||||
Users []*ldap.Entry
|
Users []*ldap.Entry
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleAdminUsers(w http.ResponseWriter, r *http.Request) {
|
func handleAdminUsers(w http.ResponseWriter, r *http.Request) {
|
||||||
|
@ -58,9 +58,9 @@ func handleAdminUsers(w http.ResponseWriter, r *http.Request) {
|
||||||
}
|
}
|
||||||
|
|
||||||
data := &AdminUsersTplData{
|
data := &AdminUsersTplData{
|
||||||
Login: login,
|
Login: login,
|
||||||
UserNameAttr: config.UserNameAttr,
|
UserNameAttr: config.UserNameAttr,
|
||||||
Users: sr.Entries,
|
Users: sr.Entries,
|
||||||
}
|
}
|
||||||
sort.Sort(data)
|
sort.Sort(data)
|
||||||
|
|
||||||
|
|
13
profile.go
13
profile.go
|
@ -63,10 +63,11 @@ func handleProfile(w http.ResponseWriter, r *http.Request) {
|
||||||
}
|
}
|
||||||
|
|
||||||
type PasswdTplData struct {
|
type PasswdTplData struct {
|
||||||
Status *LoginStatus
|
Status *LoginStatus
|
||||||
ErrorMessage string
|
ErrorMessage string
|
||||||
NoMatchError bool
|
TooShortError bool
|
||||||
Success bool
|
NoMatchError bool
|
||||||
|
Success bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func handlePasswd(w http.ResponseWriter, r *http.Request) {
|
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"], "")
|
password := strings.Join(r.Form["password"], "")
|
||||||
password2 := strings.Join(r.Form["password2"], "")
|
password2 := strings.Join(r.Form["password2"], "")
|
||||||
|
|
||||||
if password2 != password {
|
if len(password) < 8 {
|
||||||
|
data.TooShortError = true
|
||||||
|
} else if password2 != password {
|
||||||
data.NoMatchError = true
|
data.NoMatchError = true
|
||||||
} else {
|
} else {
|
||||||
modify_request := ldap.NewModifyRequest(login.Info.DN, nil)
|
modify_request := ldap.NewModifyRequest(login.Info.DN, nil)
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
{{define "title"}}Liste des utilisateurs |{{end}}
|
{{define "title"}}Liste des utilisateurs |{{end}}
|
||||||
|
|
||||||
{{define "body"}}
|
{{define "body"}}
|
||||||
|
|
||||||
<div class="d-flex">
|
<div class="d-flex">
|
||||||
|
<h4>Liste des utilisateurs</h4>
|
||||||
<a class="ml-auto btn btn-info" href="/">Retour</a>
|
<a class="ml-auto btn btn-info" href="/">Retour</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{{define "title"}}{{end}}
|
{{define "title"}}{{end}}
|
||||||
|
|
||||||
{{define "body"}}
|
{{define "body"}}
|
||||||
<div class="alert alert-success">
|
<div class="alert alert-info">
|
||||||
Bienvenue, <strong>{{ .Login.UserEntry.GetAttributeValue "givenname" }}</strong> !
|
Bienvenue, <strong>{{ .Login.UserEntry.GetAttributeValue "givenname" }}</strong> !
|
||||||
</div>
|
</div>
|
||||||
<div class="d-flex">
|
<div class="d-flex">
|
||||||
|
|
|
@ -1,24 +1,31 @@
|
||||||
{{define "title"}}Mot de passe |{{end}}
|
{{define "title"}}Mot de passe |{{end}}
|
||||||
|
|
||||||
{{define "body"}}
|
{{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}}
|
{{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 style="font-size: 0.8em">{{ .ErrorMessage }}</div>
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if .Success}}
|
{{if .Success}}
|
||||||
<div class="alert alert-success">
|
<div class="alert alert-success mt-4">
|
||||||
Nouveau mot de passe enregistré.
|
Nouveau mot de passe enregistré.
|
||||||
</div>
|
</div>
|
||||||
<a class="btn btn-info" href="/">Retour</a>
|
|
||||||
{{else}}
|
{{else}}
|
||||||
<form method="POST">
|
<form method="POST" class="mt-4">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="password">Nouveau mot de passe :</label>
|
<label for="password">Nouveau mot de passe :</label>
|
||||||
<input type="password" id="password" name="password" class="form-control" />
|
<input type="password" id="password" name="password" class="form-control" />
|
||||||
</div>
|
</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">
|
<div class="form-group">
|
||||||
<label for="password2">Répéter le mot de passe :</label>
|
<label for="password2">Répéter le mot de passe :</label>
|
||||||
<input type="password" id="password2" name="password2" class="form-control" />
|
<input type="password" id="password2" name="password2" class="form-control" />
|
||||||
|
@ -28,10 +35,7 @@
|
||||||
Les deux mots de passe entrés ne correspondent pas.
|
Les deux mots de passe entrés ne correspondent pas.
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
<div class="d-flex">
|
<button type="submit" class="btn btn-primary">Changer de mot de passe</button>
|
||||||
<button type="submit" class="btn btn-primary">Changer de mot de passe</button>
|
|
||||||
<a class="ml-auto btn btn-danger" href="/">Annuler</a>
|
|
||||||
</div>
|
|
||||||
</form>
|
</form>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
|
@ -1,44 +1,42 @@
|
||||||
{{define "title"}}Profile |{{end}}
|
{{define "title"}}Profile |{{end}}
|
||||||
|
|
||||||
{{define "body"}}
|
{{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}}
|
{{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 style="font-size: 0.8em">{{ .ErrorMessage }}</div>
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if .Success}}
|
{{if .Success}}
|
||||||
<div class="alert alert-success">
|
<div class="alert alert-success mt-4">
|
||||||
Profil enregistré.
|
Profil enregistré.
|
||||||
</div>
|
</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}}
|
{{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}}
|
{{end}}
|
||||||
|
|
Loading…
Reference in a new issue