Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Sep 21st, 2012  |  syntax: None  |  size: 10.57 KB  |  hits: 7  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. # -*- encoding: utf-8 -*-
  2. import datetime
  3.  
  4. from django.shortcuts import render, get_object_or_404
  5. from django.template.context import RequestContext
  6. from django.http import HttpResponseRedirect
  7. from django.contrib.auth.decorators import login_required
  8. from django.db.models import Max, Count
  9.  
  10. from audit.raai.forms import TipoAssuntoForm, TipoAssuntoAtualizacaoForm, RecomendacaoAuditoriaForm
  11. from audit.raai.forms import RecomendacaoAuditoriaAtualizacaoForm, DespachoAuditoriaForm, DespachoAuditoriaAtualizacaoForm
  12. from audit.raai.models import TipoAssunto, RecomendacaoAuditoria, DespachoAuditoria
  13.  
  14.  
  15. @login_required
  16. def lista_assunto(request):
  17.     lista_itens = TipoAssunto.objects.all()
  18.     return render(request, 'listaAssunto.html', {'lista_itens': lista_itens})
  19.    
  20. @login_required
  21. def adiciona_assunto(request):
  22.     layout = 'horizontal'
  23.     titulo = u'Tipo de Assunto'
  24.     acao   = 'Adicionar'
  25.     retorno = '/listaAssunto'
  26.     if request.method == "POST":
  27.        if request.POST.get('cancel', None):
  28.            return HttpResponseRedirect(retorno)
  29.        form = TipoAssuntoForm(request.POST, request.FILES)
  30.        if form.is_valid():           
  31.           form.save()
  32.           mensagem = 'Inclusão feita com sucesso.'
  33.           return render_to_response("sucesso.html", RequestContext(request, {
  34.             'retorno': retorno,
  35.             'mensagem': mensagem,
  36.           }))          
  37.     else:
  38.        form = TipoAssuntoForm()
  39.     return render_to_response('adiciona.html', RequestContext(request, {
  40.         'form': form,
  41.         'layout': layout,
  42.         'titulo': titulo,
  43.         'acao' : acao,
  44.     }))
  45.  
  46. @login_required
  47. def atualiza_assunto(request, cd_assunto):
  48.     layout = 'horizontal'
  49.     titulo = u'Tipo de Assunto'
  50.     acao   = 'Salvar'
  51.     retorno = '/listaAssunto'
  52.     assunto = get_object_or_404(tipo_assunto, pk=cd_assunto)
  53.     if request.method == "POST":
  54.        if request.POST.get('cancel', None):
  55.            return HttpResponseRedirect(retorno)
  56.        if request.POST.get('delete', None):
  57.            if recomendacao_auditoria.objects.filter(cd_assunto=assunto.cd_assunto).aggregate(Count('cd_assunto')).itervalues().next() == 0 :
  58.               assunto.delete()
  59.               mensagem = 'Exclusão feita com sucesso.'
  60.               return render_to_response("sucesso.html", RequestContext(request, {
  61.                  'retorno': retorno,
  62.                  'mensagem': mensagem,
  63.                  }))  
  64.  
  65.            else:
  66.               mensagem = 'Exclusão não permitida. Existem recomendações para este assunto.'
  67.               return render_to_response("erro.html", RequestContext(request, {
  68.                  'retorno': retorno,
  69.                  'mensagem': mensagem,
  70.                  }))  
  71.              
  72.        else:
  73.            form = TipoAssuntoAtualizacaoForm(request.POST, request.FILES,instance=assunto)
  74.            if not form.has_changed():
  75.                return HttpResponseRedirect(retorno)                
  76.            if form.is_valid():
  77.                form.save()
  78.                mensagem = 'Atualização feita com sucesso.'
  79.                return render_to_response("sucesso.html", RequestContext(request, {
  80.                   'retorno': retorno,
  81.                   'mensagem': mensagem,
  82.                   }))  
  83.  
  84.     else:
  85.        form = TipoAssuntoAtualizacaoForm(instance=assunto)     
  86.        return render_to_response('adiciona.html', RequestContext(request, {
  87.         'form': form,
  88.         'layout': layout,
  89.         'titulo': titulo,
  90.         'acao' : acao,
  91.     }))  
  92.        
  93. @login_required
  94. def lista_recomendacao_auditoria(request):
  95.     lista_itens = recomendacao_auditoria.objects.all()
  96.     lista_assuntos = tipo_assunto.objects.all().order_by("cd_assunto")
  97.     filtro = '0'
  98.     ds_assunto = ''
  99.     if request.method == "POST":
  100.        filtro = 'post'
  101.        if request.POST.get('filtrar', ''):
  102.           filtro = request.POST.get('assunto', '')
  103.           if filtro != '0' :
  104.              ds_assunto = tipo_assunto.objects.get(pk=filtro).ds_assunto
  105.              lista_itens = recomendacao_auditoria.objects.filter(cd_assunto=filtro)
  106.    
  107.     return render_to_response("listaRecomendacaoAuditoria.html", {'lista_itens': lista_itens, 'lista_assuntos': lista_assuntos, }, context_instance=RequestContext(request, {
  108.     'filtro': filtro,
  109.     'ds_assunto': ds_assunto,
  110.     }))        
  111.    
  112. @login_required
  113. def adiciona_recomendacao_auditoria(request):
  114.     layout = 'horizontal'
  115.     titulo = u'Recomendações'
  116.     acao   = 'Adicionar'
  117.     retorno = '/listaRecomendacaoAuditoria'
  118.     if request.method == "POST":
  119.        if request.POST.get('cancel', None):
  120.            return HttpResponseRedirect(retorno)
  121.        form = RecomendacaoAuditoriaForm(request.POST, request.FILES)
  122.        if form.is_valid():       
  123.           recomendacao = form.save(commit=False)
  124.           recomendacao.cd_usuario_atualizacao = request.user
  125.           nr_recomendacao=recomendacao_auditoria.objects.filter(nr_ano=recomendacao.nr_ano, cd_assunto=recomendacao.cd_assunto).aggregate(Max('nr_recomendacao'))
  126.           if nr_recomendacao['nr_recomendacao__max'] == None:
  127.               recomendacao.nr_recomendacao = 1
  128.           else:
  129.               recomendacao.nr_recomendacao = nr_recomendacao.itervalues().next() + 1
  130.           recomendacao.save()      
  131.           mensagem = 'Atualização feita com sucesso.'
  132.           return render_to_response("sucesso.html", RequestContext(request, {
  133.             'retorno': retorno,
  134.             'mensagem': mensagem,
  135.           }))              
  136.          
  137.     else:
  138.        form = RecomendacaoAuditoriaForm()
  139.     return render_to_response('adiciona.html', RequestContext(request, {
  140.         'form': form,
  141.         'layout': layout,
  142.         'titulo': titulo,
  143.         'acao' : acao,
  144.     }))
  145.  
  146. @login_required    
  147. def atualiza_recomendacao_auditoria(request, id):
  148.     layout = 'horizontal'
  149.     titulo = u'Recomendações'
  150.     acao   = 'Salvar'
  151.     retorno = '/listaRecomendacaoAuditoria'
  152.     recomendacao = get_object_or_404(recomendacao_auditoria, pk=id)
  153.     if request.method == "POST":
  154.        if request.POST.get('cancel', None):
  155.            return HttpResponseRedirect(retorno)
  156.        if request.POST.get('delete', None):
  157.            if despacho_auditoria.objects.filter(cd_recomendacao=recomendacao.cd_recomendacao).aggregate(Count('cd_recomendacao')).itervalues().next() == 0 :
  158. #              recomendacao.delete()
  159.               mensagem = 'Exclusão feita com sucesso.'
  160.               return render_to_response("sucesso.html", RequestContext(request, {
  161.                  'retorno': retorno,
  162.                  'mensagem': mensagem,
  163.                  }))  
  164.  
  165.            else:
  166.               mensagem = 'Exclusão não permitida. Existem recomendações para este assunto.'
  167.               return render_to_response("erro.html", RequestContext(request, {
  168.                  'retorno': retorno,
  169.                  'mensagem': mensagem,
  170.                  }))  
  171.      
  172.        else:
  173.            form = RecomendacaoAuditoriaAtualizacaoForm(request.POST, request.FILES,instance=recomendacao)
  174.            if not form.has_changed():
  175.                return HttpResponseRedirect(retorno)                
  176.            if form.is_valid():
  177.                form.save()
  178.                mensagem = 'Atualização feita com sucesso.'
  179.                return render_to_response("sucesso.html", RequestContext(request, {
  180.                   'retorno': retorno,
  181.                   'mensagem': mensagem,
  182.                   }))              
  183.     else:
  184.        form = RecomendacaoAuditoriaAtualizacaoForm(instance=recomendacao)              
  185.     return render_to_response('adiciona.html', RequestContext(request, {
  186.         'form': form,
  187.         'layout': layout,
  188.         'titulo': titulo,
  189.         'acao' : acao,
  190.     }))  
  191.  
  192. @login_required      
  193. def lista_despacho_auditoria(request):
  194.     lista_itens = despacho_auditoria.objects.all()
  195.     return render_to_response("listaDespachoAuditoria.html", {'lista_itens': lista_itens}, context_instance=RequestContext(request))    
  196.  
  197. #@login_required      
  198. def lista_despacho_auditoriaID(request, cd_recomendacao):
  199.     lista_itens = despacho_auditoria.objects.filter(cd_recomendacao=cd_recomendacao)
  200. #    lista_itens = despacho_auditoria.objects.all()
  201.     return render_to_response("listaDespachoAuditoria.html", {'lista_itens': lista_itens}, context_instance=RequestContext(request))    
  202.  
  203. @login_required
  204. def adiciona_despacho_auditoria(request):
  205.     layout = 'horizontal'
  206.     titulo = u'Despachos'
  207.     acao   = 'Adicionar'
  208.     retorno = '/listaDespachoAuditoria'
  209.     if request.method == "POST":
  210.        if request.POST.get('cancel', None):
  211.            return HttpResponseRedirect(retorno)
  212.        form = DespachoAuditoriaForm(request.POST, request.FILES)
  213.        if form.is_valid():       
  214.           despacho = form.save(commit=False)
  215.           despacho.cd_usuario_atualizacao = request.user
  216.           despacho.dt_despacho = datetime.datetime.now()
  217.           despacho.save()      
  218.           mensagem = 'Despacho incluido com sucesso.'
  219.           return render_to_response("sucesso.html", RequestContext(request, {
  220.            'retorno': '/listaDespachoAuditoria',
  221.            'mensagem': mensagem,
  222.           }))                        
  223.     else:
  224.        form = DespachoAuditoriaForm()
  225.     return render_to_response('adiciona.html', RequestContext(request, {
  226.         'form': form,
  227.         'layout': layout,
  228.         'titulo': titulo,
  229.         'acao' : acao,
  230.     }))
  231.  
  232.  
  233.    
  234. @login_required
  235. def atualiza_despacho_auditoria(request, id):
  236.     layout = 'horizontal'
  237.     titulo = u'Despachos'
  238.     acao   = 'Salvar'
  239.     retorno = '/listaDespachoAuditoria'
  240.     despacho = get_object_or_404(despacho_auditoria, pk=id)
  241.     if request.method == "POST":
  242.        if request.POST.get('cancel', None):
  243.            return HttpResponseRedirect(retorno)
  244.        if request.POST.get('delete', None):
  245. #           despacho.delete()
  246.            mensagem = 'Exclusão feita com sucesso.'
  247.            return render_to_response("sucesso.html", RequestContext(request, {
  248.                 'retorno': retorno,
  249.                 'mensagem': mensagem,
  250.                  }))  
  251.                    
  252.        else:
  253.            form = DespachoAuditoriaAtualizacaoForm(request.POST, request.FILES,instance=despacho)
  254.            if not form.has_changed():
  255.                return HttpResponseRedirect(retorno)                
  256.            if form.is_valid():
  257.                form.save()
  258.                mensagem = 'Atualização feita com sucesso.'
  259.                return render_to_response("sucesso.html", RequestContext(request, {
  260.                 'retorno': retorno,
  261.                 'mensagem': mensagem,
  262.                }))                        
  263.                
  264.     else:
  265.        form = DespachoAuditoriaAtualizacaoForm(instance=despacho)      
  266.     return render_to_response('adiciona.html', RequestContext(request, {
  267.         'form': form,
  268.         'layout': layout,
  269.         'titulo': titulo,
  270.         'acao' : acao,
  271.     }))