def route_delete_question(question_id):
    if data_manager.question_belongs_to_user(session.get('username'),
                                             question_id):
        data_manager.delete_question(question_id)
        return redirect(url_for('route_index'))
    return redirect(
        url_for('display_question_and_answers', question_id=question_id))
示例#2
0
def delete_question(question_id):
    if request.method == "GET":
        answers_id = data_manager.find_answer_id_by_question_id(question_id)
        for id in answers_id:
            data_manager.delete_answer(id['id'])
        data_manager.delete_question(question_id)
        return redirect("/list")
示例#3
0
def delete_question(question_id):
    if request.method == 'POST':
        image = data_manager.get_display_question(question_id)['image']
        if os.path.exists(image):
            os.remove(image)
        data_manager.delete_question(question_id)
    return redirect('/list')
示例#4
0
def delete_question(question_id=None):
    if 'username' in session:
        user = escape(session['username'])
        data_manager.delete_question(question_id, user)
        return redirect('/')
    else:
        return redirect(f'/question/{question_id}')
示例#5
0
def delete_question(question_id):
    user_id = data_manager.get_user_id_by_activity('question', question_id)
    if session.get(FORM_USERNAME) and session[SESSION_ID] == user_id:
        answer_pictures_paths = data_manager.get_answer_pictures_paths(
            question_id)
        for image in answer_pictures_paths:
            data_manager.delete_answer_image(image['answer_id'])
        util.delete_all_images(answer_pictures_paths)

        question_pictures_paths = data_manager.get_question_pictures_paths(
            question_id)
        data_manager.delete_question_image(question_id)
        util.delete_all_images(question_pictures_paths)

        if data_manager.has_question_comment(question_id) is not None:
            data_manager.delete_comment_for_question(question_id)
        data_manager.delete_question_from_question_tag(question_id)

        data_manager.delete_comment_for_answers_for_question(question_id)
        data_manager.delete_answers_for_question(question_id)

        data_manager.delete_question(question_id)

        return redirect(url_for("question_page"))
    else:
        flash("Delete option is available only for the author!", "rejection")
        return redirect(url_for('display_question', question_id=question_id))
示例#6
0
def delete_question(question_id=None):
    try:
        user_id = data_manager.get_userid_by_username(session['username'])
    except KeyError:
        return redirect('/')
    if user_id == data_manager.get_foreign_key_by_id(
            data_manager.question_db, 'users_id', question_id)[0]['users_id']:
        data_manager.delete_line_by_foreign_id(data_manager.comment_db,
                                               'question_id', question_id)
        filename = 'static/image_for_question' + str(question_id) + '.png'
        if util.check_file(filename):
            util.delete_file(filename)
        answer_ids_to_delete = data_manager.get_ids_by_foreign_id(
            data_manager.answer_db, 'question_id', question_id)
        for answer_id in answer_ids_to_delete:
            data_manager.delete_line_by_foreign_id(data_manager.comment_db,
                                                   'answer_id',
                                                   answer_id['id'])
            filename = 'static/image_for_answer' + str(
                answer_id['id']) + '.png'
            if util.check_file(filename):
                util.delete_file(filename)
        data_manager.delete_answer_by_question_id(question_id)
        data_manager.delete_question(question_id)
    else:
        flash('Invalid user')
    return redirect('/list')
示例#7
0
def delete_question(question_id):
    questions = data_manager.get_questions()
    if data_manager.validation(questions, question_id):
        if request.method == "POST":
            data_manager.delete_question(question_id)
            return redirect(url_for('route_list'))
    else:
        return redirect(url_for('route_main'))
示例#8
0
def delete_question(id):
    id = int(id)

    if request.method == 'POST':
        data_manager.delete_question(id)

        return redirect(url_for('index'))

    else:
        return render_template('delete_question_confirm.html', id=id)
示例#9
0
def delete(question_id, answer_id, comment_id):
    question_id = int(question_id)
    answer_id = int(answer_id)
    comment_id = int(comment_id)
    if question_id != -1 and answer_id == -1 and comment_id == -1:
        data_manager.delete_question(question_id)
        return redirect(url_for('route_question', question_id=question_id))
    if answer_id != -1 and comment_id == -1:
        data_manager.delete_answer(question_id, answer_id)
        return redirect(url_for('route_question', question_id=question_id))
    if comment_id != -1 and answer_id != -1:
        data_manager.delete_answer_comment(answer_id)
        return redirect(url_for('route_question', question_id=question_id))
    if comment_id != -1 and answer_id == -1:
        data_manager.delete_question_comment(question_id, comment_id)
        return redirect(url_for('route_question', question_id=question_id))
    return redirect(url_for('index'))
示例#10
0
def route_question(question_id):
    if 'user_name' in session:
        if request.method == 'GET':
            question = data_manager.get_data('question', question_id)
            answers = data_manager.get_data('answer', question_id=question_id)
            question_comments = data_manager.get_question_comments(question_id)
            answer_comments = data_manager.get_answer_comments(question_id)
            return render_template("question-only.html",
                                   question_id=int(question_id),
                                   question=question,
                                   answers=answers,
                                   question_comments=question_comments,
                                   answer_comments=answer_comments)
        elif request.method == 'POST':
            data_manager.delete_question(question_id)
            return redirect('/list')
    else:
        return redirect('/')
示例#11
0
def q_id(question_id):
    question = data_manager.get_question_by_id(question_id)
    if request.method == 'GET':
        message = question['message']
        title = question['title']
        question_id = question['id']
        answers = data_manager.get_answer_by_question_id(question_id)
        if answers:
            answer_id = answers[0]['id']
        else:
            answer_id = 0
        print(answer_id)
        comments_questions = data_manager.get_question_comments(question_id)
        comments_answers = data_manager.get_answer_comments()
        print(comments_answers)
        return render_template("question_id.html",
                               message=message,
                               title=title,
                               answers=answers,
                               question_id=question_id,
                               comments_questions=comments_questions,
                               comments_answers=comments_answers,
                               answer_id=answer_id)
    elif request.method == 'POST':
        if request.form["btn"] == "Send answer":
            answer = OrderedDict()
            answer['submission_time'] = datetime.now()
            answer['vote_number'] = 0
            answer['question_id'] = question_id
            answer['message'] = request.form.get('comment')
            answer['image'] = None
            data_manager.add_answer(answer)
            return redirect(url_for('get_question_list'))
        elif request.form['btn'] == "Delete question":
            data_manager.delete_question(question_id)
            data_manager.delete_answer(question_id)
            return redirect(url_for('get_question_list'))
        elif request.form['btn'] == "Edit question":
            return redirect(url_for('edit', question_id=question_id))
示例#12
0
def delete_question(num):
    data_manager.delete_question(num)
    return redirect('/list')
示例#13
0
def delete_question(question_id):

    data_manager.delete_question(question_id)
    data_manager.delete_answer_by_question_id(question_id)

    return redirect(url_for("list_questions"))
示例#14
0
def route_delete_question(question_id):
    questions = data_manager.delete_question(question_id)
    return redirect(request.referrer)
示例#15
0
def delete_question(question_id):
    if request.method == "POST":
        data_manager.delete_question(question_id)
        return redirect(url_for('route_list'))
示例#16
0
def delete_question(question_id):
    data_manager.delete_question(question_id)
    return redirect('/')
示例#17
0
def delete_question(question_id):
    data_manager.delete_question(question_id)
    return redirect(url_for('list_all_questions'))
示例#18
0
def delete_question(question_id):
    try:
        dm.delete_question(question_id)
    except ValueError as e:
        print(e)
示例#19
0
def delete_question(question_id):
    try:
        data_manager.delete_question(question_id)  # original
        return redirect('/')
    except (IndexError, UndefinedError):
        abort(404)
示例#20
0
def delete_question(question_id):
    data_manager.delete_answer_by_question_id(question_id)
    data_manager.delete_question(question_id)
    return redirect('/')
示例#21
0
def delete_question(question_id):
    data_manager.delete_question(question_id)
    return redirect(url_for('index'))
示例#22
0
def route_delete_question(question_id):
    dm.delete_question(question_id)
    return redirect(url_for('route_list'))
示例#23
0
def delete_question(question_id):
    user_id = session['id']
    count_question = data_manager.count_for_question_delete(question_id)
    count_answer = data_manager.count_for_delete(question_id)
    data_manager.delete_question(question_id, user_id, count_question[0]['count'], count_answer[0]['count'])
    return redirect("/list")
示例#24
0
def delete_question(question_id: int):
    data_manager.delete_question(question_id)
    return redirect('/list')
示例#25
0
def delete_question(question_id):
    data_manager.delete_question(question_id)
    return redirect(url_for('route_list'))
示例#26
0
def delete_question(_id):
    data_manager.delete_question(_id)
    data_manager.delete_answer_by_question_id(_id)
示例#27
0
def delete_question(question_id):
    data_manager.delete_question(question_id)

    return redirect(url_for("list_question"))