models: add methods to retrieve events; templates: handle empty result from views