示例#1
0
def new_job_was_created(sender, instance, created, **kwargs):
    if not created:
        return

    # post to telegram
    message_base = "Nova oportunidade! {} - {} em {}\n {}/job/{}/"
    message_text = message_base.format(
        instance.title,
        instance.company_name,
        instance.workplace,
        settings.WEBSITE_HOME_URL,
        instance.pk,
    )
    post_telegram_channel(message_text)

    msg = get_email_with_template(
        "published_job",
        {"vaga": instance},
        "Sua oportunidade está disponível no {}".format(settings.WEBSITE_NAME),
        [instance.company_email],
    )
    msg.send()
    try:
        send_offer_email_template(instance)
    except:
        client.captureException()
示例#2
0
    def handle(self, *args, **options):
        job_qs = Job.objects.filter(is_challenging=True)
        for job in job_qs:
            job_applications = JobApplication.objects.filter(
                job=job,
                challenge_response_at=None,
                email_sent_at__gte=datetime.now() - timedelta(days=4),
                email_sent_at__lte=datetime.now() + timedelta(days=3),
                challenge_resent=False,
            )

            for job_app in job_applications:
                print(job_app)
                person_email_context = {
                    "vaga": job,
                    "pessoa": job_app.user.profile,
                    "mensagem": job_app,
                }
                template_person = "job_interest_challenge"
                person_email_subject = "Reenviando: Teste Técnico da empresa: {}!".format(
                    job.company_name)

                job_app.challenge_resent = True
                job_app.save()

                msg_email_person = get_email_with_template(
                    template_person,
                    person_email_context,
                    person_email_subject,
                    (job_app.user.email, ),
                )
                msg_email_person.send()
示例#3
0
def send_challenge_to_old_applicants(modeladmin, request, queryset):
    available_jobs = [job for job in queryset if job.is_challenging]

    emails_to_be_sent = []

    for job in available_jobs:

        job_applicantions = JobApplication.objects.filter(job=job,
                                                          email_sent=False)

        for job_applicant in job_applicantions:
            email_context = {
                "vaga": job,
                "pessoa": job_applicant.user.profile,
                "mensagem": job_applicant,
            }

            message = get_email_with_template(
                "job_interest_challenge",
                email_context,
                "Teste Técnico da empresa: {}!".format(job.company_name),
                [job_applicant.user.email],
            )

            message.send()

            job_applicant.email_sent = True
            job_applicant.email_sent_at = datetime.now()
            job_applicant.save()
示例#4
0
def feedback_was_created(sender, instance, **kwargs):
    if not instance.id:
        return

    original_application = JobApplication.objects.get(id=instance.id)

    if original_application.company_feedback != instance.company_feedback:
        msg = get_email_with_template(
            "job_application_feedback",
            {
                "pessoa": instance.user,
                "vaga": instance.job,
                "job_application": instance,
            },
            " ".join(
                map(
                    str,
                    [
                        _("Você recebeu um feedback da vaga"),
                        instance.job.title,
                        _("na empresa"),
                        instance.job.company_name,
                    ],
                )),
            [instance.user.email],
        )
        msg.send()
示例#5
0
def share_to_new_buddy(sender, instance, created, **kwargs):
    email_context = {"pessoa": instance.user_sharing, "vaga": instance.job}
    msg = get_email_with_template(
        "job_sharing",
        email_context,
        _("Indicacao de vaga"),
        [instance.user_receiving_email],
    )
    msg.send()
示例#6
0
def test(sender, instance, created, **kwargs):
    if not created or not instance.receive_emails:
        return False

    message_text = " ".join(
        map(
            str,
            [
                _("Nova oportunidade!"),
                instance.title,
                " - ",
                instance.company_name,
                _("em"),
                instance.workplace,
                "\n",
                f"{settings.WEBSITE_HOME_URL}/job/{instance.pk}/",
            ],
        ))
    post_telegram_channel(message_text)

    msg = get_email_with_template(
        "published_job",
        {"vaga": instance},
        " ".join(
            map(str, [
                _("Sua oportunidade está disponível no"), settings.WEBSITE_NAME
            ])),
        [instance.company_email],
    )

    payload = {
        "head": " ".join(map(str, [_("Nova Vaga!"), instance.title])),
        "body": instance.description,
        "url": f"{settings.WEBSITE_HOME_URL}/job/{instance.pk}/",
    }

    msg.send()
    if not instance.issue_number:
        try:
            send_job_to_github_issues(instance)
        except:
            pass

    try:
        send_group_notification(group_name="general",
                                payload=payload,
                                ttl=1000)
    except:
        pass

    try:
        send_offer_email_template(instance)
    except:
        client.captureException()

    return True
示例#7
0
def send_email_notifing_job_application(sender, instance, created, **kwargs):
    if not created:
        return

    person_email_context = {
        "vaga": instance.job,
        "pessoa": instance.user.profile,
        "mensagem": instance,
    }

    company_email_context = person_email_context

    template_person = "job_application_registered"
    person_email_subject = _("Parabéns! Você se inscreveu na vaga!")
    person_to_send_to = [instance.user.email]

    if instance.job.is_challenging:
        template_person = "job_interest_challenge"
        person_email_subject = " ".join(
            map(str, [
                _("Teste Técnico da empresa: "), instance.job.company_name, "!"
            ]))
        instance.email_sent = True
        instance.email_sent_at = datetime.now()
        instance.save()

    msg_email_person = get_email_with_template(template_person,
                                               person_email_context,
                                               person_email_subject,
                                               person_to_send_to)
    msg_email_person.send()

    if instance.job.receive_emails:
        msg_email_company = get_email_with_template(
            "job_applicant",
            company_email_context,
            _("Você possui mais um candidato para a sua vaga"),
            [instance.job.company_email],
        )
        msg_email_company.send()
示例#8
0
文件: models.py 项目: cptx032/PyJobs
def new_job_challenge_answered(sender, instance, created, **kwargs):
    subject = "Novo teste a ser avaliado: {}".format(instance.job.title)
    email_context = {"vaga": instance.job, "mensagem": instance}

    if (not created and instance.job.is_challenging
            and instance.challenge_response_link != None):
        msg = get_email_with_template(
            "new_answer_to_check",
            email_context,
            subject,
            [settings.WEBSITE_OWNER_EMAIL],
        )
        msg.send()
示例#9
0
文件: models.py 项目: cptx032/PyJobs
def send_email_notifing_job_application(sender, instance, created, **kwargs):
    if not created:
        return

    person_email_context = {
        "vaga": instance.job,
        "pessoa": instance.user.profile,
        "mensagem": instance,
    }

    company_email_context = person_email_context

    template_person = "job_application_registered"
    person_email_subject = "Parabéns! Você se inscreveu na vaga!"
    person_to_send_to = [instance.user.email]

    if instance.job.is_challenging:
        template_person = "job_interest_challenge"
        person_email_subject = "Teste Técnico da empresa: {}!".format(
            instance.job.company_name)
        instance.email_sent = True
        instance.email_sent_at = datetime.now()
        instance.save()
        person_to_send_to.append(settings.WEBSITE_OWNER_EMAIL)
        person_to_send_to.append(instance.job.company_email)

    msg_email_person = get_email_with_template(template_person,
                                               person_email_context,
                                               person_email_subject,
                                               person_to_send_to)
    msg_email_person.send()

    msg_email_company = get_email_with_template(
        "job_applicant",
        company_email_context,
        "Você possui mais um candidato para a sua vaga",
        [instance.job.company_email],
    )
    msg_email_company.send()
示例#10
0
def send_email_notifing_job_application(sender, instance, created, **kwargs):
    person_email_context = {
        "vaga": instance.job,
        "pessoa": instance.user.profile
    }

    company_email_context = person_email_context

    msg_email_person = get_email_with_template(
        "job_application_registered",
        person_email_context,
        "Parabéns! Você se inscreveu na vaga!",
        [instance.user.email],
    )
    msg_email_person.send()

    msg_email_company = get_email_with_template(
        "job_applicant",
        company_email_context,
        "Você possui mais um candidato para a sua vaga",
        [instance.job.company_email],
    )
    msg_email_company.send()
示例#11
0
def new_job_was_created(sender, instance, created, **kwargs):
    if not created or not instance.receive_emails:
        return

    # post to telegram
    message_base = "Nova oportunidade! {} - {} em {}\n {}/job/{}/"
    message_text = message_base.format(
        instance.title,
        instance.company_name,
        instance.workplace,
        settings.WEBSITE_HOME_URL,
        instance.pk,
    )
    post_telegram_channel(message_text)

    msg = get_email_with_template(
        "published_job",
        {"vaga": instance},
        "Sua oportunidade está disponível no {}".format(settings.WEBSITE_NAME),
        [instance.company_email],
    )

    payload = {
        "head": f"Nova Vaga! {instance.title}",
        "body": instance.description,
        "url": f"{settings.WEBSITE_HOME_URL}/job/{instance.pk}/",
    }

    msg.send()
    if not instance.issue_number:
        try:
            send_job_to_github_issues(instance)
        except:
            pass

    try:
        send_group_notification(group_name="general",
                                payload=payload,
                                ttl=1000)
    except:
        pass

    try:
        send_offer_email_template(instance)
    except:
        client.captureException()
示例#12
0
def new_contact(sender, instance, created, **kwargs):
    email_context = {"mensagem": instance}
    msg = get_email_with_template("new_contact", email_context,
                                  instance.subject,
                                  [settings.WEBSITE_OWNER_EMAIL])
    msg.send()