def add_route(gid, routes): with db.auto_commit(): Group.get_or_404(id=gid, msg='无指定权限组') for route_id in routes: Route.get_or_404(id=route_id, msg='无指定路由节点') Menu.abort_repeat(group_id=gid, route_id=route_id) Menu.create(group_id=gid, route_id=route_id)
def menu_store(): form = MenuCreateForm(request.form) if form.validate(): menu = Menu() menu.create(data=form.data) return Success(message="操作成功!") return Fail(message=form.first_error)
def cover_menus(group_id, routes): Menu.query.filter_by(group_id=group_id).delete( synchronize_session=False) t = RouteTree() t.generate_by_dir({'id': 0, 'children': routes}) with db.auto_commit(): for route in t.deserialize(): if route['id'] != 0: Menu.create(group_id=group_id, route_id=route['id'])