]> ToastFreeware Gitweb - philipp/winterrodeln/wradmin.git/blobdiff - wradmin/controllers/bericht.py
bericht_view.html now uses jinja2.
[philipp/winterrodeln/wradmin.git] / wradmin / controllers / bericht.py
index 998dbd824efa2b90d760cafe937a7eb1ed53dc8a..e8f2f690e2b158d79d1cae9150e01f078639b1b1 100644 (file)
@@ -3,21 +3,23 @@ from flask import request, abort, redirect, url_for, flash, render_template
 import paginate
 import sqlalchemy as sa
 import wradmin.model as model
-from wradmin.genshi import render_genshi_template, TemplateContext
 
 
 class BerichtController:
 
-    def _add_dates_to_c(self, c, date_invalid):
+    def _dependent_date_dict(self, date_invalid):
         now = datetime.datetime.today()
-        if date_invalid is None: date_invalid = now
-        c.date_now = now
-        c.date_no_change = date_invalid
-        c.date_tomorrow = now + datetime.timedelta(1)
-        c.date_one_week = now + datetime.timedelta(7)
-        c.date_two_weeks = now + datetime.timedelta(14)
-        c.date_one_week_more = date_invalid + datetime.timedelta(7)
-        c.date_end_of_saison = datetime.datetime(now.year if now.month < 7 else now.year + 1, 7, 1)
+        if date_invalid is None:
+            date_invalid = now
+        return {
+            'date_now': now,
+            'date_no_change': date_invalid,
+            'date_tomorrow': now + datetime.timedelta(1),
+            'date_one_week': now + datetime.timedelta(7),
+            'date_two_weeks': now + datetime.timedelta(14),
+            'date_one_week_more': date_invalid + datetime.timedelta(7),
+            'date_end_of_saison': datetime.datetime(now.year if now.month < 7 else now.year + 1, 7, 1),
+        }
 
     def list(self):
         """Lists all reports"""
@@ -31,12 +33,11 @@ class BerichtController:
     def view(self, id):
         """Displays a report"""
         q = model.meta.Session.query(model.WrReport)
-        c = TemplateContext()
-        c.wrreport =  q.get(id)
-        if c.wrreport is None:
+        wrreport = q.get(id)
+        if wrreport is None:
             abort(404)
-        self._add_dates_to_c(c, c.wrreport.date_invalid)
-        return render_genshi_template('bericht_view.html', c=c)
+        dates = self._dependent_date_dict(wrreport.date_invalid)
+        return render_template('bericht_view.html', wrreport=wrreport, **dates)
 
     def change_date_invalid(self, id=None):
         assert request.method == 'POST'
@@ -46,15 +47,14 @@ class BerichtController:
         wrreport = wrreport_q.get(id)
         if wrreport is None:
             abort(404)
-        c = TemplateContext()
-        self._add_dates_to_c(c, wrreport.date_invalid)
+        dates = self._dependent_date_dict(wrreport.date_invalid)
         date = request.form['date_invalid']
-        if   date == 'tomorrow':      wrreport.date_invalid = c.date_tomorrow
-        elif date == 'one_week':      wrreport.date_invalid = c.date_one_week
-        elif date == 'two_weeks':     wrreport.date_invalid = c.date_two_weeks
-        elif date == 'one_week_more': wrreport.date_invalid = c.date_one_week_more
-        elif date == 'end_of_saison': wrreport.date_invalid = c.date_end_of_saison
-        elif date == 'now':           wrreport.date_invalid = c.date_now
+        if   date == 'tomorrow':      wrreport.date_invalid = dates['date_tomorrow']
+        elif date == 'one_week':      wrreport.date_invalid = dates['date_one_week']
+        elif date == 'two_weeks':     wrreport.date_invalid = dates['date_two_weeks']
+        elif date == 'one_week_more': wrreport.date_invalid = dates['date_one_week_more']
+        elif date == 'end_of_saison': wrreport.date_invalid = dates['date_end_of_saison']
+        elif date == 'now':           wrreport.date_invalid = dates['date_now']
         elif date == 'userdefined':
             date_userdefined = request.form['date_userdefined']
             try: