def put(self, request, *args, **kwargs): """ 修改开启、关闭注册状态 """ try: user_id = request.user.user_id enterprise_id = request.user.enterprise_id admin = enterprise_user_perm_repo.get_user_enterprise_perm( user_id=user_id, enterprise_id=enterprise_id) is_regist = request.data.get("is_regist") if admin: if is_regist is False: # 修改全局配置 config_service.update_config("REGISTER_STATUS", "no") return Response(general_message(200, "close register", "关闭注册"), status=200) else: config_service.update_config("REGISTER_STATUS", "yes") return Response(general_message(200, "open register", "开启注册"), status=200) else: return Response(general_message(400, "no jurisdiction", "没有权限"), status=400) except Exception as e: logger.exception(e) result = error_message(e.message) return Response(result, status=result["code"])
def make_user_as_admin_for_enterprise(self, user_id, enterprise_id): user_perm = enterprise_user_perm_repo.get_user_enterprise_perm( user_id, enterprise_id) if not user_perm: return enterprise_user_perm_repo.create_enterprise_user_perm( user_id, enterprise_id, "admin") return user_perm
def make_user_as_admin_for_enterprise(self, user_id, enterprise_id): user_perm = enterprise_user_perm_repo.get_user_enterprise_perm( user_id, enterprise_id) if not user_perm: token = self.generate_key() return enterprise_user_perm_repo.create_enterprise_user_perm( user_id, enterprise_id, "admin", token) return user_perm
def get_administrator_user_token(self, user): perm_list = enterprise_user_perm_repo.get_user_enterprise_perm(user.user_id, user.enterprise_id) if not perm_list: return None perm = perm_list[0] if not perm.token: perm.token = self.generate_key() perm.save() return perm.token
def get_administrator_user_by_token(self, token): perm = user_access_services.check_user_access_key(token) if not perm: perm = enterprise_user_perm_repo.get_by_token(token) if not perm: return None user = self.get_user_by_user_id(perm.user_id) permList = enterprise_user_perm_repo.get_user_enterprise_perm( user.user_id, user.enterprise_id) if not permList: return None return user
def is_user_admin_in_current_enterprise(self, current_user, enterprise_id): """判断用户在该企业下是否为管理员""" if current_user.enterprise_id != enterprise_id: return False user_perms = enterprise_user_perm_repo.get_user_enterprise_perm(current_user.user_id, enterprise_id) if not user_perms: users = user_repo.get_enterprise_users(enterprise_id).order_by("user_id") if users: admin_user = users[0] # 如果有,判断用户最开始注册的用户和当前用户是否为同一人,如果是,添加数据返回true if admin_user.user_id == current_user.user_id: enterprise_user_perm_repo.create_enterprise_user_perm(current_user.user_id, enterprise_id, "admin") return True else: return False else: return True
def get_user_in_enterprise_perm(self, user, enterprise_id): return enterprise_user_perm_repo.get_user_enterprise_perm( user.user_id, enterprise_id)