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 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})