Ejemplo n.º 1
0
def trabajo_enviar_mail_agenciados(request, trabajo_id):

    trabajo = Trabajo.objects.get(pk=trabajo_id)

    if request.method == 'POST':
        form = MailAgenciadosForm(trabajo.rol_set.all(), request.POST)
        if form.is_valid():
            template = loader.get_template(
                'trabajo/rol/admin/cuerpo_mail_agenciado.html')
            for rol in trabajo.rol_set.all():
                asunto = form.cleaned_data['asunto']
                agencia = Agencia.get_activa(request)
                ccs = [request.user.email, agencia.email]
                postulaciones = form.cleaned_data[
                    MailAgenciadosForm.get_rol_fieldname(rol)]

                text_content = _(
                    u'Este mensagem deve ser visualizado em formato HTML.')
                for postulacion in postulaciones:
                    if postulacion.agenciado.mail:
                        context = {
                            'postulacion': postulacion,
                        }
                        html_content = template.render(context)
                        destinatarios = [postulacion.agenciado.mail] + [
                            x.email for x in
                            postulacion.agenciado.mailagenciado_set.all()
                        ]
                        msg = MailAgencia(asunto,
                                          text_content,
                                          destinatarios,
                                          ccs=ccs)
                        msg.set_html_body(html_content)
                        msg.send()
                    else:
                        messages.error(
                            request,
                            _(u'Agenciado %s não tem um email definido.' %
                              postulacion.agenciado))
            messages.success(
                request,
                _(u'Trabalho enviado com sucesso a os agenciados selecionados.'
                  ))
            return redirect('/admin/trabajo/trabajo/%s/' % trabajo_id)
    else:
        asunto = _(u'Detalhe da Postulação para Trabalho "%s"') % (
            trabajo.titulo, )
        form = MailAgenciadosForm(trabajo.rol_set.all(),
                                  initial={'asunto': asunto})

    return render(request, 'trabajo/trabajo/admin/enviar_mail_agenciados.html',
                  {
                      'form': form,
                      'trabajo': trabajo,
                  })
Ejemplo n.º 2
0
def enviar_mail(request):

    # Se crea el formulario con el campo trabajo y el campo estado en funcion del modelo Postulación
    # En caso de ser un metodo POST:
    if request.method == 'POST':
        form = EnvioMailForm(request.POST)
        # Se valida el formulario
        if form.is_valid():
            template = loader.get_template('correo/base.html')
            context = {
                'cuerpo': form.cleaned_data['cuerpo'],
            }
            asunto = form.cleaned_data['asunto']
            agencia = Agencia.get_activa(request)
            destinatarios = [
                agencia.email,
            ]
            ccs = [
                request.user.email,
            ]
            bccs = form.get_destinatarios()
            text_content = _(
                u'Este mensagem deve ser visualizado em formato HTML.')
            html_content = template.render(context)
            msg = MailAgencia(asunto,
                              text_content,
                              destinatarios,
                              ccs=ccs,
                              bccs=bccs)
            msg.set_html_body(html_content)
            msg.send()
            messages.success(request, _(u'Mails enviados con éxito'))

            return redirect('/admin/agencia/agenciado/')

    # Sino
    else:
        # Se obtienen los agenciados asociados a los IDs
        if request.method == 'GET':
            ids = request.GET['ids']
        else:
            ids = request.POST['ids']
        listado_ids = ids.split(',')
        agenciados = Agenciado.objects.filter(id__in=listado_ids)

        destinatarios = []
        for agenciado in agenciados:
            for mail in agenciado.get_mails():
                destinatarios.append(mail)

        form = EnvioMailForm(
            initial={'destinatarios': '\n'.join(destinatarios)})

    return render(request, 'admin/agencia/agenciado/enviar_mail.html',
                  {'form': form})
Ejemplo n.º 3
0
    def enviar(self):

        template = loader.get_template(self.get_template_name())
        asunto = self.get_notification_title()
        destinatarios = [self.email_destinatario]
        agencia = Agencia.get_activa()
        ccs = self.get_ccs()

        text_content = _(
            u'Este mensagem deve ser visualizado em formato HTML.')
        html_content = template.render(self.get_context_dict())
        msg = MailAgencia(asunto, text_content, destinatarios, ccs=ccs)
        msg.set_html_body(html_content)
        msg.send()

        self.fecha_envio = now()
        self.clean()
        self.save()
Ejemplo n.º 4
0
def trabajo_enviar_mail_productora(request, trabajo_id):

    trabajo = Trabajo.objects.get(pk=trabajo_id)

    if request.method == 'POST':
        form = MailProductoraForm(request.POST)
        if form.is_valid():
            template = loader.get_template(
                'trabajo/trabajo/cuerpo_mail_productora.html')
            context = {
                'trabajo': trabajo,
            }
            asunto = form.cleaned_data['asunto']
            destinatarios = form.get_destinatarios()
            agencia = Agencia.get_activa(request)
            ccs = [request.user.email, agencia.email]

            text_content = _(
                u'Este mensagem deve ser visualizado em formato HTML.')
            html_content = template.render(context)
            msg = MailAgencia(asunto, text_content, destinatarios, ccs=ccs)
            msg.set_html_body(html_content)
            msg.send()
            messages.success(
                request,
                _(u'Trabalho enviado com sucesso a os seguintes destinatarios y copias: %(destinatarios)s %(copias)s'
                  ) % {
                      'destinatarios': str(destinatarios),
                      'copias': str(ccs)
                  })
            return redirect('/admin/trabajo/trabajo/%s/' % trabajo_id)
    else:
        asunto = _(u'Detalhe de trabalho "%s"') % (trabajo.titulo, )
        form = MailProductoraForm(initial={
            'destinatarios': trabajo.productora.mail,
            'asunto': asunto
        })

    return render(request, 'trabajo/trabajo/enviar_mail_productora.html', {
        'form': form,
        'trabajo': trabajo,
    })