def cadastro(request): """Cadastro de usuário""" esquema = FormCadastrar().bind(request=request) esquema.title = "Cadastrar novo usuário" form = deform.Form(esquema, buttons=("Cadastrar",)) if "Cadastrar" in request.POST: # Validação do formulário try: form.validate(request.POST.items()) except deform.ValidationFailure as e: return {"form": e.render()} # Atualizar registro - usuário logado # cidadao = Cidadao("","") # cidadao = merge_session_with_post(cidadao, request.POST.items()) # request.db[cidadao.nome] = cidadao # request.db.commit() # transaction.commit() # request.session.flash(u"Usuário registrado com sucesso.") # request.session.flash(u"Agora você já pode logar com ele.") return HTTPFound(location=request.route_url("lista")) else: # Apresentação do formulário return {"form": form.render()}
def cadastro(request): """Cadastro de usuário""" # soh eh rodado 1 vez... tem que colocar na configurcao ou coisa assim?... # Ensure that a ’userdb’ key is present # in the root if not request.db.has_key("usrTree"): request.db["usrTree"] = OOBTree() esquema = FormCadastrar().bind(request=request) esquema.title = "Cadastrar novo usuário" form = deform.Form(esquema, buttons=('Cadastrar',)) if 'Cadastrar' in request.POST: # Validação do formulário try: form.validate(request.POST.items()) except deform.ValidationFailure as e: return {'form': e.render()} #deslogando usuário, caso haja algum headers = forget(request) # Criação e inserção cidadao = Cidadao("","") cidadao = merge_session_with_post(cidadao, request.POST.items()) #tchau lista #request.db['cidadaos'][cidadao.email] = cidadao request.db['usrTree'][cidadao.email] = cidadao dadosSite = request.db['dadosSite'] #chama função para atualizar contadores Dados_site.addUsr(dadosSite) transaction.commit() request.session.flash(u"Usuário registrado com sucesso.") request.session.flash(u"Agora você já pode logar com ele.") return HTTPFound(location=request.route_url('inicial'), headers = headers) else: # Apresentação do formulário return {'form': form.render()}