Exemple #1
0
def edit(request, dogId):
    dog = models.Dog.objects.get(id=dogId)
    ownDogs = models.Dog.objects.filter(user=request.user)
    return render_to_response(
        "editDog.html",
        context={
            "dog": dog,
            "ownDogs": ownDogs,
            "dogForm": forms.DogForm(instance=dog, initial={"breed": "Сиба Ину"}),
            "birthDate": dateToStr(dog.birthDate) if dog.birthDate else "",
            "eventCounter": models.State.getState().eventCounter,
        },
        context_instance=RequestContext(request)
    )
Exemple #2
0
def dog(request, dogId):
    dog = models.Dog.objects.get(id=dogId)
    if dog.user == request.user:
        request.session["currentDogId"] = dogId
    ownDogs = models.Dog.objects.filter(user=request.user)
    comments = models.Comment.objects.filter(dog=dog).prefetch_related("comment_set").order_by("-eventCounter")

    return render_to_response(
        "dog.html",
        context={
            "dog": dog,
            "ownDogs": ownDogs,
            "birthDate": dateToStr(dog.birthDate) if dog.birthDate else "",
            "comments": comments,
            "ownDog": dog.user == request.user,
        },
        context_instance=RequestContext(request)
    )
Exemple #3
0
def achievements(request):
    user = request.user
    dogId = request.session.get("currentDogId", None)
    dog = models.Dog.objects.get(id=dogId) if dogId else None
    ownDogs = models.Dog.objects.filter(user=user)

    achievementNumbers = [achievement.type for achievement in models.Achievement.objects.filter(dog=dog)]

    return render_to_response(
        "achievements.html",
        context={
            "dog": dog,
            "ownDogs": ownDogs,
            "birthDate": dateToStr(dog.birthDate) if dog.birthDate else "",
            "achievements": {
                num: num in achievementNumbers for num in xrange(1, 5)
            },
            "descriptions": models_settings.achievementDescriptions,
            "eventCounter": models.State.getState().eventCounter,
        },
        context_instance=RequestContext(request)
    )
Exemple #4
0
def news(request):
    user = request.user
    dogId = request.session.get("currentDogId", None)
    dog = models.Dog.objects.get(id=dogId) if dogId else None
    ownDogs = models.Dog.objects.filter(user=user)

    dogsWithComments = list(set(list(ownDogs) + [
        dogRelation.relatedDog for dogRelation in models.DogRelation.objects.filter(dog=dog, status__in=[-1, 1])
    ]))
    comments = models.Comment.objects.filter(dog__in=dogsWithComments).prefetch_related("comment_set").order_by("-eventCounter")

    return render_to_response(
        "news.html",
        context={
            "dog": dog,
            "ownDogs": ownDogs,
            "birthDate": dateToStr(dog.birthDate) if dog.birthDate else "",
            "comments": comments,
            "eventCounter": models.State.getState().eventCounter,
        },
        context_instance=RequestContext(request)
    )
Exemple #5
0
def friends(request):
    params = request.REQUEST
    dogId = request.session.get("currentDogId", None)
    dog = models.Dog.objects.get(id=dogId) if dogId else None
    ownDogs = models.Dog.objects.filter(user=request.user)

    filter = params.get("filter", "all")
    if filter == "new":
        relatedDogs = [dogRelation.relatedDog for dogRelation in models.DogRelation.objects.filter(dog=dog)]
        relations = models.DogRelation.objects.filter(~Q(dog__in=relatedDogs), relatedDog=dog, status__in=[-1, 1])
        for relation in relations:
            relation.dog.onWalk = models.Walk.objects.filter(dog=relation.dog, inProgress=True).exists()
    else:
        if filter == "friends":
            status = [1]
        elif filter == "enemies":
            status = [-1]
        else:
            status = [-1, 1]
        relations = models.DogRelation.objects.filter(dog=dog, status__in=status)
        for relation in relations:
            relation.relatedDog.onWalk = models.Walk.objects.filter(dog=relation.relatedDog, inProgress=True).exists()
        if filter == "walk":
            relations = [relation for relation in relations if relation.relatedDog.onWalk]

    return render_to_response(
        "friends.html",
        context={
            "dog": dog,
            "ownDogs": ownDogs,
            "birthDate": dateToStr(dog.birthDate) if dog.birthDate else "",
            "relations": relations,
            "filter": filter,
            "eventCounter": models.State.getState().eventCounter,
        },
        context_instance=RequestContext(request)
    )