Пример #1
0
def update_book(request, id):
    book = Book.objects.get(id=id)
    form = BookForm(request.POST or None, instance=book)

    if form.is_valid():
        form.save()
        return redirect('admin_books')

    return render(request, 'bookstore/update_book.html', {'form': form})
Пример #2
0
def create_book(request):
    form = BookForm(
        request.POST or None
    )  # jeśli metoda POST to renderuj ten formularz a jeśli nie ma danych to renderuj pusty formularz
    if form.is_valid():
        form.save(commit=True)
        # form = BookForm()  # odświeża formularz, po zapisaniu będą puste pola. To już niepotrzebne, bo po wysłaniu przenosi na inną stronę
        return redirect("/bookstore/book/new/added")
    context = {'form': form}
    return render(request, "bookstore/books/createbook.html", context)
Пример #3
0
def admin_books(request):
    books = Book.objects.all()
    form = BookForm()
    return render(request, 'bookstore/admin_books.html', {
        'form': form,
        'books': books
    })
Пример #4
0
def add_book(request):
    """ Add a book to the bookstore. """
    # POST request
    if request.method == "POST":
        book_form = BookForm(request.POST, request.FILES)
        if book_form.is_valid():
            # from ipdb import set_trace; set_trace()
            new_book = book_form.save(commit=False)
            new_book.adder = request.user
            new_book.save()
            request.user.message_set.create(
                message=_("You have saved book '%(title)s'") %
                {'title': new_book.title})
            return HttpResponseRedirect(reverse("bookstore.views.books"))
    # GET request
    else:
        book_form = BookForm()
        return render_to_response("bookstore/add.html", {
            "book_form": book_form,
        },
                                  context_instance=RequestContext(request))
    # generic case
    return render_to_response("bookstore/add.html", {
        "book_form": book_form,
    },
                              context_instance=RequestContext(request))
Пример #5
0
def add_book(request):
	""" add a book to the datastore """
	if request.method == "POST":
		book_form = BookForm(request.POST, request.FILES)
		if book_form.is_valid():
			new_book = book_form.save(commit=False)
			new_book.adder = request.user
			new_book.save()
			request.user.message_set.create(message=_("You have saved book '%(title)s'") % {'title':new_book.title})
			return HttpResponseRedirect(reverse("bookstore.views.books"))
		
	#GET request
	else:
		book_form = BookForm()
		return render_to_response("bookstore/add.html", {
			"book_form": book_form,
		}, context_instance=RequestContext(request))
	
	#generic case
	return render_to_response("bookstore/add.html", {
		"book_form" : book_form,
	}, context_instance=RequestContext(request))
Пример #6
0
def update_book(request, book_id):
    """ Update a book given its id. """
    book = Book.objects.get(id=book_id)
    if request.method == "POST":
        book_form = BookForm(request.POST, request.FILES, instance=book)
        book_form.is_update = True
        if request.user == book.adder:
            #from ipdb import set_trace; set_trace()
            if book_form.is_valid():
                book_form.save()
                request.user.message_set.create(
                    message=_("You have updated book '%(title)s'") %
                    {'title': book.title})
                return HttpResponseRedirect(reverse("bookstore.views.books"))
    else:
        book_form = BookForm(instance=book)
        return render_to_response("bookstore/update.html", {
            "book_form": book_form,
            "book": book,
        },
                                  context_instance=RequestContext(request))
Пример #7
0
def update_book(request, book_id):
    """ Update a book given its id. """
    book = Book.objects.get(id=book_id)
    if request.method == "POST":
        book_form = BookForm(request.POST, request.FILES, instance=book)
        book_form.is_update = True
        if request.user == book.adder:
            #from ipdb import set_trace; set_trace()
            if book_form.is_valid():
                book_form.save()
                request.user.message_set.create(message=_("You have updated book '%(title)s'") %  {'title': book.title})
                return HttpResponseRedirect(reverse("bookstore.views.books"))            
    else:
        book_form = BookForm(instance=book)
        return render_to_response("bookstore/update.html", {
            "book_form": book_form,
            "book": book,
            }, context_instance=RequestContext(request))  
Пример #8
0
def create_book(request):
    form = BookForm(request.POST)
    if form.is_valid():
        form.save()
    return redirect('admin_books')