示例#1
0
 def login(self):
     facade = Facade()
     hash = self.gerar_hash()
     print('nome', self.nome, self.senha)
     aluno = facade.search_aluno_nome_login_facade(
         nome_login=self.nome.upper())
     print(aluno)
     try:
         if aluno['nome_login'] == self.nome.upper():
             if aluno['senha'] == self.senha:
                 response.set_cookie("KIM", hash, path='/', secret=KEY_HASH)
                 """aluno_logado = dict(
                     id=aluno['id'],
                     nome=aluno['nome'],
                     tipo=aluno['tipo_aluno'],
                     vinculo_rede=aluno['vinculo_rede'],
                     vinculo_escola=aluno['vinculo_escola'],
                     vinculo_turma=aluno['vinculo_turma'],
                     # ultimo_oa = aluno['ultimo_objeto_aprendizagem'],
                     ultima_unidade= aluno['ultima_unidade'],
                     ultima_aventura= aluno['ultima_aventura'],
                     moeda=aluno['pontos_de_moedas'],
                     xp=aluno['pontos_de_vida']
                 )"""
                 print('entrei aqui')
                 response.set_cookie("BUMBA", aluno, path='/', secret=hash)
                 return PAGINA_INICIAL[tipo_observador(aluno['tipo'])]
             else:
                 return PAGINA_INICIAL['error']
     except TypeError:
         return PAGINA_INICIAL["error"]
示例#2
0
 def login(self):
     facade = Facade()
     hash = self.gerar_hash()
     aluno = facade.search_aluno_nome_login_facade(nome_login=self.nome)
     response.set_cookie("KIM", hash, path='/', secret=KEY_HASH)
     if aluno['nome_login'] == self.nome:
         if aluno['senha'] == self.senha:
             aluno_logado = dict(
                 id=aluno['id'],
                 nome=aluno['nome'],
                 tipo=aluno['tipo_aluno'],
                 vinculo_rede=aluno['vinculo_rede'],
                 vinculo_escola=aluno['vinculo_escola'],
                 vinculo_turma=aluno['vinculo_turma'],
                 # ultimo_oa = aluno['ultimo_objeto_aprendizagem'],
                 ultima_unidade=aluno['ultima_unidade'],
                 ultima_aventura=aluno['ultima_aventura'],
                 moeda=aluno['pontos_de_moedas'],
                 xp=aluno['pontos_de_vida'])
             response.set_cookie("BUMBA",
                                 aluno_logado,
                                 path='/',
                                 secret=hash)
             return PAGINA_INICIAL[tipo_observador(aluno_logado['tipo'])]
     else:
         return '/'
 def __init__(self):
     self.facade = Facade()
     self._alunos = []
     self._descritores = None
     self._media_alunos = None
     self._pontuacao = None
     self._pontuacao_turma = None
示例#4
0
 def __init__(self, usuario_logado):
     self.usuario_logado = usuario_logado
     self.facade = Facade()
     self.cor = []
     self.rosto = []
     self.acessorio = []
     self.corpo = []
     self.itens_user = []
 def __init__(self, observador_logado):
     self.facade = Facade()
     observador_logado = self.facade.search_observador_id_facade(
         id=observador_logado['id'])
     self._observador_nome = observador_logado['nome']
     self._observador_tipo = observador_logado['tipo']
     self._rede = observador_logado['vinculo_rede']
     self._escola = observador_logado['vinculo_escola']
     self._turma = observador_logado['vinculo_turma']
示例#6
0
def checar_se_existe():
    from facade.facade_main import Facade
    facade = Facade()
    nome_login = request.params['login']
    existe_usuario = facade.search_aluno_primeiro_nome_facade(nome_login)
    if existe_usuario == []:
        return dict(resposta='nao existe login')
    else:
        return dict(resposta='existe login')
示例#7
0
    def get_desempenho(self, descritores, aluno):
        from facade.facade_main import Facade
        facade = Facade()

        pontuacao = []
        for i in descritores:
            if 'VC' not in i['sigla_oa'] and 'CN' not in i['sigla_oa']:
                desempenho = facade.search_oa_facade(
                    id_aluno=aluno['id'], objeto_aprendizagem=i['sigla_oa'])
                pontuacao.append(desempenho)

        self.desempenho = pontuacao
示例#8
0
 def login(self):
     facade = Facade()
     hash = self.gerar_hash()
     aluno = facade.search_aluno_nome_facade(nome=self.nome)
     response.set_cookie("KIM", hash, path='/', secret=KEY_HASH)
     if aluno['nome'] == self.nome:
         if aluno['senha'] == self.senha:
             aluno_logado = dict(id=aluno['id'],
                                 nome=aluno['nome'],
                                 tipo=aluno['tipo'])
             response.set_cookie("BUMBA",
                                 aluno_logado,
                                 path='/',
                                 secret=hash)
             return PAGINA_INICIAL[tipo_observador(aluno_logado['tipo'])]
     else:
         return '/'
示例#9
0
    def login(self):
        facade = Facade()

        hash = self.gerar_hash()
        response.set_cookie("KIM", hash, path='/', secret=KEY_HASH)

        observador_logado = facade.search_observador_email_facade(
            email=self.email)

        if observador_logado['email'] == self.email:
            if observador_logado['senha'] == self.senha:
                response.set_cookie("BUMBA",
                                    observador_logado,
                                    path='/',
                                    secret=hash)
                now = datetime.now()
                facade.login_date_facade(observador_logado['id'], now)
                facade.create_estrutura_facade(
                    tipo_estrutura=TIPO_ESTRUTURA['historico'],
                    nome_usuario=observador_logado['nome'],
                    tipo_usuario=observador_logado['tipo'])
                return PAGINA_INICIAL[tipo_observador(
                    observador_logado['tipo'])]
            else:
                return '/'
        else:
            return '/'
示例#10
0
    def login(self):
        facade = Facade()

        hash = self.gerar_hash()
        response.set_cookie("KIM", hash, path='/', secret=KEY_HASH)

        observador_logado = facade.search_observador_email_facade(
            email=self.email)
        if observador_logado != None:
            if sha512_crypt.verify(self.senha, observador_logado['senha']):
                response.set_cookie("BUMBA",
                                    observador_logado,
                                    path='/',
                                    secret=hash)
                now = datetime.now()
                facade.login_date_facade(observador_logado['id'], now)
                facade.create_estrutura_facade(
                    tipo_estrutura=TIPO_ESTRUTURA['historico'],
                    nome_usuario=observador_logado['nome'],
                    tipo_usuario=observador_logado['tipo'])

                return PAGINA_INICIAL[TIPO_USUARIOS_ID[
                    observador_logado['tipo']].lower()]
            else:
                return PAGINA_INICIAL['error']
        else:
            print("Usuario não encontrado !")
            return PAGINA_INICIAL['error']
from bottle import route,view, request, redirect, response,get
from facade.facade_main import Facade
from control.classes.permissao import permissao, usuario_logado
from control.dicionarios import *

facade=Facade()

@route('/aluno/area_aluno')
@permissao('aluno_varejo')
@view('caminho_aluno/jogar_conecturma')
def view_ambiente_de_aprendizagem():
    """ pagina inicial apos login , que mostra os itens equipados no avatar"""
    if int(usuario_logado()['tipo'])>=6:
        usuario = facade.search_aluno_nome_facade(usuario_logado()['nome'])
    else:
        usuario = facade.search_observador_facade(usuario_logado()['nome'])

    avatar = facade.avatar_facade(usuario['id'])

    avatar_pecas = {
        'cor': facade.search_estrutura_id_facade(avatar['cor'])['nome'],
        'rosto': facade.search_estrutura_id_facade(avatar['rosto'])['nome'],
        'acessorio': facade.search_estrutura_id_facade(avatar['acessorio'])['nome'],
        'corpo': facade.search_estrutura_id_facade(avatar['corpo'])['nome']
    }

    return dict(usuario=usuario['nome'], avatar = avatar_pecas,tipo=usuario_logado()['tipo'])

@route('/aluno/loja')
@permissao('aluno_varejo')
@view('caminho_aluno/index_loja')
class Observador(object):
    def __init__(self, observador_logado):
        self.facade = Facade()
        observador_logado = self.facade.search_observador_id_facade(
            id=observador_logado['id'])
        self._observador_nome = observador_logado['nome']
        self._observador_tipo = observador_logado['tipo']
        self._rede = observador_logado['vinculo_rede']
        self._escola = observador_logado['vinculo_escola']
        self._turma = observador_logado['vinculo_turma']

    def get_observador_nome(self):
        return self._observador_tipo

    def get_observador_tipo(self):
        return self._observador_tipo

    def get_rede(self, id_rede=None):
        if (self._observador_tipo == TIPO_USUARIOS['administrador']):
            if (id_rede == None):
                self._rede = self.facade.read_estrutura_facade(
                    tipo_estrutura=TIPO_ESTRUTURA['rede'])
            else:
                self._rede = self.facade.search_estrutura_id_facade(id=id_rede)
        else:
            self._rede = self.facade.search_estrutura_id_facade(id=self._rede)

        return self._rede

    def get_escola(self, id_escola=None, id_rede=None):
        if (id_rede == None):
            if (self._observador_tipo == TIPO_USUARIOS['administrador']):
                if id_escola == None:
                    self._escola = self.facade.read_estrutura_facade(
                        tipo_estrutura=TIPO_ESTRUTURA['escola'])
                else:
                    self._escola = self.facade.search_estrutura_id_facade(
                        id=id_escola)
            elif (self._observador_tipo == TIPO_USUARIOS['gestor']):
                if (id_escola == None):
                    self._escola = self.facade.search_estrutura_escola_by_rede_facade(
                        vinculo_rede=self.get_rede()['id'])
                else:
                    self._escola = self.facade.search_estrutura_id_facade(
                        id=id_escola)
            else:
                self._escola = self.facade.search_estrutura_id_facade(
                    id=self._escola)
        else:
            self._escola = self.facade.search_estrutura_escola_by_rede_facade(
                vinculo_rede=id_rede)
        return self._escola

    def get_turma(self, id_turma=None, serie=None, id_escola=None):
        if (id_turma == None):
            if (self._observador_tipo == TIPO_USUARIOS['administrador']):
                if id_escola != None:
                    self._turma = []
                    turma = self.facade.search_estrutura_turma_by_escola_facade(
                        vinculo_escola=id_escola)
                    if serie != None:
                        for i in turma:
                            if i['serie'] == serie:
                                self._turma.append(i)
                    else:
                        self._turma = turma
                elif serie != None:
                    self._turma = []
                    for i in self.facade.read_estrutura_facade(
                            tipo_estrutura=TIPO_ESTRUTURA['turma']):
                        if i['serie'] == serie:
                            self._turma.append(i)
                else:
                    self._turma = self.facade.read_estrutura_facade(
                        tipo_estrutura=TIPO_ESTRUTURA['turma'])

            elif (self._observador_tipo == TIPO_USUARIOS['gestor']):
                if (id_escola == None):
                    self._turma = self.facade.search_estrutura_turma_by_rede_facade(
                        vinculo_rede=self._rede)
                else:
                    self._turma = []
                    for i in self.facade.search_estrutura_turma_by_escola_facade(
                            vinculo_escola=id_escola):
                        if i['serie'] == serie:
                            self._turma.append(i)

            elif (self._observador_tipo == TIPO_USUARIOS['diretor']
                  or self._observador_tipo == TIPO_USUARIOS['coordenador']):
                if serie != None:
                    self._turma = []
                    for i in self.facade.search_estrutura_turma_by_escola_facade(
                            vinculo_escola=self._escola['id']):
                        if i['serie'] == serie:
                            self._turma.append(i)
                else:
                    print(self._escola)
                    self._turma = self.facade.search_estrutura_turma_by_escola_facade(
                        vinculo_escola=self._escola)

            else:

                self._turma = self.facade.search_estrutura_id_facade(
                    id=self._turma)

        else:
            self._turma = self.facade.search_estrutura_id_facade(id=id_turma)

        return self._turma
class RelatorioRede(object):

    def __init__(self):
        self.facade = Facade()
        self._alunos = None
        self._descritores = None
        self._media_alunos = None
        self._pontuacao = None
        self._pontuacao_turma = None
        self._pontuacao_escola = []

    def get_alunos(self, vinculo_rede = None, vinculo_escola = None, vinculo_turma = None):
        if(vinculo_rede != None):
            self._alunos = self.facade.search_aluno_by_rede_facade(vinculo_rede=str(vinculo_rede))
        elif (vinculo_escola != None):
            self._alunos = self.facade.search_aluno_escola_facade(vinculo_escola=str(vinculo_escola))
        elif (vinculo_turma != None):
            self._alunos = self.facade.search_aluno_by_turma_facade(vinculo_turma=str(vinculo_turma))

        print(self._alunos)

        return self._alunos


    def get_descritores(self, serie):
        self._descritores=self.facade.search_descritor_serie_facade(serie=serie)

        return self._descritores


    def get_media_alunos(self, escola):
        alunos = self.get_alunos(vinculo_escola=escola)
        for i in alunos:
            desempenho = self.facade.search_desempenho_concluido_id_aluno_facade(id_aluno=i['id'])
            i['media'] = []
            media = []
            for y in desempenho:
                if 'VC' not in y['objeto_aprendizagem'] and 'CN' not in y['objeto_aprendizagem']:
                    pontuacao_numeric = self.convert_nivel_for_numeric(jogo_jogado=y['jogo_jogado'])
                    pontuacao = 0
                    for z in pontuacao_numeric:
                        pontuacao += int(z)
                    ponto_esperado = 2 * len(pontuacao_numeric)
                    media.append(self.media(ponto=pontuacao, esperado=ponto_esperado))
                    i['media'] = media

            if i['media'] != []:
                i['media'].append(-1)

        return alunos

    def media(self, ponto, esperado):
        if esperado != 0:
            return int((ponto * 100)/esperado)
        return int(ponto * 100)

    def get_pontuacao_escola(self, medias):
        lista = []
        t = 0
        for index,z  in enumerate(self._descritores):
            flag = []
            for i in medias:
                try:
                    if i['media'][index] != [] and i['media'][index] != -1:

                        flag.insert(t, i['media'][index])
                except IndexError:
                    pass
            lista.append(self.calc_media_escola(flag))
        return lista

    def get_media_escola(self, turma_media, descritor):
        escola_ponto = []
        for index,i in enumerate(descritor):
            lista = []
            for z in turma_media:
                try:
                    lista.append(z['media'][index])
                except IndexError:
                    pass
            if lista != []:
                escola_ponto.append(self.calc_media_escola(valores=lista))
        return escola_ponto

    def calc_media_escola(self, valores:list):
        return sum(valores) / len(valores) if valores != [] else -1

    def get_media_rede(self, escola_media, descritor):
        for index,i in enumerate(descritor):
            lista = []
            for z in escola_media:
                try:
                    lista.append(z[index])
                except IndexError:
                    pass
            if lista != []:
                self._pontuacao_escola.append(self.calc_media_rede(valores=lista))

        return self._pontuacao_escola

    def calc_media_rede(self, valores):
        nota = []

        for i in valores:
            if int(i) > 0:
                nota.append(int(i))
        if len(nota) != 0:
            return int(sum(valores) / len(nota))
        return int(sum(valores))

    def convert_nivel_for_numeric(self, jogo_jogado):
        niveis_pontuação = {
            'dificil': 2,
            'medio': 1,
            'facil': 0
        }

        pontuacao = []

        for z in jogo_jogado:
            dict_dado_jogo = self.convertendo_str_in_dict(z)
            if isinstance(dict_dado_jogo, list):
                pass
            elif dict_dado_jogo['termino'] == True:
                pontuacao.append(niveis_pontuação[dict_dado_jogo['nivel']])

        self._pontuacao = pontuacao

        return self._pontuacao

    def media_portugues(self, pontuacao):
        media_portugues = []
        for index,i in enumerate(pontuacao):
            if (index+1) % 2 == 0:
                media_portugues.append(i)
        return self.calc_media(valores=media_portugues)

    def media_matematica(self,pontuacao):
        media_matematica = []
        for index,i in enumerate(pontuacao):
            if (index+1) % 2 != 0:
                media_matematica.append(i)
        return self.calc_media(valores=media_matematica)

    def media_geral(self,pontuacao):
        return self.calc_media(valores=pontuacao)

    def calc_media(self, valores:list):
        nota = []
        soma = 0
        print(valores)
        for i in valores:
            for z in i:
                if int(z) > 0:
                    nota.append(int(z))
            soma+= sum(i)
        if len(nota) != 0:
            return int(soma / len(nota))
        return soma



    def convertendo_str_in_dict(self, str):
        from ast import literal_eval

        python_dict = literal_eval(str)

        return python_dict
示例#14
0
    def get_descritores(self, serie):
        from facade.facade_main import Facade

        facade = Facade()

        self.descritores = facade.search_descritor_serie_facade(serie=serie)
示例#15
0
 def get_matematica_or_portugues_descritor(self, serie, diciplina):
     from facade.facade_main import Facade
     facade = Facade()
     self.descritores = facade.search_descritor_serie_diciplina_facade(
         serie=serie, diciplina=diciplina)
示例#16
0
class Guarda_roupa(object):
    def __init__(self, usuario_logado):
        self.usuario_logado = usuario_logado
        self.facade = Facade()
        self.cor = []
        self.rosto = []
        self.acessorio = []
        self.corpo = []
        self.itens_user = []

    def get_cor(self):
        return self.cor

    def set_cor(self, cores):
        self.cor = cores

    def get_rosto(self):
        return self.rosto

    def set_rosto(self, rostos):
        self.rosto = rostos

    def get_acessorio(self):
        return self.acessorio

    def set_acessorio(self, acessorios):
        self.acessorio = acessorios

    def get_corpo(self):
        return self.corpo

    def set_corpo(self, corpos):
        self.corpo = corpos

    def get_itens_user(self):
        return self.itens_user

    def set_itens_user(self, itens_user):
        self.itens_user = itens_user

    def get_item_comprar(self):
        itens = self.facade.read_estrutura_facade(tipo_estrutura=TIPO_ESTRUTURA['item'])
        for i in itens:
            if i['tipo_item'] == TIPO_ITEM['cor']:
                self.cor.append(i)
            elif i['tipo_item'] == TIPO_ITEM['rosto']:
                self.rosto.append(i)
            elif i['tipo_item'] == TIPO_ITEM['acessorio']:
                self.acessorio.append(i)
            else:
                self.corpo.append(i)

    def get_item_user_have(self):
        if self.usuario_logado['tipo'] > '5':
            itens = self.facade.get_itens_student_facade(id=self.usuario_logado['id'])
        else:
            itens = self.facade.get_itens_responsaveis_facade(id=self.usuario_logado['id'])

        for i in itens:
            self.itens_user.append(i.decode('utf-8'))


    def buy_item(self, id_item):
        if self.usuario_logado['tipo'] <'6':
            usuario = self.facade.search_observador_id_facade(id=self.usuario_logado['id'])
        else:
            return self.facade.compra_item_facade(id_item=id_item, id_usuario=self.usuario_logado['id'])