- # -*- encoding: utf-8 -*-
- import datetime
- from django.shortcuts import render, get_object_or_404
- from django.template.context import RequestContext
- from django.http import HttpResponseRedirect
- from django.contrib.auth.decorators import login_required
- from django.db.models import Max, Count
- from audit.raai.forms import TipoAssuntoForm, TipoAssuntoAtualizacaoForm, RecomendacaoAuditoriaForm
- from audit.raai.forms import RecomendacaoAuditoriaAtualizacaoForm, DespachoAuditoriaForm, DespachoAuditoriaAtualizacaoForm
- from audit.raai.models import TipoAssunto, RecomendacaoAuditoria, DespachoAuditoria
- @login_required
- def lista_assunto(request):
- lista_itens = TipoAssunto.objects.all()
- return render(request, 'listaAssunto.html', {'lista_itens': lista_itens})
- @login_required
- def adiciona_assunto(request):
- layout = 'horizontal'
- titulo = u'Tipo de Assunto'
- acao = 'Adicionar'
- retorno = '/listaAssunto'
- if request.method == "POST":
- if request.POST.get('cancel', None):
- return HttpResponseRedirect(retorno)
- form = TipoAssuntoForm(request.POST, request.FILES)
- if form.is_valid():
- form.save()
- mensagem = 'Inclusão feita com sucesso.'
- return render_to_response("sucesso.html", RequestContext(request, {
- 'retorno': retorno,
- 'mensagem': mensagem,
- }))
- else:
- form = TipoAssuntoForm()
- return render_to_response('adiciona.html', RequestContext(request, {
- 'form': form,
- 'layout': layout,
- 'titulo': titulo,
- 'acao' : acao,
- }))
- @login_required
- def atualiza_assunto(request, cd_assunto):
- layout = 'horizontal'
- titulo = u'Tipo de Assunto'
- acao = 'Salvar'
- retorno = '/listaAssunto'
- assunto = get_object_or_404(tipo_assunto, pk=cd_assunto)
- if request.method == "POST":
- if request.POST.get('cancel', None):
- return HttpResponseRedirect(retorno)
- if request.POST.get('delete', None):
- if recomendacao_auditoria.objects.filter(cd_assunto=assunto.cd_assunto).aggregate(Count('cd_assunto')).itervalues().next() == 0 :
- assunto.delete()
- mensagem = 'Exclusão feita com sucesso.'
- return render_to_response("sucesso.html", RequestContext(request, {
- 'retorno': retorno,
- 'mensagem': mensagem,
- }))
- else:
- mensagem = 'Exclusão não permitida. Existem recomendações para este assunto.'
- return render_to_response("erro.html", RequestContext(request, {
- 'retorno': retorno,
- 'mensagem': mensagem,
- }))
- else:
- form = TipoAssuntoAtualizacaoForm(request.POST, request.FILES,instance=assunto)
- if not form.has_changed():
- return HttpResponseRedirect(retorno)
- if form.is_valid():
- form.save()
- mensagem = 'Atualização feita com sucesso.'
- return render_to_response("sucesso.html", RequestContext(request, {
- 'retorno': retorno,
- 'mensagem': mensagem,
- }))
- else:
- form = TipoAssuntoAtualizacaoForm(instance=assunto)
- return render_to_response('adiciona.html', RequestContext(request, {
- 'form': form,
- 'layout': layout,
- 'titulo': titulo,
- 'acao' : acao,
- }))
- @login_required
- def lista_recomendacao_auditoria(request):
- lista_itens = recomendacao_auditoria.objects.all()
- lista_assuntos = tipo_assunto.objects.all().order_by("cd_assunto")
- filtro = '0'
- ds_assunto = ''
- if request.method == "POST":
- filtro = 'post'
- if request.POST.get('filtrar', ''):
- filtro = request.POST.get('assunto', '')
- if filtro != '0' :
- ds_assunto = tipo_assunto.objects.get(pk=filtro).ds_assunto
- lista_itens = recomendacao_auditoria.objects.filter(cd_assunto=filtro)
- return render_to_response("listaRecomendacaoAuditoria.html", {'lista_itens': lista_itens, 'lista_assuntos': lista_assuntos, }, context_instance=RequestContext(request, {
- 'filtro': filtro,
- 'ds_assunto': ds_assunto,
- }))
- @login_required
- def adiciona_recomendacao_auditoria(request):
- layout = 'horizontal'
- titulo = u'Recomendações'
- acao = 'Adicionar'
- retorno = '/listaRecomendacaoAuditoria'
- if request.method == "POST":
- if request.POST.get('cancel', None):
- return HttpResponseRedirect(retorno)
- form = RecomendacaoAuditoriaForm(request.POST, request.FILES)
- if form.is_valid():
- recomendacao = form.save(commit=False)
- recomendacao.cd_usuario_atualizacao = request.user
- nr_recomendacao=recomendacao_auditoria.objects.filter(nr_ano=recomendacao.nr_ano, cd_assunto=recomendacao.cd_assunto).aggregate(Max('nr_recomendacao'))
- if nr_recomendacao['nr_recomendacao__max'] == None:
- recomendacao.nr_recomendacao = 1
- else:
- recomendacao.nr_recomendacao = nr_recomendacao.itervalues().next() + 1
- recomendacao.save()
- mensagem = 'Atualização feita com sucesso.'
- return render_to_response("sucesso.html", RequestContext(request, {
- 'retorno': retorno,
- 'mensagem': mensagem,
- }))
- else:
- form = RecomendacaoAuditoriaForm()
- return render_to_response('adiciona.html', RequestContext(request, {
- 'form': form,
- 'layout': layout,
- 'titulo': titulo,
- 'acao' : acao,
- }))
- @login_required
- def atualiza_recomendacao_auditoria(request, id):
- layout = 'horizontal'
- titulo = u'Recomendações'
- acao = 'Salvar'
- retorno = '/listaRecomendacaoAuditoria'
- recomendacao = get_object_or_404(recomendacao_auditoria, pk=id)
- if request.method == "POST":
- if request.POST.get('cancel', None):
- return HttpResponseRedirect(retorno)
- if request.POST.get('delete', None):
- if despacho_auditoria.objects.filter(cd_recomendacao=recomendacao.cd_recomendacao).aggregate(Count('cd_recomendacao')).itervalues().next() == 0 :
- # recomendacao.delete()
- mensagem = 'Exclusão feita com sucesso.'
- return render_to_response("sucesso.html", RequestContext(request, {
- 'retorno': retorno,
- 'mensagem': mensagem,
- }))
- else:
- mensagem = 'Exclusão não permitida. Existem recomendações para este assunto.'
- return render_to_response("erro.html", RequestContext(request, {
- 'retorno': retorno,
- 'mensagem': mensagem,
- }))
- else:
- form = RecomendacaoAuditoriaAtualizacaoForm(request.POST, request.FILES,instance=recomendacao)
- if not form.has_changed():
- return HttpResponseRedirect(retorno)
- if form.is_valid():
- form.save()
- mensagem = 'Atualização feita com sucesso.'
- return render_to_response("sucesso.html", RequestContext(request, {
- 'retorno': retorno,
- 'mensagem': mensagem,
- }))
- else:
- form = RecomendacaoAuditoriaAtualizacaoForm(instance=recomendacao)
- return render_to_response('adiciona.html', RequestContext(request, {
- 'form': form,
- 'layout': layout,
- 'titulo': titulo,
- 'acao' : acao,
- }))
- @login_required
- def lista_despacho_auditoria(request):
- lista_itens = despacho_auditoria.objects.all()
- return render_to_response("listaDespachoAuditoria.html", {'lista_itens': lista_itens}, context_instance=RequestContext(request))
- #@login_required
- def lista_despacho_auditoriaID(request, cd_recomendacao):
- lista_itens = despacho_auditoria.objects.filter(cd_recomendacao=cd_recomendacao)
- # lista_itens = despacho_auditoria.objects.all()
- return render_to_response("listaDespachoAuditoria.html", {'lista_itens': lista_itens}, context_instance=RequestContext(request))
- @login_required
- def adiciona_despacho_auditoria(request):
- layout = 'horizontal'
- titulo = u'Despachos'
- acao = 'Adicionar'
- retorno = '/listaDespachoAuditoria'
- if request.method == "POST":
- if request.POST.get('cancel', None):
- return HttpResponseRedirect(retorno)
- form = DespachoAuditoriaForm(request.POST, request.FILES)
- if form.is_valid():
- despacho = form.save(commit=False)
- despacho.cd_usuario_atualizacao = request.user
- despacho.dt_despacho = datetime.datetime.now()
- despacho.save()
- mensagem = 'Despacho incluido com sucesso.'
- return render_to_response("sucesso.html", RequestContext(request, {
- 'retorno': '/listaDespachoAuditoria',
- 'mensagem': mensagem,
- }))
- else:
- form = DespachoAuditoriaForm()
- return render_to_response('adiciona.html', RequestContext(request, {
- 'form': form,
- 'layout': layout,
- 'titulo': titulo,
- 'acao' : acao,
- }))
- @login_required
- def atualiza_despacho_auditoria(request, id):
- layout = 'horizontal'
- titulo = u'Despachos'
- acao = 'Salvar'
- retorno = '/listaDespachoAuditoria'
- despacho = get_object_or_404(despacho_auditoria, pk=id)
- if request.method == "POST":
- if request.POST.get('cancel', None):
- return HttpResponseRedirect(retorno)
- if request.POST.get('delete', None):
- # despacho.delete()
- mensagem = 'Exclusão feita com sucesso.'
- return render_to_response("sucesso.html", RequestContext(request, {
- 'retorno': retorno,
- 'mensagem': mensagem,
- }))
- else:
- form = DespachoAuditoriaAtualizacaoForm(request.POST, request.FILES,instance=despacho)
- if not form.has_changed():
- return HttpResponseRedirect(retorno)
- if form.is_valid():
- form.save()
- mensagem = 'Atualização feita com sucesso.'
- return render_to_response("sucesso.html", RequestContext(request, {
- 'retorno': retorno,
- 'mensagem': mensagem,
- }))
- else:
- form = DespachoAuditoriaAtualizacaoForm(instance=despacho)
- return render_to_response('adiciona.html', RequestContext(request, {
- 'form': form,
- 'layout': layout,
- 'titulo': titulo,
- 'acao' : acao,
- }))