Esempio n. 1
0
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]
Esempio n. 2
0
 def __init__(self):
     self.admin = ModelAdmin()
     self.professor = ModelProfessor()
Esempio n. 3
0
 def __init__(self):
     self.admin = ModelAdmin()
     self.professor = ModelProfessor()
     self.aluno = ModelAluno()
     self.matricula = ModelMatricula()
Esempio n. 4
0
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
Esempio n. 5
0
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
Esempio n. 6
0
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