Exemple #1
0
 def test_deletePictures(self, activeClient, testPicture):
     name = testPicture.name
     id = Picture.query.filter_by(name=name).first().id
     testform = form(None, deletePictures([id]))
     assert testPicture.is_file()
     Picture.deletePictures(testform)
     assert not testPicture.is_file()
Exemple #2
0
def reviewEdit(id):
    review = Review.query.get(id)
    if request.method == 'GET':
        session['referrer'] = request.referrer
        form = ReviewEditForm(id=review.id,
                              name=review.provider.name,
                              category_id=review.category_id,
                              rating=review.rating,
                              cost=review.cost,
                              price_paid=review.price_paid,
                              description=review.description,
                              service_date=review.service_date,
                              comments=review.comments)
        form.populate_choices(review)
        return render_template("review_edit.html",
                               title="Review - Edit",
                               form=form,
                               review=review)
    else:
        form = ReviewEditForm()
        form.populate_choices(review)
        if form.validate_on_submit():
            if form.deletePictures.data is not None:
                try:
                    Picture.deletePictures(form)
                except FileNotFoundError as e:
                    flash(str(e))
            if form.picture.data:
                new_pictures = Picture.savePictures(form, review.pictures)
            try:
                review.update(category_id=form.category.data,
                              rating=form.rating.data,
                              cost=form.cost.data,
                              price_paid=form.price_paid.data,
                              description=form.description.data,
                              service_date=form.service_date.data,
                              comments=form.comments.data,
                              pictures=new_pictures)
                flash("Review updated.")
            except SQLAlchemyError as e:
                flash(str(e))
                return render_template("review_edit.html",
                                       title="Review - Edit",
                                       form=form), 422

            try:
                url = session['referrer']
                session.pop('referrer')
            except KeyError:
                url = url_for('main.user', username=current_user.username)
            finally:
                return redirect(url)

        flash("Please correct form errors.")
        return render_template("review_edit.html",
                               title="Review - Edit",
                               form=form), 422