class Login(): def __init__(self): self.admin = ModelAdmin() self.professor = ModelProfessor() def login(self, data): usuario = self.admin.search(data["usuario"]) if usuario != None: if usuario[0][4] == data["senha"]: return [ "Deu Boa!", { "id": usuario[0][0], "usuario": usuario[0][3], "admin": True } ] else: return ["Senha incorreta!", None] else: usuario = self.professor.search(data["usuario"]) if usuario != None: if usuario[0][4] == data["senha"]: return [ "Deu Boa!", { "id": usuario[0][0], "usuario": usuario[0][3], "admin": False } ] else: return ["Senha incorreta!", None] return ["Usuario não existe!", None]
def __init__(self): self.admin = ModelAdmin() self.professor = ModelProfessor()
def __init__(self): self.admin = ModelAdmin() self.professor = ModelProfessor() self.aluno = ModelAluno() self.matricula = ModelMatricula()
class Professores(): def __init__(self): self.admin = ModelAdmin() self.professor = ModelProfessor() self.aluno = ModelAluno() self.matricula = ModelMatricula() def cadastrar(self, data): for key in data: if (data[key] == ""): return f'Digite todo os campos!' if (data["senha"] != data["repetirsenha"]): return "A senhas não conferem!" if (self.admin.search(data["usuario"]) != None or self.professor.search(data["usuario"]) != None): return "Usuário já existe!" if (self.admin.search(data["email"], type_s="email") != None or self.professor.search(data["email"], type_s="email") != None): return "E-mail já cadastrado!" atuacoes = [] for atuacao in data["atuacoes"]: if data["atuacoes"][atuacao] == 1: atuacoes.append(atuacao) self.professor.insert(data["nome"], data["email"], data["usuario"], data["senha"], data["nascimento"], atuacoes) return "Professor cadastrado com sucesso!" def editar(self, id, data): for key in data: if (data[key] == ""): return f'Digite todo os campos!' if (data["senha"] != data["repetirsenha"]): return "A senhas não conferem!" usuario = self.professor.search(id, type_s="id") if data["usuario"] != usuario[0][3]: if (self.admin.search(data["usuario"]) != None or self.professor.search(data["usuario"]) != None): return "Usuário já existe!" if data["email"] != usuario[0][2]: if (self.admin.search(data["email"], type_s="email") != None or self.professor.search(data["email"], type_s="email") != None): return "E-mail já cadastrado!" atuacoes = [] for atuacao in data["atuacoes"]: if data["atuacoes"][atuacao] == 1: atuacoes.append(atuacao) self.professor.update(id, data["nome"], data["email"], data["usuario"], data["senha"], data["nascimento"], atuacoes) return "Professor editado com sucesso!" def listaProfessores(self): results = self.professor.selectAll() professores = [] for result in results: today = date.today() birthDate = result[5].split("/") age = int(today.strftime("%Y")) - int(birthDate[2]) month = int(today.strftime("%m")) - int(birthDate[1]) if (month < 0) or ( (month == 0) and (int(today.strftime("%d")) < int(birthDate[0]))): age -= 1 professores.append({ "id": result[0], "nome": result[1], "email": result[2], "usuario": result[3], "idade": age, "atuacao": result[6] }) return professores def professorId(self, id): result = self.professor.search(id, type_s="id") atuacoes = { "Natação": 0, "Dança": 0, "Yoga": 0, "Musculação": 0, "Crossfit": 0, "Muay Thai": 0, "Jiu Jitsu": 0, "Boxe": 0 } for atuacao in result[0][6]: atuacoes[atuacao] = 1 today = date.today() nascimento = result[0][5].split("/") age = int(today.strftime("%Y")) - int(nascimento[2]) month = int(today.strftime("%m")) - int(nascimento[1]) if (month < 0) or ((month == 0) and (int(today.strftime("%d")) < int(nascimento[0]))): age -= 1 professor = { "id": result[0][0], "nome": result[0][1], "email": result[0][2], "usuario": result[0][3], "senha": result[0][4], "nascimento": { "dia": int(nascimento[0]), "mes": int(nascimento[1]), "ano": int(nascimento[2]) }, "idade": age, "atuacoes": atuacoes } return professor def deletar(self, id): self.professor.delete(id) def filtrar(self, filtro): results = self.professor.filter(filtro) professores = [] if results != None: for result in results: professores.append({ "id": result[0], "nome": result[1], "email": result[2], "usuario": result[3], "idade": 24, "atuacao": result[6] }) return professores def alunos(self, id): matriculas = self.matricula.search(id, type_s="professor_id") alunos = [] if matriculas != None: for matricula in matriculas: if not matricula[3] in alunos: aluno = self.aluno.search(matricula[3], type_s="id") today = date.today() nascimento = aluno[0][3].split("/") age = int(today.strftime("%Y")) - int(nascimento[2]) month = int(today.strftime("%m")) - int(nascimento[1]) if (month < 0) or ( (month == 0) and (int(today.strftime("%d")) < int(nascimento[0]))): age -= 1 alunos.append({ "id": aluno[0][0], "nome": aluno[0][1], "email": aluno[0][2], "idade": age, "altura": aluno[0][4], "peso": aluno[0][5], }) return alunos
class Aluno(): def __init__(self): self.admin = ModelAdmin() self.professor = ModelProfessor() self.aluno = ModelAluno() self.matricula = ModelMatricula() def cadastrar(self, data): for key in data["inputs"]: if (data["inputs"][key] == ""): return 'Digite todo os campos!' if (self.admin.search(data["inputs"]["email"], type_s="email") != None or self.professor.search(data["inputs"]["email"], type_s="email") != None or self.aluno.search(data["inputs"]["email"], type_s="email") != None): return "E-mail já cadastrado!" try: aluno_id = self.aluno.insert( data["inputs"]["nome"], data["inputs"]["email"], data["inputs"]["nascimento"], float(data["inputs"]["altura"]), float(data["inputs"]["peso"]), ) except: return 'Digite um numero nos campos "peso" e "altura"' for esporte in data["matriculas"]: if (data["matriculas"][esporte] == 1): try: self.matricula.insert( esporte, data["idsProfessores"][data["professores"][esporte]], aluno_id[0]) except: self.matricula.insert(esporte, None, aluno_id[0]) return "Aluno cadastrado com sucesso" def editar(self, id, data): for key in data["inputs"]: if (data["inputs"][key] == ""): return 'Digite todo os campos!' aluno = self.aluno.search(id, type_s="id") if data["inputs"]["email"] != aluno[0][2]: if (self.admin.search(data["inputs"]["email"], type_s="email") != None or self.professor.search(data["inputs"]["email"], type_s="email") != None or self.aluno.search(data["inputs"]["email"], type_s="email") != None): return "E-mail já cadastrado!" matriculas = self.matricula.search(id, type_s="aluno_id") if matriculas != None: for matricula in matriculas: if data["matriculas"][matricula[1]] == 0: self.matricula.delete(matricula[0]) else: data["matriculas"][matricula[1]] = 0 try: self.matricula.update( matricula[0], data["idsProfessores"][ data["professores"][matricula[1]]]) except: self.matricula.update(matricula[0], None) for esporte in data["matriculas"]: if (data["matriculas"][esporte] == 1): try: self.matricula.insert( esporte, data["idsProfessores"][data["professores"][esporte]], id) except: self.matricula.insert(esporte, None, id) try: self.aluno.update(id, data["inputs"]["nome"], data["inputs"]["email"], data["inputs"]["nascimento"], float(data["inputs"]["altura"]), float(data["inputs"]["peso"])) except: return 'Digite um numero nos campos "peso" e "altura"' return "Aluno editado com sucesso!" def listaAlunos(self): results = self.aluno.selectAll() alunos = [] for result in results: today = date.today() birthDate = result[3].split("/") age = int(today.strftime("%Y")) - int(birthDate[2]) month = int(today.strftime("%m")) - int(birthDate[1]) if (month < 0) or ( (month == 0) and (int(today.strftime("%d")) < int(birthDate[0]))): age -= 1 alunos.append({ "id": result[0], "nome": result[1], "email": result[2], "altura": result[4], "peso": result[5], "idade": age }) return alunos def alunoId(self, id): result = self.aluno.search(id, type_s="id") matriculas = self.matricula.search(id, type_s="aluno_id") esportes = { "Natação": 0, "Dança": 0, "Yoga": 0, "Musculação": 0, "Crossfit": 0, "Muay Thai": 0, "Jiu Jitsu": 0, "Boxe": 0 } professores = { "Natação": "", "Dança": "", "Yoga": "", "Musculação": "", "Crossfit": "", "Muay Thai": "", "Jiu Jitsu": "", "Boxe": "" } if matriculas != None: for matricula in matriculas: esportes[matricula[1]] = 1 professor = self.professor.search(matricula[2], type_s="id") if professor != None: professores[matricula[1]] = professor[0][1] nascimento = result[0][3].split("/") aluno = { "id": result[0][0], "nome": result[0][1], "email": result[0][2], "altura": result[0][4], "peso": result[0][5], "nascimento": { "dia": int(nascimento[0]), "mes": int(nascimento[1]), "ano": int(nascimento[2]) }, "matriculas": esportes, "professores": professores } return aluno def deletar(self, id): matriculas = self.matricula.search(id, type_s="aluno_id") if matriculas != None: for matricula in matriculas: self.matricula.delete(matricula[0]) self.aluno.delete(id) def filtrar(self, filtro): results = self.aluno.filter(filtro) alunos = [] if results != None: for result in results: today = date.today() birthDate = result[3].split("/") age = int(today.strftime("%Y")) - int(birthDate[2]) month = int(today.strftime("%m")) - int(birthDate[1]) if (month < 0) or ( (month == 0) and (int(today.strftime("%d")) < int(birthDate[0]))): age -= 1 alunos.append({ "id": result[0], "nome": result[1], "email": result[2], "altura": result[4], "peso": result[5], "idade": age }) return alunos def professoresAtuacoes(self): atuacoes = { "Natação": [], "Dança": [], "Yoga": [], "Musculação": [], "Crossfit": [], "Muay Thai": [], "Jiu Jitsu": [], "Boxe": [], "ids": {} } professores = self.professor.selectAll() for atuacao in atuacoes: for professor in professores: if atuacao in professor[6]: atuacoes[atuacao].append(professor[1]) for professor in professores: atuacoes["ids"][professor[1]] = professor[0] return atuacoes
class Admin(): def __init__(self): self.admin = ModelAdmin() self.professor = ModelProfessor() self.aluno = ModelAluno() def cadastrar(self, data): for key in data: if (data[key] == ""): return f'Digite todo os campos!' if (data["senha"] != data["repetirsenha"]): return "A senhas não conferem!" if (self.admin.search(data["usuario"]) != None or self.professor.search(data["usuario"]) != None): return "Usuário já existe!" if (self.admin.search(data["email"], type_s="email") != None or self.professor.search(data["email"], type_s="email") != None): return "E-mail já cadastrado!" self.admin.insert( data["nome"], data["email"], data["usuario"], data["senha"], ) return "Admin cadastrado com sucesso!" def editar(self, id, data): for key in data: if (data[key] == ""): return f'Digite todo os campos!' if (data["senha"] != data["repetirsenha"]): return "A senhas não conferem!" usuario = self.admin.search(id, type_s="id") if data["usuario"] != usuario[0][3]: if (self.admin.search(data["usuario"]) != None or self.professor.search(data["usuario"]) != None): return "Usuário já existe!" if data["email"] != usuario[0][2]: if (self.admin.search(data["email"], type_s="email") != None or self.professor.search(data["email"], type_s="email") != None): return "E-mail já cadastrado!" self.admin.update(id, data["nome"], data["email"], data["usuario"], data["senha"]) return "Admin editado com sucesso!" def listaAdmins(self): results = self.admin.selectAll() admins = [] for result in results: admins.append({ "id": result[0], "nome": result[1], "email": result[2], "usuario": result[3] }) return admins def adminId(self, id): result = self.admin.search(id, type_s="id") admin = { "id": result[0][0], "nome": result[0][1], "email": result[0][2], "usuario": result[0][3], "senha": result[0][4], } return admin def deletar(self, id): self.admin.delete(id) def filtrar(self, filtro): results = self.admin.filter(filtro) admins = [] if results != None: for result in results: admins.append({ "id": result[0], "nome": result[1], "email": result[2], "usuario": result[3] }) return admins