コード例 #1
0
ファイル: views.py プロジェクト: rafamelo12/cuidando2
def configuracao(request):
    """Configuração de usuário"""

    esquema = FormConfigurar().bind(request=request)
    esquema.title = "Configuração de usuário"
    form = deform.Form(esquema, buttons=("Salvar",))
    if "Configurar" in request.POST:
        # Validação do formulário
        try:
            form.validate(request.POST.items())
        except deform.ValidationFailure as e:
            return {"form": e.render()}

        # Criação e inserção
        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 rcad_senha(request):
    """Redefinir senha de usuário"""

    esquema = FormRecadSenha().bind(request=request)
    esquema.title = "Redefinir senha"
    cidadao = Cidadao("","")
    
    form = deform.Form(esquema, buttons=('Salvar',))
    if 'Salvar' in request.POST:
        # Validação do formulário
        try:
            appstruct = form.validate(request.POST.items())
        except deform.ValidationFailure as e:
            return {'form': e.render()}
        #validar token, se ok, merge session
        cidadao = merge_session_with_post(cidadao, request.POST.items())
        transaction.commit()		
        return HTTPFound(location=request.route_url('usuario'))
    else:
        return{'form':form.render()}
コード例 #3
0
def inserir_ponto(request):
    """ 
    Página para inserir novos pontos/atividades no mapa pelo usuário
    """
    esquema = FormInserirP().bind(request=request)
    esquema.title = "Inserir ponto no mapa"
    form = deform.Form(esquema, buttons=('Inserir', 'Cancelar'))
	
	#não se se isto fica aqui ou no models
    if not request.db.has_key("atvTree"):
        request.db["atvTree"] = OOBTree()
		
    if 'Inserir' in request.POST:
        try:
            form.validate(request.POST.items())
        except deform.ValidationFailure as e:
            return {'form': e.render()}
		
        if(authenticated_userid(request)):	
            dadosSite = request.db['dadosSite']
			
		    # Criação e inserção	
            atividade = Atividade_cidadao()
            atividade = merge_session_with_post(atividade, request.POST.items())
		    #inserir id para a atividade?
            atividade.data = datetime.now()
            atividade.cidadao = authenticated_userid(request)
            atividade.id = dadosSite.proxId
            request.db['atvTree'][atividade.id] = atividade

            dadosSite.proxId = dadosSite.proxId + 1        
            #chama função para inserir na lista de atualizações		
            Dados_site.addAtual(dadosSite, atividade)
            Dados_site.addAtvUsr(dadosSite)
            transaction.commit()
            request.session.flash(u"Atividade de usuário cadastrada com sucesso.")
		#retorno -> levar atividade inserida
        return HTTPFound(location=request.route_url('orcamentoId', id = atividade.id))
    else:
        return {'form': form.render()}
コード例 #4
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()}
コード例 #5
0
def configuracao(request):
    """Configuração de usuário"""

    cidadao = Cidadao("","")
    cidadao = request.db["usrTree"][authenticated_userid(request)]	
	#verificar se cidadão está preenchido
    appstruct = record_to_appstruct(cidadao)	
	
    esquema = FormConfigurar().bind(request=request)
    esquema.title = "Configuração de usuário"	
    form = deform.Form(esquema, buttons=('Salvar', 'Excluir'))

    if 'Salvar' in request.POST:
        # Validação do formulário
        cidadao = merge_session_with_post(cidadao, request.POST.items())	
        appstruct = record_to_appstruct(cidadao)		
        try:
            esquema = FormConfigurar().bind(request=request)
            esquema.title = "Configuração de usuário"		
            form = deform.Form(esquema, buttons=('Salvar', 'Excluir'))		
            form.render(appstruct)  		
	
            appstruct = form.validate(request.POST.items())
        except deform.ValidationFailure as e:
            return {'form': e.render()}
        
        transaction.commit()		
        return HTTPFound(location=request.route_url('usuario'))
    elif 'Excluir' in request.POST:
        del request.db["usrTree"][authenticated_userid(request)]
        transaction.commit()
        headers = forget(request)
        return HTTPFound(location=request.route_url('inicial'))		
    else:
        # Apresentação do formulário	
        return{'form':form.render(appstruct)}