Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)