def delete_buzz(bid): """Delete Buzz""" buzz = Buzz.query.get(bid) if buzz is not None: buzz.delete() session.commit() return msg.ok('Buzz deleted successfuly')
def newlink(): try: link = LinkColaborativo() link.nome = request.form['nome'] link.email = request.form['email'] link.link = request.form['link'] link.site = request.form['nomedosite'] link.imagem = request.form['linkimagem'] link.clicks = 0 dbsession.add(link) dbsession.commit() r = jsonify({'status': 0, 'msg': 'Obrigado pela sua contribuição!'}) r.set_cookie('cobertura_nome', request.form['nome']) r.set_cookie('cobertura_email', request.form['email']) return r except IntegrityError as i: print "TENTOU SALVAR UM LINK QUE JÁ EXISTE" return jsonify({ 'status': 1, 'msg': 'Este link já foi divulgado em nosso site' }) except Exception as e: print "ERRO AO SALVAR NOVO LINK COLABORATIVO" print e return jsonify({ 'status': -1, 'msg': 'Ocorreu um erro ao processar o seu envio. Tente novamente ou avise os administradores.' })
def seguir(obraid): emailto = "" obra = fromcache("obra-" + obraid) or tocache("obra-" + obraid, _get_obras(obraid=obraid)[0]) if not obra: print "Não achou a obra!" return abort(404) slug = obra['slug'] if request.form: if request.form.has_key('faceid'): has = UserFollow.query.filter_by(obra_id=obraid, facebook_id=request.form['faceid']) if has.count() <= 0: # return dumps({'status':'error','msg':'Você já é seguidor desta obra pelo Facebook'}) follow = _make_follow(obraid) follow.facebook_id = request.form['faceid'] emailto = "*****@*****.**" % follow.facebook_id if request.form.has_key('twitterid'): has = UserFollow.query.filter_by(obra_id=obraid, twitter_id=request.form['twitterid']) if has.count() <= 0: # return dumps({'status':'error','msg':'Você já é seguidor desta obra pelo Twitter'}) follow = _make_follow(obraid) follow.twitter_id = request.form['twitterid'] msg = u"A partir de agora você segue a obra %s!" % obra['title'] _send_twitter_dm(follow.twitter_id, msg) if request.form.has_key('email'): has = UserFollow.query.filter_by(obra_id=obraid, email=request.form['email']) if has.count() <= 0: # return dumps({'status':'error','msg':'Você já é seguidor desta obra pelo Email'}) follow = _make_follow(obraid) follow.email = request.form['email'] emailto = follow.email dbsession.commit() if emailto: base_url = current_app.config['BASE_URL'] base_url = base_url if base_url[-1:] != '/' else base_url[:-1] #corta a barra final _dados_email = { 'titulo': obra['title'], 'link' : base_url + url_for('.obra',slug=slug), 'descricao' : Markup(obra['content']).striptags(), 'monitore_url': base_url + url_for('.index'), 'siteurl': base_url, } sendmail( current_app.config['SEGUIROBRA_SUBJECT'] % _dados_email, emailto, current_app.config['SEGUIROBRA_MSG'] % _dados_email ) return dumps({'status':'ok'}) else: return dumps({'status':'error'})
def newlink(): try: link = LinkColaborativo() link.nome = request.form["nome"] link.email = request.form["email"] link.link = request.form["link"] link.site = request.form["nomedosite"] link.imagem = request.form["linkimagem"] link.clicks = 0 dbsession.add(link) dbsession.commit() r = jsonify({"status": 0, "msg": "Obrigado pela sua contribuição!"}) r.set_cookie("cobertura_nome", request.form["nome"]) r.set_cookie("cobertura_email", request.form["email"]) return r except IntegrityError as i: print "TENTOU SALVAR UM LINK QUE JÁ EXISTE" return jsonify({"status": 1, "msg": "Este link já foi divulgado em nosso site"}) except Exception as e: print "ERRO AO SALVAR NOVO LINK COLABORATIVO" print e return jsonify( { "status": -1, "msg": "Ocorreu um erro ao processar o seu envio. Tente novamente ou avise os administradores.", } )
def profile_passwd_json(): """Update the user password""" form = ChangePasswordForm() if form.validate_on_submit(): user = authapi.authenticated_user() user.set_password(form.password.data) dbsession.commit() # return msg.ok({ # 'data': _('Password updated successful'), # 'csrf': form.csrf.data, # }) flash(_(u'Password updated successful'), 'alert-success') return redirect(url_for('.profile')) else: # This field is special, it must be validated before anything. If it # doesn't work, the action must be aborted. # if not form.csrf_is_valid: # flash(_(u'Invalid csrf token'), 'alert-error') # return msg.error(_('Invalid csrf token'), 'InvalidCsrfToken') # Usual validation error # return utils.format_csrf_error(form, form.errors, 'ValidationError') for fd in form: if fd.errors: for er in fd.errors: flash(er, 'alert-error') return redirect(url_for('.profile'))
def deseguir(obraid): obra = fromcache("obra-" + obraid) or tocache("obra-" + obraid, _get_obras(obraid=obraid)[0]) if not obra: print "Não achou a obra!" return abort(404) slug = obra['slug'] if request.form: if request.form.has_key('faceid'): has = UserFollow.query.filter_by(obra_id=obraid, facebook_id=request.form['faceid']) if has.count() > 0: for f in has: has.delete() if request.form.has_key('twitterid'): has = UserFollow.query.filter_by(obra_id=obraid, twitter_id=request.form['twitterid']) if has.count() > 0: for f in has: has.delete() if request.form.has_key('email'): has = UserFollow.query.filter_by(obra_id=obraid, email=request.form['email']) if has.count() > 0: for f in has: has.delete() dbsession.commit() return dumps({'status':'ok', 'msg':u'Suas opções foram removidas. Obrigado por participar!'}) else: return dumps({'status':'error'})
def create_user(name, username, password, email, meta=None, receive_sms=False, receive_email=False): """Create a new user in the database""" # There will be one and only one user with a given username if User.query.filter_by(username=username, user_activation_key="").count(): raise UserExists() if User.query.filter_by(username=username).count(): raise UserExistsUnconfirmed() if User.query.filter_by(email=email).count(): raise EmailAddressExists() # Creating an user instance and getting its id by commiting the # chage to the database print "CREATING USER", username, password activation_key = md5(username + password).hexdigest() user = User( name=name, username=username, password=password, email=email, receive_sms=receive_sms, receive_email=receive_email, user_activation_key=activation_key) dbsession.commit() # Time to save all meta attributes that we received for key, value in (meta or {}).items(): user.set_meta(key, value) dbsession.commit() return user
def contrib_json(): """Receives a user contribution and saves to the database This function will return a JSON format with the result of the operation. That can be successful or an error, if it finds any problem in data received or the lack of the authentication. """ if not auth.is_authenticated(): return msg.error(_(u'User not authenticated')) raise Exception('Not funny') form = ContribForm(csrf_enabled=False) if form.validate_on_submit(): Contrib(title=form.data['title'].encode('utf-8'), content=form.data['content'].encode('utf-8'), theme=form.data['theme'], user=auth.authenticated_user()) session.commit() # Returning the csrf data = {'data': _('Contribution received successful')} data.update({'csrf': form.csrf.data}) return msg.ok(data) else: return format_csrf_error(form, form.errors, 'ValidationError')
def cadastrar_comite(): if request.method == 'POST': nome = request.form['nome'] email = request.form['email'] telefone = request.form['telefone'] cidade = request.form['cidade'] cn = CadastroComite() cn.nome = unicode(nome) cn.email = unicode(email) cn.telefone = unicode(telefone) cn.cidade = unicode(cidade) dbsession.commit() # #Envia o email avisando que chegou uma nova contribuição # sendmail( # conf.COMITE_SUBJECT, conf.COMITE_TO_EMAIL, # conf.COMITE_MSG % { # 'titulo': titulo, # 'noticia': noticia, # } # ) return msg.ok(_(u'Thank you. Your contribution was successfuly sent.')) else: return msg.error(_(u'Method not allowed'))
def contrib_json(): """Receives a user contribution and saves to the database This function will return a JSON format with the result of the operation. That can be successful or an error, if it finds any problem in data received or the lack of the authentication. """ if not auth.is_authenticated(): return msg.error(_(u'User not authenticated')) raise Exception('Not funny') form = ContribForm(csrf_enabled=False) if form.validate_on_submit(): Contrib( title=form.data['title'].encode('utf-8'), content=form.data['content'].encode('utf-8'), theme=form.data['theme'], user=auth.authenticated_user()) session.commit() # Returning the csrf data = { 'data': _('Contribution received successful') } data.update({ 'csrf': form.csrf.data }) return msg.ok(data) else: return format_csrf_error(form, form.errors, 'ValidationError')
def av(): """Metodo que conta os clicks em cada link colaborativo""" id = request.form['i'] link = LinkColaborativo.get(id) link.clicks = link.clicks + 1 dbsession.add(link) dbsession.commit() return ""
def av(): """Metodo que conta os clicks em cada link colaborativo""" id = request.form["i"] link = LinkColaborativo.get(id) link.clicks = link.clicks + 1 dbsession.add(link) dbsession.commit() return ""
def inscrever(): resp = {'status': 0, 'msg': 'Obrigado pela sua inscrição'} try: if not request.form['nome'] or not request.form['email']: resp['status'] = 2 resp['msg'] = 'É necessário preencher o Nome e o Email' else: insc = InscricaoSeminario() insc.nome = request.form['nome'] insc.email = request.form['email'] insc.telefone = request.form['telefone'] insc.twitter = request.form['twitter'] insc.facebook = request.form['facebook'] insc.site = request.form['site'] if 'colaborativa' in request.form: insc.colaborativa = True modo = [] if 'foto' in request.form: modo.append("foto") if 'video' in request.form: modo.append("video") if 'texto' in request.form: modo.append("texto") insc.colaborativa_modo = ",".join(modo) print "adding..." try: dbsession.add(insc) except Exception as d: print d pass print "commititng..." dbsession.commit() try: sendmail( conf.SEMINARIO_SUBJECT % {'nome': request.form['nome']}, request.form['email'], conf.SEMINARIO_MSG) except Exception as e: print e print "Erro ao enviar email para", request.form['email'] pass except IntegrityError as i: resp[ 'msg'] = "Este email informado já está cadastrado em nossa base de dados." resp['status'] = 1 dbsession.rollback() except Exception as e: print e resp[ 'msg'] = "Ocorreu algum problema ao efetuar sua insrição. Tente novamente logo mais ou fale com os organizadores." resp['status'] = -1 dbsession.rollback() return jsonify(resp)
def inscrever(): resp = {"status": 0, "msg": "Obrigado pela sua inscrição"} try: if not request.form["nome"] or not request.form["email"]: resp["status"] = 2 resp["msg"] = "É necessário preencher o Nome e o Email" else: insc = InscricaoSeminario() insc.nome = request.form["nome"] insc.email = request.form["email"] insc.telefone = request.form["telefone"] insc.twitter = request.form["twitter"] insc.facebook = request.form["facebook"] insc.site = request.form["site"] if "colaborativa" in request.form: insc.colaborativa = True modo = [] if "foto" in request.form: modo.append("foto") if "video" in request.form: modo.append("video") if "texto" in request.form: modo.append("texto") insc.colaborativa_modo = ",".join(modo) print "adding..." try: dbsession.add(insc) except Exception as d: print d pass print "commititng..." dbsession.commit() try: sendmail( conf.SEMINARIO_SUBJECT % {"nome": request.form["nome"]}, request.form["email"], conf.SEMINARIO_MSG ) except Exception as e: print e print "Erro ao enviar email para", request.form["email"] pass except IntegrityError as i: resp["msg"] = "Este email informado já está cadastrado em nossa base de dados." resp["status"] = 1 dbsession.rollback() except Exception as e: print e resp[ "msg" ] = "Ocorreu algum problema ao efetuar sua insrição. Tente novamente logo mais ou fale com os organizadores." resp["status"] = -1 dbsession.rollback() return jsonify(resp)
def id(): resp = {'status': 0} # try: id_link = int(request.form['idd']) link = LinkColaborativo.get(id_link) dbsession.delete(link) dbsession.commit() # except: # resp['status'] = -1 return jsonify(resp)
def id(): resp = {"status": 0} # try: id_link = int(request.form["idd"]) link = LinkColaborativo.get(id_link) dbsession.delete(link) dbsession.commit() # except: # resp['status'] = -1 return jsonify(resp)
def batch(): """Batch processing a list of buzz notices""" action = request.form['action'] notices = Buzz.query.filter(Buzz.id.in_(request.form.getlist('notice'))) { 'accept': lambda: [setattr(i, 'status', u'approved') for i in notices], 'remove': lambda: [i.delete() for i in notices], 'suggest': lambda: [setattr(i, 'status', u'selected') for i in notices], 'publish': lambda: [setattr(i, 'status', u'published') for i in notices], }[action]() session.commit() return msg.ok('Notices processed: %s' % action)
def seguir(obraid): emailto = "" obra = fromcache("obra-" + obraid) or tocache("obra-" + obraid, _get_obras(obraid=obraid)[0]) if not obra: print "Não achou a obra!" return abort(404) slug = obra['slug'] if request.form: follow = UserFollow() if authapi.is_authenticated(): follow.user = authapi.authenticated_user() emailto = follow.user.email follow.obra_id = int(obraid) if request.form.has_key('faceid'): follow.facebook_id = request.form['faceid'] if request.form.has_key('twitterid'): follow.twitter_id = request.form['twitterid'] if request.form.has_key('email'): follow.email = request.form['email'] emailto = follow.email dbsession.commit() if emailto: base_url = current_app.config['BASE_URL'] base_url = base_url if base_url[-1:] != '/' else base_url[:-1] #corta a barra final _dados_email = { 'titulo': obra['title'], 'link' : base_url + url_for('.obra',slug=slug), 'descricao' : Markup(obra['content']).striptags(), 'monitore_url': base_url + url_for('.index'), 'siteurl': base_url, } sendmail( current_app.config['SEGUIROBRA_SUBJECT'] % _dados_email, emailto, current_app.config['SEGUIROBRA_MSG'] % _dados_email ) return dumps({'status':'ok'}) else: return dumps({'status':'error'})
def seguir(obraid): emailto = "" obra = fromcache("obra-" + obraid) or tocache("obra-" + obraid, _get_obras(obraid=obraid)[0]) if not obra: print "Não achou a obra!" return abort(404) slug = obra['slug'] if request.form: follow = UserFollow() if authapi.is_authenticated(): follow.user = authapi.authenticated_user() emailto = follow.user.email follow.obra_id = int(obraid) if request.form.has_key('faceid'): follow.facebook_id = request.form['faceid'] if request.form.has_key('twitterid'): follow.twitter_id = request.form['twitterid'] if request.form.has_key('email'): follow.email = request.form['email'] emailto = follow.email dbsession.commit() if emailto: base_url = current_app.config['BASE_URL'] base_url = base_url if base_url[ -1:] != '/' else base_url[:-1] #corta a barra final _dados_email = { 'titulo': obra['title'], 'link': base_url + url_for('.obra', slug=slug), 'descricao': Markup(obra['content']).striptags(), 'monitore_url': base_url + url_for('.index'), 'siteurl': base_url, } sendmail(current_app.config['SEGUIROBRA_SUBJECT'] % _dados_email, emailto, current_app.config['SEGUIROBRA_MSG'] % _dados_email) return dumps({'status': 'ok'}) else: return dumps({'status': 'error'})
def publish_buzz(bid): """publish messages""" buzz = Buzz.query.get(bid) buzz.status = u'published' buzz.date_published = datetime.now() if(objurlConta > 1): avatar = buzz.owner_avatar or "/static/img/avatar.png" query = json.dumps({"type": "published", "id": str(bid), "author": str(buzz.owner_nick), "avatar": str(avatar), "content": str(buzz.content), "authortype": str(buzz.type_) }, ensure_ascii=False ) url = objurl+"/buzz/pub?id="+str(buzz.audience_id) f = urllib.urlopen(url, query) f.close() session.commit() return msg.ok('Buzz published')
def accept_buzz(bid): """Approve messages to appear in the main buzz area""" buzz = Buzz.query.get(bid) buzz.status = u'approved' if(objurlConta > 1): avatar = buzz.owner_avatar or "/static/img/avatar.png" query = json.dumps({"type": "moderated", "id": str(bid), "author": str(buzz.owner_nick), "avatar": str(avatar), "content": buzz.content.encode('utf8'), "authortype": str(buzz.type_) }, ensure_ascii=False ) url = objurl+"/buzz/pub?id="+str(buzz.audience_id) f = urllib.urlopen(url, query) f.close() session.commit() return msg.ok('Buzz accepted')
def remember_password(): """An HTTP view that answers requests for a new password""" try: user = User.query.filter_by(email=request.values['email']).one() new_pass = utils.generate_random_password() if utils.send_password(request.values['email'], new_pass): user.set_password(new_pass) dbsession.commit() else: dbsession.rollback() raise Exception('Unable to send the email') except NoResultFound: flash( _(u'E-mail not found in the database'), 'alert-error' ) except Exception, exc: flash( _(u'There was an error sending the e-mail'), 'alert-error' )
def post(): """When ready, this method will post contributions from users that choosen to use our internal message service instead of twitter, identica or whatever.""" audience = request.values.get('aid') newbuzz = Buzz(owner_nick=auth.authenticated_user().display_name, owner_avatar=u'', user=auth.authenticated_user(), content=request.values.get('message')[:300], type_=get_or_create(BuzzType, name=u'site')[0]) newbuzz.audience_id = audience session.commit() return msg.ok( _('Notice posted successfuly. Please wait a few while ' 'your message is approved.'))
def post(): """When ready, this method will post contributions from users that choosen to use our internal message service instead of twitter, identica or whatever.""" audience = request.values.get('aid') newbuzz = Buzz( owner_nick=auth.authenticated_user().display_name, owner_avatar=u'', user=auth.authenticated_user(), content=request.values.get('message')[:300], type_=get_or_create(BuzzType, name=u'site')[0]) newbuzz.audience_id = audience session.commit() return msg.ok(_('Notice posted successfuly. Please wait a few while ' 'your message is approved.'))
def opcaoRefPolitica(): if request.form: reg = VotosReforma() if request.form['hdnquestao1'] == '1': reg.opcao1 = 1 elif request.form['hdnquestao1'] == '2': reg.opcao2 = 1 dbsession.add(reg) dbsession.commit() r = {'status':'ok'} else: r = {'status':'ok','msg':'Data not sent'} resp = make_response( jsonify(r), 200) resp.set_cookie('reforma_voted', request.form['hdnquestao1']) return resp
def opcaoRefPolitica(): if request.form: reg = VotosReforma() if request.form['hdnquestao1'] == '1': reg.opcao1 = 1 elif request.form['hdnquestao1'] == '2': reg.opcao2 = 1 dbsession.add(reg) dbsession.commit() r = {'status': 'ok'} else: r = {'status': 'ok', 'msg': 'Data not sent'} resp = make_response(jsonify(r), 200) resp.set_cookie('reforma_voted', request.form['hdnquestao1']) return resp
def salvar_noticia_comite(): if request.method == 'POST': titulo = request.form['titulo'] noticia = request.form['noticia'] cn = ComiteNews() cn.title = unicode(titulo) cn.content = unicode(noticia) cn.user = authenticated_user() dbsession.commit() #Envia o email avisando que chegou uma nova contribuição sendmail(conf.COMITE_SUBJECT, conf.COMITE_TO_EMAIL, conf.COMITE_MSG % { 'titulo': titulo, 'noticia': noticia, }) return msg.ok(_(u'Thank you. Your contribution was successfuly sent.')) else: return msg.error(_(u'Method not allowed'))
def run(self): """Starts a social network crawler """ while self.alive: audience = Audience.query.get(self.aid) profiles, hashtags = [], [] for i in audience.terms: term = str(i) if term.startswith('@'): profiles.append(term) else: hashtags.append(term) try: for buzz in self.job(profiles, hashtags).process(): buzz.audience = audience audience.buzzes.append(buzz) session.commit() except KeyboardInterrupt: self.alive = False
def salvar_noticia_comite(): if request.method == 'POST': titulo = request.form['titulo'] noticia = request.form['noticia'] cn = ComiteNews() cn.title = unicode(titulo) cn.content = unicode(noticia) cn.user = authenticated_user() dbsession.commit() #Envia o email avisando que chegou uma nova contribuição sendmail( conf.COMITE_SUBJECT, conf.COMITE_TO_EMAIL, conf.COMITE_MSG % { 'titulo': titulo, 'noticia': noticia, } ) return msg.ok(_(u'Thank you. Your contribution was successfuly sent.')) else: return msg.error(_(u'Method not allowed'))
def confirm_signup(key): try: user = User.query.filter_by(user_activation_key=key).one() user.user_activation_key = '' dbsession.commit() #Efetua o login do camarada e manda para preencher o resto dos dados username = user.username print " ==== CONFIRMADO USUARIO:", username, "====" session['byconfirm'] = username # if username: # try: # authapi.login(username, None, bypass_pwverify=True) # except authapi.UserNotFound: # flash(_(u'Wrong user or password'), 'alert-error') # except authapi.UserAndPasswordMissmatch: # flash(_(u'Wrong user or password'), 'alert-error') except NoResultFound: return redirect(url_for('.index')) return redirect(url_for('auth.signup_continuation'))
def confirm_signup(key): try: user = User.query.filter_by(user_activation_key=key).one() user.user_activation_key = '' dbsession.commit() #Efetua o login do camarada e manda para preencher o resto dos dados username = user.username print " ==== CONFIRMADO USUARIO:", username, "====" session['byconfirm'] = username # if username: # try: # authapi.login(username, None, bypass_pwverify=True) # except authapi.UserNotFound: # flash(_(u'Wrong user or password'), 'alert-error') # except authapi.UserAndPasswordMissmatch: # flash(_(u'Wrong user or password'), 'alert-error') except NoResultFound: return redirect(url_for('.index')) return redirect( url_for('auth.signup_continuation') )
def accept_buzz(bid): """Approve messages to appear in the main buzz area""" buzz = Buzz.query.get(bid) buzz.status = u'approved' if (objurlConta > 1): avatar = buzz.owner_avatar or "/static/img/avatar.png" query = json.dumps( { "type": "moderated", "id": str(bid), "author": str(buzz.owner_nick), "avatar": str(avatar), "content": buzz.content.encode('utf8'), "authortype": str(buzz.type_) }, ensure_ascii=False) url = objurl + "/buzz/pub?id=" + str(buzz.audience_id) f = urllib.urlopen(url, query) f.close() session.commit() return msg.ok('Buzz accepted')
def publish_buzz(bid): """publish messages""" buzz = Buzz.query.get(bid) buzz.status = u'published' buzz.date_published = datetime.now() if (objurlConta > 1): avatar = buzz.owner_avatar or "/static/img/avatar.png" query = json.dumps( { "type": "published", "id": str(bid), "author": str(buzz.owner_nick), "avatar": str(avatar), "content": str(buzz.content), "authortype": str(buzz.type_) }, ensure_ascii=False) url = objurl + "/buzz/pub?id=" + str(buzz.audience_id) f = urllib.urlopen(url, query) f.close() session.commit() return msg.ok('Buzz published')
def select_buzz(bid): """suggest messages to publish""" buzz = Buzz.query.get(bid) buzz.status = u'selected' session.commit() return msg.ok('Buzz selected')
def dont_publish_buzz(bid): """not publish messages""" buzz = Buzz.query.get(bid) buzz.status = u'approved' session.commit() return msg.ok('Buzz unpublished')
def contribui(slug): obra = fromcache("obra-" + slug) or tocache("obra-" + slug, _get_obras(slug)[0]) if not obra: return abort(404) r = {'status': 'ok', 'message': 'Sua contibuição foi aceita com sucesso'} user_recent = False if not authapi.is_authenticated(): # r = {'status':'not_logged'} """ Se não está autenticado, tenta achar o usuário pelo email, e acessar com a senha inserida no formulario. Se não, cadastra o camarada, com o nome e email informados, gerando uma senha para ele e enviando o email de boas vindas. """ email = request.form['email'] if request.form['senha']: #Informou a senha do cadastro já existente # username = email # senha = request.form['senha'] #Efetua o login print "Usuario e senha informado... logando!" username = request.values.get('email') senha = request.values.get('senha') print "tentando logar com", username, senha try: user = authapi.login(username, senha) r = { 'status': 'ok', 'message': 'Sua contibuição foi aceita com sucesso', 'refresh': True } except authapi.UserNotFound: r = {'status': 'nok', 'message': _(u'Wrong user or password')} return dumps(r) except authapi.UserAndPasswordMissmatch: r = {'status': 'nok', 'message': _(u'Wrong user or password')} return dumps(r) elif request.form['nome']: print "Nome informado... cadastrando..." #Informou a senha para cadastro nome = request.form['nome'] telefone = request.form[ 'telefone'] if 'telefone' in request.form else "" novasenha = request.form[ 'newPassword'] if 'newPassword' in request.form else "" if not novasenha: # novasenha = "gabinetedigital" novasenha = ''.join( random.choice(string.printable) for x in range(8)) # print nome, '-', email, '-', novasenha try: user = authapi.create_user(nome, email, unicode(novasenha), email) r = { 'status': 'ok', 'message': 'Sua contibuição foi aceita com sucesso. Verifique seu email para confirmar o cadastro.' } user_recent = True send_welcome_email(user) send_password(user.email, novasenha) except authapi.UserExistsUnconfirmed, e: r = { 'status': 'nok', 'message': u'Seu usuário precisa ser confirmado, veja seu email!' } return dumps(r) if telefone: user.set_meta('phone', telefone) dbsession.commit() else: r = { 'status': 'nok', 'message': u'É necessário informar uma senha ou dados para cadastro.' }
def signup(): """Renders the signup form""" if authapi.is_authenticated(): return redirect(url_for('.profile')) # default_data=None ret_code = -1 form = social(SignupForm) print "CADASTRANDO" #form = SignupForm() fromsocial = request.cookies.get('connect_type') in ('social_f','social_t') form.social = fromsocial print "VALIDANDO" if request.method == 'POST' and form.validate_on_submit(): print "VALIDADO!" try: meta = form.meta dget = meta.pop if fromsocial: print "\nsenha fromsocial" password = "" else: password = dget('password') print "\nsenha", password # Finally, it's time to create the user email = dget('email') username = email if request.cookies.get('connect_type') == 'social_t': username = session['tmp_twitter_id'] # if request.cookies.get('connect_type') == 'social_f': # username = dget('fbid') # print "FACEBOOK ID =", username user = authapi.create_user( dget('name'), username, password, email, form.meta, dget('receive_sms'), dget('receive_email') ) if fromsocial: if request.cookies.get('connect_type') == 'social_t': user.set_meta('twitter', session['tmp_twitter_id']) user.set_meta('twitteruser', True) dbsession.commit() if request.cookies.get('connect_type') == 'social_f': user.set_meta('facebookuser', True) dbsession.commit() utils.send_welcome_email(user) flash(_(u'Your user was registered with successful!'), 'alert-success') ret_code = 0 except authapi.UserExists: flash( _(u'User already exists'), 'alert-error') ret_code = 1 except authapi.UserExistsUnconfirmed: flash( _(u'User already exists, but need confirmation'), 'alert-error') ret_code = 4 except authapi.EmailAddressExists: flash(_(u'The email address informed is being used by another person'), 'alert-error') ret_code = 2 else: if request.method == 'POST' : print form.errors # for errorMessages, fieldName in enumerate(form.errors): # print errorMessages, fieldName # for err in errorMessages: # # do something with your errorMessages for fieldName # flash( "%s - %s" % (fieldName,err),'alert-error') flash(_(u'Correct the validation errors and resend'),'alert-error') ret_code = 3 tos = fromcache('tossigin') or tocache('tossigin',wordpress.getPageByPath('tos')) rm = fromcache('moresigin') or tocache('moresigin',wordpress.getPageByPath('signup-read-more')) menus = fromcache('menuprincipal') or tocache('menuprincipal', wordpress.exapi.getMenuItens(menu_slug='menu-principal') ) try: twitter_hash_cabecalho = utils.twitts() except KeyError: twitter_hash_cabecalho = "" return render_template( 'signup.html', form=form, readmore=rm,tos=tos, menu=menus, twitter_hash_cabecalho=twitter_hash_cabecalho, ret_code=ret_code )
def contribui(slug): obra = fromcache("obra-" + slug) or tocache("obra-" + slug, _get_obras(slug)[0]) if not obra: return abort(404) r = {'status':'ok', 'message':'Sua contibuição foi aceita com sucesso'} user_recent = False if not authapi.is_authenticated(): # r = {'status':'not_logged'} """ Se não está autenticado, tenta achar o usuário pelo email, e acessar com a senha inserida no formulario. Se não, cadastra o camarada, com o nome e email informados, gerando uma senha para ele e enviando o email de boas vindas. """ email = request.form['email'] if request.form['senha']: #Informou a senha do cadastro já existente # username = email # senha = request.form['senha'] #Efetua o login print "Usuario e senha informado... logando!" username = request.values.get('email') senha = request.values.get('senha') print "tentando logar com", username, senha try: user = authapi.login(username, senha) r = {'status':'ok', 'message':'Sua contibuição foi aceita com sucesso', 'refresh': True} except authapi.UserNotFound: r = {'status':'nok', 'message':_(u'Wrong user or password')} return dumps(r) except authapi.UserAndPasswordMissmatch: r = {'status':'nok', 'message':_(u'Wrong user or password')} return dumps(r) elif request.form['nome']: print "Nome informado... cadastrando..." #Informou a senha para cadastro nome = request.form['nome'] telefone = request.form['telefone'] if 'telefone' in request.form else "" novasenha = request.form['newPassword'] if 'newPassword' in request.form else "" if not novasenha: # novasenha = "gabinetedigital" novasenha = ''.join(random.choice(string.printable) for x in range(8)) # print nome, '-', email, '-', novasenha try: user = authapi.create_user(nome, email, unicode(novasenha), email) r = {'status':'ok', 'message':'Sua contibuição foi aceita com sucesso. Verifique seu email para confirmar o cadastro.'} user_recent = True send_welcome_email(user) send_password(user.email, novasenha) except authapi.UserExistsUnconfirmed, e: r = {'status':'nok', 'message':u'Seu usuário precisa ser confirmado, veja seu email!'} return dumps(r) if telefone: user.set_meta('phone', telefone) dbsession.commit() else: r = {'status':'nok', 'message':u'É necessário informar uma senha ou dados para cadastro.'}
def signup(): """Renders the signup form""" if authapi.is_authenticated(): return redirect(url_for('.profile')) # default_data=None ret_code = -1 form = social(SignupForm) print "CADASTRANDO" #form = SignupForm() fromsocial = request.cookies.get('connect_type') in ('social_f','social_t') form.social = fromsocial print "VALIDANDO" if request.method == 'POST' and form.validate_on_submit(): print "VALIDADO!" try: meta = form.meta dget = meta.pop if fromsocial: print "\nsenha fromsocial" password = "" else: password = dget('password') print "\nsenha", password # Finally, it's time to create the user email = dget('email') username = email if request.cookies.get('connect_type') == 'social_t': username = session['tmp_twitter_id'] # if request.cookies.get('connect_type') == 'social_f': # username = dget('fbid') # print "FACEBOOK ID =", username user = authapi.create_user( dget('name'), username, password, email, form.meta, dget('receive_sms'), dget('receive_email') ) if fromsocial: if request.cookies.get('connect_type') == 'social_t': user.set_meta('twitter', session['tmp_twitter_id']) user.set_meta('twitteruser', True) dbsession.commit() if request.cookies.get('connect_type') == 'social_f': user.set_meta('facebookuser', True) dbsession.commit() utils.send_welcome_email(user) flash(_(u'Your user was registered with successful!'), 'alert-success') ret_code = 0 except authapi.UserExists: flash( _(u'User already exists'), 'alert-error') ret_code = 1 except authapi.UserExistsUnconfirmed: flash( _(u'User already exists, but need confirmation'), 'alert-error') ret_code = 4 except authapi.EmailAddressExists: flash(_(u'The email address informed is being used by another person'), 'alert-error') ret_code = 2 else: if request.method == 'POST' : print form.errors # for errorMessages, fieldName in enumerate(form.errors): # print errorMessages, fieldName # for err in errorMessages: # # do something with your errorMessages for fieldName # flash( "%s - %s" % (fieldName,err),'alert-error') flash(_(u'Correct the validation errors and resend'),'alert-error') ret_code = 3 tos = fromcache('tossigin') or tocache('tossigin',wordpress.getPageByPath('tos')) rm = fromcache('moresigin') or tocache('moresigin',wordpress.getPageByPath('signup-read-more')) menus = fromcache('menuprincipal') or tocache('menuprincipal', wordpress.exapi.getMenuItens(menu_slug='menu-principal') ) try: twitter_hash_cabecalho = utils.twitts() except KeyError: twitter_hash_cabecalho = "" return render_template( 'signup.html', form=form, readmore=rm,tos=tos, menu=menus, twitter_hash_cabecalho=twitter_hash_cabecalho, sidebar=wordpress.getSidebar, ret_code=ret_code )
# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. from gd.model import Contrib, session erros = 0 bugados = [] for i in range(1, 1000): try: contrib = Contrib.get(i) if contrib is not None: print contrib.id contrib.title = contrib.title.decode('utf-8') contrib.content = contrib.content.decode('utf-8') session.commit() except Exception, exc: session.rollback() erros += 1 bugados.append({'id': i, 'exception': exc}) print( 'Foram encontrados %d erros, provavelmente esses objetos ' 'já são unicode') % (erros) print 'Seguem os erros: %s' % (', '.join([str(x['id']) for x in bugados]))
# (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. from gd.model import Contrib, session erros = 0 bugados = [] for i in range(1, 1000): try: contrib = Contrib.get(i) if contrib is not None: print contrib.id contrib.title = contrib.title.decode('utf-8') contrib.content = contrib.content.decode('utf-8') session.commit() except Exception, exc: session.rollback() erros += 1 bugados.append({ 'id': i, 'exception': exc }) print ('Foram encontrados %d erros, provavelmente esses objetos ' 'já são unicode') % (erros) print 'Seguem os erros: %s' % (', '.join([str(x['id']) for x in bugados]))