예제 #1
0
파일: views.py 프로젝트: chicosilva/csms
def detalhes(request, id):

    usuario = get_object_or_404(Usuario, pk=id)

    if request.method == 'POST':

        form = MensagemParticularForm(request.POST)

        if form.is_valid():
            dados_form = {
                'data_agendamento':
                data_agendamento(request.POST.get('data_agendamento', False),
                                 request.POST.get('hora_envio', False)),
                'mensagem_padrao_id':
                request.POST.get('mensagem_padrao', False),
                'texto':
                request.POST.get('texto'),
                'enviar_link':
                request.POST.get('enviar_link', False),
                'usuario':
                usuario,
                'particular':
                1,
                'tipo_id':
                request.POST.get('tipo'),
            }

            if dados_form['tipo_id'] == '2' and not usuario.notificacoes:
                messages.success(
                    request,
                    u"Não é possível enviar SMS Marketing para esse cliente")
                return redirect(reverse('cadastro:detalhes', kwargs={'id':
                                                                     id}))

            Mensagem(**dados_form).save()

            messages.success(
                request,
                "Mensagem enviada com sucesso, confira o status do envio.")
            return redirect(reverse('cadastro:detalhes', kwargs={'id': id}))

    else:
        form = MensagemParticularForm()

    mensagens = Mensagem.objects.filter(usuario=id)[:30]
    for mensagem in mensagens:
        mensagem.atualiza_status()

    dados = {
        'cliente': usuario,
        'form': form,
        'mensagens_padrao': MensagemPadrao.objects.all(),
        'mensagens': mensagens,
        'menu': "menu_clientes",
    }

    return render(request, 'clientes/detalhes.html', dados)
예제 #2
0
def nova_mensagem_selecao(request):

    if request.method == 'POST':

        form = MensagemUsuarioSelecaoForm(request.POST)

        if form.is_valid():

            dados_form = {
                'data_agendamento': data_agendamento(request.POST.get('data_agendamento', False), request.POST.get('hora_envio', False)),
                'mensagem_padrao_id': request.POST.get('mensagem_padrao', False),
                'enviar_link': request.POST.get('enviar_link', False),
                'texto': request.POST.get('texto'),
                'status_id': 40,
                'tipo_id': request.POST.get('tipo'),
            }

            kwargs = {}

            categoria = request.POST.get('categoria', False)
            bairro = request.POST.get('bairro', False)

            if categoria:
                kwargs['categoria'] = categoria
                dados_form['categoria_id'] = categoria

            if bairro:
                kwargs['bairro'] = bairro
                dados_form['bairro_id'] = bairro

            if dados_form['tipo_id'] == '2':
                usuarios = Usuario.objects.filter(**kwargs).filter(numero_invalido=False).filter(notificacoes=True)
            else:
                usuarios = Usuario.objects.filter(**kwargs).filter(numero_invalido=False)

            for usuario in usuarios:

                dados_form['usuario'] = usuario
                Mensagem(**dados_form).save()

            messages.success(request, u"SMS enviado com sucesso, confira o status")
            return redirect(reverse('front:index'))

    else:
        form = MensagemUsuarioSelecaoForm()

    dados = {
        'form': form,
        'mensagens_padrao': MensagemPadrao.objects.all(),
        'usuarios': Usuario.objects.filter(numero_invalido=False),
        'titulo': u'SMS para usuários específicos',
        'menu': "menu_mensagens",

    }

    return render(request, 'mensagens/novo_selecao.html', dados)
예제 #3
0
def nova_mensagem(request):

    if request.method == 'POST':

        form = MensagemUsuarioEspecificoForm(request.POST)

        if form.is_valid():

            l = []

            for usuario in request.POST.getlist('usuarios'): l.append(usuario)

            dados_form = {
                'data_agendamento': data_agendamento(request.POST.get('data_agendamento', False), request.POST.get('hora_envio', False)),
                'mensagem_padrao_id': request.POST.get('mensagem_padrao', False),
                'texto': request.POST.get('texto'),
                'particular': 1,
                'status_id': 40,
                'enviar_link': request.POST.get('enviar_link', False),
                'tipo_id': request.POST.get('tipo'),
            }

            if dados_form['tipo_id'] == '2':
                usuarios = Usuario.objects.filter(pk__in=l).filter(notificacoes=True)
            else:
                usuarios = Usuario.objects.filter(pk__in=l)

            for usuario in usuarios:
                dados_form['usuario'] = usuario
                Mensagem(**dados_form).save()

            messages.success(request, u"SMS enviado com sucesso, confira o status")

            return redirect(reverse('front:index'))

    else:
        form = MensagemUsuarioEspecificoForm()

    dados = {'form': form,
             'mensagens_padrao': MensagemPadrao.objects.all(),
             'usuarios': Usuario.objects.filter(numero_invalido=False),
             'titulo': u'SMS para usuários específicos',
             'menu': "menu_mensagens",
             }

    return render(request, 'mensagens/novo.html', dados)
예제 #4
0
def detalhes(request, id):

    usuario = get_object_or_404(Usuario, pk=id)

    if request.method == 'POST':

            form = MensagemParticularForm(request.POST)

            if form.is_valid():
                dados_form = {
                    'data_agendamento': data_agendamento(request.POST.get('data_agendamento', False), request.POST.get('hora_envio', False)),
                    'mensagem_padrao_id': request.POST.get('mensagem_padrao', False),
                    'texto': request.POST.get('texto'),
                    'enviar_link': request.POST.get('enviar_link', False),
                    'usuario': usuario,
                    'particular': 1,
                    'tipo_id': request.POST.get('tipo'),
                }

                if dados_form['tipo_id'] == '2' and not usuario.notificacoes:
                    messages.success(request, u"Não é possível enviar SMS Marketing para esse cliente")
                    return redirect(reverse('cadastro:detalhes', kwargs={'id': id}))

                Mensagem(**dados_form).save()

                messages.success(request, "Mensagem enviada com sucesso, confira o status do envio.")
                return redirect(reverse('cadastro:detalhes', kwargs={'id': id}))

    else:
        form = MensagemParticularForm()

    mensagens = Mensagem.objects.filter(usuario=id)[:30]
    for mensagem in mensagens:
        mensagem.atualiza_status()

    dados = {
                'cliente': usuario,
                'form': form,
                'mensagens_padrao': MensagemPadrao.objects.all(),
                'mensagens': mensagens,
                'menu': "menu_clientes",
    }

    return render(request, 'clientes/detalhes.html', dados)