diff --git a/app/database.py b/app/database.py
index 27a58c4..95be41e 100644
--- a/app/database.py
+++ b/app/database.py
@@ -149,7 +149,8 @@ def set_rfid_to_userid(rfid_ids, user_id):
if not u: #rfid id is not assigned to a user, so it should be added
add_rfid_id(rfid_id, user_id)
- for old_rfid in get_rfid_ids_by_userid(user_id):
+ old_rfids = get_rfid_ids_by_userid(user_id).replace(" ","").split(";")
+ for old_rfid in old_rfids:
if old_rfid not in new_rfids:
query_db("DELETE FROM Rfid WHERE rfid_id = ?", (old_rfid, ))
diff --git a/app/templates/manage_users_edit.html b/app/templates/manage_users_edit.html
index 032a54f..c06e40d 100644
--- a/app/templates/manage_users_edit.html
+++ b/app/templates/manage_users_edit.html
@@ -14,6 +14,7 @@
Name:
Email:
Euml ID: (falls mehrere durch ; trennen)
+ Neues Passwort: (wenn nicht ausgefüllt bleibt das alte)
Geschwärzt:
Baron:
Angezeigt:
diff --git a/app/views.py b/app/views.py
index 7b74f97..20edb3e 100644
--- a/app/views.py
+++ b/app/views.py
@@ -134,6 +134,12 @@ def manage_users_edit(name=None):
u.email = request.form['email']
u.rfid_id = request.form['rfid_id']
+ if len(request.form['new_password']) > 0:
+ u.password = bcrypt.hashpw(request.form['new_password'], bcrypt.gensalt())
+ else:
+ u2 = get_user_by_id(u.id)
+ u.password = u2.password
+
if 'isblack' in request.form:
u.isblack = True
else:
@@ -159,9 +165,6 @@ def manage_users_edit(name=None):
else:
u.onlyrfid = False
- u2 = get_user_by_id(u.id)
- u.password = u2.password
-
update_user(u)
return redirect('/manage_users')
@@ -280,7 +283,7 @@ def personal():
for deposit in deposits:
deposited += deposit.amount
- return render_template('personal.html', user=user, consumed=consumed,
+ return render_template('personal.html', user=user, consumed=reversed(consumed),
products=get_products(), deposits=deposits, deposited=deposited, owed=owed)
@app.route('/billing', methods=['POST', 'GET'])
@@ -302,7 +305,7 @@ def billing():
for user in users:
debt[user.id-1] = get_debt(user.name)
- return render_template('billing.html', users=users, success="Writing to database is not implemented", debt=debt, user=get_user_by_name(session.get('name')))
+ return render_template('billing.html', users=users, success=u"Einzahlungen übernommen", debt=debt, user=get_user_by_name(session.get('name')))
if request.method == 'GET':
debt = [0 for user in users]
for user in users:
@@ -364,20 +367,21 @@ def selfmanagement():
if not bcrypt.checkpw(request.form['password_old'], u.password):
success = "Passwort falsch!"
else:
- if ('password1' in request.form) & ('password2' in request.form):
- if request.form['password1'] == request.form['password2']:
- u.password = bcrypt.hashpw(request.form['password1'], bcrypt.gensalt())
+ if len(request.form['password1']) > 0:
+ if ('password1' in request.form) & ('password2' in request.form):
+ if (request.form['password1'] == request.form['password2']):
+ u.password = bcrypt.hashpw(request.form['password1'], bcrypt.gensalt())
- u.rfid_id = request.form['rfid_id']
+ u.rfid_id = request.form['rfid_id']
- if 'onlyrfid' in request.form:
- u.onlyrfid = True
+ if 'onlyrfid' in request.form:
+ u.onlyrfid = True
+ else:
+ u.onlyrfid = False
+ update_user(u)
+ success = u'Einstellungen wurden übernommen!'
else:
- u.onlyrfid = False
- update_user(u)
- success = u'Einstellungen wurden übernommen!'
- else:
- success = u'Neue Passwörter stimmen nicht überein!'
+ success = u'Neue Passwörter stimmen nicht überein!'
else:
u.rfid_id = request.form['rfid_id']