diff options
-rw-r--r-- | urls.py | 2 | ||||
-rw-r--r-- | views/pages.py | 17 |
2 files changed, 19 insertions, 0 deletions
@@ -27,6 +27,8 @@ urlpatterns = patterns('', url(r'^list/$', 'views.pages.index'), url(r'^list/(?P<mlist_fqdn>.*@.*)/$', 'views.pages.list'), url(r'^list/(?P<mlist_fqdn>.*@.*)$', 'views.pages.list'), + # Single message view + url(r'^message/(?P<mlist_fqdn>.*@.*)/(?P<messageid>.+)$', 'views.pages.message'), # Search #url(r'^search$', 'views.pages.search'), url(r'^search/(?P<mlist_fqdn>.*@.*)$', 'views.pages.search_keyword'), diff --git a/views/pages.py b/views/pages.py index edcc875..1cd7e7b 100644 --- a/views/pages.py +++ b/views/pages.py @@ -183,6 +183,23 @@ def list(request, mlist_fqdn=None): }) return HttpResponse(t.render(c)) +def message (request, mlist_fqdn, messageid): + ''' Displays a single message identified by its messageid ''' + list_name = mlist_fqdn.split('@')[0] + + search_form = SearchForm(auto_id=False) + t = loader.get_template('message.html') + message = Bunch(mongo.get_email(list_name, messageid)) + print message + + c = RequestContext(request, { + 'app_name': settings.APP_NAME, + 'list_name' : list_name, + 'list_address': mlist_fqdn, + 'message': message, + }) + return HttpResponse(t.render(c)) + def _search_results_page(request, mlist_fqdn, query_string, search_type): search_form = SearchForm(auto_id=False) t = loader.get_template('search.html') |