def post(self): # create/delete new role action = util.form_get('action') if action == 'delete': role_id = util.form_get('id', required=True, type=int) Role.delete_role(role_id) return redirect(url_for('.role')) name = util.form_get('name', required=True) preset = util.form_get('preset') if preset in {'on', 'true'}: preset = True else: preset = False res_list = request.form.getlist('resources') resources = Resource.query.filter(Resource.id.in_(res_list)) if action == 'edit': role_id = util.form_get('id', required=True, type=int) Role.update(role_id, name=name, resources=resources, preset=preset) else: Role.create_role(name=name, resources=resources, preset=preset) return redirect(url_for('.role'))