-
Notifications
You must be signed in to change notification settings - Fork 0
/
view.py
139 lines (119 loc) · 5.25 KB
/
view.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
from os import system
from controller import *
traco = '-' * 44
def limpa_tela():
system('clear') or None
def menu():
limpa_tela()
print(traco)
print('MENU'.center(44, ' '))
print(traco)
print('[ 1 ] - Para cadastrar um usuário')
print('[ 2 ] - Para alterar um usuário')
print('[ 3 ] - Para remover um usuário')
print('[ 4 ] - Para mostrar os usuários cadastrados')
print('[ 5 ] - Para fazer login no sistema')
print('[ 9 ] - Para Encerrar o sistema')
print(traco)
def pausar(texto):
print('\n' + texto)
input('\nTecle <Enter> para continuar ')
if __name__ == '__main__':
engine = ConfigController.cria_engine()
ConfigController.cria_tabela(engine)
while True:
menu()
try:
opcao = int(input('Informe a opção: '))
if opcao == 9:
break
if opcao == 1:
limpa_tela()
x = UsuarioController()
print('\nInforme os dados do usuário para cadastro.')
nome = input('\nNome: ').strip().upper()
email = input('E-mail: ').strip().lower()
senha = input('Senha: ').strip()
if len(nome) == 0:
pausar('Nome não informado!')
elif (len(email) == 0):
pausar('E-mail não informado!')
elif not '@' in email:
pausar('E-mail inválido!')
elif len(senha) < 4:
pausar('A senha deve ter pelo menos 4 caracteres!')
else:
if x.cadastrar_usuario(nome, email, senha, engine) == 1:
pausar('Usuário cadastrado com sucesso.')
else:
pausar('Não foi possível cadastrar o usuário.')
elif opcao == 2:
limpa_tela()
x = UsuarioController()
id_usuario = int(input(
'\nInforme o código do usuário que deseja alterar: ').strip())
if not x.existe_usuario(id_usuario, engine):
pausar('Usuário não cadastrado!')
else:
print('\nDeixar em branco os dados que NÃO deseja alterar')
nome = input('Nome: ').strip().upper()
email = input('E-mail: ').strip().lower()
senha = input('Senha: ').strip()
if x.alterar_usuario(id_usuario, nome, email, senha, engine) == 1:
pausar('Usuário alterado com sucesso.')
else:
pausar('Não foi possível alterar o usuário.')
elif opcao == 3:
limpa_tela()
x = UsuarioController()
id_usuario = int(input(
'\nInforme o código do usuário que deseja remover: ').strip())
if not x.existe_usuario(id_usuario, engine):
pausar('Usuário não cadastrado!')
else:
if x.remover_usuario(id_usuario, engine) == 1:
pausar('Usuário removido com sucesso.')
else:
pausar('Não foi possível remover o usuário.')
elif opcao == 4:
limpa_tela()
usuarios = UsuarioController.listar_usuarios(engine)
if len(usuarios) == 0:
pausar('Não existe usuário cadastrado!')
else:
print('-' * 108)
print('Relação dos usuários cadastrados'.center(108, ' '))
print('-' * 108)
print(f" {'ID':3} {'NOME':50} {'E-MAIL'}")
print('-' * 108)
for u in usuarios:
print(f' {u.id:3} {u.nome:50} {u.email}')
print('-' * 108)
input('\nTecle <Enter> para continuar ')
elif opcao == 5:
tentativas = 1
while tentativas < 4:
limpa_tela()
print('\nLogar no sistema')
tent = f'\n\nTentativa {tentativas} de 3.'
email = input('\nE-mail: ').strip().lower()
senha = input('Senha: ').strip()
if (len(email) == 0):
pausar('E-mail não informado!' + tent)
elif not '@' in email:
pausar('E-mail inválido!' + tent)
elif len(senha) < 4:
pausar('A senha deve ter pelo menos 4 caracteres!' + tent)
else:
retorno = UsuarioController.logar(engine, email, senha)
if retorno[0] == 1:
pausar(f'{retorno[1]}, bem-vindo ao sistema.'
+ '\n\nLogin efetuado com sucesso.')
break
else:
pausar('Não foi possível efetuar o login!' + tent)
tentativas += 1
else:
pausar('Opção inválida, tente novamente!')
except:
pausar(f'Opção inválida, tente novamente!')