def role_assignment_add(name):
"""Assign role to user (POST handler)"""
db = flask.current_app.container.get('db')
login = flask.request.form.get('login', '')
user = db.session.query(User).filter_by(login=login).first()
role = db.session.query(Role).filter_by(name=name).first()
if user is None or role is None:
flask.abort(404)
account = user.user_account
if account in role.user_accounts:
flask.flash('User {} already has role {}'.format(login, name),
'error')
else:
role.user_accounts.append(account)
db.session.commit()
flask.flash('Role {} assigned to user {}'.format(name, login),
'success')
return flask.redirect(flask.url_for('admin.role_detail', name=name))
评论列表
文章目录