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'))
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)
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+'\"'})
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 + '\"' })
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'))