Ejemplo n.º 1
0
    def create(self, data):
        # check nick name
        try:
            user_repo.get_by_username(data["nick_name"])
            raise UserExistError("{} already exists.".format(
                data["nick_name"]))
        except Users.DoesNotExist:
            pass
        if data.get("email", ""):
            user = user_repo.get_user_by_email(data["email"])
            if user is not None:
                raise EmailExistError("{} already exists.".format(
                    data["email"]))
        if data.get("phone", ""):
            user = user_repo.get_user_by_phone(data["phone"])
            if user is not None:
                raise PhoneExistError("{} already exists.".format(
                    data["phone"]))

        user = {
            "nick_name": data["nick_name"],
            "password": encrypt_passwd(data["password"]),
            "email": data.get("email", ""),
            "phone": data.get("phone", ""),
            "enterprise_id": data["eid"],
            "is_active": data.get("is_active", True),
            "create_time": datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
        }

        return Users.objects.create(**user)
Ejemplo n.º 2
0
 def __check_phone(self, phone):
     if not phone:
         return
     user = user_repo.get_user_by_phone(phone)
     if user is not None:
         raise AbortRequest("user phone already exists",
                            "用户手机号已存在",
                            status_code=409)
Ejemplo n.º 3
0
 def update_user_set_password(self, enterprise_id, user_id, raw_password, real_name, phone):
     user = Users.objects.get(user_id=user_id, enterprise_id=enterprise_id)
     user.real_name = real_name
     if phone:
         u = user_repo.get_user_by_phone(phone)
         if u and int(u.user_id) != int(user.user_id):
             raise AbortRequest(msg="phone exists", msg_show="手机号已存在")
         user.phone = phone
     if raw_password:
         user.set_password(raw_password)
     return user
Ejemplo n.º 4
0
 def get_user_by_phone(self, phone):
     return user_repo.get_user_by_phone(phone)