-
Notifications
You must be signed in to change notification settings - Fork 2
/
comando_alterar_compra_IMP.py
39 lines (31 loc) · 1.18 KB
/
comando_alterar_compra_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
import sessao
import usuario
import compra
import html_pag_compra
import html_pag_mensagem_de_erro
def processa(ses, args):
# Obtém id da compra a alterar
id_cpr = args['id_compra'] if 'id_compra' in args else None
assert id_cpr != None # Paranóia (formulário deve incluir sempre).
del args['id_compra']
cpr = compra.busca_por_identificador(id_cpr)
assert cpr != None # Paranóia.
# Obtem dados alteráveis dos {args}:
nome_pass = args['nome_pass'] if 'nome_pass' in args else None
doc_pass = args['doc_pass'] if 'doc_pass' in args else None
status = args['status'] if 'status' in args else None
# Monta dicionário com alterações:
novos_atrs = {}.copy()
if nome_pass != None: novos_atrs['nome_pass'] = nome_pass
if doc_pass != None: novos_atrs['doc_pass'] = doc_pass
if status != None: novos_atrs['status'] = status
# Editar passageiro
try:
compra.muda_atributos(cpr, novos_atrs)
# Mostra compra com os novos valores
pag = html_pag_compra.gera(ses, cpr, None, None)
except ErroAtrib as ex:
# Repete o formulário de alteração com valores já alterados e erros
erros = ex[0]
pag = html_pag_compra.gera(ses, cpr, args, erros)
return pag