示例#1
0
def handle_tramitacao_signal(sender, **kwargs):
    tramitacao = kwargs.get("post")
    request = kwargs.get("request")
    materia = tramitacao.materia

    do_envia_email_tramitacao(get_base_url(request), materia,
                              tramitacao.status,
                              tramitacao.unidade_tramitacao_destino)
示例#2
0
def handle_tramitacao_signal(sender, **kwargs):
    tramitacao = kwargs.get("post")
    request = kwargs.get("request")
    if 'protocoloadm' in str(sender):
        doc_mat = tramitacao.documento
        tipo = "documento"
    elif 'materia' in str(sender):
        tipo = "materia"
        doc_mat = tramitacao.materia

    do_envia_email_tramitacao(get_base_url(request), tipo, doc_mat,
                              tramitacao.status,
                              tramitacao.unidade_tramitacao_destino)
示例#3
0
def handle_tramitacao_signal(sender, **kwargs):
    tramitacao = kwargs.get("post")
    request = kwargs.get("request")
    if 'protocoloadm' in str(sender):
        doc_mat = tramitacao.documento
        tipo = "documento"
    elif 'materia' in str(sender):
        tipo = "materia"
        doc_mat = tramitacao.materia

    kwargs = {
        'base_url':
        get_base_url(request),
        'tipo':
        tipo,
        'doc_mat_id':
        doc_mat.id,
        'tramitacao_status_id':
        tramitacao.status.id,
        'tramitacao_unidade_tramitacao_destino_id':
        tramitacao.unidade_tramitacao_destino.id
    }

    task_envia_email_tramitacao.delay(kwargs)
示例#4
0
    def post(self, request, *args, **kwargs):
        if not mail_service_configured():
            self.logger.warning(_('Servidor de email não configurado.'))
            messages.error(request, _('Serviço de Acompanhamento de '
                                      'Documentos não foi configurado'))
            return redirect('/')

        form = AcompanhamentoDocumentoForm(request.POST)
        pk = self.kwargs['pk']
        documento = DocumentoAdministrativo.objects.get(id=pk)

        if form.is_valid():
            email = form.cleaned_data['email']
            usuario = request.user

            hash_txt = self.get_random_chars()

            acompanhar = AcompanhamentoDocumento.objects.get_or_create(
                documento=documento,
                email=form.data['email'])

            # Se o segundo elemento do retorno do get_or_create for True
            # quer dizer que o elemento não existia
            if acompanhar[1]:
                acompanhar = acompanhar[0]
                acompanhar.hash = hash_txt
                acompanhar.usuario = usuario.username
                acompanhar.confirmado = False
                acompanhar.save()

                base_url = get_base_url(request)

                destinatario = AcompanhamentoDocumento.objects.get(
                    documento=documento,
                    email=email,
                    confirmado=False)
                casa = CasaLegislativa.objects.first()

                do_envia_email_confirmacao(base_url,
                                           casa,
                                           "documento",
                                           documento,
                                           destinatario)
                self.logger.info('user={} .Foi enviado um e-mail de confirmação. Confira sua caixa '
                                 'de mensagens e clique no link que nós enviamos para '
                                 'confirmar o acompanhamento deste documento.'.format(usuario.username))
                msg = _('Foi enviado um e-mail de confirmação. Confira sua caixa \
                         de mensagens e clique no link que nós enviamos para \
                         confirmar o acompanhamento deste documento.')
                messages.add_message(request, messages.SUCCESS, msg)

            # Caso esse Acompanhamento já exista
            # avisa ao usuário que esse documento já está sendo acompanhado
            else:
                self.logger.info('user='******'. Este e-mail já está acompanhando esse documento (pk={}).'.format(pk))
                msg = _('Este e-mail já está acompanhando esse documento.')
                messages.add_message(request, messages.INFO, msg)

                return self.render_to_response(
                    {'form': form,
                     'documento': documento,
                     'error': _('Esse documento já está\
                     sendo acompanhada por este e-mail.')})
            return HttpResponseRedirect(self.get_success_url())
        else:
            return self.render_to_response(
                {'form': form,
                 'documento': documento})