|
@@ -112,19 +112,30 @@ def login_key(userid, key):
|
|
|
def user(userid):
|
|
|
if int(userid) != session.get('user').get('id'):
|
|
|
abort(401)
|
|
|
- return render_template('user.html')
|
|
|
+ groups = query_db('select * from roles join user_role on id=id_role where id_user = ?', userid)
|
|
|
+ return render_template('user.html', groups=groups)
|
|
|
|
|
|
@app.route('/user/settings/<userid>', methods=['GET', 'POST'])
|
|
|
def user_edit(userid):
|
|
|
if int(userid) != session.get('user').get('id'):
|
|
|
abort(401)
|
|
|
if request.method == 'POST':
|
|
|
- g.db.execute('update users set email = ?, name = ?, organization = ? where id = ?',
|
|
|
- [request.form['email'], request.form['name'], request.form['organization'], session['user']['id']])
|
|
|
- g.db.commit()
|
|
|
- disconnect_user() # :TODO:maethor:120528: Maybe useless, but this is simple way to refresh session :D
|
|
|
- flash(u'Votre profil a été mis à jour !', 'success')
|
|
|
- return redirect(url_for('login'))
|
|
|
+ if query_db('select * from users where email=? and id!=?', [request.form['email'], userid], one=True) is None:
|
|
|
+ if query_db('select * from users where name=? and id!=?', [request.form['name'], userid], one=True) is None:
|
|
|
+ g.db.execute('update users set email = ?, name = ?, organization = ? where id = ?',
|
|
|
+ [request.form['email'], request.form['name'], request.form['organization'], session['user']['id']])
|
|
|
+ g.db.commit()
|
|
|
+ disconnect_user() # :TODO:maethor:120528: Maybe useless, but this is simple way to refresh session :D
|
|
|
+ user = query_db('select * from users where id=?', [userid], one=True)
|
|
|
+ if user is None:
|
|
|
+ flash(u'Une erreur s\'est produite.', 'error')
|
|
|
+ return redirect(url_for('login'))
|
|
|
+ connect_user(user)
|
|
|
+ flash(u'Votre profil a été mis à jour !', 'success')
|
|
|
+ else:
|
|
|
+ flash(u'Le nom ' + request.form['name'] + u' est déjà pris ! Veuillez en choisir un autre.', 'error')
|
|
|
+ else:
|
|
|
+ flash(u'Il existe déjà un compte pour cette adresse e-mail : ' + request.form['email'], 'error')
|
|
|
return render_template('user_edit.html')
|
|
|
|
|
|
@app.route('/user/password/<userid>', methods=['GET', 'POST'])
|