deboguer erreur dans user_edit

This commit is contained in:
2023-06-28 15:41:55 +02:00
parent 47465d1f40
commit 6045ab3e36
4 changed files with 38 additions and 25 deletions

Binary file not shown.

View File

@@ -32,5 +32,5 @@ class UserCreateForm(Form):
filters=[strip_filter]) filters=[strip_filter])
password = PasswordField('Mot de passe') password = PasswordField('Mot de passe')
confirm = PasswordField('Confirmer', validators=[EqualTo('password', message='Les 2 Passwords doivent être identiques')]) confirm = PasswordField('Confirmer', validators=[EqualTo('password', message='Les 2 mots de passe doivent être identiques')])

View File

@@ -2,15 +2,25 @@
{% block content %} {% block content %}
{% if message %}
<div class="alert alert-danger">
{{ message }}
</div>
{% endif %}
<form action="{{ url }}" method="post" class="form"> <form action="{{ url }}" method="post" class="form">
{% for error in form.name.errors %} {% for error in form.name.errors %}
<div class="error">{{ error }}</div> <div class="label label-warning">{{ error }}</div>
{% endfor %} {% endfor %}
<div class="form-group"> <div class="form-group">
<label class="required-field" for="name">{{form.name.label}}</label> <label class="required-field" for="name">{{form.name.label}}</label>
{% if form.id.data %}
<input class="form-control" name="name" readonly type="text" value="{{form.name.data}}">
{% else %}
{{form.name(class_='form-control')}} {{form.name(class_='form-control')}}
{% endif %}
</div> </div>
<div class="form-group"> <div class="form-group">
@@ -19,7 +29,7 @@
</div> </div>
{% for error in form.confirm.errors %} {% for error in form.confirm.errors %}
<div class="error">{{error}}</div> <div class="label label-danger">{{error}}</div>
{% endfor %} {% endfor %}
<div class="form-group"> <div class="form-group">
@@ -27,6 +37,7 @@
{{form.confirm(class_='form-control')}} {{form.confirm(class_='form-control')}}
</div> </div>
<br>
<div class="form-group"> <div class="form-group">
<a class="btn btn-default" href="{{ url_retour }}"><span class="glyphicon glyphicon-chevron-left"></span> Retour</a> <a class="btn btn-default" href="{{ url_retour }}"><span class="glyphicon glyphicon-chevron-left"></span> Retour</a>
<button class="btn btn-primary" type="submit" name="form.submitted"> <button class="btn btn-primary" type="submit" name="form.submitted">

View File

@@ -86,7 +86,7 @@ def users(request):
@view_config(route_name='user_edit', renderer='cao_blogr:templates/user_edit.jinja2', permission='view') @view_config(route_name='user_edit', renderer='cao_blogr:templates/user_edit.jinja2', permission='view')
def user_edit(request): def user_edit(request):
message = ''
name = request.matchdict['name'] name = request.matchdict['name']
url = request.route_url('user_edit', name=name) url = request.route_url('user_edit', name=name)
if request.authenticated_userid == 'admin': if request.authenticated_userid == 'admin':
@@ -111,24 +111,25 @@ def user_edit(request):
if 'form.submitted' in request.params and form.validate(): if 'form.submitted' in request.params and form.validate():
if name == '0':
# controle que le password a moins 6 car # controle que le password a moins 6 car
if len(form.password.data) < 6 : if len(form.password.data) < 6 :
request.session.flash(u"Le mot de passe doit avoir au moins 6 caractères", 'danger') message = "Le mot de passe doit avoir au moins 6 caractères"
return HTTPFound(location=url) else:
# controler que le nouvel user n'existe pas dans la BD # controler que le nouvel user n'existe pas dans la BD
new_user = UserService.by_name(request, form.name.data) new_user = UserService.by_name(request, form.name.data)
if new_user: if new_user:
request.session.flash("Utilisateur déjà créé : %s" % form.name.data, 'danger') message = "Utilisateur déjà créé : %s" % form.name.data
return HTTPFound(location=url)
# si pas d'erreur
if message == '':
if name == '0':
form.populate_obj(user) form.populate_obj(user)
user.set_password(form.password.data.encode('utf8')) user.set_password(form.password.data.encode('utf8'))
# créer le nouveau # créer le nouveau
request.dbsession.add(user) request.dbsession.add(user)
request.session.flash("La fiche a été créée avec succès.", 'success') request.session.flash("La fiche a été créée avec succès.", 'success')
return HTTPFound(location=url_retour) return HTTPFound(location=url_retour)
else: else:
del form.name # SECURITY: prevent overwriting of primary key del form.name # SECURITY: prevent overwriting of primary key
form.populate_obj(user) form.populate_obj(user)
@@ -143,6 +144,7 @@ def user_edit(request):
return { return {
'page_title': page_title, 'page_title': page_title,
'message': message,
'form': form, 'form': form,
'url': url, 'url': url,
'url_retour': url_retour, 'url_retour': url_retour,