def add_question_post():
    new_question = dict(request.form)
    new_question['submission_time'] = util.get_current_date_time()
    new_question["view_number"] = 0
    new_question["vote_number"] = 0
    new_question["user_id"] = session[SESSION_ID]

    uploaded_file = request.files.getlist('file')

    if len(uploaded_file[0].filename) != 0 or len(
            new_question['image_url']) != 0:
        new_question['image'] = 1
        question_id = data_manager.add_question(new_question).get('id')
        if len(uploaded_file[0].filename) != 0:
            for file in uploaded_file:
                data_manager.add_question_image({
                    "question_id": question_id,
                    "image": swap_image(file)
                })
        if len(new_question['image_url']) != 0:
            data_manager.add_question_image({
                "question_id": question_id,
                "image": new_question['image_url']
            })

    else:
        new_question['image'] = 0
        question_id = data_manager.add_question(new_question).get('id')

    return redirect(url_for("display_question", question_id=question_id))
Exemple #2
0
def add_edit_question(question_id=None):
    try:
        user_id = data_manager.get_userid_by_username(session['username'])
    except KeyError:
        return redirect('/')
    if question_id and request.method == 'GET' and user_id == data_manager.get_foreign_key_by_id(
            data_manager.question_db, 'users_id',
            question_id)[0]['users_id']:  # edit question
        question = data_manager.get_line_data_by_id(data_manager.question_db,
                                                    question_id)[0]  # edit get
        return render_template('add_questions_head.html',
                               question=question,
                               question_id=question_id,
                               user_id=user_id)

    elif request.method == 'POST' and question_id and user_id == data_manager.get_foreign_key_by_id(
            data_manager.question_db, 'users_id', question_id)[0]['users_id']:
        title = request.form['question_title']  # edit post
        message = request.form['question_message']
        data_manager.update_question(question_id, title, message)
        return redirect('/question/{}'.format(question_id))

    elif request.method == 'GET' and question_id is None:  # add get
        return render_template('add_questions_head.html',
                               question_id=question_id,
                               user_id=user_id)

    elif request.method == 'POST' and question_id is None:  # add post
        user_id = data_manager.get_userid_by_username(session.get('username'))
        data_manager.add_question(request.form['question_title'],
                                  request.form['question'], user_id)
        question_id = data_manager.get_last_question_id()
    else:
        flash('Invalid user')
    return redirect('/question/{}'.format(question_id))
Exemple #3
0
def route_add_question():

    if request.method == 'POST':

        if 'file' not in request.files:
            flash('No file part')
            return redirect(request.url)
        file = request.files['file']
        # if user does not select file, browser also
        # submit a empty part without filename
        if file.filename == '':
            flash('No selected file')
            return redirect(request.url)
        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))

        values = [
            util.get_timestamp(), '0', '0', request.form['title'],
            request.form['message'], filename
        ]

        data_manager.add_question(values)
        return redirect('/')

    else:
        return render_template('add-question.html', id=None, question=None)
Exemple #4
0
def route_add():
    if request.method == "POST":
        question_title = request.form['title']
        question_message = request.form['note']
        submission_time = data_manager.get_time()
        data_manager.add_question(question_title, question_message,
                                  submission_time)
        return redirect('/')
    return render_template('message.html')
Exemple #5
0
def add_question():
    if request.method == 'GET':
        return render_template('add_question.html')
    dt = datetime.now()
    for dict in session['user_id']:
        for key, value in dict.items():
            data_manager.add_question(request.form['title'],
                                      request.form['message'], dt, value)
            return redirect('/')
Exemple #6
0
def add_question():
    page_title = "Ask a QUESTION"
    if request.method == 'POST':
        data = request.form.to_dict()
        data["user_id"] = session["user_id"]
        data_manager.add_question(data)
        return redirect('/')
    else:
        return render_template('form.html', page_title=page_title)
Exemple #7
0
def add_question():
    if request.method == "POST":
        title = request.form["title"]
        message = request.form["message"]
        image = request.form["image"]
        user_id = session.get('id', None)
        data_manager.add_question(title, message, image, user_id)
        return redirect("/list")
    return render_template("add_question.html")
Exemple #8
0
def add_question_route():
    if session.get('username') is not None:
        if request.method == "POST":
            data_manager.add_question(request.form['title'], request.form['message'],session['user_id'])
            return redirect("list")
        return render_template("add-question.html")
    else:
        flash('You must login before using features','no_user')
        return redirect(url_for('index_route'))
def add_question():
    if request.method == 'GET':
        return render_template('form.html', form_type=1)
    if request.method == 'POST':
        title = request.form['title']
        message = request.form['message']
        user_id = session['user_id']
        data_manager.add_question(title, message, user_id)
        return redirect('/')
Exemple #10
0
def add_question():
    if request.method == 'GET':
        return render_template('add_question.html')

    question = {
        'title': request.form['title'],
        'message': request.form['message'],
    }
    data_manager.add_question(question)
    return redirect(url_for('list_all_questions'))
Exemple #11
0
def add_question():
    if request.method == 'POST':
        user_id = data_manager.get_user_id_by_username(session['username'])
        new_question = dict(request.form)
        file_to_upload = request.files['image_file']
        new_question['image'] = save_file(file_to_upload)
        data_manager.add_question(new_question, user_id)
        return redirect('/list')
    questions = data_manager.get_questions()
    return render_template('add-question.html', questions=questions)
Exemple #12
0
def add_question():
    s = session.get('logged_in', False)
    if request.method == 'POST':
        if s is True:
            title = request.form['title']
            message = request.form['message']
            data_manager.add_question(title, message, session['username'])
            return redirect(url_for('homepage'))
        else:
            flash('You are not logged in!', 'danger')
    return render_template('add_question.html', title="Ask new question")
Exemple #13
0
def add_question():
    if request.method == 'POST':
        submission_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        view_number = 0
        vote_number = 0
        title = request.form['title'],
        message = request.form["message"],
        image = request.form['image']
        id_user = session['user_id']
        data_manager.add_question(submission_time, view_number, vote_number,
                                  title, message, image, id_user)
        data_manager.update_users_questions(session['user_id'])
        return redirect('/')
    return render_template('add_new_question.html')
Exemple #14
0
def add_question():
    if request.method == 'POST':
        question = {
            'title': request.form['title'],
            'message': request.form['message'],
            'image': request.form['image'],
            'user_id': session['user_id']
        }
        data_manager.add_question(question)
        return redirect('/')
    if len(session) == 0:
        session_check = False
    else:
        session_check = True
    return render_template('add_question.html', session_check=session_check)
Exemple #15
0
def add_question(question_id):
    question_id = int(question_id)
    if request.method == 'POST':
        title = request.form['question_title']
        message = request.form['question']
        if question_id == -1:
            data_manager.add_question(title, message)
        else:
            data_manager.update_question(title, message, question_id)
        return redirect(url_for('list'))

    question = data_manager.get_question_by_id(question_id)
    return render_template('add_question.html',
                           question_id=question_id,
                           question=question)
Exemple #16
0
def ask_question():
    header = "Ask a question"
    new_question = {}
    action = '/add-question'
    if request.method == "POST":
        new_question["submission_time"] = datetime.now().replace(microsecond=0)
        new_question["view_number"] = "0"
        new_question["vote_number"] = "0"
        new_question["title"] = request.form["title"]
        new_question["message"] = request.form["message"]
        new_question["image"] = "img"
        if 'username' in session:
            new_question["user_name"] = session['username']


# DOCTESTY, TEST DRIVEN DEV
        question_id = data_manager.add_question(new_question.items())
        return redirect(f'/question/{question_id}')

    if 'username' in session:
        return render_template("add-question.html",
                               action=action,
                               header=header,
                               username=session["username"])
    else:
        return render_template("add-question.html",
                               action=action,
                               header=header)
Exemple #17
0
def add_a_question():
    if request.method == "POST":
        new_data = request.form.to_dict()
        new_data['submission_time'] = datetime.now().isoformat(
            timespec='seconds')
        submission_time = new_data['submission_time']
        view_nr = new_data['view_number']
        vote_nr = new_data['vote_number']
        title = new_data['title']
        message = new_data['message']
        image = new_data['image']
        user_name = session['username']

        user_id = data_manager.get_user_id(user_name)

        question_id_dict = data_manager.add_question(submission_time, view_nr,
                                                     vote_nr, title, message,
                                                     image, user_id['user_id'])
        question_id = question_id_dict[0]['id']

        return redirect(url_for('display_question', question_id=question_id))

    return render_template("add_a_question.html",
                           submission_time='default',
                           view_nr='0',
                           vote_nr='5')
Exemple #18
0
def add_question():
    if request.method == 'GET':
        return render_template('add_a_question.html')

    if 'username' in session:
        username = session['username']
        user_id = data_manager.get_user_id_by_name(username)
        site_input = [
            request.form['title'], request.form['message'],
            user_id[0].get('id')
        ]
        data_manager.add_question(site_input)
    else:
        site_input = [request.form['title'], request.form['message'], None]
        data_manager.add_question(site_input)
    return redirect(url_for('show_all_questions'))
Exemple #19
0
def add_question():
    if request.method == "POST":
        user_story_id = data_manager.add_question(
            request.form["question-title"], request.form["new-question"])
        return redirect(url_for('route_question_id',
                                question_id=user_story_id))

    return render_template("newquestion.html")
Exemple #20
0
def route_add_question():
    global update_views
    if request.method == 'POST':
        random_file_name = util.random_string()
        title = request.form['title']
        message = util.make_compat_display(request.form['message'])
        file = request.files['file']
        filename = secure_filename(file.filename)
        if file and data_manager.allowed_file(file.filename):
            # filename = secure_filename(file.filename)
            extension = filename[-4:]
            filename = str(random_file_name) + extension
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
        data_manager.add_question(title, message, filename)

        update_views = False
        return redirect(url_for("route_index"))
    else:
        return render_template('add_question.html')
Exemple #21
0
def submit_question():
    if request.method == 'POST':
        id_ = data_manager.get_new_question_id()
        submission_time = data_manager.convert_time(
            data_manager.get_current_unix_timestamp())
        title = request.form['title']
        message = request.form['message']
        views = 0
        votes = 0
        question_dict = {
            'id': id_,
            'submission_time': submission_time,
            'view_number': views,
            'vote_number': votes,
            'title': title,
            'message': message,
            'image': None
        }
        data_manager.add_question(question_dict)
    return redirect('/question/' + id_)
def route_add_question():
    if 'id' not in session:
        return redirect(url_for('route_main'))
    if request.method == "POST":
        file = [request.form[item] for item in request.form]
        image = request.files["image"]
        if image.filename != "":
            filename = data_manager.get_name_of_image(image.filename)
            print(filename)
            image.save(os.path.join("static", filename))
            file.append(f"/static/{filename}")
        file.append(session['id'])
        data_manager.add_question(file)
        questions = data_manager.get_all_questions_without_limit()
        new_id = 0
        for question in questions:
            if question['id'] > new_id:
                new_id = question['id']
        return redirect(f"/question/{new_id}/question")
    return render_template("ask_question.html")
Exemple #23
0
def add_form():
    """if request.method == 'POST':
        # we update how many times it has been edited
        saved_data['edit_count'] = saved_data.get('edit_count', 0) + 1"""
    if request.method == 'POST':
        new_q_id = data_manager.add_question(
            request.form['title'], request.form['message'],
            data_manager.get_user_id(session['user_name'])[0]['id'])
        return redirect(url_for('question_page', question_id=new_q_id))
    if 'user_name' in session:
        return render_template("add-question.html", email=session['user_name'])
    return redirect(url_for('login'))
Exemple #24
0
def add_question():
    if 'username' in session:
        if request.method == "POST":
            user_id = data_manager.get_user_id_by_username(session['username'])
            user_story_id = data_manager.add_question(
                request.form["question-title"], request.form["new-question"],
                user_id)
            return redirect(
                url_for('route_question_id', question_id=user_story_id))
    else:
        return redirect(url_for('login'))
    return render_template("newquestion.html")
Exemple #25
0
def route_add_question():
    if request.method == 'POST':
        submission_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        view_number = 1
        vote_number = 0
        title = request.form['title']
        message = request.form['message']

        file = request.files['image_file']

        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
        image = file.filename

        data_manager.add_question(submission_time, view_number, vote_number,
                                  title, message, image)
        id_ = data_manager.get_id_of_question_by_time(submission_time)

        return redirect(url_for('route_question', question_id=id_))
    return render_template('add_question.html')
Exemple #26
0
def route_ask_question():
    if request.method == "GET":
        tags = data_manager.read_tags()
        return render_template("ask-question.html", tags=tags)
    else:
        subject = request.form['title']
        text = request.form['text']
        picture_url = request.form['url']
        new_tag = request.form['new_tag']
        # Finds selected tags.
        tag_ids = data_manager.get_list_of_tag_ids()
        selected_tags_list = []
        for tag_id in tag_ids:
            try:
                selected_tags = request.form[str(tag_id)]
                selected_tags_list.append(selected_tags)
            except KeyError:
                continue
        data_manager.add_question(subject, text, picture_url)
        # If new tag not empty, adds it
        if new_tag != '':
            data_manager.add_tag(new_tag)
        data_manager.add_existing_tags_to_new_question(selected_tags_list)
        return redirect(url_for('route_list'))
Exemple #27
0
def add_question():
    if request.method == 'POST':
        message = request.form.get("message")
        title = request.form.get('title')
        image = request.form.get('image')
        view_number = 0
        vote_number = 0
        submission_time = datetime.now()
        try:
            user_id = data_manager.get_user_id(session['username'])
        except KeyError:
            user_id = ''
        question_id = data_manager.add_question(message, title, image,
                                                view_number, vote_number,
                                                submission_time,
                                                user_id)[0]['id']
        return redirect(f'/question/{question_id}')
    return render_template('add_question.html')
Exemple #28
0
def route_add_question():
    if request.method == 'POST':
        data_manager.add_question(request.form)
        return redirect('/list')
    return render_template('form.html')
Exemple #29
0
def route_add2():
    my_new_data = request.form.to_dict()

    data_manager.add_question(my_new_data)
    return redirect('/')