brewman/brewman/subscribers.py

11 lines
442 B
Python

from pyramid.events import subscriber, NewRequest
from pyramid.httpexceptions import HTTPServiceUnavailable
from brewman.models.master import DbSetting
@subscriber(NewRequest)
def maintenance_mode(event):
maintenance = event.request.dbsession.query(DbSetting).filter(DbSetting.name == 'Maintenance').first()
if maintenance is not None and maintenance.data != event.request.authenticated_userid:
raise HTTPServiceUnavailable