Exemple #1
0
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'))
Exemple #2
0
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)
Exemple #3
0
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)
Exemple #4
0
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)
Exemple #5
0
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='Регистрация')
Exemple #6
0
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)
Exemple #7
0
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)