Commit 072de594 by Bridger Maxwell

Fixed wiki error pages a bit.

parent c6d973bd
...@@ -88,7 +88,6 @@ def root_redirect(request, course_id): ...@@ -88,7 +88,6 @@ def root_redirect(request, course_id):
try: try:
root = Article.get_root(course.wiki_namespace) root = Article.get_root(course.wiki_namespace)
except: except:
#TODO: If we don't find a root article, we should create it
err = not_found(request, '/') err = not_found(request, '/')
return err return err
...@@ -465,10 +464,10 @@ def encode_err(request, url, course): ...@@ -465,10 +464,10 @@ def encode_err(request, url, course):
d.update(csrf(request)) d.update(csrf(request))
return render_to_response('simplewiki/simplewiki_error.html', d) return render_to_response('simplewiki/simplewiki_error.html', d)
def not_found(request, wiki_url, course): def not_found(request, article_path, course):
"""Generate a NOT FOUND message for some URL""" """Generate a NOT FOUND message for some URL"""
d = {'wiki_err_notfound': True, d = {'wiki_err_notfound': True,
'wiki_url': wiki_url, 'article_path': article_path,
'course' : course, 'course' : course,
'namespace' : course.wiki_namespace} 'namespace' : course.wiki_namespace}
d.update(csrf(request)) d.update(csrf(request))
...@@ -481,7 +480,6 @@ def get_article(request, article_path, course): ...@@ -481,7 +480,6 @@ def get_article(request, article_path, course):
try: try:
article = Article.get_article(article_path) article = Article.get_article(article_path)
except Article.DoesNotExist, ValueError: except Article.DoesNotExist, ValueError:
#TODO: We need to pass a url for creating the article here
err = not_found(request, article_path, course) err = not_found(request, article_path, course)
return (article, err) return (article, err)
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
<%! <%!
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from simplewiki.views import wiki_namespace_reverse
%> %>
<%block name="title"><title>Wiki Error – MITx 6.002x</title></%block> <%block name="title"><title>Wiki Error – MITx 6.002x</title></%block>
...@@ -21,10 +22,10 @@ ${wiki_error} ...@@ -21,10 +22,10 @@ ${wiki_error}
%endif %endif
%if wiki_err_notfound is not UNDEFINED: %if wiki_err_notfound is not UNDEFINED:
%if wiki_url is not UNDEFINED: %if article_path is not UNDEFINED:
<p> <p>
The page you requested could not be found. The page you requested could not be found.
Click <a href="${reverse("wiki_create", args=[wiki_url])}">here</a> to create it. Click <a href="${wiki_namespace_reverse("wiki_create", course=course, kwargs={'article_path' : article_path})}">here</a> to create it.
</p> </p>
%else: %else:
<p> <p>
...@@ -35,13 +36,7 @@ ${wiki_error} ...@@ -35,13 +36,7 @@ ${wiki_error}
</p> </p>
%endif %endif
%else: %else:
%if wiki_err_noparent is not UNDEFINED: %if wiki_err_no_namespace is not UNDEFINED and wiki_err_no_namespace:
<p>
You cannot create this page, because its parent
does not exist. Click <a href="${reverse("wiki_create", args=[wiki_url_parent])}">here</a>
to create it.
</p>
%elif wiki_err_no_namespace is not UNDEFINED and wiki_err_no_namespace:
<p> <p>
You must specify a namespace to create an article in. You must specify a namespace to create an article in.
</p> </p>
......
...@@ -90,18 +90,16 @@ if settings.COURSEWARE_ENABLED: ...@@ -90,18 +90,16 @@ if settings.COURSEWARE_ENABLED:
namespace = r'/(?P<namespace>' + namespace_regex + r')' namespace = r'/(?P<namespace>' + namespace_regex + r')'
urlpatterns += ( urlpatterns += (
url(r'^courses/(?P<course_id>[^/]*)/wiki/$', 'simplewiki.views.root_redirect', name='wiki_root'), url(r'^courses/(?P<course_id>[^/]*)/wiki/$', 'simplewiki.views.root_redirect', name='wiki_root'),
url(r'^courses/(?P<course_id>[^/]*)/wiki/view' + article_slug + r'/?$', 'simplewiki.views.view', name='wiki_view'), url(r'^courses/(?P<course_id>[^/]*)/wiki/view' + article_slug, 'simplewiki.views.view', name='wiki_view'),
url(r'^courses/(?P<course_id>[^/]*)/wiki/view_revision/(?P<revision_number>[0-9]+)' + article_slug + r'/?$', 'simplewiki.views.view_revision', name='wiki_view_revision'), url(r'^courses/(?P<course_id>[^/]*)/wiki/view_revision/(?P<revision_number>[0-9]+)' + article_slug, 'simplewiki.views.view_revision', name='wiki_view_revision'),
url(r'^courses/(?P<course_id>[^/]*)/wiki/edit' + article_slug + r'/?$', 'simplewiki.views.edit', name='wiki_edit'), url(r'^courses/(?P<course_id>[^/]*)/wiki/edit' + article_slug, 'simplewiki.views.edit', name='wiki_edit'),
url(r'^courses/(?P<course_id>[^/]*)/wiki/create' + article_slug + r'/?$', 'simplewiki.views.create', name='wiki_create'), url(r'^courses/(?P<course_id>[^/]*)/wiki/create' + article_slug, 'simplewiki.views.create', name='wiki_create'),
url(r'^courses/(?P<course_id>[^/]*)/wiki/history' + article_slug + r'(?:/(?P<page>[0-9]+))?/?$', 'simplewiki.views.history', name='wiki_history'), url(r'^courses/(?P<course_id>[^/]*)/wiki/history' + article_slug + r'(?:/(?P<page>[0-9]+))?$', 'simplewiki.views.history', name='wiki_history'),
url(r'^courses/(?P<course_id>[^/]*)/wiki/search_related' + article_slug + r'/?$', 'simplewiki.views.search_add_related', name='search_related'), url(r'^courses/(?P<course_id>[^/]*)/wiki/search_related' + article_slug, 'simplewiki.views.search_add_related', name='search_related'),
url(r'^courses/(?P<course_id>[^/]*)/wiki/random/?$', 'simplewiki.views.random_article', name='wiki_random'), url(r'^courses/(?P<course_id>[^/]*)/wiki/random/?$', 'simplewiki.views.random_article', name='wiki_random'),
url(r'^courses/(?P<course_id>[^/]*)/wiki/revision_feed/([0-9]+)/?$', 'simplewiki.views.revision_feed', name='wiki_revision_feed'), url(r'^courses/(?P<course_id>[^/]*)/wiki/revision_feed/([0-9]+)$', 'simplewiki.views.revision_feed', name='wiki_revision_feed'),
url(r'^courses/(?P<course_id>[^/]*)/wiki/search' + namespace + r'?/?$', 'simplewiki.views.search_articles', name='wiki_search_articles'), url(r'^courses/(?P<course_id>[^/]*)/wiki/search' + namespace + r'?$', 'simplewiki.views.search_articles', name='wiki_search_articles'),
url(r'^courses/(?P<course_id>[^/]*)/wiki/list' + namespace + r'?/?$', 'simplewiki.views.search_articles', name='wiki_list_articles'), #Just an alias for the search, but you usually don't submit a search term url(r'^courses/(?P<course_id>[^/]*)/wiki/list' + namespace + r'?$', 'simplewiki.views.search_articles', name='wiki_list_articles'), #Just an alias for the search, but you usually don't submit a search term
) )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment