def get(self, request, vacancy_update: int): specialties = Specialty.objects.all() all_applications = Application.objects.all() current_vacancy = vacancy_update vacancy_form = VacancyForm() if vacancy_form.is_valid(): vacancy_form.save() application_form = ApplicationForm() if application_form.is_valid(): application_form.save() applications = Application.objects.all() paginator = Paginator(applications, 5) page = self.request.GET.get('page') try: applications = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. applications = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. applications = paginator.page(paginator.num_pages) context = { 'vacancy_form': vacancy_form, 'all_applications': all_applications, 'specialties': specialties, 'current_vacancy': current_vacancy, 'application_form': application_form, 'vacancies': Vacancy.objects.all(), 'applications': applications, } return render(request, 'recruitment/vacancy_update.html', context=context)
def get(self, request, vacancy_id: int): vacancy = Vacancy.objects.filter(id=vacancy_id).first() if not vacancy: raise Http404 application_form = ApplicationForm() if application_form.is_valid(): application_form.save() context = { 'vacancy': vacancy, 'application_form': application_form, } return render(request, 'recruitment/vacancy.html', context=context)
def post(self, request, vacancy_id: int, *args, **kwargs): application_form = ApplicationForm(request.POST) if application_form.is_valid(): application = application_form.save(commit=False) application.user = request.user application.vacancy = Vacancy.objects.filter(id=vacancy_id).first() application_form.save() context = { 'application_form': application_form, } return render(request, 'recruitment/sent.html', context=context) if not application_form.is_valid(): application_form.save() context = { 'application_form': application_form, 'application_form.errors': application_form.errors, } return render(request, 'recruitment/vacancy.html', context=context)