コード例 #1
0
    def test_copy_attribute__patrimonio__descricao(self):
        """
        Testa a copia de atributos entre equipamento e patrimonio
        """
        eq1 = Equipamento.objects.create(id=1,
                                         part_number="part_number1",
                                         modelo="modelo1",
                                         descricao="descricao1")
        tipo = Tipo.objects.create()
        patr = Patrimonio.objects.create(id=2,
                                         part_number="",
                                         modelo="",
                                         descricao="",
                                         tipo=tipo,
                                         equipamento=eq1,
                                         checado=False)

        # verifica se o valor do atributo está diferente ANTES do teste
        self.assertNotEqual(patr.descricao, patr.equipamento.descricao)
        verficacao = VerificacaoPatrimonioEquipamento()
        verficacao.copy_attribute('patrimonio', 2, 'descricao')
        patr_retrieve = Patrimonio.objects.get(pk=2)
        eq_retrieve = Equipamento.objects.get(pk=1)
        self.assertEqual(patr_retrieve.descricao, eq_retrieve.descricao)
        self.assertEqual(patr_retrieve.descricao, 'descricao1')
コード例 #2
0
def copy_attribute_to_patrimonio(request):
    # Id do patrimonio
    patrimonio_id = request.GET.get('patrimonio_id')
    # Destino do valor a ser copiado ['patrimonio', 'equipamento']
    to_object = request.GET.get('to_object')
    # Nome do atributo a ser copiado
    att_name = request.GET.get('att_name')

    verficacao = VerificacaoPatrimonioEquipamento()
    verficacao.copy_attribute(to_object, patrimonio_id, att_name)
    if att_name == 'descricao':
        return patrimonio_equipamento_descricao_diferente(request)
    elif att_name == 'modelo':
        return patrimonio_equipamento_modelo_diferente(request)
    elif att_name == 'marca':
        return patrimonio_equipamento_marca_diferente(request)
    elif att_name == 'part_number':
        return patrimonio_equipamento_part_number_diferente(request)
    elif att_name == 'tamanho':
        return patrimonio_equipamento_tamanho_diferente(request)
    elif att_name == 'procedencia':
        return patrimonio_procedencia_vazia(request)
    else:
        raise ValueError('Valor inválido para o parametro. att_name' +
                         str(att_name))
コード例 #3
0
def patrimonio_equipamento_tamanho_diferente(request):
    ajax = request.GET.get('ajax')
    filtros_entrada = {
        'filtro_tipo_patrimonio': request.GET.get('filtro_tipo_patrimonio')
    }

    verficacao = VerificacaoPatrimonioEquipamento()
    retorno = verficacao.tamanhoDiferente(filtros_entrada)

    filtros_saida = []
    if len(retorno) > 0:
        filtros_saida = {
            "tipos":
            verficacao.listaFiltroTipoPatrimonio(
                verficacao.tamanhoDiferente()[0])
        }

    if ajax:
        return render(
            request, 'verificacao/patrimonio_equipamento-table.html', {
                'desc': 'Patrimonio e Equipamento com Tamanho diferente',
                'patrimonios': retorno,
                'atributo': 'tamanho',
                'filtros': filtros_saida
            })
    else:
        return render(
            request, 'verificacao/patrimonio_equipamento.html', {
                'desc': 'Patrimonio e Equipamento com Tamanho diferente',
                'patrimonios': retorno,
                'atributo': 'tamanho',
                'filtros': filtros_saida
            })
コード例 #4
0
ファイル: tests.py プロジェクト: annapaula/arquea
    def test_copy_attribute__patrimonio__procedencia(self):
        ent = Entidade.objects.create(sigla='HP', nome='Hewlet', cnpj='00.000.000/0000-00', fisco=True, url='')
        equip = Equipamento.objects.create(id=1, entidade_fabricante=ent)
        tipo = Tipo.objects.create()
        patr = Patrimonio.objects.create(id=2, tipo=tipo, equipamento=equip)

        # verifica se o valor do atributo está diferente ANTES do teste
        self.assertNotEqual(patr.entidade_procedencia, equip.entidade_fabricante)
        verficacao = VerificacaoPatrimonioEquipamento()
        verficacao.copy_attribute('patrimonio', 2, 'procedencia')
        # verifica se o valor do atributo está diferente DEPOIS do teste
        patr_retrieve = Patrimonio.objects.get(pk=2)
        eq_retrieve = Equipamento.objects.get(pk=1)
        self.assertEqual(patr_retrieve.entidade_procedencia, eq_retrieve.entidade_fabricante)
コード例 #5
0
ファイル: tests.py プロジェクト: annapaula/arquea
    def test_copy_attribute__patrimonio__descricao(self):
        """
        Testa a copia de atributos entre equipamento e patrimonio
        """
        eq1 = Equipamento.objects.create(id=1, part_number="part_number1", modelo="modelo1", descricao="descricao1")
        tipo = Tipo.objects.create()
        patr = Patrimonio.objects.create(id=2, part_number="", modelo="", descricao="", tipo=tipo, equipamento=eq1,
                                         checado=False)

        # verifica se o valor do atributo está diferente ANTES do teste
        self.assertNotEqual(patr.descricao, patr.equipamento.descricao)
        verficacao = VerificacaoPatrimonioEquipamento()
        verficacao.copy_attribute('patrimonio', 2, 'descricao')
        patr_retrieve = Patrimonio.objects.get(pk=2)
        eq_retrieve = Equipamento.objects.get(pk=1)
        self.assertEqual(patr_retrieve.descricao, eq_retrieve.descricao)
        self.assertEqual(patr_retrieve.descricao, 'descricao1')
コード例 #6
0
ファイル: views.py プロジェクト: annapaula/arquea
def patrimonio_equipamento_tamanho_diferente(request):
    ajax = request.GET.get('ajax')
    filtros_entrada = {'filtro_tipo_patrimonio': request.GET.get('filtro_tipo_patrimonio')}

    verficacao = VerificacaoPatrimonioEquipamento()
    retorno = verficacao.tamanhoDiferente(filtros_entrada)

    filtros_saida = []
    if len(retorno) > 0:
        filtros_saida = {"tipos": verficacao.listaFiltroTipoPatrimonio(verficacao.tamanhoDiferente()[0])}

    if ajax:
        return render(request, 'verificacao/patrimonio_equipamento-table.html',
                      {'desc': 'Patrimonio e Equipamento com Tamanho diferente', 'patrimonios': retorno,
                       'atributo': 'tamanho', 'filtros': filtros_saida})
    else:
        return render(request, 'verificacao/patrimonio_equipamento.html',
                      {'desc': 'Patrimonio e Equipamento com Tamanho diferente', 'patrimonios': retorno,
                       'atributo': 'tamanho', 'filtros': filtros_saida})
コード例 #7
0
    def test_copy_attribute__patrimonio__procedencia(self):
        ent = Entidade.objects.create(sigla='HP',
                                      nome='Hewlet',
                                      cnpj='00.000.000/0000-00',
                                      fisco=True,
                                      url='')
        equip = Equipamento.objects.create(id=1, entidade_fabricante=ent)
        tipo = Tipo.objects.create()
        patr = Patrimonio.objects.create(id=2, tipo=tipo, equipamento=equip)

        # verifica se o valor do atributo está diferente ANTES do teste
        self.assertNotEqual(patr.entidade_procedencia,
                            equip.entidade_fabricante)
        verficacao = VerificacaoPatrimonioEquipamento()
        verficacao.copy_attribute('patrimonio', 2, 'procedencia')
        # verifica se o valor do atributo está diferente DEPOIS do teste
        patr_retrieve = Patrimonio.objects.get(pk=2)
        eq_retrieve = Equipamento.objects.get(pk=1)
        self.assertEqual(patr_retrieve.entidade_procedencia,
                         eq_retrieve.entidade_fabricante)
コード例 #8
0
ファイル: tests.py プロジェクト: annapaula/arquea
    def test_tamanho_diferente(self):
        """
        Testa patrimonio e equipamentos com tamanhos diferente
        """
        eq1 = Equipamento.objects.create(id=1, part_number="", modelo="", descricao="", tamanho=1.0)
        eq2 = Equipamento.objects.create(id=2, part_number="", modelo="", descricao="")
        eq3 = Equipamento.objects.create(id=3, part_number="", modelo="", descricao="", tamanho=1.0)

        tipo1 = Tipo.objects.create(nome='tipo1')
        tipo2 = Tipo.objects.create(nome='tipo2')

        patr1 = Patrimonio.objects.create(part_number="pt1", modelo="pt1", descricao="pt1", tamanho=1.0,  # @UnusedVariable
                                          tipo=tipo1, equipamento=eq1, checado=True)
        patr2 = Patrimonio.objects.create(part_number="pt2", modelo="pt2", descricao="pt2", tipo=tipo1,  # @UnusedVariable
                                          equipamento=eq2, checado=True)
        patr3 = Patrimonio.objects.create(part_number="pt3", modelo="pt3", descricao="pt3", tamanho=11.0,
                                          tipo=tipo2, equipamento=eq3, checado=True)

        verficacao = VerificacaoPatrimonioEquipamento()
        retorno = verficacao.tamanhoDiferente()

        self.assertEqual(len(retorno), 1)
        self.assertEqual(len(retorno[0]), 1)

        # check filter
        filtro = {"filtro_tipo_patrimonio": 1}
        retorno = verficacao.tamanhoDiferente(filtro)

        self.assertEqual(len(retorno), 1)
        self.assertEqual(len(retorno[0]), 0)

        patr3.tipo = tipo1
        patr3.save()

        retorno = verficacao.tamanhoDiferente(filtro)

        self.assertEqual(len(retorno), 1)
        self.assertEqual(len(retorno[0]), 1)
コード例 #9
0
ファイル: views.py プロジェクト: annapaula/arquea
def patrimonio_consolidado(request):
    retorno = []

    filtros_entrada = {'filtro_tipo_patrimonio': request.GET.get('filtro_tipo_patrimonio')}

    verificacaoPatrimonio = VerificacaoPatrimonio()

    equipamentoVazio = verificacaoPatrimonio.equipamentoVazio(filtros_entrada)
    count = sum([len(patrimonios) for patrimonios in equipamentoVazio])
    retorno.append({'desc': u'Patrimonios sem Equipamento', 'url': 'patrimonio_equipamento_vazio', 'qtd': count})

    verificacaoPatrimonioEquipamento = VerificacaoPatrimonioEquipamento()

    descricaoDiferente = verificacaoPatrimonioEquipamento.descricaoDiferente(filtros_entrada)
    count = sum([len(patrimonios) for patrimonios in descricaoDiferente])
    retorno.append({'desc': u'Patrimonio e Equipamento com Descricao diferente',
                    'url': 'patrimonio_equipamento_descricao_diferente', 'qtd': count})

    tamanhoDiferente = verificacaoPatrimonioEquipamento.tamanhoDiferente(filtros_entrada)
    count = sum([len(patrimonios) for patrimonios in tamanhoDiferente])
    retorno.append({'desc': u'Patrimonio e Equipamento com Tamanho diferente',
                    'url': 'patrimonio_equipamento_tamanho_diferente', 'qtd': count})

    procedenciaVazia = verificacaoPatrimonio.procedenciaVazia(filtros_entrada)
    count = sum([len(patrimonios) for patrimonios in procedenciaVazia])
    retorno.append({'desc': u'Patrimonio com procedecia vazia', 'url': 'patrimonio_procedencia_vazia', 'qtd': count})

    localidadeDiferente = verificacaoPatrimonio.localidadeDiferente(filtros=filtros_entrada)
    count = sum([len(patrimonios) for patrimonios in localidadeDiferente])
    retorno.append({'desc': u'Patrimonio com localidade diferente dos filhos',
                    'url': 'patrimonio_localidade_diferente', 'qtd': count})

    retorno.append({'desc': u'Verificação de Patrimônios e Equipamentos',
                    'url': 'check_patrimonio_equipamento', 'qtd': None})

    filtros = {"tipos": Tipo.objects.all()}

    return render(request, 'verificacao/patrimonio_consolidado.html', {'verificacoes': retorno, 'filtros': filtros})
コード例 #10
0
ファイル: views.py プロジェクト: annapaula/arquea
def copy_attribute_to_patrimonio(request):
    # Id do patrimonio
    patrimonio_id = request.GET.get('patrimonio_id')
    # Destino do valor a ser copiado ['patrimonio', 'equipamento']
    to_object = request.GET.get('to_object')
    # Nome do atributo a ser copiado
    att_name = request.GET.get('att_name')

    verficacao = VerificacaoPatrimonioEquipamento()
    verficacao.copy_attribute(to_object, patrimonio_id, att_name)
    if att_name == 'descricao':
        return patrimonio_equipamento_descricao_diferente(request)
    elif att_name == 'modelo':
        return patrimonio_equipamento_modelo_diferente(request)
    elif att_name == 'marca':
        return patrimonio_equipamento_marca_diferente(request)
    elif att_name == 'part_number':
        return patrimonio_equipamento_part_number_diferente(request)
    elif att_name == 'tamanho':
        return patrimonio_equipamento_tamanho_diferente(request)
    elif att_name == 'procedencia':
        return patrimonio_procedencia_vazia(request)
    else:
        raise ValueError('Valor inválido para o parametro. att_name' + str(att_name))
コード例 #11
0
def patrimonio_equipamento_vazio(request):
    filtros_entrada = {
        'filtro_tipo_patrimonio': request.GET.get('filtro_tipo_patrimonio')
    }

    verficacao = VerificacaoPatrimonio()
    retorno = verficacao.equipamentoVazio(filtros_entrada)

    filtros_saida = []
    if len(retorno) > 0:
        filtros_saida =\
            {"tipos": VerificacaoPatrimonioEquipamento().listaFiltroTipoPatrimonio(verficacao.equipamentoVazio()[0])}

    return render(
        request, 'verificacao/patrimonio.html', {
            'desc': 'Patrimonios sem Equipamento',
            'patrimonios': retorno,
            'filtros': filtros_saida
        })
コード例 #12
0
def patrimonio_localidade_diferente(request):
    filtros_entrada = {
        'filtro_tipo_patrimonio': request.GET.get('filtro_tipo_patrimonio')
    }

    verficacao = VerificacaoPatrimonio()
    retorno = verficacao.localidadeDiferente(filtros_entrada)

    filtros_saida = []
    if len(retorno) > 0:
        filtros_saida = \
            {"tipos": VerificacaoPatrimonioEquipamento().listaFiltroTipoPatrimonio(verficacao.equipamentoVazio()[0])}

    return render(
        request, 'verificacao/patrimonio_localidade.html', {
            'desc':
            'Patrimonios com componentes com historico local diferente',
            'patrimonios': retorno,
            'filtros': filtros_saida
        })
コード例 #13
0
    def test_descricao_diferente(self):
        """
        Testa patrimonio e equipamentos com descricao diferente
        """
        eq1 = Equipamento.objects.create(id=1,
                                         part_number="",
                                         modelo="",
                                         descricao="desc1")
        eq2 = Equipamento.objects.create(id=2,
                                         part_number="",
                                         modelo="",
                                         descricao="")
        eq3 = Equipamento.objects.create(id=3,
                                         part_number="",
                                         modelo="",
                                         descricao="desc3")

        tipo1 = Tipo.objects.create(nome='tipo1')
        tipo2 = Tipo.objects.create(nome='tipo2')

        patr1 = Patrimonio.objects.create(
            part_number="pt1",
            modelo="pt1",
            descricao="desc1",
            tipo=tipo1,  # @UnusedVariable
            equipamento=eq1,
            checado=True)
        patr2 = Patrimonio.objects.create(
            part_number="pt2",
            modelo="pt2",
            descricao="",
            tipo=tipo1,  # @UnusedVariable
            equipamento=eq2,
            checado=True)
        patr3 = Patrimonio.objects.create(part_number="pt3",
                                          modelo="pt3",
                                          descricao="desc11111",
                                          tipo=tipo2,
                                          equipamento=eq3,
                                          checado=True)

        verficacao = VerificacaoPatrimonioEquipamento()
        retorno = verficacao.descricaoDiferente()

        self.assertEqual(len(retorno), 1)
        self.assertEqual(len(retorno[0]), 1)

        # check filter
        filtro = {"filtro_tipo_patrimonio": 1}
        retorno = verficacao.descricaoDiferente(filtro)

        self.assertEqual(len(retorno), 1)
        self.assertEqual(len(retorno[0]), 0)

        patr3.tipo = tipo1
        patr3.save()

        retorno = verficacao.descricaoDiferente(filtro)

        self.assertEqual(len(retorno), 1)
        self.assertEqual(len(retorno[0]), 1)
コード例 #14
0
def patrimonio_consolidado(request):
    retorno = []

    filtros_entrada = {
        'filtro_tipo_patrimonio': request.GET.get('filtro_tipo_patrimonio')
    }

    verificacaoPatrimonio = VerificacaoPatrimonio()

    equipamentoVazio = verificacaoPatrimonio.equipamentoVazio(filtros_entrada)
    count = sum([len(patrimonios) for patrimonios in equipamentoVazio])
    retorno.append({
        'desc': u'Patrimonios sem Equipamento',
        'url': 'patrimonio_equipamento_vazio',
        'qtd': count
    })

    verificacaoPatrimonioEquipamento = VerificacaoPatrimonioEquipamento()

    descricaoDiferente = verificacaoPatrimonioEquipamento.descricaoDiferente(
        filtros_entrada)
    count = sum([len(patrimonios) for patrimonios in descricaoDiferente])
    retorno.append({
        'desc': u'Patrimonio e Equipamento com Descricao diferente',
        'url': 'patrimonio_equipamento_descricao_diferente',
        'qtd': count
    })

    tamanhoDiferente = verificacaoPatrimonioEquipamento.tamanhoDiferente(
        filtros_entrada)
    count = sum([len(patrimonios) for patrimonios in tamanhoDiferente])
    retorno.append({
        'desc': u'Patrimonio e Equipamento com Tamanho diferente',
        'url': 'patrimonio_equipamento_tamanho_diferente',
        'qtd': count
    })

    procedenciaVazia = verificacaoPatrimonio.procedenciaVazia(filtros_entrada)
    count = sum([len(patrimonios) for patrimonios in procedenciaVazia])
    retorno.append({
        'desc': u'Patrimonio com procedecia vazia',
        'url': 'patrimonio_procedencia_vazia',
        'qtd': count
    })

    localidadeDiferente = verificacaoPatrimonio.localidadeDiferente(
        filtros=filtros_entrada)
    count = sum([len(patrimonios) for patrimonios in localidadeDiferente])
    retorno.append({
        'desc': u'Patrimonio com localidade diferente dos filhos',
        'url': 'patrimonio_localidade_diferente',
        'qtd': count
    })

    retorno.append({
        'desc': u'Verificação de Patrimônios e Equipamentos',
        'url': 'check_patrimonio_equipamento',
        'qtd': None
    })

    filtros = {"tipos": Tipo.objects.all()}

    return render(request, 'verificacao/patrimonio_consolidado.html', {
        'verificacoes': retorno,
        'filtros': filtros
    })