def role_edit(name):
"""Edit role (POST handler)"""
db = flask.current_app.container.get('db')
role = db.session.query(Role).filter_by(name=name).first()
if role is None:
flask.abort(404)
name = flask.request.form.get('name', '')
desc = flask.request.form.get('description', None)
if name == '':
flask.flash('Couldn\'t make that role...', 'warning')
return flask.redirect(flask.url_for('admin.index', tab='roles'))
try:
role.name = name
role.description = desc
db.session.commit()
except sqlalchemy.exc.IntegrityError as e:
flask.flash('Couldn\'t make that role... {}'.format(str(e)),
'warning')
db.session.rollback()
return flask.redirect(flask.url_for('admin.index', tab='roles'))
flask.flash('Role {} has been edited'.format(name), 'success')
return flask.redirect(flask.url_for('admin.role_detail', name=role.name))
评论列表
文章目录