Exemple #1
0
def book_update(request, pk, template_name='book_form.html'):
    book = get_object_or_404(Book, pk=pk)
    form = BookForm(request.POST or None, instance=book)
    if form.is_valid():
        form.save()
        return redirect('book_list')
    return render(request, template_name, {'form':form})
Exemple #2
0
 def post(self, request,*args, **kwargs):
     super(BookAddView, self).post(request, *args, **kwargs)
     form = BookForm(request.POST)
     if form.is_valid():
         form.save()
         return self.form_valid(form)
     else:
         return self.form_invalid(form)
Exemple #3
0
 def post(self, request):
     form = BookForm(request.POST)
     if form.is_valid():
         form.save()
         res = {'code': 0, 'result': '添加书成功'}
     else:
         res = {'code': 1, 'errmsg': form.errors}
     return JsonResponse(res, safe=True)
Exemple #4
0
 def post(self, request):
     form = BookForm(request.POST)
     if form.is_valid():
         form.save()
         res = {'code': 0, 'result': '添加图书成功'}
     else:
         # form.errors会把验证不通过的信息以对象的形式传到前端,前端直接渲染即可
         res = {'code': 1, 'errmsg': form.errors}
     return JsonResponse(res, safe=True)
Exemple #5
0
def book_create(request):
    form = BookForm(request.POST or None)
    if request.POST:
        if form.is_valid():
            form.save()
            return redirect('books:book_list')
    return render(request, 'books/book_form.html', {
        'form': form,
        'new_or_edit': 'New'
    })
Exemple #6
0
 def post(self, request):
     form = BookForm(request.POST)
     if form.is_valid():
         form.save()
         res = {'code':0,'result': '添加书成功'}
         logger.info("%s 新填加书成功" % request.user)
     else:
         res = {'code': 1,'errmsg': form.errors}
         logger.error("errmsg %s " % form.errors)
     return JsonResponse(res, safe=True)
Exemple #7
0
 def post(self, request, *args, **kwargs):
     pk = kwargs.get('pk')
     p = self.model.objects.get(pk=pk)
     form = BookForm(request.POST, instance=p)
     if form.is_valid():
         form.save()
         res = {"code": 0, "result": "更新图书成功", 'next_url': self.next_url}
     else:
         res = {"code": 1, "errmsg": form.errors, 'next_url': self.next_url}
     return render(request, settings.JUMP_PAGE, res)
Exemple #8
0
def get_name(request):
    if request.method == "POST":
        form = BookForm(request.POST)
        if form.is_valid():
            form.save()
            return render (request, 'books/thanks.html')
    else:
        form = BookForm()

        return render(request, 'books/update.html',{'form':form})
Exemple #9
0
def store(request):
	# return HttpResponse(request.POST.items())
	if request.method == "POST":
		form = BookForm(request.POST)
		if form.is_valid():
			try:
				form.save()
			except Exception as e:
				pass
	return redirect('/books')
Exemple #10
0
def addBook(request):
    form = BookForm()

    if request.method == 'POST':
        form = BookForm(request.POST)

        if form.is_valid():
            form.save(commit=True)
            return render(request, 'index.html')

    return render(request, 'addBook.html', {'form': form})
Exemple #11
0
def accept_edit_book(request, user_pk, book_id):
    book = get_object_or_404(BookType, id=book_id)

    if request.method == 'POST':
        form = BookForm(request.POST, instance=book)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse(accept_books, args=(user_pk,)))
    else:
        form = BookForm(instance=book)
    return render(request, 'books/edit.html', {'form': form})
Exemple #12
0
def book_update(request, book_id):
    book = get_book(book_id)
    form = BookForm(request.POST or None, instance=book)
    if request.POST:
        if form.is_valid():
            form.save()
            return redirect('books:book_list')
    return render(request, 'books/book_form.html', {
        'form': form,
        'new_or_edit': 'Edit'
    })
Exemple #13
0
def uploadbooks(request):
    form = BookForm()
    if request.method == "POST":
        form = BookForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return home(request)
        else:
            form = BookForm()

    context = {'book': form}
    return render(request, 'upload.html', context=context)
Exemple #14
0
def bookedit(request, pk):
    book = get_object_or_404(Books, pk=pk)
    # best practice
    form = BookForm(request.POST or None, instance=book)

    if form.is_valid():
        form.save()
        return redirect('book:detail', pk=book.id)
    return render_to_response('books/bookedit.html', {
        'form': form,
        'book': book
    }, context_instance=RequestContext(request))
Exemple #15
0
def bookedit(request, pk):
    book = get_object_or_404(Books, pk=pk)
    # best practice
    form = BookForm(request.POST or None, instance=book)

    if form.is_valid():
        form.save()
        return redirect('book:detail', pk=book.id)
    return render_to_response('books/bookedit.html', {
        'form': form,
        'book': book
    },
                              context_instance=RequestContext(request))
Exemple #16
0
def booknew(request):
    # generic 'old' way
    if 'POST' == request.method:
        form = BookForm(request.POST)

        if form.is_valid():
            form.save()
            return redirect('book:list')
    else:
        form = BookForm()

    return render_to_response('books/booknew.html', {'form': form},
                              context_instance=RequestContext(request))
Exemple #17
0
def booknew(request):
    # generic 'old' way
    if 'POST' == request.method:
        form = BookForm(request.POST)

        if form.is_valid():
            form.save()
            return redirect('book:list')
    else:
        form = BookForm()

    return render_to_response('books/booknew.html', {
        'form': form
    }, context_instance=RequestContext(request))
def persist(request, book, template_name):

    if request.method == 'GET':
        context = {'form': BookForm(instance=book)}
        return render(request, f'books/{template_name}.html', context)
    else:
        form = BookForm(request.POST, instance=book)

        if not form.is_valid():
            context = {'form': form, 'errors': form.errors}
            return render(request, f'books/{template_name}.html', context)

        form.save()
        return redirect('book index')
Exemple #19
0
 def test_save(self):
     self.assertEqual(self.book_1.title, "The Great Gatsby")
     
     # Test changing title in existing book record
     form_1 =BookForm(self.dict, instance=self.book_1)
     form_1.save()
     self.assertEqual(self.book_1.title, "new_title")
     # pk is still the same
     self.assertEqual(self.book_1.pk, 1)
     
     # Testing without instance argument, it means testing of new record
     form_2 =BookForm(self.dict)
     form_2.save()
     self.assertEqual(form_2.instance.pk, 4)
Exemple #20
0
    def post(self, request):
        form = BookForm(request.POST)
        books = Book.objects.filter(
            date_reviewed__isnull=True).prefetch_related('authors')

        if form.is_valid():
            form.save()
            return redirect('review-books')

        context = {
            'form': form,
            'books': books,
        }

        return render(request, "list-to-review.html", context)
Exemple #21
0
def create_book(request):
    if request.user.is_superuser:
        if request.method == "POST":
            book_form = BookForm(request.POST)

            if book_form.is_valid():
                book = book_form.save()
                book.status = request.POST.get('status') if request.POST.get(
                    'status') else 'Waiting'
                book.display_order = Book.objects.all().count()
                book.authors.add(request.user)
                book.save()
                data = {"error": False, "response": "Book created"}

            else:
                data = {"error": True, "response": book_form.errors}

            return HttpResponse(json.dumps(data),
                                content_type='application/json; charset=utf-8')

        users = User.objects.all()
        return render(request, "docs/books/create_book.html", {
            "users": users,
            "privacy_choices": PRIVACY_CHOICES
        })

    return render_to_response("admin/accessdenied.html")
Exemple #22
0
def edit_book(request, slug):
    book = get_object_or_404(Book, slug=slug)
    if request.user.is_superuser or book.admin == request.user:

        if request.method == "POST":
            book_form = BookForm(request.POST, instance=book)

            if book_form.is_valid():
                book = book_form.save()
                book.status = request.POST.get('status')
                book.authors.add(request.user)
                book.updated_on = datetime.datetime.now()
                book.save()
                data = {
                    "error": False,
                    "response": "Book has been edited Successfully."
                }
            else:
                data = {"error": True, "response": book_form.errors}

            return HttpResponse(json.dumps(data),
                                content_type='application/json; charset=utf-8')

        users = User.objects.all()
        return render(request, "docs/books/edit_book.html", {
            "book": book,
            "users": users,
            "privacy_choices": PRIVACY_CHOICES
        })

    return render_to_response("admin/accessdenied.html")
Exemple #23
0
def books_add_view(request):
    """Render form for adding books to database. Show list of added books."""
    first_author_form = AuthorForm(data=request.POST or None)
    authors_fs = AuthorFormSet(data=request.POST or None)
    book_form = BookForm(data=request.POST or None)
    language_form = LanguageForm(data=request.POST or None)

    if (first_author_form.is_valid() and language_form.is_valid()
            and book_form.is_valid() and authors_fs.is_valid()):

        first_author_name = first_author_form.cleaned_data['name']
        first_author, _ = Author.objects.get_or_create(name=first_author_name)

        more_authors = []
        for form in authors_fs:
            if form.is_valid():
                try:
                    author_name = form.cleaned_data['name']
                    author, _ = Author.objects.get_or_create(name=author_name)
                    more_authors.append(author)
                except KeyError:
                    pass

        language_code = language_form.cleaned_data['code']
        language, _ = Language.objects.get_or_create(code=language_code)

        book = book_form.save(commit=False)
        book.language = language
        book = book_form.save()
        book.authors.add(first_author)
        if more_authors:
            book.authors.add(*list(more_authors))

        date = book_form.cleaned_data['pub_date']
        book.pub_date = date
        book.save()

        messages.info(request, f'New book has been added!')
        return redirect('add')

    context = {
        'first_author_form': first_author_form,
        'authors_fs': authors_fs,
        'book_form': book_form,
        'language_form': language_form,
    }
    return render(request, 'books_add.html', context)
def edit_book(request, pk):
    context = {}
    try:
        data = Book.objects.get(id=pk)
    except Book.DoesNotExist:
        messages.error(request, "")
        return redirect('books:book_list')

    form = BookForm(request.POST or None, instance=data)
    if request.method == "POST":
        if form.is_valid():
            form.save()
            messages.success(request, "Data updated successpully.")
            return redirect("books:book_list")

    context['form'] = form
    return render(request, 'books/create.html', context)
Exemple #25
0
def add_book(request):
	if request.method == 'POST':
		form = BookForm(request.POST or None)
		
		if form.is_valid():
			save_it = form.save(commit=False)
			save_it.save()
	return render_to_response("books/add_book.html",locals(),context_instance=RequestContext(request))
Exemple #26
0
def change(request):
    isbn = request.GET['q']
    thebook = get_object_or_404(Book, ISBN = isbn)
    if request.POST:
        newbook = BookForm(request.POST, instance = thebook)
        if newbook.is_valid():
            newbook.save()
            return render_to_response('change.html',
                    {
                        'newbook': newbook,
                        'msg': u'图书修改成功!',
                    })
        else:
            newbook = BookForm(instance = thebook)
            return render_to_response('change.html', {'newbook': newbook,})
    else:
        newbook = BookForm(instance = thebook)
        return render_to_response('change.html', {'newbook': newbook,})
Exemple #27
0
def add_review(request):
    if request.method == 'POST':
        form = BookForm(request.POST)
        if form.is_valid():
            post = form.save(commit=False)
            post.save()
    else:
        form = BookForm()
    return render(request, 'books/add_review.html', {'form': form})
Exemple #28
0
def	 addbook(request):
	# 使用 django Form的情况
	# book_form = BookForm(request.POST)
	# if book_form.is_valid():
	# 	book_form.objects.create(
	# 		title = book_form.cleaned_data['title'],
	# 		author = book_form.cleaned_data['author'],
	# 		publisher = book_form.cleaned_data['publisher'],
	# 		publication_date = book_form.cleaned_data['publication_date'],
	# 		)

	# 使用 django ModelForm的情况
	book_form = BookForm(request.POST)
	if book_form.is_valid():
		book_form.save()
		return HttpResponse("添加成功")
	else:
		book_form = BookForm()
	return render(request, "mybooks.html", {'form': book_form})
Exemple #29
0
def add_book(request):
    if request.method == 'POST':
        form = BookForm(request.POST or None)

        if form.is_valid():
            save_it = form.save(commit=False)
            save_it.save()
    return render_to_response("books/add_book.html",
                              locals(),
                              context_instance=RequestContext(request))
Exemple #30
0
def newbook(request):
    abook = None

    if request.POST:
        book = Book()
        abook = BookForm(request.POST, instance = book)

        if abook.is_valid():
            abook.save()
            return render_to_response('newbook.html',
                    {
                        'abook': abook,
                        'msg': u'图书添加成功!',
                    })
        else:
            abook = BookForm()
            return render_to_response('newbook.html', {'abook': abook, 'msg': u'图书添加失败,请检查信息是否正确'})
    else:
        abook = BookForm()
        return render_to_response('newbook.html', {'abook': abook,})
Exemple #31
0
def addBook(request):
    if request.method == "POST":
        form = BookForm(data=request.POST)
        if form.is_valid():
            book = form.save()
            # messages.add_message(request, messages.SUCCESS, 'Das Buch "' + book.title +\
            #    '" wurde erfolgreich angelegt.')
            return HttpResponseRedirect(book.get_absolute_url())
    else:
        form = BookForm()
    return render(request, "books/add_book.html", {"form": form, "add": True, "quote": getRandomQuote()})
Exemple #32
0
def books_insert(request):
    '''
    books_insert functions takes the request from the web and gets the user id and allows the user to fill a form
    Form info is updated as a book object
    '''
    context = {}
    user = request.user

    if user.is_authenticated:
        context['uid'] = user.id
        if request.method =='POST':
            form = BookForm(request.POST, request.FILES)
            if form.is_valid():
                form.save()
            else:
                context['form'] = form
                return render(request, 'books/books_insert.html', context)
    
    form = BookForm()
    context['form'] = form
    return render(request,'books/books_insert.html', context)
Exemple #33
0
def edit(request, b_id):
    book = get_object_or_404(Book, pk=b_id)
    
    if request.method == 'POST':
        form = BookForm(request.POST, instance=book)
        if form.is_valid():
            b=form.save()
            return redirect('show_books')
        else:
            return render_to_response('edit_book.html',{'form':form, 'book':book}, context_instance = RequestContext(request))
            
    return render_to_response('edit_book.html',{'form':BookForm(instance=book), 'book':book}, context_instance = RequestContext(request))
Exemple #34
0
 def post(self, request, *args, **kwargs):
     form = BookForm(request.POST)
     r_btn = request.POST.get('_save')
     if form.is_valid():
         form.save()
         if r_btn:
             res = {
                 "code": 0,
                 "result": "添加书籍成功",
                 'next_url': self.next_url
             }
         else:
             self.next_url = '/books/bookadd/'
             res = {
                 "code": 0,
                 "result": "添加书籍成功",
                 'next_url': self.next_url
             }
     else:
         res = {"code": 1, "result": "添加书籍失败", 'next_url': self.next_url}
     return render(request, settings.JUMP_PAGE, res)
Exemple #35
0
def add_book(request):
    if request.method == 'POST':
        form = BookForm(request.POST)
        if form.is_valid():
            book = form.save(commit=False)
            book.visible = True
            book.save()
            form.save_m2m()
            messages.success(request, _("The book was added successfully."))
            return HttpResponseRedirect(reverse(index))
    else:
        form = BookForm()
    return render(request, 'books/add.html', {'form': form})
Exemple #36
0
def list_all(request):
    if request.method == 'POST':
        form = BookForm(request.POST)
        if form.is_valid():
            book = form.save()
            return redirect(book)
        else:
            return render_to_response('create_book.html', {'form':form}, context_instance = RequestContext(request))
            
    books = Book.objects.all()
    
    #sorted(submissions, key = lambda x: x.calculate_popularity(), reverse=True)
    return render_to_response('all_books.html', {'books':sorted(books, key=lambda x: x.get_average(), reverse=True)}, context_instance =  RequestContext(request))
Exemple #37
0
def edit_book(request, book_id):
    book = get_object_or_404(BookType, id=book_id)
    if request.method == 'POST':
        form = BookForm(request.POST, instance=book)
        if form.is_valid():
            book = form.save(commit=False)
            book.visible = True
            book.save()
            form.save_m2m()
            messages.success(request, _("The book was edited successfully."))
            return HttpResponseRedirect(reverse(index))
    else:
        form = BookForm(instance=book)
    return render(request, 'books/edit.html', {'form': form})
Exemple #38
0
def create(req):
    if req.method == 'GET':
        context = {'form': BookForm()}

        return render(req, 'create.html', context)
    else:
        form = BookForm(req.POST, instance=Book())

        if form.is_valid():
            book = form.save()
            book.save()
            return redirect('books index')

        context = {'form': form}
        return render(req, 'create.html', context)
Exemple #39
0
def edit(req, book_id):
    book = Book.objects.get(pk=book_id)

    if req.method == 'GET':
        context = {'form': BookForm(instance=book)}

        return render(req, 'create.html', context)
    else:
        form = BookForm(req.POST, instance=book)

        if form.is_valid():
            book = form.save()
            book.save()
            return redirect('books index')

        context = {'form': form}
        return render(req, 'edit.html', context)
def create_book(request):
    context = {}
    form = BookForm(request.POST or None)

    if request.method == 'POST':
        if form.is_valid():
            try:
                with transaction.atomic():
                    book = form.save()

                    BookUnit(book=book).save()
                    messages.success(request, "Book {} successfully created.".format(book.name))
                    return redirect('books:book_create')
            except IntegrityError:
                messages.error("Unable to save your request due to some integrity error.")
    context['form'] = form
    return render(request, 'books/create.html', context)
Exemple #41
0
 def post(self, request, *args, **kwargs):
     """
     Handle POST requests: instantiate a form instance with the passed
     POST variables and then check if it's valid.
     """
     form = self.get_form()
     # form = HotelForm(request.POST, request.FILES)
     if request.method == 'POST':
         form = BookForm(request.POST, request.FILES)
         if form.is_valid():
             book_form = form.save()
             book_form.category.set(form.cleaned_data['category'])
             book_form.save()
             return self.form_valid(form)
         else:
             return self.form_invalid(form)
     else:
         return self.form_invalid(form)
Exemple #42
0
def create_book(request):
    if request.user.is_superuser:
        if request.method == "POST":
            book_form = BookForm(request.POST)

            if book_form.is_valid():
                book = book_form.save()
                book.status = request.POST.get('status')
                book.authors.add(request.user)
                book.save()
                data = {"error": False, "response": "Book created"}

            else:
                data = {"error": True, "response": book_form.errors}

            return HttpResponse(json.dumps(data))

        users = User.objects.all()
        return render_to_response("docs/books/create_book.html", {"users": users, "privacy_choices": PRIVACY_CHOICES})

    return render_to_response("admin/accessdenied.html")
Exemple #43
0
def create_book(request):
    if request.user.is_superuser:
        if request.method == "POST":
            book_form = BookForm(request.POST)

            if book_form.is_valid():
                book = book_form.save()
                book.status = request.POST.get('status') if request.POST.get('status') else 'Waiting'
                book.display_order = Book.objects.all().count()
                book.authors.add(request.user)
                book.save()
                data = {"error": False, "response": "Book created"}

            else:
                data = {"error": True, "response": book_form.errors}

            return HttpResponse(json.dumps(data), content_type='application/json; charset=utf-8')

        users = User.objects.all()
        return render(request, "docs/books/create_book.html", {"users": users, "privacy_choices": PRIVACY_CHOICES})

    return render_to_response("admin/accessdenied.html")
Exemple #44
0
def edit_book(request, slug):
    book = Book.objects.get(slug=slug)
    if request.user.is_superuser or book.admin == request.user:

        if request.method == "POST":
            book_form = BookForm(request.POST, instance=book)
            
            if book_form.is_valid():
                book = book_form.save()
                book.status = request.POST.get('status')
                book.authors.add(request.user)
                book.save()
                data = {"error": False, "response": "Book has been edited Successfully."}
            
            else:
                data = {"error": True, "response": book_form.errors}
            
            return HttpResponse(json.dumps(data))

        users = User.objects.all()
        return render_to_response("docs/books/edit_book.html", {"book": book, "users": users, "privacy_choices": PRIVACY_CHOICES})

    return render_to_response("admin/accessdenied.html")
Exemple #45
0
def edit_book(request, slug):
    book = get_object_or_404(Book, slug=slug)
    if request.user.is_superuser or book.admin == request.user:

        if request.method == "POST":
            book_form = BookForm(request.POST, instance=book)
            
            if book_form.is_valid():
                book = book_form.save()
                book.status = request.POST.get('status')
                book.authors.add(request.user)
                book.updated_on = datetime.datetime.now()
                book.save()
                data = {"error": False, "response": "Book has been edited Successfully."}
            else:
                data = {"error": True, "response": book_form.errors}
            
            return HttpResponse(json.dumps(data), content_type='application/json; charset=utf-8')

        users = User.objects.all()
        return render(request, "docs/books/edit_book.html", {"book": book, "users": users, "privacy_choices": PRIVACY_CHOICES})

    return render_to_response("admin/accessdenied.html")