#from pylons import request, response, session, url, tmpl_context as c
#from pylons.controllers.util import abort, redirect
-from flask import request
+import datetime
+from flask import request, abort, url_for
import paginate
import sqlalchemy as sa
class BerichtController:
- def _add_dates_to_c(self, date_invalid):
+ def _add_dates_to_c(self, c, date_invalid):
now = datetime.datetime.today()
if date_invalid is None: date_invalid = now
c.date_now = now
c.date_end_of_saison = datetime.datetime(now.year if now.month < 7 else now.year + 1, 7, 1)
def view(self, id):
- "Displays a report"
+ """Displays a report"""
q = model.meta.Session.query(model.WrReport)
+ c = TemplateContext()
c.wrreport = q.get(id)
- if c.wrreport is None: abort(404)
- self._add_dates_to_c(c.wrreport.date_invalid)
- return render('bericht_view.html')
+ if c.wrreport is None:
+ abort(404)
+ self._add_dates_to_c(c, c.wrreport.date_invalid)
+ return render_genshi_template('bericht_view.html', c=c)
#@restrict('POST')
#@validate(schema=ChangeDateInvalidForm(), form='view')
wrreport_q = model.meta.Session.query(model.WrReport)
wrreport = wrreport_q.get(id)
if wrreport is None: abort(404)
- self._add_dates_to_c(wrreport.date_invalid)
+ self._add_dates_to_c(c, wrreport.date_invalid)
date = self.form_result['date_invalid']
if date == 'tomorrow': wrreport.date_invalid = c.date_tomorrow
elif date == 'one_week': wrreport.date_invalid = c.date_one_week
q = model.meta.Session.query(model.WrReport)
q = q.order_by(sa.sql.expression.desc(model.WrReport.id))
c = TemplateContext()
- c.paginator = paginate.Page(q.all(), page=int(request.args.get('page', 1)), items_per_page = 25)
+ c.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)
return render_genshi_template('bericht_list.html', c=c)