Beispiel #1
0
def status_torna_padrao_autorizado(request, id):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')

    salvar_novo_padrao_autorizado(request, id)
    return redirect('administrador_extra')
Beispiel #2
0
def status(request):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')

    if request.method == 'POST':
        try:
            nome_status = request.POST.get('nome_status')
            status = request.POST.get('status')
            
            if len(nome_status) == 0 or len(status) == 0:
                messages.add_message(request, messages.INFO, 'Erro no cadastro, dados inválidos para cadastro')
            elif len(Status.objects.filter(nome=nome_status)) > 0:
                messages.add_message(request, messages.INFO, 'Erro no cadastro, status já cadastrado')
            else:
                analise = False
                autorizado = False
                if status == 'analise':
                    salvar_novo_padrao_analise(request)
                    analise = True
                elif status == 'autorizado':
                    salvar_novo_padrao_autorizado(request)
                    autorizado = True
                Status.objects.create(nome=nome_status, analise=analise, autorizado=autorizado)
                messages.add_message(request, messages.INFO, 'Status cadastrado com sucesso.')
        except Exception:
            messages.add_message(request, messages.INFO, 'Erro no cadastro, verifique se todos os campos estão preenchidos corretamente.')
            return redirect('administrador_extra')
    return redirect('administrador_extra')
Beispiel #3
0
    def get(self, request):
        func = FuncionalidadesCore()
        if not func.administardor(request):
            return redirect('solicitacoes')

        func = Utilidades()
        dados = seleciona_dados(request)
        setor = request.user.perfil.setor
        dados['colaboradores_do_setor'] = setor.perfis_do_setor.all()
        dados['dados_grafico'] = self.formata_dados_do_grafico(request)

        # Sistema de paginação
        paginacao = Paginator(
            func.seleciona_todas_movimentacoes(
                perfis=request.user.perfil.setor.perfis_do_setor.all(),
                entrada=False), 5)
        page = request.GET.get('pagina')
        dados['username'] = id

        try:
            dados['solciitacoes_pendentes'] = paginacao.get_page(page)
        except Exception:
            dados['solciitacoes_pendentes'] = paginacao.page(1)
            if page is not None:
                messages.add_message(request, messages.INFO,
                                     'A página {} não existe'.format(page))

        return render(request, self.template_name, dados)
def setor(request):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')

    if request.method == 'POST':
        try:
            nome_setor = request.POST.get('nome_setor')
            if len(nome_setor) == 0:
                messages.add_message(request, messages.INFO,
                                     'Erro no cadastro, nome inválido.')
            elif len(Setor.objects.filter(nome=nome_setor)) > 0:
                messages.add_message(request, messages.INFO,
                                     'Erro no cadastro, setor já cadastrado.')
            else:
                Setor.objects.create(nome=nome_setor)
                messages.add_message(request, messages.INFO,
                                     'Setor cadastrado com sucesso.')
            return redirect('setor')
        except Exception:
            messages.add_message(
                request, messages.INFO,
                'Erro no cadastro do setor, contate o administrador do sistema.'
            )
            return redirect('setor')
    else:
        dados = seleciona_dados(request)
        dados['setores'] = Setor.objects.all()
        dados['colaboradores'] = Perfil.objects.all()
        return render(request, 'core/super/super-setor.html', dados)
Beispiel #5
0
def forma_de_pagamento_delete(request, id):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')

    pagamento = FormaDePagamento.objects.get(id=id)
    pagamento.delete()
    return redirect('administrador_extra')
Beispiel #6
0
def administrador_mostra_setor(request, id):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')

    tamplate_name = 'core/super/mostra-setor.html'
    dados = seleciona_dados(request)
    dados['setor'] = Setor.objects.get(id=id)
    return render(request, tamplate_name, dados)
Beispiel #7
0
def administrador_extra(request):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')
    
    tamplate_name = 'core/super/super-dados-extras.html'
    dados = seleciona_dados(request)
    dados['formasdepagamentos'] = FormaDePagamento.objects.all()
    dados['configuracoes'] = Hash.objects.all()
    return render(request, tamplate_name, dados)
Beispiel #8
0
def dashboard(request):
    func = FuncionalidadesCore()
    if not func.administardor(request):
        return redirect('solicitacoes')
    
    tamplate_name = 'core/dashboard/dashboard.html'
    setor = request.user.perfil.setor
    dados = seleciona_dados(request)
    dados['colaboradores_do_setor'] = setor.perfis_do_setor.all()
    dados['dados_grafico'] = formata_dados_do_grafico(request)
    return render(request, tamplate_name, dados)
Beispiel #9
0
def usuario_gerente(request, id):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')

    perfil = Perfil.objects.get(id=id)
    if perfil.gerente:
        perfil.gerente = False
    else:
        perfil.gerente = True
    perfil.save()
    return redirect('usuario_atualiza', id=perfil.usuario.username)
Beispiel #10
0
def usuario_ativo(request, id):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')

    user = User.objects.get(id=id)
    if user.is_active:
        user.is_active = False
    else:
        user.is_active = True
    user.save()
    return redirect('usuario_atualiza', id=user.username)
Beispiel #11
0
def atualiza_usuario(request, id):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')

    if request.method == 'POST':
        try:
            nome = request.POST.get('nome')
            matricula = request.POST.get('matricula')
            id_setor = request.POST.get('setor')
            email = request.POST.get('email')
            senha = request.POST.get('senha')
            ch_primeira = request.POST.get('ch_primeira')
            ch_segunda = request.POST.get('ch_segunda')

            if len(nome) == 0 or len(matricula) == 0 or len(
                    id_setor) == 0 or len(email) == 0 or len(
                        ch_primeira) == 0 or len(ch_segunda) == 0:
                messages.add_message(
                    request, messages.INFO,
                    'Erro na atualização dos dados, com exceção do campo senha, todos os campos devem'
                    + 'ser preenchidos corretamente')
                return redirect('setor')

            setor = Setor.objects.get(id=id_setor)
            user = User.objects.get(username=id)
            user.username = matricula
            user.email = email
            perfil = user.perfil
            perfil.nome = nome
            perfil.setor = setor
            perfil.ch_primeira = ch_primeira
            perfil.ch_segunda = ch_segunda

            if senha != '':
                user.set_password(senha)
            perfil.save()
            user.save()

            return redirect('usuario_atualiza', id=matricula)
        except:
            messages.add_message(
                request, messages.INFO,
                'Erro na atualização dos dados, verifique se ' +
                'todos os campos estão preenchidos corretamente')
            return redirect('setor')
    else:
        dados = seleciona_dados(request)
        dados['colaborador'] = User.objects.get(username=id)
        dados['setores'] = Setor.objects.all()
        return render(request, 'core/super/mostra-usuario.html', dados)
Beispiel #12
0
def forma_de_pagamento(request):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')

    if request.method == 'POST':
        forma_de_pagamento = request.POST.get('forma_de_pagamento')
        pagamentos = FormaDePagamento.objects.filter(nome=forma_de_pagamento)
        if len(pagamentos) > 0:
            messages.add_message(request, messages.INFO, 'Forma de pagamento já cadastrada.')
        else:
            FormaDePagamento.objects.create(nome=forma_de_pagamento)
            messages.add_message(request, messages.INFO, 'Forma de pagamento cadastrada com sucesso.')
    return redirect('administrador_extra')
Beispiel #13
0
def setor_delete(request, id):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')

    setor = Setor.objects.get(id=id)
    colaboradores = setor.perfis_do_setor.all()

    if colaboradores.count() > 0:
        messages.add_message(request, messages.INFO, 'Impossível deletar, há colaboradores cadastrados no setor '
                                                     'selecionado.')
    else:
        messages.add_message(request, messages.INFO, 'Setor deletado com sucesso.')
        setor.delete()

    return redirect('setor')
Beispiel #14
0
def status_delete(request, id):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')

    status = Status.objects.get(id=id)
    if status.analise:
        if len(Status.objects.all()) != 1:
            status.delete()
            status = Status.objects.all()[0]
            status.analise = True
            status.save()
        else:
            status.delete()
    else:
        status.delete()
    return redirect('administrador_extra')
Beispiel #15
0
def cadastrar_usuario(request):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')

    if request.method == 'POST':
        try:
            form = RegistrarUsuarioForm(request.POST)
            if form.is_valid():
                dados_form = form.cleaned_data
                # cadastra usuario
                usuario = User.objects.create_user(
                    username=dados_form['matricula'],
                    email=dados_form['email'],
                    password=dados_form['senha'])

                # seleciona o setor de acordo com o id passado no post
                setor = Setor.objects.get(id=dados_form['setor'])

                # cadastra perfil vinculando ao usuario e ao setor
                perfil = Perfil(nome=dados_form['nome'],
                                usuario=usuario,
                                setor=setor,
                                ch_primeira=dados_form['ch_primeira'],
                                ch_segunda=dados_form['ch_segunda'])
                perfil.save()

                messages.add_message(request, messages.INFO,
                                     'Colaborador cadastrado com sucesso')
                return redirect('administrador_setor_id', id=setor.id)
            else:
                messages.add_message(
                    request, messages.INFO,
                    'Erro no cadastro, verifique se todos os campos estão preenchidos corretamente.'
                )
                return redirect('setor')
        except Exception:
            messages.add_message(
                request, messages.INFO,
                'Erro no cadastro, verifique se todos os campos estão preenchidos corretamente.'
            )
            return redirect('setor')

    return redirect('setor')
Beispiel #16
0
def status_editar(request, id):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')
    
    if request.method == 'POST':
        nome = request.POST.get('nome')
        if len(nome) > 0:
            status = Status.objects.get(id=id)
            status.nome = nome
            status.save()
            messages.add_message(request, messages.INFO, 'Status modificado com sucesso.')
        else:
            messages.add_message(request, messages.INFO, 'Digite algo para editar')
        return redirect('administrador_extra')
    else:
        dados = seleciona_dados(request)
        dados['status'] = Status.objects.get(id=id)
        return render(request, 'core/super/alterar-status.html', dados)
Beispiel #17
0
def forma_de_pagamento_editar(request, id):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')

    if request.method == 'POST':
        nome = request.POST.get('nome')
        if len(nome) > 0:
            pagamento = FormaDePagamento.objects.get(id=id)
            pagamento.nome = nome
            pagamento.save()
            messages.add_message(request, messages.INFO, 'Forma de pagamento modificado com sucesso.')
        else:
            messages.add_message(request, messages.INFO, 'Digite algo para editar')
        return redirect('administrador_extra')
    else:
        dados = seleciona_dados(request)
        dados['pagamento'] = FormaDePagamento.objects.get(id=id)
        return render(request, 'core/super/alterar-formadepagamento.html', dados)
Beispiel #18
0
def setor_atualiza(request, id):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')

    if request.method == 'POST':
        try:
            nome_setor = request.POST.get('nome_setor')
            if len(nome_setor) == 0:
                messages.add_message(request, messages.INFO, 'Erro na atualização, nome inválido.')
            elif len(Setor.objects.filter(nome=nome_setor)) > 0:
                messages.add_message(request, messages.INFO, 'Erro na atualização, setor já cadastrado.')
            else:
                setor = Setor.objects.get(id=id)
                setor.nome = nome_setor
                setor.save()
            return redirect('setor')
        except Exception:
            return redirect('setor')
    return redirect('setor')
Beispiel #19
0
def hash_edit(request, id):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')
    
    if request.method == 'POST':
        valor = request.POST.get('valor')
        if len(valor) > 0:
            funcionalidades = FuncionalidadesCore()
            hash_obj = Hash.objects.get(id=id)
            hash_obj.valor = valor
            hash_obj.save()

            messages.add_message(request, messages.INFO, 'Configuração modificada com sucesso.')
            return redirect('administrador_extra')
        messages.add_message(request, messages.INFO, 'Digite algo na configuração')
        return redirect('administrador_extra')
    else:
        dados = seleciona_dados(request)
        dados['configuracao'] = Hash.objects.get(id=id)
        return render(request, 'core/super/alterar-configuracao.html', dados)
Beispiel #20
0
def solciitacao_finaliza(request, id):
    func = FuncionalidadesCore()
    if not func.administardor(request):
        return redirect('solicitacoes')

    movimentacao = Movimentacao.objects.get(id=id)
    analise = Status.objects.filter(analise=True)[0]

    if movimentacao.status == analise:
        messages.add_message(
            request, messages.INFO,
            'Impossível finalizar uma movimentação em análise, por favor verifique o status antes de finalizar.'
        )
    else:
        movimentacao.finalizado = True
        movimentacao.save()
        perfil = request.user.perfil
        msg_padrao = 'Solicitação finalizada'
        LogMovimentacao.objects.create(log=msg_padrao,
                                       perfil_emissor=perfil,
                                       movimentacao=movimentacao)

    return redirect('solicitacoes_mostrar', id=id)
Beispiel #21
0
def instalar_sistema(request):
    func = FuncionalidadesCore()
    if func.superuser(request):
        if len(Hash.objects.all()) == 0:
            print('Instalando sistema, criando chave valor')
            nome = 'Valor das horas'
            chave = constants.VALOR_HORA
            valor = 1
            Hash.objects.create(nome=nome, chave=chave, valor=valor)

        if len(FormaDePagamento.objects.all()) == 0:
            print('Instalando sistema, criando forma de pagamento')
            FormaDePagamento.objects.create(nome='Dinheiro')

        if len(Status.objects.all()) == 0:
            print('Instalando sistema, criando status')
            Status.objects.create(nome='Análise', analise=True)
            Status.objects.create(nome='Autorizado', autorizado=True)
            Status.objects.create(nome='Cancelado')

        print('Sistema instalado')
    else:
        print('Usuario sem permissao para instalar o sistema')
    return redirect('logout')
Beispiel #22
0
def administrador(request):
    func = FuncionalidadesCore()
    if not func.superuser(request):
        return redirect('solicitacoes')
    return redirect('setor')