예제 #1
0
    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})
예제 #2
0
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})