def editar_doacao(ong, slug): user = g.user form = LoginForm() form_editar = DoacaoForm() if form.validate_on_submit(): ong = Ong.query.filter_by(nickname=form.login.data, senha=md5(form.senha_login.data).hexdigest() ).first_or_404() login_user(ong) return redirect(request.args.get('next') or url_for('ong_dashboard', ong=ong.nickname)) ong = Ong.query.filter_by(nickname=ong).first_or_404() if user != ong: abort(401) doacao = Doacao.query.filter_by(ong=ong, slug=slug).first_or_404() if form_editar.validate_on_submit(): doacao.categoria = form_editar.categoria.data doacao.nome = form_editar.nome.data doacao.descricao = form_editar.descricao.data doacao.logradouro = form_editar.logradouro.data doacao.numero = form_editar.numero.data doacao.complemento = form_editar.complemento.data doacao.bairro = form_editar.bairro.data doacao.cidade = form_editar.cidade.data doacao.estado = form_editar.estado.data doacao.cep = form_editar.cep.data doacao.retirar = form_editar.retirar.data doacao.email = form_editar.email.data doacao.tags = form_editar.tags.data doacao.prioridade = form_editar.prioridade.data db.session.commit() return redirect(url_for('doacao', ong=ong.nickname, slug=doacao.slug)) else: form_editar.categoria.data = doacao.categoria form_editar.nome.data = doacao.nome form_editar.descricao.data = doacao.descricao form_editar.logradouro.data = doacao.logradouro form_editar.numero.data = doacao.numero form_editar.complemento.data = doacao.complemento form_editar.bairro.data = doacao.bairro form_editar.cidade.data = doacao.cidade form_editar.estado.data = doacao.estado form_editar.cep.data = doacao.cep form_editar.retirar.data = doacao.retirar form_editar.email.data = doacao.email form_editar.tags.data = doacao.tags form_editar.prioridade.data = doacao.prioridade return render_template('cadastro-doacao.html', form=form, user=user, form_cadastro=form_editar, ong=ong)
def cadastro_doacao(ong): user = g.user ong = Ong.query.filter_by(nickname=ong).first_or_404() form = LoginForm() form_cadastro = DoacaoForm() if form.validate_on_submit(): ong = Ong.query.filter_by(nickname=form.login.data, senha=md5(form.senha_login.data).hexdigest() ).first_or_404() login_user(ong) return redirect(request.args.get('next') or url_for('ong_dashboard', ong=ong.nickname)) if form_cadastro.validate_on_submit(): doacao = Doacao(categoria=form_cadastro.categoria.data, nome=form_cadastro.nome.data, descricao=form_cadastro.descricao.data, logradouro=form_cadastro.logradouro.data, numero=form_cadastro.numero.data, complemento=form_cadastro.complemento.data, bairro=form_cadastro.bairro.data, cidade=form_cadastro.cidade.data, estado=form_cadastro.estado.data, cep=form_cadastro.cep.data, retirar=form_cadastro.retirar.data, email=form_cadastro.email.data, tags=form_cadastro.tags.data, ong_id=ong.id, slug=slugfy(form_cadastro.nome.data), status_id=1, data_cadastro=datetime.now(), prioridade=form_cadastro.prioridade.data ) db.session.add(doacao) db.session.commit() api = TwitterAPI(TWITTER_API_KEY, TWITTER_API_SECRET, TWITTER_ACCESS_TOKEN, TWITTER_ACCESS_SECRET) tweet = api.request('statuses/update', {'status': '#Preciso ' + doacao.nome + ' ' + doacao.get_url() + ' #' + doacao.ong.nickname }) return redirect(url_for('doacao', ong=ong.nickname, slug=doacao.slug)) return render_template('cadastro-doacao.html', form=form, user=user, form_cadastro=form_cadastro, ong=ong)