-
Notifications
You must be signed in to change notification settings - Fork 0
/
comando_trocar_carrinho_IMP.py
40 lines (31 loc) · 1.29 KB
/
comando_trocar_carrinho_IMP.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
# Implementação do módulo {comando_trocar_carrinho}.
import compra
import comando_ver_carrinho
import sessao
import gera_html_pag
import usuario
def processa(ses, args):
if 'id_compra' not in args:
return gera_html_pag.mensagem_de_erro(ses, "O identificador do novo carrinho não foi enviado.")
if ses == None:
return gera_html_pag.mensagem_de_erro(ses, "Usuário não está logado.")
# Localiza a compra {cpr}:
id_compra = args['id_compra']
novo_carr = compra.busca_por_identificador(id_compra)
if novo_carr == None:
pag = gera_html_pag.mensagem_de_erro(ses, "O carrinho escolhido não existe.")
return pag
usuario_da_compra = compra.obtem_cliente(novo_carr)
if usuario_da_compra == None:
pag = gera_html_pag.mensagem_de_erro(ses, "A carrinho não possui um usuário associado a ele.")
return pag
usuario_da_sessao = sessao.obtem_usuario(ses)
if usuario_da_sessao == None:
pag = gera_html_pag.mensagem_de_erro(ses, "A sessao não possui um usuário associada a ela.")
return pag
if usuario_da_sessao != usuario_da_compra:
pag = gera_html_pag.mensagem_de_erro(ses, "O carrinho não esta atribuído ao cliente da sessão.")
return pag
sessao.muda_atributos(ses, {'carrinho': novo_carr})
pag = gera_html_pag.mostra_carrinho(ses, None)
return pag