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