Beispiel #1
0
def renew_book_librarian(request, pk):
    """View function for renewing a specific BookInstance by librarian."""
    book_instance = get_object_or_404(BookInstance, pk=pk)

    if request.method == 'POST':

        # form = RenewBookForm(request.POST)
        form = RenewBookModelForm(request.POST)

        if form.is_valid():
            # book_instance.due_back = form.cleaned_data['renewal_date']
            book_instance.due_back = form.cleaned_data['due_back']
            book_instance.save()

            return HttpResponseRedirect(reverse('all-borrowed'))

    else:
        proposed_renewal_date = datetime.date.today() + datetime.timedelta(
            weeks=3)
        # form = RenewBookForm(initial={'renewal_date': proposed_renewal_date})
        form = RenewBookModelForm(initial={'due_back': proposed_renewal_date})

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

    return render(request, 'catalog/book_renew_librarian.html', context)
Beispiel #2
0
def renew_book_librarian(request, pk):
    """View function for renewing a specific BookInstance by librarian."""
    book_instance = get_object_or_404(BookInstance, pk=pk)

    # If this is a POST request then process the Form data
    if request.method == 'POST':

        #form = RenewBookForm(request.POST)
        form = RenewBookModelForm(request.POST)

        # Check if the form is valid:
        if form.is_valid():
            # process the data in form.cleaned_data as required
            #book_instance.due_back = form.cleaned_data['renewal_date']
            book_instance.due_back = form.cleaned_data['due_back']
            book_instance.save()

            # redirect to a new URL:
            return HttpResponseRedirect(reverse('borrowed'))

    # If this is a GET (or any other method) create the default form.
    else:
        proposed_renewal_date = datetime.date.today() + datetime.timedelta(
            weeks=3)
        #form = RenewBookForm(initial={'renewal_date': proposed_renewal_date})
        form = RenewBookModelForm(initial={'due_back': proposed_renewal_date})

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

    return render(request, 'catalog/book_renew_librarian.html', context)
Beispiel #3
0
def renew_book_librarian(request, pk):
    """
    View function for renewing a specific BookInstance by librarian
    """
    book_inst = get_object_or_404(BookInstance, pk=pk)

    # Если данный запрос типа POST, тогда
    if request.method == 'POST':

        # Создаем экземпляр формы и заполняем данными из запроса (связывание, binding):
        form = RenewBookModelForm(request.POST)

        # Проверка валидности формы:
        if form.is_valid():
            # Обработка данных из form.cleaned_data (здесь мы просто присваиваем их полю due_back)
            book_inst.due_back = form.cleaned_data['due_back']
            book_inst.save()

            # Переход по адресу 'on-loan':
            return HttpResponseRedirect(reverse('on-loan'))

    # Если это GET (или какой-либо еще), создаем форму по умолчанию.
    else:
        proposed_renewal_date = datetime.date.today() + datetime.timedelta(
            weeks=3)
        form = RenewBookModelForm(initial={
            'due_back': proposed_renewal_date,
        })

    return render(request, 'book_renew_librarian.html', {
        'form': form,
        'bookinst': book_inst
    })
Beispiel #4
0
def renew_book_librarian(request, pk):
    book_instance = get_object_or_404(BookInstance, pk=pk)

    # POST 요청이면 폼 데이터를 처리한다
    if request.method == 'POST':

        # 폼 인스턴스를 생성하고 요청에 의한 데이타로 채운다 (binding):
        # book_renewal_form = RenewBookForm(request.POST)
        book_renewal_form = RenewBookModelForm(request.POST)

        # 폼이 유효한지 체크한다:
        if book_renewal_form.is_valid():
            # form.cleaned_data 데이타를 요청받은대로 처리한다(여기선 그냥 모델 due_back 필드에 써넣는다)
            # book_instance.due_back = book_renewal_form.cleaned_data['renewal_date']
            book_instance.due_back = book_renewal_form.cleaned_data['due_back']
            book_instance.save()

            # 새로운 URL로 보낸다:
            return HttpResponseRedirect(reverse('all-borrowed'))

    # GET 요청 (혹은 다른 메소드)이면 기본 폼을 생성한다.
    else:
        proposed_renewal_date = datetime.date.today() + datetime.timedelta(
            weeks=3)
        book_renewal_form = RenewBookModelForm(
            initial={'due_back': proposed_renewal_date})

    context = {
        'form': book_renewal_form,
        'book_instance': book_instance,
    }

    return render(request, 'catalog/book_renew_librarian.html', context)
Beispiel #5
0
 def test_renew_form_date_too_far_in_future(self):
     date = datetime.date.today() + datetime.timedelta(
         weeks=4) + datetime.timedelta(days=1)
     form = RenewBookModelForm(data={'renewal_date': date})
     self.assertFalse(form.is_valid())
     self.assertEqual(form.errors['renewal_date'],
                      [u"Invalid date - renewal more than 4 weeks ahead"])
Beispiel #6
0
def renew_book_librian(request, pk):
    bookinstance = get_object_or_404(BookInstance, pk=pk)

    # If this is a POST request then process the Form data

    if request.method == 'POST':
        form = RenewBookModelForm(request.POST)
        if form.is_valid():
            bookinstance.due_back = form.cleaned_data['due_back']
            bookinstance.save()
            return HttpResponseRedirect(reverse('borrowers'))

    else:
        proposed_renewal_date = datetime.date.today() + datetime.timedelta(weeks=3)
        form = RenewBookModelForm(
            initial={'due_back': proposed_renewal_date}
        )

    context = {
        'form': form,
        'bookinstance': bookinstance,
    }
    return render(
        request, 'catalog/book_renew_librian.html', context
    )
def renew_book_librarian(request, pk):
    """
    View function for renewing a specific BookInstance by librarian
    """
    book_inst = get_object_or_404(BookInstance, pk = pk)

    # If this is a POST request then process the Form data
    if request.method == 'POST':

        # Create a form instance and populate it with data from the request (binding):
        form = RenewBookModelForm(request.POST)

        # Check if the form is valid:
        if form.is_valid():
            # process the data in form.cleaned_data as required (here we just write it to the model due_back field)
            book_inst.due_back = form.cleaned_data['due_back']
            book_inst.save()

            # redirect to a new URL:
            return HttpResponseRedirect(reverse('all-borrowed') )

    # If this is a GET (or any other method) create the default form.
    else:
        proposed_renewal_date = datetime.date.today() + datetime.timedelta(weeks=3)
        form = RenewBookModelForm(initial={'due_back': proposed_renewal_date,})

    return render(request, 'catalog/book_renew_librarian.html', {'form': form, 'bookinst':book_inst})
Beispiel #8
0
def renew_book_librarian(request, pk):
    """View function for renewing a specific BookInstance by librarian."""
    book_instance = get_object_or_404(BookInstance, pk=pk)

    # If this is a POST request then process the Form data
    if request.method == "POST":

        # Create a form instance and populate it with data from the request (binding):
        form = RenewBookModelForm(request.POST)

        # Check if the form is valid:
        if form.is_valid():
            # process the data in form.cleaned_data as required (here we just write it to the model due_back field)
            # book_instance.due_back = form.cleaned_data["renewal_date"]
            book_instance.due_back = form.cleaned_data["due_back"]
            book_instance.save()

            # redirect to a new URL:
            return HttpResponseRedirect(reverse("all-borrowed"))

    # If this is a GET (or any other method) create the default form.
    else:
        proposed_renewal_date = datetime.date.today() + datetime.timedelta(
            weeks=3)
        # form = RenewBookForm(initial={"renewal_date": proposed_renewal_date})
        form = RenewBookModelForm(initial={"due_back": proposed_renewal_date})

    context = {
        "form": form,
        "book_instance": book_instance,
    }

    return render(request, "catalog/book_renew_librarian.html", context)
Beispiel #9
0
def renew_book_librarian(request, pk):
    book_instance = get_object_or_404(BookInstance, pk=pk)

    #If this is a POST request, process the form data
    if request.method == 'POST':

        # Create a form instance and populate it with data from the request (binding):
        form = RenewBookModelForm(request.POST)

        # Check if the form is valid
        if form.is_valid():
            #process the data in form.cleaned_data as required (here we just write it to the model due_back field)
            book_instance.due_back = form.cleaned_data['due_back']
            #book_instance.due_back = form.cleaned_data['renewal_date']
            book_instance.save()

            # redirect to a new url
            return HttpResponseRedirect(reverse('all-borrowed'))

    # If this is a GET (or any other method), create the default form.
    else:
        proposed_renewal_date = datetime.date.today() + datetime.timedelta(
            weeks=3)
        form = RenewBookModelForm(initial={'due_back': proposed_renewal_date})
        #form = RenewBookModelForm(initial={'renewal_date': proposed_renewal_date})

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

    return render(request, 'catalog/book_renew_librarian.html', context)
Beispiel #10
0
 def test_renew_form_date_max(self):
     """
     Test form is valid if due_back is within 4 weeks
     """
     date = timezone.now() + datetime.timedelta(weeks=4)
     form_data = {'due_back': date}
     form = RenewBookModelForm(data=form_data)
     self.assertTrue(form.is_valid())
Beispiel #11
0
 def test_renew_form_date_today(self):
     """
     Test form is valid if due_back is today
     """
     date = datetime.date.today()
     form_data = {'due_back': date}
     form = RenewBookModelForm(data=form_data)
     self.assertTrue(form.is_valid())
Beispiel #12
0
 def test_renew_form_date_in_past(self):
     """
     Test form is invalid if due_back is before today
     """
     date = datetime.date.today() - datetime.timedelta(days=1)
     form_data = {'due_back': date}
     form = RenewBookModelForm(data=form_data)
     self.assertFalse(form.is_valid())
Beispiel #13
0
 def test_renew_form_date_too_far_in_future(self):
     """
     Test form is invalid if due_back more than 4 weeks from today
     """
     date = datetime.date.today() + datetime.timedelta(
         weeks=4) + datetime.timedelta(days=1)
     form_data = {'due_back': date}
     form = RenewBookModelForm(data=form_data)
     self.assertFalse(form.is_valid())
Beispiel #14
0
 def test_renew_form_date_field_help_text(self):
     """
     Test due_back help_text is as expected.
     """
     form = RenewBookModelForm()
     self.assertEqual(form.fields['due_back'].help_text,
                      'Enter a date between now and 4 weeks (default 3).')
Beispiel #15
0
 def test_renew_form_date_field_label(self):
     """
     Test due_back label is "renewal date"
     """
     form = RenewBookModelForm()
     self.assertTrue(form.fields['due_back'].label == None
                     or form.fields['due_back'].label == 'Renewal date')
 def test_renew_form_date_in_past(self):
     date = datetime.date.today() - datetime.timedelta(days=1)
     form = RenewBookModelForm(data={'due_back': date})
     self.assertFalse(form.is_valid())
Beispiel #17
0
 def test_renew_form_date_field_help_text(self):
     form = RenewBookModelForm()
     self.assertEqual(
         form.fields["due_back"].help_text,
         "Enter a date between now and 4 weeks (default 3).",
     )
Beispiel #18
0
 def test_renew_form_date_field_label(self):
     form = RenewBookModelForm()
     self.assertTrue(form.fields["due_back"].label is None
                     or form.fields["due_back"].label == "Renewal date")
Beispiel #19
0
 def test_renew_form_date_is_within_the_allowed_range(self):
     date = timezone.now() + datetime.timedelta(weeks=4)
     form = RenewBookModelForm(data={'renewal_date': date})
     self.assertTrue(form.is_valid())
 def test_renew_form_date_max(self):
     date = timezone.localtime() + datetime.timedelta(weeks=4)
     form = RenewBookModelForm(data={'renewal_date': date})
     self.assertTrue(form.is_valid())
 def test_renew_form_date_max(self):
     date = timezone.now() + datetime.timedelta(weeks=4)
     form = RenewBookModelForm(data={'due_back': date})
     self.assertTrue(form.is_valid())
Beispiel #22
0
 def test_renew_form_date_field_label(self):
     form = RenewBookModelForm()
     field_label = form.fields['renewal_date'].label
     self.assertTrue(field_label == None or field_label == 'renewal date')
Beispiel #23
0
 def test_renew_form_date_field_label(self):
     form = RenewBookModelForm()
     self.assertTrue(form.fields['due_back'].label == None
                     or form.fields['due_back'].label == 'New renewal date')
 def test_renew_form_date_field_label(self):
     form = RenewBookModelForm()
     self.assertEqual(form.fields['due_back'].label, 'renewal date')
Beispiel #25
0
 def test_renew_form_date_too_far_in_future(self):
     date = datetime.date.today() + datetime.timedelta(weeks=4) + datetime.timedelta(days=1)
     form_data = {'renewal_date': date}
     form = RenewBookModelForm(data=form_data)
     self.assertFalse(form.is_valid())
 def test_renew_form_date_too_far_in_future(self):
     date = datetime.date.today() + datetime.timedelta(weeks=5)
     form = RenewBookModelForm(data={'due_back': date})
     self.assertFalse(form.is_valid())
 def test_renew_form_date_today(self):
     date = datetime.date.today()
     form = RenewBookModelForm(data={'due_back': date})
     self.assertTrue(form.is_valid())
Beispiel #28
0
 def test_renew_form_date_field_help_text(self):
     form = RenewBookModelForm()
     help_text = form.fields['renewal_date'].help_text
     self.assertTrue(help_text,
                     'Enter a date between now and 4 weeks (default 3).')
Beispiel #29
0
 def test_renew_form_date_field_help_text(self):
     form = RenewBookModelForm()
     self.assertEqual(form.fields.get('renewal_date').help_text, 'Enter a date between now and 4 weeks (default 3).')
Beispiel #30
0
 def test_renew_form_date_in_past(self):
     date = datetime.date.today() - datetime.timedelta(days=1)
     form = RenewBookModelForm(data={'renewal_date': date})
     self.assertFalse(form.is_valid())
     self.assertEqual(form.errors['renewal_date'],
                      [u"Invalid date - renewal in past"])