コード例 #1
0
def route_edit_answer(question_id, answer_id):
    global update_views
    update_views = False
    edit_me = True
    answer_id = answer_id.rstrip('}')
    if request.method == 'POST':
        answer_id_conv = int(answer_id)
        question_id_conv = int(question_id)
        message = request.form['message']
        message = util.make_compat_display(message, 'not_textarea')
        data_manager.update_answer(answer_id_conv, message)
        return redirect(url_for('route_question', question_id=question_id_conv))
    elif request.method == 'GET':
        answer_id_conv = int(answer_id)
        question_id_conv = int(question_id)
        answer = data_manager.display_answers(question_id_conv)
        for i in range(len(answer)):
            answer[i] = dict(answer[i])
        print('This is answer after conv', answer)
        for i in range(len(answer)):
            if answer[i]['id'] == answer_id_conv:
                answer_editable = answer[i]
        print('\n', 'This is the editable answer.', answer_editable)
        answer_editable['message'] = util.make_compat_display(answer_editable['message'], 'textarea')
        id_a = answer_editable['id']
        id_q = answer_editable['question_id']
        return render_template('add_answer.html', edit_me=edit_me, answer=answer_editable, id_q=id_q, id_a=id_a)
コード例 #2
0
def route_edit_answer(answer_id):
    question_id = data_manager.get_question_id_by_answer_id(answer_id)
    answer = data_manager.get_answer_by_id(answer_id)
    if request.method == 'POST':
        image = ''

        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))

            image = filename

        values = [answer_id, request.form['message'], image]

        data_manager.update_answer(values)
        return redirect(f'/question/{question_id}')
    else:
        question = data_manager.get_question_by_id(question_id)
        return render_template('answer.html',
                               id=answer_id,
                               question=question,
                               answer=answer)
コード例 #3
0
ファイル: server.py プロジェクト: vrjolke/ask-mate-python
def route_edit_answer(answer_id):
    current_answer = data_manager.get_record_by_id('answer', answer_id)[0]
    current_answer['message'] = current_answer['message'].replace('<br/>', "")
    username = session['username']

    if request.method == 'POST':
        edited_answer = {
            'message': request.form['message'].replace('\n', '<br/>'),
            'image': current_answer['image']
        }

        question_id = int(request.form['question_id'])

        if len(request.files) > 0:
            if request.files['image'].filename != "":
                current_image_name = str(request.files['image'])
                normal_image_name = data_manager.get_back_image_name(
                    current_image_name)
                edited_answer['image'] = normal_image_name

                file = request.files['image']
                filename = secure_filename(file.filename)
                file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))

        data_manager.update_answer(edited_answer, answer_id)
        data_manager.update_view_counter(question_id, -1)
        return redirect(url_for('route_show_question',
                                question_id=question_id))

    return render_template('edit_answer.html',
                           answer=current_answer,
                           username=username,
                           answer_id=answer_id)
コード例 #4
0
ファイル: server.py プロジェクト: Myrelin/wswp-ask-mate-bad
def edit_answer(id):
    if request.method == 'GET':
        answer = data_manager.get_answer_by_id(id)
        return render_template('new_answer.html', answer=answer, edit=True)
    else:
        answer = request.form.to_dict()
        data_manager.update_answer(answer)
        return redirect('question/{}'.format(answer['question_id']))
コード例 #5
0
ファイル: server.py プロジェクト: Skipp-it/Ask_Mate
def A_down_up(answer_id):
    file_data = data_manager.read_answer(answer_id)
    file_data["vote_number"] = str(int(file_data["vote_number"]) - 1)
    data_manager.update_answer(answer_id, file_data)
    question_id = file_data["question_id"]
    question_data = data_manager.read_data('questions', str(question_id))
    question_data["view_number"] = str(int(question_data["view_number"]) - 1)
    data_manager.update_question(question_id, question_data)
    return redirect('/question/' + str(question_id))
コード例 #6
0
ファイル: server.py プロジェクト: pakayb/ask-mate-python
def update_answer(answer_id):
    answer = data_manager.get_answer_by_id(answer_id)
    if request.method == 'GET':
        return render_template('add_answer.html',
                               answer=answer.get('message'),
                               answer_id=answer.get('id'))
    elif request.method == 'POST':
        data_manager.update_answer(request.form.get('message'), answer_id)
        return redirect(
            url_for('question_details', question_id=answer.get('question_id')))
コード例 #7
0
ファイル: server.py プロジェクト: g-gergely/AskMate
def route_edit_answer(num, answer_id):
    if request.method == 'POST':
        update = request.form['message']
        data_manager.update_answer(update, answer_id)
        return redirect('/question/' + num)
    elif request.method == 'GET':
        answer = data_manager.get_this_answer(num, answer_id)
        return render_template("edit-answer.html",
                               answer_id=answer_id,
                               answer=answer,
                               num=num)
コード例 #8
0
ファイル: server.py プロジェクト: balintsimon/ask-mate-python
def edit_answer(answer_id):
    current_answer = data_manager.get_answer_by_answer_id(answer_id)
    question_id = current_answer['question_id']
    if request.method == "POST":
        update_answer = dict(request.form)
        data_manager.update_answer(answer_id, update_answer)
        return redirect(f'/questions/{question_id}')

    return render_template("edit-answer.html",
                           answer_id=answer_id,
                           answer=current_answer)
コード例 #9
0
def edit_answer(question_id, answer_id):
    if request.method == 'POST':
        update = request.form['message']
        data_manager.update_answer(update, answer_id)
        return redirect('/question/' + question_id)
    elif request.method == 'GET':
        answer = data_manager.get_this_answer(question_id, answer_id)
        return render_template('edit_answer.html',
                               answer_id=answer_id,
                               answer=answer,
                               question_id=question_id)
コード例 #10
0
def update_answer(answer):
    message = fv.remove_parentheses(answer['message'])
    message = fv.check_is_not_empty(message)
    if message:
        answer_new = {
            'message': message,
        }
        answer.update(answer_new)
        dm.update_answer(answer)
        return True
    else:
        return False
コード例 #11
0
def edit_answer(answer_id):
    if request.method == 'GET':
        answer = data_manager.get_answer(answer_id)
        return render_template('edit_answer.html',
                               answer_id=answer_id,
                               answer=answer)
    elif request.method == 'POST':
        answer = data_manager.get_answer(answer_id)
        question_id = answer['question_id']
        edited_answer_message = request.form['message'].replace("'", "''")
        data_manager.update_answer(answer_id, edited_answer_message)
        return redirect(url_for('display_question', question_id=question_id))
コード例 #12
0
def route_edit_answer(answer_id):
    question_id = request.form.get('question_id')
    if question_id is not None:
        message = request.form.get('message')
        image = request.form.get('image')
        data_manager.update_answer(message, image, answer_id)
        return redirect(
            url_for('route_question_display', question_id=question_id))
    answer = data_manager.get_record_by_id('answer', answer_id)
    return render_template('add-edit.html',
                           data=answer,
                           id=answer_id,
                           type='answer')
コード例 #13
0
def edit_answer(answer_id):
    if authenticate_user():
        answer = data_manager.get_answer_by_id(answer_id)
        if request.method == "GET":
            return show_question(answer['question_id'],
                                 answer_to_edit=answer_id)
        elif request.method == "POST":
            data = request.form.to_dict()
            data['id'] = answer_id
            data_manager.update_answer(data)
            return redirect(
                url_for("show_question", question_id=answer['question_id']))
    return redirect(url_for('login'))
コード例 #14
0
def route_edit_answer(answer_id):
    question_id = data_manager.find_question_id_for_answer_id(answer_id)
    if request.method == "GET":
        answer = data_manager.find_answer_by_answer_id(answer_id)
        action = "edit_answer"
        return render_template("ask-question.html",
                               question_id=question_id,
                               action=action,
                               answer=answer,
                               answer_id=answer_id)
    if request.method == "POST":
        text = request.form['text']
        data_manager.update_answer(text, answer_id)
        return redirect(url_for('route_question', question_id=question_id))
コード例 #15
0
def route_counter_answer(question_id, response_id, direction):
    answers = data_manager.get_answer_by_id(response_id)
    votes = int(answers['vote_number'])
    votes += 1 if direction == 'up-vote' else -1
    updated_votes = {
        'id': answers['id'],
        "submission_time": answers["submission_time"],
        'vote_number': votes,
        'question_id': answers['question_id'],
        'message': answers['message'],
        'image': answers['image']
    }
    data_manager.update_answer(updated_votes)
    return redirect('/display/' + question_id)
コード例 #16
0
def edit_answer(answer_id):
    if request.method == "POST":
        answer = {
            'id': answer_id,
            'message': request.form['answer'],
            'image': request.form['image']
        }
        data_manager.update_answer(answer, answer_id)
        answer_row = data_manager.get_answer_row(answer_id)
        return redirect(f'/question/{answer_row["question_id"]}')
    answer_row = data_manager.get_answer_row(answer_id)
    return render_template("add_and_edit_answer.html",
                           answer_id=answer_id,
                           answer_row=answer_row)
コード例 #17
0
def edit_answer(answer_id):
    answer_details = data_manager.get_display_answers('id', answer_id)
    if request.method == 'GET':
        return render_template("edit_answer.html", answer=answer_details)
    else:
        new_message = request.form['editbody']
        file = request.files['editimage']
        filename = file.filename
        if filename != '':
            filename = os.path.join('static/', filename)
            file.save(filename)
            image = filename
        else:
            image = answer_details[0]['image']
        data_manager.update_answer(answer_id, new_message, image)
        question_id = str(answer_details[0]['question_id'])
        return redirect('/question/' + question_id)
コード例 #18
0
ファイル: server.py プロジェクト: janiszewskipeter/ask-mate
def add_answer(question_id, answer_id):
    question_id = int(question_id)
    answer_id = int(answer_id)
    if request.method == 'POST':
        answer = request.form['answer']
        if answer_id == -1:
            data_manager.save_answer(answer, question_id)
        else:
            data_manager.update_answer(answer, answer_id)
        return redirect(url_for('route_question', question_id=question_id))

    try:
        answer = data_manager.get_answer_by_id(answer_id)[0]
    except IndexError:
        answer = data_manager.get_answer_by_id(answer_id)
    return render_template('add_answer.html',
                           answer=answer,
                           question_id=question_id,
                           answer_id=answer_id)
コード例 #19
0
def edit_answer(answer_id, question_id):
    if session.get('username') is not None:
        answer_user_id = data_manager.find_userid_by_answerid(answer_id)
        if answer_user_id:
            if session['user_id'] == answer_user_id['user_id'] or session['username'] == 'administrator':
                if request.method == "GET":
                    answer = data_manager.get_answer(answer_id)
                    return render_template("edit-answer.html", answer=answer, question_id=question_id)
                elif request.method == "POST":
                    message=request.form['message']
                    data_manager.update_answer(answer_id, message)
                    return redirect(url_for('question_route', id=question_id))
            else:
                flash("You dont have acces", "no_acces")
                return redirect(url_for('question_route', id=question_id))

    else:
        flash('You must login before using features', 'no_user')
        return redirect(url_for('question_route', id=question_id))
コード例 #20
0
def edit_answer_post(question_id, answer_id):
    edited_answer = dict(request.form)

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

    if len(uploaded_file[0].filename) != 0 or len(
            edited_answer['image_url']) != 0:
        edited_answer['image'] = 1
        data_manager.update_answer(answer_id, edited_answer)
        if len(uploaded_file[0].filename) != 0:
            for file in uploaded_file:
                data_manager.add_answer_image({
                    "answer_id": answer_id,
                    "image": swap_image(file)
                })
        if len(edited_answer['image_url']) != 0:
            data_manager.add_answer_image({
                "answer_id": answer_id,
                "image": edited_answer['image_url']
            })

    else:
        if len(data_manager.get_answer_id_pictures_paths(answer_id)) == 0:
            edited_answer['image'] = 0
            data_manager.update_answer(answer_id, edited_answer)
        else:
            edited_answer['image'] = 1
            data_manager.update_answer(answer_id, edited_answer)

    return redirect(
        url_for("display_question",
                question_id=question_id,
                answer_id=answer_id))
コード例 #21
0
def post_answer(question_id, answer_id=""):
    try:
        user_id = data_manager.get_userid_by_username(session['username'])
    except KeyError:
        return redirect('/')
    if request.path == '/question/' + str(question_id) + '/' + str(
            answer_id) and request.method == 'GET':
        single_question = data_manager.get_line_data_by_id(
            data_manager.question_db, question_id)
        question_title = single_question[0]['title']
        answer = data_manager.get_line_data_by_id(data_manager.answer_db,
                                                  answer_id)[0]
        return render_template('post-answer_head.html',
                               question_title=question_title,
                               answer=answer,
                               answer_id=answer_id,
                               user_id=user_id)

    elif request.path == '/question/' + str(question_id) + '/' + str(
            answer_id) and request.method == 'POST':
        form_answer = request.form['answer_message']
        data_manager.update_answer(answer_id, form_answer)
        return redirect('/question/{}'.format(question_id))
    else:
        if request.method == 'POST':
            user_id = data_manager.get_userid_by_username(
                session.get('username'))
            form_answer = request.form['answer_message']
            data_manager.add_answer(question_id, form_answer, user_id)
            return redirect('/question/{}'.format(question_id))
        else:
            single_question = data_manager.get_line_data_by_id(
                data_manager.question_db, question_id)
            question_title = single_question[0]['title']
            return render_template('post-answer_head.html',
                                   question_title=question_title,
                                   answer_id=answer_id,
                                   user_id=user_id)
コード例 #22
0
def route_edit_answer(question_id, answer_id):
    if request.method == 'GET':
        answer = data_manager.get_answer_by_id(answer_id)
        question = data_manager.get_question_by_id(question_id)
        req_url = url_for('display.route_edit_answer',
                          question_id=question_id,
                          answer_id=answer_id)
        return render_template('post_answer.html',
                               answers=answer,
                               question=question,
                               req_url=req_url)
    else:
        answer = data_manager.get_answer_by_id(answer_id)
        updated_votes = {
            'id': answer['id'],
            "submission_time": answer["submission_time"],
            'vote_number': answer['vote_number'],
            'question_id': answer['question_id'],
            'message': request.form['answer'],
            'image': answer['image']
        }
        data_manager.update_answer(updated_votes)
        return redirect('/display/' + question_id)
コード例 #23
0
def update_answer(answer_id, message):
    return data_manager.update_answer(answer_id, message)
コード例 #24
0
def save_edited_answer():
    edited_message = request.form.to_dict()
    data_manager.update_answer(edited_message)
    edited_answer = data_manager.get_answer_by_id(edited_message["id"])
    url_to_question = url_for("get_question_details", question_id=edited_answer["question_id"])
    return redirect(url_to_question)
コード例 #25
0
ファイル: server.py プロジェクト: Conalau/AskMate
def edit_answer(answer_id):
    message = request.form['message']
    data_manager.update_answer(answer_id, message)
    question_id = data_manager.get_question_id_from_answer_id(answer_id)[0]
    return redirect(
        url_for('display_one_question', question_id=question_id['id']))
コード例 #26
0
def update_answer(answer_id):
    if request.method == 'POST':
        form_dict = dict(request.form)
        form_dict['answer_id'] = answer_id
        dict_from_dm = data_manager.update_answer(answer_dict=form_dict)
        return redirect(url_for('question_details', question_id=dict_from_dm['question_id']))