예제 #1
0
def return_book(request, k_id):
    """
    Metod za vrakjanje na rezervirana kniga
    """
    # import na datetime za da se zapise vremeto na vrakjanje
    from datetime import datetime
    kniga = get_object_or_404(Book, pk=k_id)
    # zemanje na site korisnici koi ja imaat iznajmeno knigata (ako ima poveke kopii)
    users = User.objects.filter(rental__book=kniga, rental__returned_on=None)

    if request.method == "POST" and request.POST.has_key("return_book"):
        # kreiranje na forma so podatocite zemeni od POST
        form = RentalForm(request.POST)
        if form.is_valid():
            user = form.cleaned_data['user']
            Rental.default.return_book(user, kniga)
    else:
        form = RentalForm()
        qs = User.objects.filter(rental__book=kniga, rental__returned_on=None)

        if qs.count() > 0:
            field = form.fields['user']
            field.queryset = qs
        return render_to_response(request, 'return.html', {
            'kniga': kniga,
            'form': form
        })
    return HttpResponseRedirect(reverse('biblioteka_index'))
예제 #2
0
def rent_book(request, k_id):
    """
    Metod za iznajmuvanje na kniga na user.
    requestot mora da se napravi od korisnik so can_add_rental permisija
    """
    book = get_object_or_404(Book, pk=k_id)
    if request.method == 'POST':
        if book.in_stock > 0:
            # kreiranje na forma so podatocite zemeni od POST
            form = RentalForm(request.POST)
            if form.is_valid():
                # korisnikot na koj mu se iznajmuva knigata
                user = form.cleaned_data['user']
                Rental.default.rent_book(user, book)
                index_url = reverse('biblioteka_index')
                return HttpResponseRedirect(index_url)
        else:
            h = 'Нема преостанати копии :('
            return render(request, 'rent.html', {'heading': h, 'book': book})
    else:
        form = RentalForm()
        field = form.fields['user']
        qs = User.objects.exclude(rental__book=book, rental__returned_on=None)

        if qs.count() > 0:
            field.queryset = qs

    data = {
        'form': form,
        'heading': 'Изнајмување на \"' + book.title + '\"',
        'book': book,
    }
    return render(request, 'rent.html', data)
예제 #3
0
def rent_book(request, k_id):
    """
    Metod za iznajmuvanje na kniga na user.
    requestot mora da se napravi od korisnik so can_add_rental permisija
    """
    kniga = get_object_or_404(Book, pk=k_id)
    if request.method == 'POST':
        if kniga.in_stock > 0:
            # kreiranje na forma so podatocite zemeni od POST
            form = RentalForm(request.POST)
            if form.is_valid():
                # korisnikot na koj mu se iznajmuva knigata
                user = form.cleaned_data['user']
                Rental.active_objects.rent_book(user, kniga)
                return HttpResponseRedirect(reverse('hacklab.biblioteka.views.index'))
        else:
            h = u'Изнајмувањето неможе да се изведе бидејќи нема преостанати копии.'
            return render_to_response(request, 'biblioteka/rent.html', {'heading':h})
    else:
        form = RentalForm()
        field = form.fields['user']
        qs = User.objects.exclude(rental__book=kniga, rental__returned_on=None)

        if qs.count() > 0:
            field.queryset = qs
    return render_to_response(request, 'biblioteka/rent.html',
            {'form':form, 'heading':u'Изнајмување на \"'+kniga.title+'\"'})
예제 #4
0
def rent_book(request, k_id):
    """
    Metod za iznajmuvanje na kniga na user.
    requestot mora da se napravi od korisnik so can_add_rental permisija
    """
    kniga = get_object_or_404(Book, pk=k_id)
    if request.method == 'POST':
        if kniga.in_stock > 0:
            # kreiranje na forma so podatocite zemeni od POST
            form = RentalForm(request.POST)
            if form.is_valid():
                # korisnikot na koj mu se iznajmuva knigata
                user = form.cleaned_data['user']
                Rental.active_objects.rent_book(user, kniga)
                return HttpResponseRedirect(
                    reverse('hacklab.biblioteka.views.index'))
        else:
            h = u'Изнајмувањето неможе да се изведе бидејќи нема преостанати копии.'
            return render_to_response(request, 'biblioteka/rent.html',
                                      {'heading': h})
    else:
        form = RentalForm()
        field = form.fields['user']
        qs = User.objects.exclude(rental__book=kniga, rental__returned_on=None)

        if qs.count() > 0:
            field.queryset = qs
    return render_to_response(
        request, 'biblioteka/rent.html', {
            'form': form,
            'heading': u'Изнајмување на \"' + kniga.title + '\"'
        })
예제 #5
0
def return_book(request, k_id):
    """
    Metod za vrakjanje na rezervirana kniga
    """
    # import na datetime za da se zapise vremeto na vrakjanje
    from datetime import datetime
    kniga = get_object_or_404(Book, pk=k_id)
    # zemanje na site korisnici koi ja imaat iznajmeno knigata (ako ima poveke kopii)
    users = User.objects.filter(rental__book=kniga, rental__returned_on=None)

    if request.method=="POST":
        # kreiranje na forma so podatocite zemeni od POST
        form = RentalForm(request.POST)
        if form.is_valid():
            user = form.cleaned_data['user']
            Rental.active_objects.return_book(user, kniga)
    else:
        form = RentalForm()
        qs = User.objects.filter(rental__book=kniga, rental__returned_on=None)

        if qs.count() > 0:
            field = form.fields['user']
            field.queryset = qs
        return render_to_response(request, 'biblioteka/return.html', {'kniga':kniga, 'form':form})
    return HttpResponseRedirect(reverse('hacklab.biblioteka.views.index'))