]> ToastFreeware Gitweb - philipp/winterrodeln/wradmin.git/blobdiff - wradmin/controllers/bericht.py
Use flask_sqlalchemy to manage the database connection.
[philipp/winterrodeln/wradmin.git] / wradmin / controllers / bericht.py
index 2fb93e5cb9a46e1a16789f7308bc6e4cf9a02045..7084929ea036e92f713fb1fb4be3a57c44d86227 100644 (file)
@@ -2,9 +2,12 @@ import datetime
 from flask import request, abort, redirect, url_for, flash, render_template
 import paginate
 import sqlalchemy as sa
-import wradmin.model as model
+
 import wrpylib.wrmwcache
 
+from wradmin import db
+from wradmin.model import WrReport
+
 
 class BerichtController:
 
@@ -24,8 +27,8 @@ class BerichtController:
 
     def list(self):
         """Lists all reports"""
-        q = model.meta.Session.query(model.WrReport)
-        q = q.order_by(sa.sql.expression.desc(model.WrReport.id))
+        q = db.session.query(WrReport)
+        q = q.order_by(sa.sql.expression.desc(WrReport.id))
         paginator = paginate.Page(q.all(), page=int(request.args.get('page', 1)),
                                   url_maker=lambda page: url_for('bericht_list', page=page),
                                   items_per_page=25)
@@ -33,7 +36,7 @@ class BerichtController:
 
     def view(self, id):
         """Displays a report"""
-        q = model.meta.Session.query(model.WrReport)
+        q = db.session.query(WrReport)
         wrreport = q.get(id)
         if wrreport is None:
             abort(404)
@@ -44,7 +47,7 @@ class BerichtController:
         assert request.method == 'POST'
         if id is None:
             abort(404)
-        wrreport_q = model.meta.Session.query(model.WrReport)
+        wrreport_q = db.session.query(WrReport)
         wrreport = wrreport_q.get(id)
         if wrreport is None:
             abort(404)
@@ -64,16 +67,16 @@ class BerichtController:
                 flash(str(e))
                 return redirect(url_for('bericht_view', id=id))
             wrreport.date_invalid = date_userdefined
-        model.meta.Session.commit()
+        db.session.commit()
         flash('Datum wurde erfolgreich geƤndert')
         return redirect(url_for('bericht_view', id=id))
 
     def update_reportcache(self):
         """Updates the wrreportcache table."""
-        c = model.meta.Session.connection()
+        c = db.session.connection()
         try:
             wrpylib.wrmwcache.update_wrreportcache(c)
-            model.meta.Session.commit()
+            db.session.commit()
             flash('Die Berichtzusammenfassung-Tabelle wurde erfolgreich aktualisiesrt.', 'info')
         except wrpylib.wrmwcache.UpdateCacheError as e:
             flash(str(e), 'error')