コード例 #1
0
ファイル: views.py プロジェクト: Joshuavtk/webtech_project
def add():
    form = CreateForm()

    directors = Director.query.all()
    directors_list = [(i.id, i.first_name + ' ' + i.last_name)
                      for i in directors]
    form.director_id.choices = directors_list

    genres = Genre.query.all()
    genres_list = [(i.id, i.name) for i in genres]
    form.genres.choices = genres_list

    if form.validate_on_submit():

        new_movie = Movie(title=form.title.data,
                          release_year=form.release_year.data,
                          visitor_amount=form.visitor_amount.data,
                          gross_income=form.gross_income.data,
                          playtime=form.playtime.data,
                          trailer_url=form.trailer_url.data,
                          director_id=form.director_id.data)

        db.session.add(new_movie)
        db.session.commit()

        for genre in form.genres.data:
            new_genre = MovieGenres(movie_id=movie.id, genre_id=genre)
            db.session.add(new_genre)

        flash("Nieuwe film succesvol toegevoegd.")
        return redirect(url_for('movies.show', movie_id=new_movie.id))
    return render('create', form)
コード例 #2
0
ファイル: views.py プロジェクト: Joshuavtk/webtech_project
def edit_role(movie_id, role_id):
    movie = Movie.query.filter_by(id=movie_id).first()
    role = Role.query.filter_by(id=role_id).first()
    form = RoleForm(obj=role)

    actors = Actor.query.all()
    actors_list = []
    for actor in actors:
        if movie.id not in [role.movie_id for role in actor.roles
                            ] or role.actor_id == actor.id:
            actors_list.append((actor.id, actor))
    form.actor_id.choices = actors_list

    if form.validate_on_submit():

        role.movie_id = movie.id,
        role.actor_id = form.actor_id.data,
        role.playing_as = form.playing_as.data

        db.session.add(role)
        db.session.commit()

        flash("Rol succesvol bewerkt.")
        return redirect(url_for('movies.show', movie_id=movie.id))

    return render_template("movies/edit_role.html",
                           form=form,
                           movie=movie,
                           role=role)
コード例 #3
0
ファイル: views.py プロジェクト: Joshuavtk/webtech_project
def delete(actor_id):

    actor = Actor.query.filter_by(id=actor_id).first()
    form = DelForm(obj=actor)

    if form.validate_on_submit():
        db.session.delete(actor)
        db.session.commit()

        flash("Acteur succesvol verwijderd.")

        return redirect(url_for('actors.list'))
    return render_template("delete.html", form=form, actor=actor)
コード例 #4
0
ファイル: views.py プロジェクト: Joshuavtk/webtech_project
def delete(movie_id):

    movie = Movie.query.filter_by(id=movie_id).first()
    form = DelForm(obj=movie)

    if form.validate_on_submit():
        db.session.delete(movie)
        db.session.commit()

        flash("Film succesvol verwijderd.")

        return redirect(url_for('movies.list'))
    return render('delete', form)
コード例 #5
0
ファイル: views.py プロジェクト: Joshuavtk/webtech_project
def delete(genre_id):

    genre = Genre.query.filter_by(id=genre_id).first()
    form = DelForm(obj=genre)

    if form.validate_on_submit():
        db.session.delete(genre)
        db.session.commit()

        flash("Genre succesvol verwijderd.")

        return redirect(url_for('genres.list'))
    return render_template("genres/delete.html", form=form, genre=genre)
コード例 #6
0
ファイル: views.py プロジェクト: Joshuavtk/webtech_project
def delete_role(movie_id, role_id):

    role = Role.query.filter_by(id=role_id).first()
    form = DelRoleForm(obj=role)

    if form.validate_on_submit():
        db.session.delete(role)
        db.session.commit()

        flash("Rol succesvol verwijderd.")

        return redirect(url_for('movies.show', movie_id=movie_id))
    return render('delete_role', form)
コード例 #7
0
def delete(director_id):

    director = Director.query.filter_by(id=director_id).first()
    form = DelForm(obj=director)

    if form.validate_on_submit():
        db.session.delete(director)
        db.session.commit()

        flash("Regisseur succesvol verwijderd.")

        return redirect(url_for('directors.list'))
    return render_template(url + "delete.html", form=form, director=director)
コード例 #8
0
ファイル: views.py プロジェクト: Joshuavtk/webtech_project
def edit(genre_id):
    genre = Genre.query.filter_by(id=genre_id).first()
    form = AddForm(obj=genre)

    if form.validate_on_submit():
        genre.name = form.name.data

        db.session.add(genre)
        db.session.commit()

        flash("Genre succesvol bewerkt.")

        return redirect(url_for('genres.list'))
    return render_template('genres/edit.html', form=form)
コード例 #9
0
ファイル: views.py プロジェクト: Joshuavtk/webtech_project
def add():
    form = AddForm()

    if form.validate_on_submit():
        name = form.name.data
        new_genre = Genre(name=name)

        db.session.add(new_genre)
        db.session.commit()

        flash("Nieuwe genre succesvol toegevoegd.")

        return redirect(url_for('genres.list'))
    return render_template('genres/create.html', form=form)
コード例 #10
0
ファイル: views.py プロジェクト: Joshuavtk/webtech_project
def edit(actor_id):
    actor = Actor.query.filter_by(id=actor_id).first()
    form = AddForm(obj=actor)

    if form.validate_on_submit():

        actor.first_name = form.first_name.data
        actor.last_name = form.last_name.data

        db.session.add(actor)
        db.session.commit()

        flash("Acteur succesvol bijgewerkt.")
        return redirect(url_for('actors.show', actor_id=actor.id))

    return render_template("edit.html", form=form, actor=actor)
コード例 #11
0
def edit(director_id):
    director = Director.query.filter_by(id=director_id).first()
    form = AddForm(obj=director)

    if form.validate_on_submit():

        director.first_name = form.first_name.data
        director.last_name = form.last_name.data

        db.session.add(director)
        db.session.commit()

        flash("Regisseur succesvol bijgewerkt.")
        return redirect(url_for('directors.show', director_id=director.id))

    return render_template(url + "edit.html", form=form, director=director)
コード例 #12
0
def add():

    form = AddForm()

    if form.validate_on_submit():
        first_name = form.first_name.data
        last_name = form.last_name.data
        new_director = Director(first_name=first_name, last_name=last_name)

        db.session.add(new_director)
        db.session.commit()

        flash("Nieuwe regisseur succesvol toegevoegd.")

        return redirect(url_for('directors.list'))
    return render_template(url + 'create.html', form=form)
コード例 #13
0
ファイル: views.py プロジェクト: Joshuavtk/webtech_project
def edit(movie_id):
    movie = Movie.query.filter_by(id=movie_id).first()
    form = CreateForm(obj=movie)

    directors = Director.query.all()
    directors_list = [(i.id, i.first_name + ' ' + i.last_name)
                      for i in directors]
    form.director_id.choices = directors_list

    genres = Genre.query.all()
    genres_list = [(i.id, i.name) for i in genres]
    form.genres.choices = genres_list

    if form.validate_on_submit():

        movie.title = form.title.data
        movie.release_year = form.release_year.data
        movie.director_id = form.director_id.data
        movie.visitor_amount = form.visitor_amount.data
        movie.gross_income = form.gross_income.data
        movie.playtime = form.playtime.data
        movie.trailer_url = form.trailer_url.data

        for genre in movie.genres:
            if genre not in form.genres.data:
                movie_genre = MovieGenres.query.filter_by(id=genre.id).first()
                db.session.delete(movie_genre)
        db.session.commit()

        for genre in form.genres.data:
            new_genre = MovieGenres(movie_id=movie.id, genre_id=genre)
            db.session.add(new_genre)
        db.session.commit()

        db.session.add(movie)
        db.session.commit()

        flash("Film succesvol bijgewerkt.")
        return redirect(url_for('movies.show', movie_id=movie.id))

    return render_template("movies/edit.html",
                           form=form,
                           movie=movie,
                           genres=movie.genres)
コード例 #14
0
ファイル: views.py プロジェクト: Joshuavtk/webtech_project
def register():
    if current_user.is_authenticated:
        return redirect(url_for("index"))

    form = CreateAccountForm()
    if form.validate_on_submit():
        user_email = User.query.filter_by(
            user_email=form.user_email.data).first()
        if user_email is not None:
            flash("Failed creating account, email already in use.")
            return redirect(url_for("register"))

        new_user = User(
            user_name=form.user_name.data,
            user_email=form.user_email.data,
            user_password=form.user_password.data,
            creation_date=datetime.datetime.now()
        )
        new_user.user_password = generate_password_hash(new_user.user_password)

        db.session.add(new_user)
        db.session.commit()
        flash("Created account successfully.")

        login_user(new_user)
        flash("Signed in successfully.")
        return redirect(url_for("index"))

    return render_template("users/register.html", form=form)
コード例 #15
0
ファイル: views.py プロジェクト: Joshuavtk/webtech_project
def add_role(movie_id):
    movie = Movie.query.filter_by(id=movie_id).first()
    form = RoleForm()

    actors = Actor.query.all()
    actors_list = []
    for actor in actors:
        if movie.id not in [role.movie_id for role in actor.roles]:
            actors_list.append((actor.id, actor))
    form.actor_id.choices = actors_list

    if form.validate_on_submit():

        new_role = Role(movie_id=movie.id,
                        actor_id=form.actor_id.data,
                        playing_as=form.playing_as.data)

        db.session.add(new_role)
        db.session.commit()

        flash("Nieuwe rol succesvol toegevoegd.")
        return redirect(url_for('movies.show', movie_id=movie.id))

    return render_template("movies/add_role.html", form=form, movie=movie)
コード例 #16
0
ファイル: views.py プロジェクト: Joshuavtk/webtech_project
def login():
    if current_user.is_authenticated:
        return redirect(url_for("index"))

    form = SignInForm()
    if form.validate_on_submit():
        user_email = User.query.filter_by(
            user_email=form.user_email.data).first()
        if user_email is None:
            flash("Invalid user.")
            return redirect(url_for('login'))
        elif not user_email.check_password(form.user_password.data):
            flash("Invalid password.")
            return redirect(url_for('login'))

        login_user(user_email)
        flash("Signed in successfully.")
        return redirect(url_for("index"))

    return render_template("users/login.html", form=form)
コード例 #17
0
ファイル: views.py プロジェクト: Joshuavtk/webtech_project
def logout():
    logout_user()
    flash("Signed out successfully.")
    return redirect(url_for("index"))