示例#1
0
    def post(self, request, *args, **kwargs):
        """

        """
        try:
            username = request.data.get("username", None)
            enterprise_id = request.data.get("enterprise_id", None)
            enterprise_alias = request.data.get("enterprise_alias", None)
            # 校验参数
            if not username or not enterprise_id or not enterprise_alias:
                return Response(generate_result(
                    "1003", "params error", "参数错误"))
            user_obj = user_repo.get_user_by_user_name(username)
            if not user_obj:
                return Response(generate_result(
                    "1004", "user already exists", "用户在控制台不存在"))
            # 查询企业信息
            enterprise = enterprise_services.get_enterprise_by_enterprise_id(enterprise_id)

            # 判断用户是否为企业管理员
            if user_services.is_user_admin_in_current_enterprise(user_obj, enterprise.enterprise_id):
                bean_dict = {"user_info": user_obj.to_dict()}
                return Response(generate_result("0000", "success", "当前用户已经是企业管理员,已同步至管理后台", bean_dict))
            # 添加企业管理员
            enterprise_user_perm_repo.create_enterprise_user_perm(user_obj.user_id, enterprise.enterprise_id, "admin")
            bean = {"user_info": user_obj.to_dict()}

            result = generate_result("0000", "success", "添加成功", bean=bean)

        except Exception as e:
            logger.exception(e)
            result = generate_error_result()
        return Response(result)
示例#2
0
 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
示例#3
0
 def create_admin_user(self, user, ent, roles):
     # 判断用户是否为企业管理员
     if user_services.is_user_admin_in_current_enterprise(user, ent.enterprise_id):
         return
     # 添加企业管理员
     token = self.generate_key()
     return enterprise_user_perm_repo.create_enterprise_user_perm(user.user_id, ent.enterprise_id, ",".join(roles), token)
示例#4
0
 def is_user_admin_in_current_enterprise(self, current_user, enterprise_id):
     """判断用户在该企业下是否为管理员"""
     if current_user.enterprise_id != enterprise_id:
         return False
     is_admin = enterprise_user_perm_repo.is_admin(enterprise_id, current_user.user_id)
     if is_admin:
         return True
     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:
             token = self.generate_key()
             enterprise_user_perm_repo.create_enterprise_user_perm(current_user.user_id, enterprise_id, "admin", token)
             return True
     return False
示例#5
0
 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
示例#6
0
 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 create_admin_user(self, user, ent, roles):
     try:
         enterprise_user_perm_repo.get(ent.enterprise_id, user.user_id)
         return enterprise_user_perm_repo.update_roles(ent.enterprise_id, user.user_id, ",".join(roles))
     except EnterpriseUserPerm.DoesNotExist:
         token = self.generate_key()
         return enterprise_user_perm_repo.create_enterprise_user_perm(user.user_id, ent.enterprise_id, ",".join(roles),
                                                                      token)