Пример #1
0
def logout(user_sid, pn):
    user = sid_getuser(user_sid, ignore_expire=True)
    if user is None:
        raise Error404("user_id do not exist")

    if user.pn == pn:
        try:
            sid_destroy(user_sid)
        except KeyError:
            raise Error404("user_id do not exist")
    else:
        raise Error409("user_sid and pn not match")
Пример #2
0
def get_customed_demand(user_sid, id):
    """
    
    :param user_sid: 
    :param id: 
    :param page: 
    :return: 
    """
    # check user
    user = sid_getuser(user_sid)
    if user is None:
        raise Error404("user_id do not exist")

    # TODO: set the page parameter

    customed_demand = ProductDemand.objects.filter(in_use=True, id=id)
    return customed_demand, customed_demand.demand_photo.object.filter(
        in_use=True)
Пример #3
0
    def validate(self, attrs):
        user = sid_getuser(attrs["user_sid"])
        if user is None:
            raise ValidationError({"user_sid": ["No such user"]})

        if user.role == role_choice.BUYER:
            seri_cls = BuyerInviteInfoSubmitSerializer

        elif user.role == role_choice.SELLER:
            seri_cls = SellerInviteInfoSubmitSerializer

        else:
            raise ValidationError({"user_sid": ["Role of user is invalid"]})

        seri = seri_cls(data=attrs["invite"])
        seri.is_valid(raise_exception=True)

        attrs["invite"] = seri.validated_data
        return attrs
Пример #4
0
def get_my_demand(user_sid, page):
    """
    TODO: using user_sid to get specified page
    :param user_sid: 
    :param page: 
    :return: 
    """
    # check user
    user = sid_getuser(user_sid)
    if user is None:
        raise Error404("user_id do not exist")
    # page_size = 3  # number of items per page
    page = int(page)

    # return sliced single page
    if page < 1:
        raise Error404('Page number must be positive int')
    else:
        return ProductDemand.objects.filter(
            in_use=True)[(page - 1) * page_size:page * page_size]
Пример #5
0
def get_matched_demand(user_sid, id, page):
    """
    TODO: DemandMatchingScore not set 
    :param user_sid: 
    :param id:
    :param page: 
    :return: 
    """
    # check user
    user = sid_getuser(user_sid)
    if user is None:
        raise Error404("user_id do not exist")
    # page_size = 3  # number of items per page
    page = int(page)

    # TODO: match the specific id
    demand = ProductDemand.objects.filter(id=id)

    # return sliced single page
    if page < 1:
        raise Error404('Page number must be positive int')
    else:
        return ProductDemand.objects.filter(
            in_use=True)[(page - 1) * page_size:page * page_size]