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)
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)
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 })
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)
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"])
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})
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)
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)
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())
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())
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())
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())
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).')
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())
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).", )
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")
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())
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')
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')
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())
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).')
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).')
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"])