Exemplo n.º 1
0
def cadastro_chamado(request):
    if not request.user.has_perm('chamado.add_chamado'):
        return redirect(logar)

    if request.method == 'POST':
        form = ChamadoForm(request.POST, request=request)

        if form.is_valid():
            newChama = form.save()
            send_email(request, newChama)
        else:
            print form.errors
            return render(request,
                          'chamado/cadastro_chamado.html',
                          {'form': form, })
    else:
        form = ChamadoForm()

    # Isso me parece um POG T_T.
    # É para popular um combobox com uma lista de
    # usuários com o usuário logado em primeiro.
    users = User.objects.all().order_by('username')
    responsa = [request.user.username]

    for i in users:
        responsa.append(i)

    return render(request,
                  'chamado/cadastro_chamado.html',
                  {'form': ChamadoForm(),
                   'responsa': responsa})
Exemplo n.º 2
0
def chamado_novo(request):
    '''
        @chamado_novo: View para criar um novo Chamado
    '''
    try:
        configuracao = ConfiguracaoGeral.objects.get(id=1)
    except:
        configuracao = ConfiguracaoGeral.objects.create()
    
    usuario = Usuario.objects.get(id=request.user.id)
    grupos_trabalho = GrupoTrabalho.objects.all().order_by('nome')
    if request.method == 'POST':
        form = ChamadoForm(request.POST,usuario=usuario)
        if form.is_valid():
            replicar = request.POST.get('replicar')
            num_replicas = request.POST.get('num_replicas')
            obj = form.save(commit=False)
            obj.criado_por = usuario
            obj.save()

            if replicar:
                for i in range(1, int(num_replicas)+1):
                    chamado = Chamado(data_abertura=obj.data_abertura,cliente=obj.cliente, titulo=obj.titulo, desc_problema=obj.desc_problema, criado_por=usuario)
                    chamado.save()
                    if configuracao.sequencia_chamado:
                        chamado.codigo = configuracao.sequencia_chamado + chamado.id
                    else:
                        chamado.codigo = chamado.id
                    chamado.save()

            if configuracao.sequencia_chamado:
                obj.codigo = configuracao.sequencia_chamado + obj.id
            else:
                obj.codigo = obj.id

            obj.save()

            return HttpResponseRedirect( r('chamado:chamados'))
        else:  
            
            return render(request,'chamado_novo.html',{'form': form,'status':'Novo'})
    else:
        form = ChamadoForm(usuario=usuario)
        
        return render(request,'chamado_novo.html',{'form': form,'status':'Novo'})