Commit 072de594 by Bridger Maxwell

Fixed wiki error pages a bit.

parent c6d973bd
......@@ -88,7 +88,6 @@ def root_redirect(request, course_id):
try:
root = Article.get_root(course.wiki_namespace)
except:
#TODO: If we don't find a root article, we should create it
err = not_found(request, '/')
return err
......@@ -465,10 +464,10 @@ def encode_err(request, url, course):
d.update(csrf(request))
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"""
d = {'wiki_err_notfound': True,
'wiki_url': wiki_url,
'article_path': article_path,
'course' : course,
'namespace' : course.wiki_namespace}
d.update(csrf(request))
......@@ -481,7 +480,6 @@ def get_article(request, article_path, course):
try:
article = Article.get_article(article_path)
except Article.DoesNotExist, ValueError:
#TODO: We need to pass a url for creating the article here
err = not_found(request, article_path, course)
return (article, err)
......
......@@ -3,7 +3,8 @@
<%inherit file="simplewiki_base.html"/>
<%!
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>
......@@ -21,10 +22,10 @@ ${wiki_error}
%endif
%if wiki_err_notfound is not UNDEFINED:
%if wiki_url is not UNDEFINED:
%if article_path is not UNDEFINED:
<p>
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>
%else:
<p>
......@@ -35,13 +36,7 @@ ${wiki_error}
</p>
%endif
%else:
%if wiki_err_noparent is not UNDEFINED:
<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:
%if wiki_err_no_namespace is not UNDEFINED and wiki_err_no_namespace:
<p>
You must specify a namespace to create an article in.
</p>
......
......@@ -90,18 +90,16 @@ if settings.COURSEWARE_ENABLED:
namespace = r'/(?P<namespace>' + namespace_regex + r')'
urlpatterns += (
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_revision/(?P<revision_number>[0-9]+)' + article_slug + r'/?$', '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/create' + article_slug + r'/?$', '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/search_related' + article_slug + r'/?$', 'simplewiki.views.search_add_related', name='search_related'),
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, 'simplewiki.views.view_revision', name='wiki_view_revision'),
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, '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/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/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/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/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/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