diff --git a/wscacicneo/model/coleta_manual.py b/wscacicneo/model/coleta_manual.py new file mode 100644 index 0000000..bf971c4 --- /dev/null +++ b/wscacicneo/model/coleta_manual.py @@ -0,0 +1,306 @@ +#!/usr/env python +# -*- coding: utf-8 -*- +__author__ = 'adley' + +from requests.exceptions import HTTPError +from wscacicneo import config +import logging +from liblightbase.lbbase.struct import Base, BaseMetadata +from liblightbase.lbbase.lbstruct.group import * +from liblightbase.lbbase.lbstruct.field import * +from liblightbase.lbbase.content import Content +from liblightbase.lbrest.base import BaseREST +from liblightbase.lbrest.document import DocumentREST +from liblightbase.lbutils import conv +from liblightbase.lbsearch.search import Search, OrderBy + +log = logging.getLogger() + +class ColetaManualBase(): + """ + Classe para a base de usuários + """ + def __init__(self): + """ + Método construtor + """ + self.rest_url = config.REST_URL + self.baserest = BaseREST(rest_url=self.rest_url, response_object=True) + self.documentrest = DocumentREST(rest_url=self.rest_url, + base=self.lbbase, response_object=False) + + @property + def lbbase(self): + """ + LB Processadores + """ + nome_processador = Field(**dict( + name='nome_processador', + description='Nome do Processador', + alias='nome_processador', + datatype='Text', + indices=['Textual'], + multivalued=False, + required=True + )) + versao_processador = Field(**dict( + name='versao_processador', + description='Versão do Processador', + alias='versao_processaodr', + datatype='Text', + indices=['Textual'], + multivalued=False, + required=True + )) + + data_instalacao_processador = Field(**dict( + name='data_instalacao_processador', + description='Data da Instalação do Processador', + alias='data_instalacao_processaodr', + datatype='Text', + indices=['Textual'], + multivalued=False, + required=True + )) + + """ + LB HD + """ + marca_hd = Field(**dict( + name='marca_hd', + description='Marca do HD', + alias='marca_hd', + datatype='Text', + indices=['Textual'], + multivalued=False, + required=True + )) + tamanho_hd = Field(**dict( + name='tamanho_hd', + description='Tamanho do HD', + alias='tamanho_hd', + datatype='Text', + indices=['Textual'], + multivalued=False, + required=True + )) + tipo_hd = Field(**dict( + name='tipo_hd', + description='Tipo do HD', + alias='tipo_hd', + datatype='Text', + indices=['Textual'], + multivalued=False, + required=True + )) + idade_hd = Field(**dict( + name='idade_hd', + description='Idade do HD', + alias='idade_hd', + datatype='Text', + indices=['Textual'], + multivalued=False, + required=True + )) + + """ + LB Memória + """ + + interface_memoria = Field(**dict( + name='interface_memoria', + description='Interface da Memória', + alias='interface_memoria', + datatype='Text', + indices=['Textual'], + multivalued=False, + required=True + )) + armazenamento_memoria = Field(**dict( + name='armazenamento_memoria', + description='Armazenamento da Memória', + alias='armazenamento_memoria', + datatype='Text', + indices=['Textual'], + multivalued=False, + required=True + )) + idade_memoria = Field(**dict( + name='idade_memória', + description='Idade do Memória', + alias='idade_memória', + datatype='Text', + indices=['Textual'], + multivalued=False, + required=True + )) + + """ + LB Sistema Operacional + """ + nome_so = Field(**dict( + name='nome_so', + description='Nome do Sistema Operacional', + alias='nome_so', + datatype='Text', + indices=['Textual'], + multivalued=False, + required=True + )) + versao_so = Field(**dict( + name='versao_so', + description='Versão do Sistema Operacional', + alias='versao_so', + datatype='Text', + indices=['Textual'], + multivalued=False, + required=True + )) + fabricante_so = Field(**dict( + name='fabricante_so', + description='Fabricando do Sistema Operacional', + alias='fabricante_so', + datatype='Text', + indices=['Textual'], + multivalued=False, + required=True + )) + + """ + LB Bios + """ + patrimonio_bios = Field(**dict( + name='patrimonio_bios', + description='Patrimonio da Bios', + alias='patrimonio_bios', + datatype='Text', + indices=['Textual'], + multivalued=False, + required=True + )) + fabricante_bios = Field(**dict( + name='fabricante_bios', + description='Fabricante da Bios', + alias='fabricante_bios', + datatype='Text', + indices=['Textual'], + multivalued=False, + required=True + )) + + """ + GROUP Sistema Operacional + """ + sistemaoperacional_content = Content() + sistemaoperacional_content.append(nome_so) + sistemaoperacional_content.append(versao_so) + sistemaoperacional_content.append(fabricante_so) + + sistemaoperacional_metadata = GroupMetadata( + name='sistemaoperacional', + ) + + sistemaoperacional = Group( + metadata = sistemaoperacional_metadata, + content = sistemaoperacional_content + ) + + """ + GROUP Bios + """ + bios_content = Content() + bios_content.append(patrimonio_bios) + bios_content.append(fabricante_bios) + + bios_metadata = GroupMetadata( + name='bios', + ) + + bios = Group( + metadata = bios_metadata, + content = bios_content + ) + + """ + GROUP Memória + """ + memoria_content = Content() + memoria_content.append(interface_memoria) + memoria_content.append(armazenamento_memoria) + memoria_content.append(idade_memoria) + + memoria_metadata = GroupMetadata( + name='memoria', + ) + + memoria = Group( + metadata = memoria_metadata, + content = memoria_content + ) + + """ + GROUP HD + """ + hd_content = Content() + hd_content.append(marca_hd) + hd_content.append(tamanho_hd) + hd_content.append(tipo_hd) + hd_content.append(idade_hd) + + hd_metadata = GroupMetadata( + name='hd', + ) + + hd = Group( + metadata = hd_metadata, + content = hd_content + ) + + """ + GROUP Processador + """ + processador_content = Content() + processador_content.append(nome_processador) + processador_content.append(versao_processador) + processador_content.append(data_instalacao_processador) + + processador_metadata = GroupMetadata( + name='processador', + ) + + processador = Group( + metadata = processador_metadata, + content = processador_content + ) + + + return lbbase + + @property + def metaclass(self): + """ + Retorna metaclass para essa base + """ + return self.lbbase.metaclass() + + def create_base(self): + """ + Cria base no LB + """ + response = self.baserest.create(self.lbbase) + if response.status_code == 200: + return self.lbbase + else: + return None + + def remove_base(self): + """ + Remove base from Lightbase + :param lbbase: LBBase object instance + :return: True or Error if base was not excluded + """ + response = self.baserest.delete(self.lbbase) + if response.status_code == 200: + return True + else: + raise IOError('Error excluding base from LB') \ No newline at end of file diff --git a/wscacicneo/templates/editaruser.pt b/wscacicneo/templates/editaruser.pt index f07e4f8..b5c40a1 100755 --- a/wscacicneo/templates/editaruser.pt +++ b/wscacicneo/templates/editaruser.pt @@ -114,7 +114,6 @@ 'permissao': permissao, 'senha': senha } - if (data.email.indexOf("gov.br") > -1 == false){ alert('Somente é permitido cadastro de e-mails institucionais'); }else{ diff --git a/wscacicneo/test/test_coleta_manual_base.py b/wscacicneo/test/test_coleta_manual_base.py new file mode 100644 index 0000000..cab08f1 --- /dev/null +++ b/wscacicneo/test/test_coleta_manual_base.py @@ -0,0 +1,38 @@ +#!/usr/env python +# -*- coding: utf-8 -*- +__author__ = 'adley' + +import unittest +from wscacicneo.model import user +from liblightbase.lbbase.struct import Base +from liblightbase.lbutils import conv + +class TestColetaManualBase(unittest.TestCase): + """ + Testa base do órgão no LB + """ + def setUp(self): + """ + Carregando atributos genéricos do teste + """ + pass + + def test_create_base(self): + """ + Testa criação da base no LB + """ + user_base = user.UserBase() + lbbase = user_base.lbbase + self.assertIsInstance(lbbase, Base) + + retorno = user_base.create_base() + self.assertIsInstance(retorno, Base) + + #retorno = user_base.remove_base() + #self.assertTrue(retorno) + + def tearDown(self): + """ + Apaga dados do teste + """ + pass diff --git a/wscacicneo/views.py b/wscacicneo/views.py index 3452da2..1bc3f6a 100755 --- a/wscacicneo/views.py +++ b/wscacicneo/views.py @@ -86,10 +86,6 @@ def cadastro(request): def orgao(request): return {'project': 'WSCacicNeo'} -@view_config(route_name='notify_coleta', renderer='templates/notify_coleta.pt') -def notify_coleta(request): - return {'project': 'WSCacicNeo'} - @view_config(route_name='listorgao', renderer='templates/list_orgao.pt') def listorgao(request): orgao_obj = Orgao( @@ -324,7 +320,7 @@ def post_user(request): return Response(str(id_doc)) else: - return {"yololo":"yololo"} + return {"emailerrado":"emailerrado"} @view_config(route_name='edituser', renderer='templates/editaruser.pt', permission="edit") def edituser(request): @@ -384,10 +380,15 @@ def put_user(request): } search = user_obj.search_user(matricula) id = search.results[0]._metadata.id_doc - doc = json.dumps(user) - edit = user_obj.edit_user(id, doc) + email_user = params['email'] + email_is_institucional = Utils.verifica_email_institucional(email_user) + if(email_is_institucional): + doc = json.dumps(user) + edit = user_obj.edit_user(id, doc) + return Response(edit) - return Response(edit) + else: + return { } @view_config(route_name='listuser', renderer='templates/list_user.pt', permission="view") def listuser(request): -- libgit2 0.21.2