def edit_slide(slide_id): slide = Slide.query.filter_by(id=slide_id).first() if not slide: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) journey = Journey.query.filter_by(id=slide.journey_id, user_id=current_user.id).first() if not journey: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) form = EditSlideForm(slide_id=slide_id, title=slide.title, description=slide.description, cover_id=slide.cover_id) form.cover_id.choices = [ (p.id, p.title) for p in Photo.query.filter_by(slide_id=slide_id).all() ] if form.validate_on_submit(): slide.title = form.data['title'] slide.description = form.data['description'] slide.cover_id = form.data['cover_id'] db.session.commit() flash('Slide successfully updated.', 'success') return redirect(url_for('edit_slide', slide_id=slide_id)) photos = Photo.query.filter_by(slide_id=slide_id) flash_errors(form) return render_template('edit-slide.html', form=form, title='Edit slide %s' % slide.title, slide=slide, photos=photos)
def delete_photo(photo_id): photo = Photo.query.filter_by(id=photo_id).first() if not photo: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) slide = Slide.query.filter_by(id=photo.slide_id).first() if not slide: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) journey = Journey.query.filter_by(id=slide.journey_id, user_id=current_user.id).first() if not journey: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) form = DeletePhotoForm(photo_id=photo.id) if form.validate_on_submit(): Photo.query.filter(Photo.id == photo_id).delete() db.session.commit() flash('Photo successfully deleted.', 'success') return redirect(url_for('edit_slide', slide_id=slide.id)) flash_errors(form) return render_template('delete-photo.html', form=form, photo=photo, title='Delete photo %s' % photo.title)
def edit_photo(photo_id): photo = Photo.query.filter_by(id=photo_id).first() if not photo: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) slide = Slide.query.filter_by(id=photo.slide_id).first() if not slide: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) journey = Journey.query.filter_by(id=slide.journey_id, user_id=current_user.id).first() if not journey: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) form = EditPhotoForm(photo_id=photo_id, title=photo.title, description=photo.description) if form.validate_on_submit(): photo.title = form.data['title'] photo.description = form.data['description'] db.session.commit() flash('Photo successfully updated.', 'success') return redirect(url_for('edit_photo', photo_id=photo_id)) flash_errors(form) return render_template('edit-photo.html', form=form, title='Edit photo %s' % photo.title, photo=photo)
def delete_photo(photo_id): photo = Photo.query.filter_by(id=photo_id).first() if not photo: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) slide = Slide.query.filter_by(id=photo.slide_id).first() if not slide: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) journey = Journey.query.filter_by(id=slide.journey_id, user_id=current_user.id).first() if not journey: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) form = DeletePhotoForm(photo_id=photo.id) if form.validate_on_submit(): Photo.query.filter(Photo.id == photo_id).delete() db.session.commit() flash('Photo successfully deleted.', 'success') return redirect(url_for('edit_slide', slide_id=slide.id)) flash_errors(form) return render_template('delete-photo.html', form=form, photo=photo, title='Delete photo %s' % photo.title)
def edit_photo(photo_id): photo = Photo.query.filter_by(id=photo_id).first() if not photo: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) slide = Slide.query.filter_by(id=photo.slide_id).first() if not slide: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) journey = Journey.query.filter_by(id=slide.journey_id, user_id=current_user.id).first() if not journey: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) form = EditPhotoForm(photo_id=photo_id, title=photo.title, description=photo.description) if form.validate_on_submit(): photo.title = form.data['title'] photo.description = form.data['description'] db.session.commit() flash('Photo successfully updated.', 'success') return redirect(url_for('edit_photo', photo_id=photo_id)) flash_errors(form) return render_template('edit-photo.html', form=form, title='Edit photo %s' % photo.title, photo=photo)
def new_photo(slide_id): slide = Slide.query.filter_by(id=slide_id).first() if not slide: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) journey = Journey.query.filter_by(id=slide.journey_id, user_id=current_user.id).first() if not journey: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) form = NewPhotoForm(slide_id=slide_id) if form.validate_on_submit(): photo = Photo() tmp = tempfile.NamedTemporaryFile(suffix = '.jpg') form.photo.data.save(tmp) tmp.flush() photo.create(form.data['title'], form.data['description'], slide_id, tmp.name) db.session.add(photo) db.session.commit() flash('Photo added to slide', 'success') return redirect(url_for('edit_slide', slide_id=slide_id)) flash_errors(form) return render_template('new-photo.html', form=form, title='New Photo')
def new_photo(slide_id): slide = Slide.query.filter_by(id=slide_id).first() if not slide: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) journey = Journey.query.filter_by(id=slide.journey_id, user_id=current_user.id).first() if not journey: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) form = NewPhotoForm(slide_id=slide_id) if form.validate_on_submit(): photo = Photo() tmp = tempfile.NamedTemporaryFile(suffix='.jpg') form.photo.data.save(tmp) tmp.flush() photo.create(form.data['title'], form.data['description'], slide_id, tmp.name) db.session.add(photo) db.session.commit() flash('Photo added to slide', 'success') return redirect(url_for('edit_slide', slide_id=slide_id)) flash_errors(form) return render_template('new-photo.html', form=form, title='New Photo')
def edit_journey(journey_id): journey = Journey.query.filter_by(id=journey_id, user_id=current_user.id).first() if not journey: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) form = EditJourneyForm(journey_id=journey_id, title=journey.title, description=journey.description, cover_id=journey.cover_id) form.cover_id.choices = [ (p.id, p.title) for p in Slide.query.filter_by(journey_id=journey_id).all() ] if form.validate_on_submit(): journey.title = form.data['title'] journey.description = form.data['description'] journey.cover_id = form.data['cover_id'] db.session.commit() flash('Journey successfully updated.', 'success') return redirect(url_for('edit_journey', journey_id=journey_id)) slides = Slide.query.filter_by(journey_id=journey_id) flash_errors(form) return render_template('edit-journey.html', form=form, title='Edit journey %s' % journey.title, journey=journey, slides=slides)
def new_journey(): form = NewJourneyForm() if form.validate_on_submit(): journey = Journey() journey.create(form.data['title'], form.data['description'], current_user.id) db.session.add(journey) db.session.commit() flash('Journey %s created, you can now add slides to your journey.' % journey.title, 'success') return redirect(url_for('new_slide', journey_id=journey.id)) flash_errors(form) return render_template('new-journey.html', form=form, title='New Journey')
def login(): if current_user.is_authenticated(): return redirect(request.referrer or '/') form = LoginForm() if form.validate_on_submit(): user = User() if user.auth(form.data['login'], form.data['password']): login_user(user) flash('Logged in successfully.', 'success') return redirect(request.args.get('next') or url_for('index')) flash('Login and password don\'t match', 'danger') flash_errors(form) return render_template('login.html', form=form, title='Sign In')
def delete_journey(journey_id): journey = Journey.query.filter_by(id=journey_id, user_id=current_user.id).first() if not journey: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) form = DeleteJourneyForm(journey_id=journey_id) if form.validate_on_submit(): Journey.query.filter(Journey.id == journey_id).delete() db.session.commit() flash('Journey successfully deleted.', 'success') return redirect(url_for('me')) flash_errors(form) return render_template('delete-journey.html', form=form, journey=journey, title='Delete journey %s' % journey.title)
def new_journey(): form = NewJourneyForm() if form.validate_on_submit(): journey = Journey() journey.create(form.data['title'], form.data['description'], current_user.id) db.session.add(journey) db.session.commit() flash( 'Journey %s created, you can now add slides to your journey.' % journey.title, 'success') return redirect(url_for('new_slide', journey_id=journey.id)) flash_errors(form) return render_template('new-journey.html', form=form, title='New Journey')
def login(): if current_user.is_authenticated(): return redirect(request.referrer or '/') form = LoginForm() if form.validate_on_submit(): user = User() if user.auth(form.data['login'], form.data['password']): login_user(user) flash('Logged in successfully.', 'success') return redirect(request.args.get('next') or url_for('index')) flash('Login and password don\'t match', 'danger') flash_errors(form) return render_template('login.html', form=form, title='Sign In')
def new_slide(journey_id): journey = Journey.query.filter_by(id=journey_id, user_id=current_user.id).first() if not journey: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) form = NewSlideForm(journey_id=journey_id) if form.validate_on_submit(): slide = Slide() slide.create(form.data['title'], form.data['description'], journey_id) db.session.add(slide) db.session.commit() flash('Slide added to journey, you can now add photos to your slide.', 'success') return redirect(url_for('new_photo', slide_id=slide.id)) flash_errors(form) return render_template('new-slide.html', form=form, title='New Slide')
def new_slide(journey_id): journey = Journey.query.filter_by(id=journey_id, user_id=current_user.id).first() if not journey: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) form = NewSlideForm(journey_id=journey_id) if form.validate_on_submit(): slide = Slide() slide.create(form.data['title'], form.data['description'], journey_id) db.session.add(slide) db.session.commit() flash('Slide added to journey, you can now add photos to your slide.', 'success') return redirect(url_for('new_photo', slide_id=slide.id)) flash_errors(form) return render_template('new-slide.html', form=form, title='New Slide')
def delete_journey(journey_id): journey = Journey.query.filter_by(id=journey_id, user_id=current_user.id).first() if not journey: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) form = DeleteJourneyForm(journey_id=journey_id) if form.validate_on_submit(): Journey.query.filter(Journey.id == journey_id).delete() db.session.commit() flash('Journey successfully deleted.', 'success') return redirect(url_for('me')) flash_errors(form) return render_template('delete-journey.html', form=form, journey=journey, title='Delete journey %s' % journey.title)
def delete_slide(slide_id): slide = Slide.query.filter_by(id=slide_id).first() if not slide: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) journey = Journey.query.filter_by(id=slide.journey_id, user_id=current_user.id).first() if not journey: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) form = DeleteSlideForm(slide_id=slide.id) if form.validate_on_submit(): Slide.query.filter(Slide.id == slide_id).delete() db.session.commit() flash('Slide successfully deleted.', 'success') return redirect(url_for('edit_journey', journey_id=journey.id)) flash_errors(form) return render_template('delete-slide.html', form=form, slide=slide, title='Delete slide %s' % slide.title)
def register(): if current_user.is_authenticated(): return redirect(request.referrer or '/') form = RegisterForm() if form.validate_on_submit(): try: user = User() user.create(form.data['login'], form.data['email'], form.data['password']) db.session.add(user) db.session.commit() login_user(user) flash('Account successfully created.', 'success') return redirect(url_for('index')) except: flash('This account is already registered.', 'danger') return redirect(url_for('register')) flash_errors(form) return render_template('register.html', form=form, title='Register')
def edit_journey(journey_id): journey = Journey.query.filter_by(id=journey_id, user_id=current_user.id).first() if not journey: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) form = EditJourneyForm(journey_id=journey_id, title=journey.title, description=journey.description, cover_id=journey.cover_id) form.cover_id.choices = [(p.id, p.title) for p in Slide.query.filter_by(journey_id=journey_id).all()] if form.validate_on_submit(): journey.title = form.data['title'] journey.description = form.data['description'] journey.cover_id = form.data['cover_id'] db.session.commit() flash('Journey successfully updated.', 'success') return redirect(url_for('edit_journey', journey_id=journey_id)) slides = Slide.query.filter_by(journey_id=journey_id) flash_errors(form) return render_template('edit-journey.html', form=form, title='Edit journey %s' % journey.title, journey=journey, slides=slides)
def register(): if current_user.is_authenticated(): return redirect(request.referrer or '/') form = RegisterForm() if form.validate_on_submit(): try: user = User() user.create(form.data['login'], form.data['email'], form.data['password']) db.session.add(user) db.session.commit() login_user(user) flash('Account successfully created.', 'success') return redirect(url_for('index')) except: flash('This account is already registered.', 'danger') return redirect(url_for('register')) flash_errors(form) return render_template('register.html', form=form, title='Register')
def edit_slide(slide_id): slide = Slide.query.filter_by(id=slide_id).first() if not slide: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) journey = Journey.query.filter_by(id=slide.journey_id, user_id=current_user.id).first() if not journey: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) form = EditSlideForm(slide_id=slide_id, title=slide.title, description=slide.description, cover_id=slide.cover_id) form.cover_id.choices = [(p.id, p.title) for p in Photo.query.filter_by(slide_id=slide_id).all()] if form.validate_on_submit(): slide.title = form.data['title'] slide.description = form.data['description'] slide.cover_id = form.data['cover_id'] db.session.commit() flash('Slide successfully updated.', 'success') return redirect(url_for('edit_slide', slide_id=slide_id)) photos = Photo.query.filter_by(slide_id=slide_id) flash_errors(form) return render_template('edit-slide.html', form=form, title='Edit slide %s' % slide.title, slide=slide, photos=photos)
def delete_slide(slide_id): slide = Slide.query.filter_by(id=slide_id).first() if not slide: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) journey = Journey.query.filter_by(id=slide.journey_id, user_id=current_user.id).first() if not journey: flash(BAD_KITTY, 'danger') return redirect(url_for('index')) form = DeleteSlideForm(slide_id=slide.id) if form.validate_on_submit(): Slide.query.filter(Slide.id == slide_id).delete() db.session.commit() flash('Slide successfully deleted.', 'success') return redirect(url_for('edit_journey', journey_id=journey.id)) flash_errors(form) return render_template('delete-slide.html', form=form, slide=slide, title='Delete slide %s' % slide.title)