def admin_panel(): """ Function show admin-panel for work with content of our website :return:template or url """ if current_user.privilages == 'is_admin' and Language.query.first(): id_chapter_for_work = request.args.get('data_input_chapter') current_chapter = None if id_chapter_for_work: current_chapter = Chapter.query.filter_by( id_chapter=id_chapter_for_work).first() elif Chapter.query.first(): current_chapter = Language.query.first().part_list.first( ).chapter_list.first() # if current chapter haven't seo data, then create one if current_chapter is not None and not current_chapter.seo: add_seo_for_chapter = Seo(current_chapter.id_chapter, '', '') save_in_db(add_seo_for_chapter, redirect_to_page=False) return render_template('admin-panel.html', langs=Language.query.all(), current_chapter=current_chapter, name_page='Админ-панель') return redirect(url_for('adding_language'))
def adding_task(): ''' Function add new task for chapter :return:url ''' id_chapter = request.args.get('current_chapter') new_task = Task(int(id_chapter), '', '', '', '') return save_in_db(new_task, 'admin_panel', data_input_chapter=id_chapter)
def adding_language(): ''' Function add new language :return:template or status code ''' if current_user.is_authenticated and current_user.privilages == 'is_admin': add_lang_form = AddingLanguageForm() if add_lang_form.validate_on_submit(): new_language = Language(add_lang_form.name_language.data, add_lang_form.description_language.data) return save_in_db(new_language, 'admin_panel') return render_template('adding-language.html', form=add_lang_form) return Response(status=401)
def delete_task(): ''' Function delete task for chapter :return:url ''' # reading args id_chapter = request.args.get('current_chapter') index_del_task = request.args.get('delete_task', type=int) # find task current_task = Chapter.query.filter_by( id_chapter=id_chapter).first().task_list[index_del_task - 1] return save_in_db(current_task, 'admin_panel', delete=True, data_input_chapter=id_chapter)
def signup(): ''' Function allows you to register a user :return:url or template ''' if current_user.is_authenticated: return redirect(url_for('home')) form = RegistrationForm() if form.validate_on_submit(): user = User(form.username.data, bcrypt.generate_password_hash(form.password.data), form.email.data, 'is_user') return save_in_db(user, 'home') return render_template("signup.html", form=form, name_page='Регистрация')
def adding_chapter(): ''' Function add new chapter :return:url or template or status code ''' if current_user.is_authenticated and current_user.privilages == 'is_admin': add_chapter_form = AddingChapterForm() if add_chapter_form.validate_on_submit(): new_chapter = Chapter( Part.query.filter_by( name_part=add_chapter_form.name_part.data).first().id_part, add_chapter_form.name_chapter.data, add_chapter_form.text_chapter.data) return save_in_db(new_chapter, 'admin_panel') return render_template('adding-chapter.html', form=add_chapter_form, part=request.args.get('part')) return Response(status=401)
def adding_part(): ''' This function add new part :return:url or template or status code ''' if current_user.is_authenticated and current_user.privilages == 'is_admin': add_part_form = AddingPartForm() if add_part_form.validate_on_submit(): new_part = Part( Language.query.filter_by( name_language=add_part_form.name_language.data).first(). id_language, add_part_form.name_part.data) return save_in_db(new_part, 'admin_panel') return render_template('adding-part.html', form=add_part_form, language=request.args.get('language')) return Response(status=401)