deboguer erreur dans user_edit
This commit is contained in:
BIN
cao_blogr.sqlite
BIN
cao_blogr.sqlite
Binary file not shown.
@@ -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')])
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
{{form.name(class_='form-control')}}
|
{% if form.id.data %}
|
||||||
|
<input class="form-control" name="name" readonly type="text" value="{{form.name.data}}">
|
||||||
|
{% else %}
|
||||||
|
{{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">
|
||||||
|
|||||||
@@ -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,30 +111,31 @@ 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 :
|
message = "Le mot de passe doit avoir au moins 6 caractères"
|
||||||
request.session.flash(u"Le mot de passe doit avoir au moins 6 caractères", 'danger')
|
else:
|
||||||
return HTTPFound(location=url)
|
|
||||||
|
|
||||||
# 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)
|
||||||
|
user.set_password(form.password.data.encode('utf8'))
|
||||||
|
# créer le nouveau
|
||||||
|
request.dbsession.add(user)
|
||||||
|
request.session.flash("La fiche a été créée avec succès.", 'success')
|
||||||
|
return HTTPFound(location=url_retour)
|
||||||
|
|
||||||
form.populate_obj(user)
|
else:
|
||||||
user.set_password(form.password.data.encode('utf8'))
|
del form.name # SECURITY: prevent overwriting of primary key
|
||||||
# créer le nouveau
|
form.populate_obj(user)
|
||||||
request.dbsession.add(user)
|
user.set_password(form.password.data.encode('utf8'))
|
||||||
request.session.flash("La fiche a été créée avec succès.", 'success')
|
request.session.flash("La fiche a été modifiée avec succès.", 'success')
|
||||||
return HTTPFound(location=url_retour)
|
return HTTPFound(location=url_retour)
|
||||||
else:
|
|
||||||
del form.name # SECURITY: prevent overwriting of primary key
|
|
||||||
form.populate_obj(user)
|
|
||||||
user.set_password(form.password.data.encode('utf8'))
|
|
||||||
request.session.flash("La fiche a été modifiée avec succès.", 'success')
|
|
||||||
return HTTPFound(location=url_retour)
|
|
||||||
|
|
||||||
if 'form.deleted' in request.params:
|
if 'form.deleted' in request.params:
|
||||||
UserService.delete(request, user.id)
|
UserService.delete(request, user.id)
|
||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user