diff --git a/series.py b/series.py index 3b6cfcd..91f582d 100644 --- a/series.py +++ b/series.py @@ -83,23 +83,30 @@ def new_series(): def series(id): ### DDP: should this be request.form or request.values? form = SeriesForm(request.form) + page_title='Edit Series' if request.method == 'POST' and form.validate(): - series = Series.query.get(id) - if 'delete' in request.form: - st.SetMessage("Successfully deleted (id={}, title={})".format( series.id, series.title ) ) - series = Series.query.filter(Series.id==id).delete() - if 'submit' in request.form: - st.SetMessage("Successfully Updated Series (id={})".format(id) ) - series.title = request.form['title'] - series.num_books = request.form['num_books'] - series.calcd_rating = CalcAvgRating(id) - series.note = request.form['note'] - db.session.commit() - return redirect( '/seriess' ) + try: + series = Series.query.get(id) + if 'delete' in request.form: + st.SetMessage("Successfully deleted (id={}, title={})".format( series.id, series.title ) ) + series = Series.query.filter(Series.id==id).delete() + if 'submit' in request.form: + st.SetMessage("Successfully Updated Series (id={})".format(id) ) + series.title = request.form['title'] + series.num_books = request.form['num_books'] + series.calcd_rating = CalcAvgRating(id) + series.note = request.form['note'] + db.session.commit() + return redirect( '/seriess' ) + except SQLAlchemyError as e: + print("series -- error!") + st.SetAlert( "danger" ) + st.SetMessage( "Failed to modify Series: {}".format(e.orig) ) + return render_template("edit_id_name.html", form=form, page_title=page_title, alert=st.GetAlert(), message=st.GetMessage() ) else: series = Series.query.get(id) form = SeriesForm(request.values, obj=series) - return render_template("series.html", form=form, page_title='Edit Series' ) + return render_template("series.html", form=form, page_title=page_title ) ################################################################################ # Gets the Series matching id from DB, helper func in jinja2 code to show books