def ask(user=None): form = AskForm() if request.method == 'POST': # if user and request.remote_addr == SITE_MIRROR.split(":")[1][2:]: # g.user = User.query.get(user) if g.user is None or not g.user.is_authenticated(): flash(gettext('You need to be logged in to ask questions.')) return redirect(url_for('account.login')) # elif user is None and g.user is None: # abort(404) # if user is None: # form_json = {"question": form.question.data, "body": form.body.data, "app": form.app.data, "tags": form.tags.data} # try: # opener = urllib2.urlopen("{0}ask/ask/{1}/".format(SITE_MIRROR,g.user.id),urllib.urlencode(form_json),5) # except: # flash(gettext("The server is not responding. Please try again later.")) # return render_template("ask/ask.html", form = form) timestamp = datetime.utcnow() slug = Question.make_unique_slug(form.question.data) question = Question(question=form.question.data, body=form.body.data, timestamp=timestamp, user=g.user, slug=slug, language=g.locale) if "," in form.tags.data: tags = form.tags.data.split(",") question.str_tags(tags) db.session.add(question) db.session.commit() flash(gettext('Your question has been submitted and is pending approval.')) # if user and request.remote_addr == SITE_MIRROR.split(":")[1][2:]: # return jsonify({"status": "Success"}) # else: return redirect(url_for('about.contact')) return render_template("about/ask/ask.html", page = "ask", form = form)
def ask(user=None): form = AskForm() if request.method == 'POST': if g.user is None or not g.user.is_authenticated(): flash(gettext('You need to be logged in to ask questions.')) return redirect(url_for('account.login')) if form.validate_on_submit(): timestamp = datetime.utcnow() slug = Question.make_unique_slug(form.question.data) from ..utils.profanities_filter import ProfanitiesFilter file_banned_words = open( os.path.join(basedir, "dataviva/static/txt/blacklist.txt")) banned_words = [line.strip() for line in file_banned_words] filter = ProfanitiesFilter(banned_words, replacements='*') _question = filter.clean(str(form.question.data.encode("utf-8"))) _body = filter.clean(str(form.body.data.encode("utf-8"))) _type = filter.clean(str(form.type.data)) question = Question(question=_question, body=_body, timestamp=timestamp, user=g.user, slug=slug, language=g.locale, type_id=_type) if "," in form.tags.data: tags = form.tags.data.split(",") question.str_tags(tags) db.session.add(question) db.session.commit() try: flash( gettext( 'Your message was sent successfully. Thank you for your contribution, it will be helpful to other users and is essential to improving our tool! Our team will contact you by e-mail shortly.' )) send_mail( 'Aviso de nova publicacao no DataViva', [ADMINISTRATOR_EMAIL], render_template('about/ask/ask_feedback.html', question=question)) except BaseException as e: print e # if user and request.remote_addr == SITE_MIRROR.split(":")[1][2:]: # return jsonify({"status": "Success"}) # else: return redirect(url_for('about.contact')) else: return render_template("about/ask/ask.html", page="ask", form=form) return render_template("about/ask/ask.html", page="ask", form=form)
def ask(user=None): form = AskForm() if request.method == 'POST': if g.user is None or not g.user.is_authenticated(): flash(gettext('You need to be logged in to ask questions.')) return redirect(url_for('account.login')) if form.validate_on_submit(): timestamp = datetime.utcnow() slug = Question.make_unique_slug(form.question.data) from ..utils.profanities_filter import ProfanitiesFilter file_banned_words = open(os.path.join(basedir, "dataviva/static/txt/blacklist.txt")) banned_words = [line.strip() for line in file_banned_words] filter = ProfanitiesFilter(banned_words, replacements = '*') _question = filter.clean(str(form.question.data.encode("utf-8"))) _body = filter.clean(str(form.body.data.encode("utf-8"))) _type = filter.clean(str(form.type.data)) question = Question(question=_question, body=_body, timestamp=timestamp, user=g.user, slug=slug, language=g.locale, type_id=_type) if "," in form.tags.data: tags = form.tags.data.split(",") question.str_tags(tags) db.session.add(question) db.session.commit() try: flash(gettext('Your message was sent successfully. Thank you for your contribution, it will be helpful to other users and is essential to improving our tool! Our team will contact you by e-mail shortly.')) send_mail('Aviso de nova publicacao no DataViva', [ADMINISTRATOR_EMAIL], render_template('about/ask/ask_feedback.html', question=question)) except BaseException as e: print e # if user and request.remote_addr == SITE_MIRROR.split(":")[1][2:]: # return jsonify({"status": "Success"}) # else: return redirect(url_for('about.contact')) else: return render_template("about/ask/ask.html", page = "ask", form = form) return render_template("about/ask/ask.html", page = "ask", form = form)