Пример #1
0
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()}
Пример #2
0
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()}