def login(): """Login page for users """ form = LoginForm() if form.validate_on_submit(): username = form.username.data password = form.password.data try: user = authenticate(username, password) except UserNotFound: flash(gettext(u"Nutzer nicht gefunden!"), "error") except PasswordInvalid: flash(gettext(u"Passwort war inkorrekt!"), "error") else: if isinstance(user, User): login_user(user) elif form.is_submitted(): flash_formerrors(form) if current_user.is_authenticated(): return redirect(url_for('usersuite.usersuite')) return render_template('login.html', form=form)
def usersuite_change_mac(): """As user, change the MAC address of your device. """ form = ChangeMACForm() userinfo = query_userinfo(current_user.uid) if form.validate_on_submit(): password = form.password.data mac = form.mac.data try: authenticate(current_user.uid, password) except PasswordInvalid: flash(gettext(u"Passwort war inkorrekt!"), "error") else: update_macaddress(userinfo['ip'], userinfo['mac'], mac) subject = u"[Usersuite] %s hat seine/ihre MAC-Adresse " \ u"geändert" % current_user.uid message = u"Nutzer %(name)s (%(uid)s) hat seine/ihre MAC-Adresse " \ u"geändert.\nAlte MAC: %(old_mac)s\nNeue MAC: %(new_mac)s" % \ {'name': current_user.name, 'uid': current_user.uid, 'old_mac': userinfo['mac'], 'new_mac': mac} if send_mail(current_user.uid + u"@wh2.tu-dresden.de", "*****@*****.**", subject, message): flash(gettext(u"MAC-Adresse wurde geändert!"), "success") return redirect(url_for('.usersuite')) else: flash(gettext(u"Es gab einen Fehler beim Versenden der " u"Nachricht. Bitte schicke uns direkt eine E-Mail " u"an [email protected]"), "error") return redirect(url_for('.usersuite')) elif form.is_submitted(): flash_formerrors(form) old_mac = userinfo['mac'] return render_template('usersuite/change_mac.html', form=form, old_mac=old_mac)