def recommend(request): #bookname=request.GET.get('book_name','') # If it's a HTTP POST, we're interested in processing form data. context = RequestContext(request) if request.method == 'POST': bookform=BookForm(data=request.POST) print(bookform) # bookform.status='recommend' if bookform.is_valid(): book=bookform.save(commit=False) book_items=Book.objects.filter(name=book.name,author=book.author,publisher=book.publisher) # book_items.filter(status='recommend') if book_items.count()>= 1: context['message']='failed to recommend because it has existed in laboratory, or has been recommended' # return HttpResponse('failed to recommend because it has existed in laboratory') else: book=bookform.save() # book.status='recommend' book.save() context['message']='recommend successfully' return render_to_response('core_static/recommend.html/',{'book':book},context) else: context['message']="data invalid" return render_to_response('core_static/recommend.html/',context) else: #HttpResponseRedirect('/core/recommend/') context['message']="" return render_to_response("core_static/recommend.html", context)
def approve_suggestion(request,pk): suggestion = BookSuggestion.objects.get(pk=pk) categories = Category.objects.all() if request.method == 'POST': form = BookForm(request.POST) book = Book() if form.is_valid(): book.title = form.cleaned_data['title'] book.author = form.cleaned_data['author'] book.url = form.cleaned_data['url'] book.description = form.cleaned_data['description'] book.image_url = form.cleaned_data['image_url'] book.save() book.category.clear() for category in form.cleaned_data['category']: book.category.add(category.id) book.save() suggestion.delete() return redirect(to='suggestions') else: form = BookForm() return render(request, 'core/approve_suggestion.html', { 'suggestion' : suggestion, 'form' : form, 'categories' : categories, })
def edit_book(request,pk): book = Book.objects.get(pk=pk) categories = Category.objects.all() if request.method == 'POST': form = BookForm(request.POST) if form.is_valid(): book.title = form.cleaned_data['title'] book.author = form.cleaned_data['author'] book.url = form.cleaned_data['url'] book.description = form.cleaned_data['description'] book.image_url = form.cleaned_data['image_url'] book.save() book.category.clear() # breakpoint() for category in form.cleaned_data['category']: book.category.add(category.id) book.save() return redirect(to='staff') else: form = BookForm() return render(request, 'core/edit_book.html', { 'book' : book, 'form' : form, 'categories' : categories, })
def add_book(request): if request.method == 'POST': book_form = BookForm(request.POST) if book_form.is_valid(): book_form.save() return HttpResponseRedirect(reverse('core.views.book_list')) else: book_form = BookForm() return render(request, 'core/add_book.html', {'book_form': book_form})
def edit_book(request, book_id): book = get_object_or_404(Book, pk=book_id) if request.method == 'POST': book_form = BookForm(request.POST, instance=book) if book_form.is_valid(): book_form.save() return HttpResponseRedirect(reverse('core.views.book_list')) else: book_form = BookForm(instance=book) return render(request, 'core/edit_book.html', {'book': book, 'book_form': book_form} )
def add_book(request): new_book = Book() categories = Category.objects.all() if request.method == 'POST': form = BookForm(request.POST) if form.is_valid(): new_book.title = form.cleaned_data['title'] new_book.author = form.cleaned_data['author'] new_book.url = form.cleaned_data['url'] new_book.description = form.cleaned_data['description'] new_book.image_url = form.cleaned_data['image_url'] new_book.save() for category in form.cleaned_data['category']: new_book.category.add(category.id) new_book.save() return redirect(to='staff') else: form = BookForm() return render(request, 'core/add_book.html', { 'new_book' : new_book, 'form' : form, 'categories' : categories, })
def upload_book(request): if request.method == 'POST': form = BookForm(request.POST, request.FILES) if form.is_valid(): instance = form.save(commit=False) instance.user = request.user instance.save() return redirect('home') else: form = BookForm() return render(request, 'book/upload.html', {'form': form})