Ejemplo n.º 1
0
 def index(self):
     sair = False
     while sair == False:
         opcao = "a"
         hasCaracteresEspeciais = True
         hasCaracteresAlpha = True
         while (opcao.isalpha() or opcao == "" or hasCaracteresEspeciais
                or hasCaracteresAlpha or
                (opcao.isnumeric() and (int(opcao) < 1 or int(opcao) > 3))):
             opcao = self.loginView.index()
             hasCaracteresEspeciais = TextoUtil(
             ).verificarTextoComCaracteresEspeciais(opcao)
             hasCaracteresAlpha = TextoUtil().verificarTextoComAlpha(opcao)
             if (opcao == ""):
                 self.loginView.colocarMensagem(7)
             else:
                 if (hasCaracteresAlpha):
                     self.loginView.colocarMensagem(3)
                 else:
                     if (hasCaracteresEspeciais):
                         self.loginView.colocarMensagem(5)
                     else:
                         if (opcao.isnumeric()
                                 and (int(opcao) < 1 or int(opcao) > 3)):
                             self.loginView.colocarMensagem(4)
                         if (opcao.isalpha()):
                             self.loginView.colocarMensagem(3)
                         else:
                             if (int(opcao) == 1):
                                 self.acessarContaGmail()
                             elif (int(opcao) == 3):
                                 sair = True
         if (sair == False):
             principal = PrincipalController(self.usuarioDTO)
Ejemplo n.º 2
0
 def __init__(self, isCadastro: bool = True):
     self.continuarCadastroContatosPessoa = False
     tela = AdicionarPessoaView()
     nome = "1"  #setar erro esperado
     hasCaracteresEspeciais = True
     hasCaracteresNumericos = True
     while (nome.isnumeric() == True or hasCaracteresEspeciais
            or hasCaracteresNumericos or nome == "" or len(nome) > 100):
         nome = tela.formulario(isCadastro)
         hasCaracteresEspeciais = TextoUtil(
         ).verificarTextoComCaracteresEspeciais(nome)
         hasCaracteresNumericos = TextoUtil().verificarTextoComNumeros(nome)
         if (nome.isnumeric() or hasCaracteresNumericos):
             tela.colocarMensagem(1)
         if (nome == ""):
             tela.colocarMensagem(2)
         if (len(nome) > 100):
             tela.colocarMensagem(3)
         if (hasCaracteresEspeciais):
             tela.colocarMensagem(6)
     self.pessoa = PessoaDTO(0, nome, "")
     tela.aparecerObservacoes(1)
     opcao = "a"
     if (isCadastro):
         while (opcao.isalpha() or opcao == "" or
                (opcao.isnumeric() and (int(opcao) < 0 or int(opcao) > 1))):
             opcao = tela.posFormulario()
             if (opcao.isalpha()):
                 tela.colocarMensagem(5)
             else:
                 if (int(opcao) == 0):
                     self.continuarCadastroContatosPessoa = True
             if (opcao.isnumeric() and (int(opcao) < 0 or int(opcao) > 1)):
                 tela.colocarMensagem(4)
Ejemplo n.º 3
0
 def validarCodigo(self, opcao: int = 1):
     codigo = "a"
     naoExisteContato = True
     hasCaracteresAlpha = True
     hasCaracteresEspeciais = True
     while (codigo.isalpha() or codigo == "" or naoExisteContato
            or hasCaracteresAlpha or hasCaracteresEspeciais):
         self.view.inicio(self.pessoa)
         codigo = self.view.procurarCodigo(opcao)
         hasCaracteresEspeciais = TextoUtil(
         ).verificarTextoComCaracteresEspeciais(codigo)
         hasCaracteresAlpha = TextoUtil().verificarTextoComAlpha(codigo)
         if (codigo == ""):
             self.view.colocarMensagem(7)
         else:
             if (hasCaracteresEspeciais):
                 self.view.colocarMensagem(6)
             else:
                 if (codigo.isalpha() or hasCaracteresAlpha):
                     self.view.colocarMensagem(3)
                 else:
                     for contato in self.pessoa.contatos:
                         if (int(codigo) == contato.codigo):
                             naoExisteContato = False
                             break
                 if (naoExisteContato):
                     self.view.colocarMensagem(4)
     return codigo
Ejemplo n.º 4
0
    def index(self, pessoa: PessoaDTO, continuarCadastroContatosPessoa: bool):
        sair = False
        while (sair == False):
            opcao = "a"
            hasCaracteresEspeciais = True
            hasCaracteresAlpha = True
            while (opcao.isalpha() or opcao == "" or hasCaracteresEspeciais
                   or hasCaracteresAlpha or
                   (opcao.isnumeric() and (int(opcao) < 1 or int(opcao) > 6))):
                if (continuarCadastroContatosPessoa):
                    self.pessoa = self.agenda.selecionaContato(
                        self.agenda.selecionaPessoa("", True)[0])
                else:
                    self.pessoa = self.agenda.selecionaContato(
                        self.agenda.selecionaPessoa("", False,
                                                    pessoa.codigo)[0])
                self.view.inicio(self.pessoa)
                opcao = self.view.menu()
                hasCaracteresEspeciais = TextoUtil(
                ).verificarTextoComCaracteresEspeciais(opcao)
                hasCaracteresAlpha = TextoUtil().verificarTextoComAlpha(opcao)
                if (opcao == ""):
                    self.view.colocarMensagem(7)
                else:
                    if (hasCaracteresEspeciais):
                        self.view.colocarMensagem(5)
                    else:
                        if (opcao.isalpha() or hasCaracteresAlpha):
                            self.view.colocarMensagem(1)
                        else:
                            if int(opcao) == 1:
                                contatoController = ContatoController()
                                contatoController.formulario(self.pessoa)
                            elif int(opcao) == 2:
                                codigo = self.validarCodigo()
                                contatoController = ContatoController()
                                contatoController.formulario(
                                    self.pessoa, False, codigo)
                            elif int(opcao) == 3:
                                codigo = self.validarCodigo(0)
                                self.agenda.deletaContato(
                                    ContatoDTO(codigo, "", "", "", ""))
                            elif int(opcao) == 4:
                                adicionarPessoa = AdicionarPessoasController(
                                    False)
                                self.pessoa.nome = adicionarPessoa.pessoa.nome
                                self.agenda.atualizarPessoa(self.pessoa)
                            elif int(opcao) == 5:
                                sair = True
                            elif int(opcao) == 6:
                                if (self.usuario.logado):
                                    self.pessoa = self.agenda.selecionaContato(
                                        self.pessoa, 1)
                                    self.enviarEmail(self.validarCodigo(2))

                                else:
                                    self.view.erroEnviarEmail()
                        if (opcao.isnumeric()
                                and (int(opcao) < 1 or int(opcao) > 6)):
                            self.view.colocarMensagem(2)
Ejemplo n.º 5
0
 def procurarPessoasPorCodigo(self,
                              pessoas,
                              principal,
                              mostrarPessoas: bool = True,
                              isDeletar: bool = False):
     codigo = "a"
     naoTemPessoa = True
     hasCaracteresEspeciais = True
     hasCaracteresAlpha = True
     while (codigo.isalpha() or codigo == "" or hasCaracteresEspeciais
            or hasCaracteresAlpha or naoTemPessoa):
         if (mostrarPessoas):
             principal.mostrarAgenda(pessoas)
         codigo = principal.selecionarPessoaPorCodigo()
         hasCaracteresEspeciais = TextoUtil(
         ).verificarTextoComCaracteresEspeciais(codigo)
         hasCaracteresAlpha = TextoUtil().verificarTextoComAlpha(codigo)
         if (codigo == ""):
             principal.colocarMensagem(7)
         else:
             if (hasCaracteresEspeciais):
                 principal.colocarMensagem(6)
             else:
                 if (codigo.isalpha() or hasCaracteresAlpha):
                     principal.colocarMensagem(1)
                 else:
                     for pessoa in pessoas:
                         if (int(codigo) == int(pessoa.codigo)):
                             naoTemPessoa = False
                             break
                 if (naoTemPessoa):
                     principal.colocarMensagem(2)
     if (isDeletar == False):
         pessoaController = PessoaController(self.usuario)
         pessoaController.index(PessoaDTO(codigo, "", ""), False)
     return codigo
Ejemplo n.º 6
0
 def __init__(self, usuario: UsuarioDTO = UsuarioDTO("", "")):
     principal = PrincipalView(usuario)
     self.usuario = usuario
     agenda = AgendaDAO()
     sair = False
     while sair == False:
         opcao = "a"
         hasCaracteresEspeciais = True
         hasCaracteresAlpha = True
         while (opcao.isalpha() or opcao == "" or hasCaracteresEspeciais
                or hasCaracteresAlpha or
                (opcao.isnumeric() and (int(opcao) < 1 or int(opcao) > 5))):
             pessoas = agenda.selecionaPessoa("", False)
             principal.mostrarAgenda(pessoas)
             opcao = principal.menu()
             hasCaracteresEspeciais = TextoUtil(
             ).verificarTextoComCaracteresEspeciais(opcao)
             hasCaracteresAlpha = TextoUtil().verificarTextoComAlpha(opcao)
             if (opcao == ""):
                 principal.colocarMensagem(7)
             else:
                 if (hasCaracteresAlpha):
                     principal.colocarMensagem(3)
                 else:
                     if (hasCaracteresEspeciais):
                         principal.colocarMensagem(5)
                     else:
                         if (opcao.isnumeric()
                                 and (int(opcao) < 1 or int(opcao) > 5)):
                             principal.colocarMensagem(4)
                         if (opcao.isalpha()):
                             principal.colocarMensagem(3)
                         else:
                             if int(opcao) == 1:
                                 pessoaController = PessoaController(
                                     self.usuario)
                                 adicionarPessoas = AdicionarPessoasController(
                                 )
                                 agenda.criaPessoa(adicionarPessoas.pessoa)
                                 if adicionarPessoas.continuarCadastroContatosPessoa == True:
                                     pessoaController.index(
                                         "", adicionarPessoas.
                                         continuarCadastroContatosPessoa)
                             elif int(opcao) == 2:
                                 self.procurarPessoasPorCodigo(
                                     pessoas, principal)
                             elif int(opcao) == 3:
                                 principal.mostrarAgenda(pessoas)
                                 nome = principal.selecionarPessoaPorNome()
                                 pessoasPorNome = agenda.selecionaPessoa(
                                     nome, False)
                                 if (len(pessoasPorNome) > 0):
                                     principal.mostrarAgenda(pessoasPorNome)
                                     self.procurarPessoasPorCodigo(
                                         pessoasPorNome, principal, True)
                                 else:
                                     principal.nenhumContatoEncontrado(nome)
                             elif int(opcao) == 4:
                                 codigo = self.procurarPessoasPorCodigo(
                                     pessoas, principal, True, True)
                                 agenda.deletaPessoa(
                                     PessoaDTO(codigo, "", ""))
                             elif int(opcao) == 5:
                                 sair = True
Ejemplo n.º 7
0
    def formulario(self,pessoa:PessoaDTO, isCadastro:bool = True, codigo:int = -1):
        self.contato = ContatoDTO("0", "1", "b", "b", pessoa.codigo) #setar contato com o pior dado possivel para validação
        tipos = self.agenda.selecionaTiposContato()
        #primeiro pedir tipo do contato
        hasCaracteresEspeciais = True
        hasCaracteresAlpha = True
        while(self.contato.tipoContato.codigo.isalpha() or hasCaracteresEspeciais or hasCaracteresAlpha or self.contato.tipoContato.codigo == "" or (self.contato.tipoContato.codigo.isnumeric() and (int(self.contato.tipoContato.codigo) <0 or int(self.contato.tipoContato.codigo) > len(tipos) - 1))):
            self.contatoView.formulario(isCadastro)
            self.contato.tipoContato.codigo = self.contatoView.formularioTipoContato(tipos)
            hasCaracteresEspeciais = TextoUtil().verificarTextoComCaracteresEspeciais(self.contato.tipoContato.codigo)
            hasCaracteresAlpha = TextoUtil().verificarTextoComAlpha(self.contato.tipoContato.codigo) 
            if(self.contato.tipoContato.codigo == ""):
                self.contatoView.colocarMensagem(3)
            else:
                if(hasCaracteresEspeciais):
                    self.contatoView.colocarMensagem(11)
                else:
                    if(self.contato.tipoContato.codigo.isalpha() or hasCaracteresAlpha):
                        self.contatoView.colocarMensagem(1)
                    else:
                        if(int(self.contato.tipoContato.codigo) == 0):
                            self.continuarCadastroContatosPessoa = True            
                        if(self.contato.tipoContato.codigo.isnumeric() and (int(self.contato.tipoContato.codigo) <0 or int(self.contato.tipoContato.codigo) > len(tipos)-1)):
                            self.contatoView.colocarMensagem(2)
        erroDeFormato = True
        while(erroDeFormato or self.contato.numero == ""):
            self.contatoView.formulario(isCadastro)
            self.contato.numero = self.contatoView.formularioNumero(self.contato.tipoContato.codigo)
            erroDeFormato = False
            if(self.contato.numero == ""):
                self.contatoView.colocarMensagem(3)
            else:
                if(int(self.contato.tipoContato.codigo) == 0):
                    if(self.contato.numero.isalpha() or TextoUtil().verificarTextoComAlpha(self.contato.numero)):
                        self.contatoView.colocarMensagem(4)
                        erroDeFormato = True
                    if(len(self.contato.numero) != 10):
                        self.contatoView.colocarMensagem(5)
                        erroDeFormato = True
                    if(TextoUtil().verificarTextoComCaracteresEspeciais(self.contato.numero)):
                        self.contatoView.colocarMensagem(12)
                        erroDeFormato = True
                elif(int(self.contato.tipoContato.codigo) == 1):
                    if(self.contato.numero.isalpha() or TextoUtil().verificarTextoComAlpha(self.contato.numero)):
                        self.contatoView.colocarMensagem(6)
                        erroDeFormato = True
                    if(len(self.contato.numero) != 11):
                        self.contatoView.colocarMensagem(7)
                        erroDeFormato = True
                    if(TextoUtil().verificarTextoComCaracteresEspeciais(self.contato.numero)):
                        self.contatoView.colocarMensagem(13)
                        erroDeFormato = True
                elif(int(self.contato.tipoContato.codigo) == 2):
                    tuplaDeErro = Validador().validarEmail(self.contato.numero)
                    erroDeFormato = tuplaDeErro[0]
                    self.contatoView.mensagem += tuplaDeErro[1]
        self.contatoView.mensagemSucesso()
            
                            

        if(isCadastro):
            self.agenda.criaContato(self.contato)
        else:
            self.contato.codigo = codigo
            self.agenda.alteraContato(self.contato)