Пример #1
0
def create():
    f = request.files.get('background_img')
    img = None
    if f and f.filename:
        img_saver = ImageSaver(f)
        img = img_saver.save()

    try:
        description = bleach.clean(request.form.get('description')) if len(
            bleach.clean(request.form.get('description'))) else 1 / 0
        movie = Movie(**params(), poster_id=img.id, description=description)
        db.session.add(movie)
        db.session.commit()
    except:
        flash('Произошла ошибка, попробуйте снова', 'danger')
        return redirect(url_for('movies.new'))
    movie_genre = request.form.getlist('genre_id')
    if len(movie_genre) <= 0:
        flash('Произошла ошибка, попробуйте снова', 'danger')
        return redirect(url_for('movies.new'))
    for genr in movie_genre:
        movie_genres = Movie_Genre(movie_id=movie.id, genre_id=genr)
        db.session.add(movie_genres)
        db.session.commit()
    if img:
        img_saver.bind_to_object(movie)

    flash(f'Фильм {movie.name} был успешно добавлен!', 'success')

    return redirect(url_for('movies.show', movie_id=movie.id))
Пример #2
0
def upload_image():
    f = request.files.get('image')
    if f and f.filename:
        img_saver = ImageSaver(f)
        img = img_saver.save()
        return jsonify({'data': {'filePath': img.url, 'imageId': img.id}})
    return jsonify({'error': 'noFileGiven'})
Пример #3
0
def create():
    f = request.files.get('background_img')
    img = None
    if f and f.filename:
        img_saver = ImageSaver(f)
        img = img_saver.save()

    course = Course(**params(), background_image_id=img.id)
    db.session.add(course)
    db.session.commit()

    if img:
        img_saver.bind_to_object(course)

    flash(f'Курс {course.name} был успешно создан!', 'success')

    return redirect(url_for('courses.index'))
def new():
    f = request.files.get('background_img')
    img = None
    if f and f.filename:
        img_saver = ImageSaver(f)
        img = img_saver.save()

    if img == None:
        flash(
            f'Ошибка создания фильма! Нельзя добавить один постер к двум фильмам!',
            'danger')
        return redirect(url_for('crud.create'))

    description = bleach.clean(request.form.get('description'))
    genres = request.form.getlist('genre_ids')

    movie = Movie(**params(), description=description)

    try:
        movie = Movie(**params(), poster_id=img.id, description=description)
        if img:
            img_saver.bind_to_object(movie)
    except:
        db.session.rollback()
        flash(f'Ошибка создания фильма! Извините, внесите данные снова :(',
              'danger')
        return redirect(url_for('crud.create'))

    try:
        db.session.add(movie)

        for genre_id in genres:
            genre = Genre.query.filter(Genre.id == genre_id).first()
            movie.genres.append(genre)

        db.session.commit()
    except exc.DBAPIError or exc.SQLAlchemyError or exc.DatabaseError:
        flash(f'Ошибка создания фильма! Извините, внесите данные снова :(',
              'danger')
        return redirect(url_for('crud.create'))

    flash(f'Фильм {movie.name} был успешно добавлен!', 'success')

    return redirect(url_for('crud.read', movie_id=movie.id))