diff --git a/auth/views.py b/auth/views.py index 344dbdfbad..6ba722b3f3 100644 --- a/auth/views.py +++ b/auth/views.py @@ -195,7 +195,7 @@ def create_random_account(create_account_function): 'honor_code' : u'true', 'terms_of_service' : u'true',} - print "Creating account: " , post_override + print "Creating random account: " , post_override return create_account_function(request, post_override = post_override) diff --git a/settings.py b/settings.py index 9a75434228..2b3d80f9e8 100644 --- a/settings.py +++ b/settings.py @@ -11,7 +11,7 @@ DEFAULT_FROM_EMAIL = 'registration@mitx.mit.edu' DEFAULT_FEEDBACK_EMAIL = 'feedback@mitx.mit.edu' # For testing the login system -GENERATE_RANDOM_USER_CREDENTIALS = False +GENERATE_RANDOM_USER_CREDENTIALS = True WIKI_REQUIRE_LOGIN_EDIT = True WIKI_REQUIRE_LOGIN_VIEW = True diff --git a/simplewiki/mdx_camelcase.py b/simplewiki/mdx_camelcase.py index 3ec0c08fe2..41e4180149 100755 --- a/simplewiki/mdx_camelcase.py +++ b/simplewiki/mdx_camelcase.py @@ -104,7 +104,7 @@ class CamelCaseLinks(markdown.inlinepatterns.Pattern): if m.group('escape') == '\\': a = etree.Element('a')#doc.createTextNode(m.group('camelcase')) else : - url = m.group('camelcase') + url = m.group('camelcase') + "/" #'%s%s%s'% (self.md.wiki_config['base_url'][0], \ #m.group('camelcase'), \ #self.md.wiki_config['end_url'][0]) diff --git a/simplewiki/urls.py b/simplewiki/urls.py index 2bf39ef1da..fc8ec19598 100644 --- a/simplewiki/urls.py +++ b/simplewiki/urls.py @@ -1,17 +1,18 @@ from django.conf.urls.defaults import * urlpatterns = patterns('', - url(r'^$', 'simplewiki.views.root_redirect', name='wiki_root'), - url(r'^/?([a-zA-Z\d/_-]*)/_edit/$', 'simplewiki.views.edit', name='wiki_edit'), - url(r'^/?([a-zA-Z\d/_-]*)/_create/$', 'simplewiki.views.create', name='wiki_create'), - url(r'^/?([a-zA-Z\d/_-]*)/_history/([0-9]*)/$', 'simplewiki.views.history', name='wiki_history'), - url(r'^/?([a-zA-Z\d/_-]*)/_random/$', 'simplewiki.views.random_article', name='wiki_random'), - url(r'^/?([a-zA-Z\d/_-]*)/_search/articles/$', 'simplewiki.views.search_articles', name='wiki_search_articles'), - url(r'^/?([a-zA-Z\d/_-]*)/_search/related/$', 'simplewiki.views.search_add_related', name='search_related'), + url(r'^(?:view/)?$', 'simplewiki.views.root_redirect', name='wiki_root'), + url(r'^view/([a-zA-Z\d/_-]*)/$', 'simplewiki.views.view', name='wiki_view'), + url(r'^edit/([a-zA-Z\d/_-]*)/$', 'simplewiki.views.edit', name='wiki_edit'), + url(r'^create/([a-zA-Z\d/_-]*)/$', 'simplewiki.views.create', name='wiki_create'), + url(r'^history/([a-zA-Z\d/_-]*)/([0-9]*)/$', 'simplewiki.views.history', name='wiki_history'), + url(r'^random/$', 'simplewiki.views.random_article', name='wiki_random'), + url(r'^search/$', 'simplewiki.views.search_articles', name='wiki_search_articles'), + url(r'^list/$', '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'^search_related/([a-zA-Z\d/_-]*)//$', 'simplewiki.views.search_add_related', name='search_related'), # url(r'^/?([a-zA-Z\d/_-]*)/_related/add/$', 'simplewiki.views.add_related', name='add_related'), # url(r'^/?([a-zA-Z\d/_-]*)/_related/remove/(\d+)$', 'simplewiki.views.remove_related', name='wiki_remove_relation'), # url(r'^/?([a-zA-Z\d/_-]*)/_add_attachment/$', 'simplewiki.views_attachments.add_attachment', name='add_attachment'), # url(r'^/?([a-zA-Z\d/_-]*)/_view_attachment/(.+)?$', 'simplewiki.views_attachments.view_attachment', name='wiki_view_attachment'), - url(r'^/?([a-zA-Z\d/_-]*)$', 'simplewiki.views.view', name='wiki_view'), url(r'^(.*)$', 'simplewiki.views.encode_err', name='wiki_encode_err') ) diff --git a/simplewiki/views.py b/simplewiki/views.py index 22dc8a119f..629966bfd1 100644 --- a/simplewiki/views.py +++ b/simplewiki/views.py @@ -236,7 +236,7 @@ def history(request, wiki_url, page=1): return render_to_response('simplewiki_history.html', d) -def search_articles(request, wiki_url): +def search_articles(request): if not request.user.is_authenticated(): return redirect('/') # blampe: We should check for the presence of other popular django search @@ -247,31 +247,33 @@ def search_articles(request, wiki_url): if request.method == 'POST': querystring = request.POST['value'].strip() - if querystring: - results = Article.objects.all() - for queryword in querystring.split(): - # Basic negation is as fancy as we get right now - if queryword[0] == '-' and len(queryword) > 1: - results._search = lambda x: results.exclude(x) - queryword = queryword[1:] - else: - results._search = lambda x: results.filter(x) - - results = results._search(Q(current_revision__contents__icontains = queryword) | \ - Q(title__icontains = queryword)) - else: - # Need to throttle results by splitting them into pages... - results = Article.objects.all() + else: + querystring = "" - if results.count() == 1: - return HttpResponseRedirect(reverse('wiki_view', args=(results[0].get_url(),))) - else: - d = {'wiki_search_results': results, - 'wiki_search_query': querystring} - d.update(csrf(request)) - return render_to_response('simplewiki_searchresults.html', d) - - return view(request, wiki_url) + if querystring: + results = Article.objects.all() + for queryword in querystring.split(): + # Basic negation is as fancy as we get right now + if queryword[0] == '-' and len(queryword) > 1: + results._search = lambda x: results.exclude(x) + queryword = queryword[1:] + else: + results._search = lambda x: results.filter(x) + + results = results._search(Q(current_revision__contents__icontains = queryword) | \ + Q(title__icontains = queryword)) + else: + # Need to throttle results by splitting them into pages... + results = Article.objects.all() + + if results.count() == 1: + return HttpResponseRedirect(reverse('wiki_view', args=(results[0].get_url(),))) + else: + d = {'wiki_search_results': results, + 'wiki_search_query': querystring} + d.update(csrf(request)) + return render_to_response('simplewiki_searchresults.html', d) + def search_add_related(request, wiki_url): if not request.user.is_authenticated(): @@ -350,7 +352,7 @@ def remove_related(request, wiki_url, related_id): finally: return HttpResponseRedirect(reverse('wiki_view', args=(article.get_url(),))) -def random_article(request, wiki_url): +def random_article(request): if not request.user.is_authenticated(): return redirect('/') from random import randint @@ -398,7 +400,7 @@ def fetch_from_url(request, url): path = Article.get_url_reverse(url_path, root) if not path: - err = not_found(request, '/' + '/'.join(url_path)) + err = not_found(request, '/'.join([root.slug] + url_path)) else: article = path[-1] return (article, path, err)