Beispiel #1
0
    def execute(self):
        from pyclaim.domain.aggregates.user.model.user import User
        from pyclaim.domain.aggregates.token.model.token import Token

        user = User.get_by_user_name_and_password(self.user_name, self.password)
        if user is None:
            result = UserErrorCodes.USER_NOT_AVAILABLE
            result["data"] = "user_name: %s" % self.user_name
            raise ValidationException([result])
        if not user.is_inoperable():
            user_token = Token.generate(user._id)
            token = {"token_id": user_token.token_id,
                     "user_id": user_token.user_id,
                     "is_sys_admin": user.is_sys_admin()
                     }
            object_coder = ObjectCoder(Config().secret_key)
            hashed_token = object_coder.encode(token)
            login_info = {"token": hashed_token, "user_id": user._id}
        else:
            result = UserErrorCodes.DEACTIVATED_USER
            result["data"] = "user_name: %s" % self.user_name
            raise ValidationException([result])
        return login_info
 def execute(self):
     user = User.get_by_user_name_and_password(self.user_name.lower(), self.password)
     user_full_detail = None
     if user:
         user_full_detail = UserFullDetail.create_from_user(user)
     return user_full_detail