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))
def update_question(question_id): question = data_manager.fetch_dictionary(question_id)[0] if request.method == "POST": data_manager.update_question(question_id) return redirect('/question/' + question_id) return render_template('modify_data_layout/update_question.html', question=question)
def route_edit_question(question_id): current_question = data_manager.get_record_by_id('question', question_id)[0] current_question['message'] = current_question['message'].replace( '<br/>', "") username = session['username'] if request.method == 'POST': edited_question = { 'title': request.form['title'], 'message': request.form['message'].replace('\n', '<br/>'), 'image': current_question['image'] } 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_question['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_question(edited_question, question_id) data_manager.update_view_counter(question_id, -1) return redirect(url_for('route_show_question', question_id=question_id)) return render_template('edit_question.html', question=current_question, username=username)
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))
def question(question_id): file_data = data_manager.read_data('questions', int(question_id)) file_data["view_number"] = str(int(file_data["view_number"]) + 1) data_manager.update_question(question_id, file_data) file_data["submission_time"] = datetime.fromtimestamp(int(file_data["submission_time"])) answers = data_manager.read_data("answers", question_id) for answer in answers: answer["submission_time"] = datetime.fromtimestamp(int(answer["submission_time"])) return render_template('question.html', id=question_id, data=file_data, answers=answers)
def edit_question(question_id): if request.method == 'POST': update = request.form['message'] data_manager.update_question(update, question_id) return redirect('/question/' + question_id) elif request.method == 'GET': question = data_manager.get_this_question(question_id) return render_template('edit_question.html', question_id=question_id, question=question)
def route_edit_question(question_id): edited_question = request.form.to_dict() if edited_question: data_manager.update_question(question_id, **edited_question) return redirect( url_for('route_question_display', question_id=question_id)) question = data_manager.get_record_by_id("question", question_id) return render_template('add-edit.html', data=question, type='question', id=question_id)
def edit(question_id): question = data_manager.get_question_by_id(question_id) if request.method == 'GET': message = question['message'] title = question['title'] return render_template('edit.html', message=message, title=title) elif request.method == 'POST': title = request.form.get('title') message = request.form.get('message') data_manager.update_question(question_id, message, title) return redirect(url_for('get_question_list'))
def edit_question(data_id): user_id = session['user_id']['id'] question = data_manager.get_question_to_display(data_id) if request.method == 'POST': if user_id != question['user_id']: return render_template('error.html', error_message='Stop hacking!!!') else: data_manager.update_question(data_id, request.form['title'], request.form['message']) return redirect(url_for('route_show_details', question_id=data_id)) return render_template('edit-question.html', question=question, data_id=data_id)
def edit_question(question_id): if request.method == 'GET': question = data_manager.get_question(question_id) return render_template('edit_question.html', question_id=question_id, question=question) elif request.method == 'POST': edited_question_title = request.form['title'].replace("'", "''") edited_question_message = request.form['message'].replace("'", "''") data_manager.update_question(question_id, edited_question_title, edited_question_message) return redirect(url_for('display_question', question_id=question_id))
def route_update_question(question_id): questions_list = data_manager.question(question_id) if request.method == 'POST': submission_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") title = request.form['title'] message = request.form['message'] data_manager.update_question(question_id, submission_time, title, message) return redirect(url_for('route_question', question_id=question_id)) return render_template('update_question.html', question_id=question_id, message=questions_list['message'], title=questions_list['title'])
def route_question_edit(id): edit = True action = '/show_question/' + id + '/edit' question = data_manager.one_question(id) if request.method == 'POST': title = request.form['title'] description = request.form['message'] data_manager.update_question(id, title, description, "question") return redirect('/show_question/' + id) return render_template('edit.html', edit=edit, question=question, id=id, action=action)
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)
def route_counter_question(question_id, direction): question = data_manager.get_question_by_id(question_id) votes = int(question['vote_number']) votes += 1 if direction == 'up-vote' else -1 updated_votes = { 'id': question['id'], "submission_time": question["submission_time"], 'view_number': question['view_number'], 'vote_number': votes, 'title': question['title'], 'message': question['message'], 'image': question['image'] } data_manager.update_question(updated_votes) return redirect('/display/' + question_id)
def update(question_id): file_data = data_manager.read_data("questions", question_id) if request.method == 'POST': question = { "id": question_id, "submission_time": file_data["submission_time"], "view_number": file_data['view_number'], "vote_number": file_data['vote_number'], "title": request.form.get('title'), "message": request.form.get("message"), "image": request.form.get("image") } data_manager.update_question(question_id, question) return redirect('/list') return render_template('edit.html', id=question_id, data=file_data)
def route_edit_question(question_id): question_id_conv = int(question_id) global update_views update_views = False edit_me = True if request.method == 'POST': title = request.form['title'] title = title.rstrip('?') message = request.form['message'] message = util.make_compat_display(message, 'not_textarea') data_manager.update_question(question_id_conv, message, title) return redirect(url_for("route_index")) if request.method == 'GET': question = data_manager.display_question(question_id_conv) question[0]['message'] = util.make_compat_display(question[0]['message'], 'textarea') id_q = question[0]['id'] return render_template('add_question.html', edit_me=edit_me, question=question, id_q=id_q)
def edit_question(question_id): current_question = data_manager.get_question_by_id(question_id) if request.method == 'POST': updated_question = dict(request.form) image = request.files['image'] if image.filename == "" or image.filename is None: updated_question['image'] = current_question["image"] else: image.save( os.path.join(app.config['IMAGE_UPLOADS'], image.filename)) updated_question["image"] = image.filename data_manager.update_question(question_id, updated_question) return redirect("/") return render_template("add_question_or_answer.html", question_id=question_id, question=current_question)
def edit_question(question_id): question = data_manager.get_question_by_question_id(question_id) question_id = question['id'] if request.method == 'GET': try: return render_template('edit.html', question=question, question_id=question_id) except (IndexError, UndefinedError): abort(404) elif request.method == 'POST': submission_time = datetime.now().isoformat(timespec='seconds') title = request.form['title'] message = request.form['message'] image = request.form['image'] if image == "": image = None data_manager.update_question(submission_time, title, message, image, question_id) return redirect(f'/question/{question_id}')
def edit_route(question_id): if session.get('username') is not None: question_user_id=data_manager.find_userid_by_questionid(question_id) if question_user_id: if session['user_id'] == question_user_id['user_id'] or session['username'] == 'administrator': if request.method == "GET": question = data_manager.get_question(question_id) return render_template("edit-question.html", question=question, question_id=question_id) elif request.method == "POST": title=request.form['title'] message=request.form['message'] data_manager.update_question("question",title,message,question_id) 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))
def edit_question(question_id): if authenticate_user(): question = data_manager.get_question_by_id(question_id) if request.method == "GET": return render_template('add-question.html', question=question) elif request.method == 'POST': updated_details = request.form.to_dict() updated_question = {} for key in question.keys(): updated_question[key] = updated_details[ key] if key in updated_details else question[key] data_manager.update_question(updated_question) return redirect(url_for('show_question', question_id=question_id)) return redirect(url_for('login'))
def edit_question(question_id): question_details = data_manager.get_display_question(question_id) if request.method == 'GET': return render_template("edit_question_new.html", question=question_details) else: new_title = request.form['edittitle'] 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 = question_details['image'] data_manager.update_question(question_id, new_title, new_message, image) return redirect('/question/' + question_id)
def route_edit_question(question_id): question = data_manager.get_question_by_id(question_id) if request.method == 'GET': return render_template('ask.html', question=question, req_url=url_for('display.route_edit_question', question_id=question_id), question_id=question_id) else: updated_question = { 'id': question['id'], "submission_time": question["submission_time"], 'view_number': question['view_number'], 'vote_number': question['vote_number'], 'title': request.form['title'], 'message': request.form['message'], 'image': question['image'] } data_manager.update_question(updated_question) return redirect('/display/' + question_id)
def edit_question_post(question_id): edited_question = dict(request.form) uploaded_file = request.files.getlist('file') if len(uploaded_file[0].filename) != 0 or len( edited_question['image_url']) != 0: edited_question['image'] = 1 data_manager.update_question(edited_question) 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(edited_question['image_url']) != 0: data_manager.add_question_image({ "question_id": question_id, "image": edited_question['image_url'] }) else: if len(data_manager.get_question_pictures_paths(question_id)) == 0: edited_question['image'] = 0 data_manager.update_question(edited_question) else: edited_question['image'] = 1 data_manager.update_question(edited_question) return redirect(url_for("display_question", question_id=question_id))
def route_edit_question(question_id): if request.method == 'POST': question = data_manager.get_question_by_id(question_id) # question['title'] = request.form['title'] # question['message'] = request.form['message'] 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 = [ question_id, request.form['title'], request.form['message'], image ] # data_manager.add_question(values) data_manager.update_question(values) #question_id, question, return redirect('/') else: # question_headers = data_manager.get_question_fields()[4:7] # return render_template('add-question.html', question_headers=question_headers) question = data_manager.get_question_by_id(question_id) return render_template('add-question.html', id=question_id, question=question)
def edit_question(question_id): edited_question = { "id": question_id, "submission_time": util.get_current_time(), "view_number": 0, "vote_number": 0, "title": request.form.get("title"), "message": request.form.get("message"), } questions = data_manager.update_question(edited_question, question_id) return redirect(url_for("display_question", question_id=question_id))
def route_edit_question(question_id): if request.method == "GET": tags = data_manager.read_tags() checked_tags = data_manager.get_checked_tags(question_id) question = data_manager.find_question_for_answer(question_id) action = "update" return render_template("ask-question.html", question_id=question_id, action=action, question=question, tags=tags, checked_tags=checked_tags) if request.method == "POST": subject = request.form['title'] text = request.form['text'] 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 # If new tag not empty, adds it if new_tag != '': selected_tags_list.append( data_manager.add_tag_for_existing_question( new_tag, question_id)) # Compare new tags to old ones. data_manager.compare_new_tags_to_old_ones(selected_tags_list, question_id) # Updates question data data_manager.update_question(question_id, subject, text) return redirect(url_for('route_question', question_id=question_id))
def update_question(id, title, message, image): return data_manager.update_question(id, title, message, image)
def Q_vote_down(question_id): file_data = data_manager.read_data('questions', question_id) file_data["vote_number"] = str(int(file_data["vote_number"]) - 1) data_manager.update_question(question_id, file_data) return redirect('/list')
def edit_question_to_csv(question_id): question_id = int(question_id) title = request.form['title'] message = request.form['message'] data_manager.update_question(question_id, title, message) return redirect('/question/' + str(question_id))