def post(self, request, id_vacancy): form = ApplicationForm(request.POST) if form.is_valid(): data = form.cleaned_data user = request.user if request.user else '1' vacancy = Vacancy.objects.get(pk=id_vacancy) application = Application.objects.create( written_username=data['written_username'], written_phone=data['written_phone'], written_cover_letter=data['written_cover_letter'], user=user, vacancy=vacancy, ) return render(request, 'sent.html', vacancy) return render(request, 'vacancy.html', {'form': form})
def post(self, request, vacancy_id, *args, **kwargs): application_form = ApplicationForm(request.POST) if application_form.is_valid(): Application.objects.create( written_username=application_form. cleaned_data['written_username'], written_phone=application_form.cleaned_data['written_phone'], written_cover_letter=application_form. cleaned_data['written_cover_letter'], vacancy=Vacancy.objects.get(id=vacancy_id), user=request.user, ) return redirect('/vacancies/{}/send'.format(vacancy_id)) else: raise Http404
def new_application(request): if request.method == 'POST': form = ApplicationForm(request.POST) if form.is_valid(): a = Application( job=form.cleaned_data['job'], apply_date=form.cleaned_data['apply_date'], status=form.cleaned_data['status'], contact=form.cleaned_data['contact'], notes=form.cleaned_data['notes'] ) a.save() return HttpResponseRedirect('/jobs/applications/') else: form = ApplicationForm() return render(request, 'jobs/applications/new.html', {'form': form})
def post(self, request, vacancy_id): form = ApplicationForm(request.POST) if form.is_valid(): form = form.save(commit=False) form.vacancy = Vacancy.objects.get(id=vacancy_id) form.user = request.user if request.user.is_authenticated else None form.save() return redirect(f'/vacancies/{vacancy_id}/send/') return render(request, 'vacancy.html', context={'form': form})
def get(self, request, vacancy_id: int): try: company = Company.objects.get(owner=request.user) context = { "vacancy": company.vacancies.get(id=vacancy_id), 'form': ApplicationForm(), } return render(request, "vacancy.html", context) except ObjectDoesNotExist: raise Http404
def vacancy_detail(request, vacancy_id): if request.method == 'POST': application_form = ApplicationForm(request.POST) if application_form.is_valid(): Application.objects.create( written_username=application_form. cleaned_data['written_username'], written_phone=application_form.cleaned_data['written_phone'], written_cover_letter=application_form. cleaned_data['written_cover_letter'], vacancy=Vacancy.objects.get(id=vacancy_id), user=request.user, ) return redirect('/vacancies/{}/send'.format(vacancy_id)) else: raise Http404 else: vacancy = get_object_or_404(Vacancy, id=vacancy_id) application_form = ApplicationForm context = {'vacancy': vacancy, 'application_form': application_form} return render(request, 'jobs/public/vacancy.html', context)
def get(self, request, vacancy_id: int): try: vacancy = Vacancy.objects.get(id=vacancy_id) except ObjectDoesNotExist: return redirect('/vacancies/') context = { 'vacancy': vacancy, 'form': ApplicationForm() if request.user.is_authenticated else None, 'previous_url': self.request.META['HTTP_REFERER'], } return render(request, "vacancy.html", context)
def get(self, request, vacancy_id): try: vacancy = Vacancy.objects.get(id=vacancy_id) except Vacancy.DoesNotExist: return render(request, '404.html', context={}) company = Company.objects.get(id=vacancy.company.id) form = ApplicationForm() return render(request, 'vacancy.html', context={ 'vacancy': vacancy, 'company': company, 'form': form })
def post(self, request, vacancy_id: int): application_form = ApplicationForm(request.POST) try: vacancy = Vacancy.objects.get(id=vacancy_id) except ObjectDoesNotExist: return HttpResponseServerError if application_form.is_valid(): if not Application.objects.filter(vacancy=vacancy, user=request.user).exists(): if application_form.is_valid(): data = application_form.cleaned_data Application.objects.create( written_username=data['written_username'], written_phone=data['written_phone'], written_cover_letter=data['written_cover_letter'], vacancy=vacancy, user=request.user, ) elif "written_phone" not in application_form.cleaned_data: application_form.add_error( "written_phone", 'Некорректный формат номера телефона') else: raise SuspiciousOperation("Invalid request") return render(request, "sent.html", {'vacancy_id': vacancy_id}) else: application_form.add_error( None, 'Отправить отклик на вакансию можно только один раз :(') context = { 'vacancy': vacancy, 'form': application_form, } return render(request, "vacancy.html", context)
def apply(request, pk): form = ApplicationForm() position = Position.objects.get(pk=pk) obj, created = SavedJobs.objects.update_or_create(user=request.user, position=position, defaults={ "active": True, "applied": True }) application = Application(user=request.user, position=position) if request.method == "POST" and request.user.is_authenticated(): form = ApplicationForm(request.POST, instance=application) if form.is_valid(): form.save(commit=True) user_data = request.user.social_auth.get( provider='linkedin-oauth2').extra_data question1 = request.POST.get('question1') question2 = request.POST.get('question2') template = get_template('add_position.txt') context = Context({ 'user_data': user_data, 'question1': question1, 'question2': question2, }) content = template.render(context) email = EmailMessage("New application", content, '*****@*****.**', ['*****@*****.**']) email.send() return redirect('jobs/saved_jobs') else: print(form.errors) return render(request, 'jobs/application.html', {'application_form': form})