def user_edit(email): with permissions['users'].require(): from recorder.models import Role, User user = User.load(email) if not user: return abort(404) ret = _default_response() ret['form'] = UserEditForm() ret['form'].roles.choices = [(r.name, r.description) for r in Role.all()] ret['user'] = user ret['title'] = u"Edtuj konto" ret['roles'] = user.roles ret['section_title'] = u"Edytuj konto" if request.method == 'POST' and ret['form'].validate_on_submit(): if ret['form'].password.data == ret['form'].re_password.data: if ret['form'].password.data: user.password = ret['form'].password.data user.roles = ret['form'].roles.data user.save() return redirect('users') else: ret['error'] = u"Podano dwa różne hasła" return ret
def login(): message = "" form = LoginForm() if form.validate_on_submit(): from recorder.models import User user = User.load(form.email.data) if user and user.check_password(form.password.data): login_user(user) identity_changed.send(current_app._get_current_object(), identity=Identity(user.email)) return redirect(url_for('search')) else: message = u"Zły użytkownik lub hasło" return {'form' : form, 'message' : message}
def load_user(email): from recorder.models import User return User.load(email)
def user_delete(email): with permissions['users'].require(): from recorder.models import Role, User user = User.load(email) user.delete() return redirect('users')
def validate_email(form, field): from recorder.models import User if User.load(field.data): raise ValidationError(u"Email '%s' jest już zajety" % field.data)