def user_insert_or_update(form=None): params = copy.deepcopy(form) if form.get("id"): f = [User.id == form.get("id")] CommonService.update_by_attrs(User, f, form) else: params.setdefault("create_user", session.get('username', "管理员")) CommonService.add_record(User, params)
def insert_or_update(form): menu = CommonService.get_by_id(AppMenuPerm, form.get("id")) if menu: # 更新菜单 CommonService.update_by_obj(menu, form) return menu = CommonService.add_record(AppMenuPerm, form) # 默认为系统管理员角色添加菜单权限 user_role_perm = UserRolePerm() user_role_perm.role_id = 1 # 系统管理员角色 user_role_perm.node_permission = form.get("id") user_role_perm.create_time = datetime.now() user_role_perm.update_time = datetime.now() role = CommonService.save_by_obj(user_role_perm)
def get_role_by_id(form): """ 跟据id获取角色 :return: """ role = CommonService.get_by_id(Role, form.get("id")) return role
def insert_or_update(form): if form.get("name").strip() == '': raise ShowError("角色名不能为空") if form.get("id"): f = [Role.name == form.get("name"), Role.id != form.get("id")] else: f = [Role.name == form.get("name")] roles = CommonService.list_select_by_filter([Role.id], f) if roles: raise ShowError("该角色已存在") db_session = g.pg_db try: # 创建角色 role = Role() for key, value in form.items(): if key is not None: setattr(role, key, value) role = db_session.merge(role) # 创建角色对应的权限 db_session.query(UserRolePerm).filter( UserRolePerm.role_id == role.id).delete( synchronize_session=False) node_permission_list = form.get("node_permission").split(',') node_permission_list = [{ "role_id": role.id, "node_permission": item } for item in node_permission_list] db_session.bulk_insert_mappings(UserRolePerm, node_permission_list) db_session.commit() except Exception as e: db_session.rollback() raise ShowError("添加角色失败")
def user_list(form=None): filters = [] if form.get("status"): filters.append(User.status == form.get("status")) if form.get("keyword"): filters.append( User.name.like("%{name}%".format(name=form.get("keyword"))) | User.desc.like("%{desc}%".format(desc=form.get("keyword")))) ret = CommonService.list_by_filter(User, filters, form) return ret
def get_login_user_app_menus(user_id): """ 获取登录用户节点权限信息(list) :param uid: :return: """ user_app_menus = set() user = CommonService.get_by_id(User, user_id) list_role_perms = RolePermService.list_perm( [UserRolePerm.role_id == user.role_id]) for role_perm in list_role_perms: user_app_menus.add(role_perm.node_permission) return list_role_perms
def check_app_id(form): """检查APP_ID是否存在""" app = CommonService.get_by_id(AppMenuPerm, form.get("app_id")) ret = 1 if app else 0 return ret
def user_detail(form=None): user = CommonService.get_by_id(User, form.get("id")) return user.to_dict()
def user_del(form=None): if not form.get("ids"): raise ShowError("请选择要删除的用户") filters = [User.id.in_(form.get("ids"))] CommonService.update_by_attrs(User, filters, {"status": USER_STATUS.get("删除")})
def get_all_roles(form): roles = CommonService.list_by_filter(Role, filters=[], params=form) return roles
def delete_roles(form): """ 角色批量删除 :return: """ CommonService.del_by_ids(Role, [form.get("role_ids")])