diff --git a/courseware/capa_problem.py b/courseware/capa_problem.py index 97c09fa2b5..f635470bbb 100644 --- a/courseware/capa_problem.py +++ b/courseware/capa_problem.py @@ -13,7 +13,7 @@ def strip_dict(d): (type(d[k]) == float or type(d[k]) == int) ]) return d -class LoncapaProblem(): +class LoncapaProblem(object): def get_state(self): ''' Stored per-user session data neeeded to: 1) Recreate the problem diff --git a/courseware/x_module.py b/courseware/x_module.py index 9773bf74af..c9ece2816f 100644 --- a/courseware/x_module.py +++ b/courseware/x_module.py @@ -1,4 +1,4 @@ -class XModule: +class XModule(object): ''' Implements a generic learning module. Initialized on access with __init__, first time with state=None, and then with state diff --git a/simplewiki/templates/simplewiki_base.html b/simplewiki/templates/simplewiki_base.html deleted file mode 100644 index 7df17b695e..0000000000 --- a/simplewiki/templates/simplewiki_base.html +++ /dev/null @@ -1,238 +0,0 @@ -{% load i18n simplewiki_utils %} - - - -{{ wiki_title }} - - - - - - - - - - - - - - - -{% block wiki_head %} -{% endblock %} - - - - - -
- Textbook - - Courseware - -Discussion - -Wiki - -Profile - -Help -Log out -
- -

{% block wiki_page_title %}{% endblock %}

-
- -{% block wiki_panel %} - -
- -
-
-
-
-
-
- - -

- - {% if wiki_article %} -
-
- - {% endif %} - - -

- {% if wiki_article %} - {% if wiki_article.locked %} -

{% trans "This article has been locked" %}

- {% endif %} -

- {% trans "Last modified" %}: {{ wiki_article.modified_on|date }}, {{ wiki_article.modified_on|time }} -

- {% endif %} -
- -
- -
- -{% endblock %} - -{% block wiki_body %} - -{% endblock %} - -














- - - diff --git a/simplewiki/templates/simplewiki_create.html b/simplewiki/templates/simplewiki_create.html deleted file mode 100644 index b9b6eabedb..0000000000 --- a/simplewiki/templates/simplewiki_create.html +++ /dev/null @@ -1,16 +0,0 @@ -{% extends "simplewiki_base.html" %} -{% load i18n simplewiki_utils %} -{% block wiki_page_title %} -Create article -{% endblock %} -{% block wiki_body %} -
{% csrf_token %} - - {{ wiki_form }} - - - -
-
-
-{% endblock %} diff --git a/simplewiki/templates/simplewiki_edit.html b/simplewiki/templates/simplewiki_edit.html deleted file mode 100644 index b0a7766d5d..0000000000 --- a/simplewiki/templates/simplewiki_edit.html +++ /dev/null @@ -1,17 +0,0 @@ -{% extends "simplewiki_base.html" %} -{% load i18n simplewiki_utils %} -{% block wiki_page_title %} - {{wiki_article.title}} -{% endblock %} - -{% block wiki_body %} -
{% csrf_token %} - - {{ wiki_form }} - - - -
-
-
-{% endblock %} diff --git a/simplewiki/templates/simplewiki_error.html b/simplewiki/templates/simplewiki_error.html deleted file mode 100644 index 7b7fb9bbe7..0000000000 --- a/simplewiki/templates/simplewiki_error.html +++ /dev/null @@ -1,98 +0,0 @@ -{% extends "simplewiki_base.html" %} -{% load i18n simplewiki_utils %} -{% block wiki_page_title %} -Oops... -{% endblock %} - -{% block wiki_body %} -
-{{ wiki_error|safe }} - -{% if wiki_err_notfound %} -{% if wiki_url %} -

-The page you requested could not be found. -Click here to create it. -

-{% else %} -

-Or maybe rather: Congratulations! It seems that there's no root -article, which is probably because you just installed simple-wiki -and your installation is working. Now you can create the root article. -Click here to create it. -

-{% endif %} -{% else %} - -{% if wiki_err_noparent %} -

-You cannot create this page, because its parent -does not exist. Click here -to create it. -

-{% else %} - -{% if wiki_err_keyword %} -

-The page you're trying to create {{wiki_url}} starts with _, which is reserved for internal use. -

-{% else %} - -{% if wiki_err_locked %} -

-The article you are trying to modify is locked. -

-{% else %} - -{% if wiki_err_noread %} -

-You do not have access to read this article. -

-{% else %} - -{% if wiki_err_nowrite %} -

-You do not have access to edit this article. -

-{% else %} - -{% if wiki_err_noanon %} -

-Anonymous attachments are not allowed. Try logging in. -

-{% else %} - -{% if wiki_err_create %} -

-You do not have access to create this article. -

-{% else %} - -{% if wiki_err_encode %} -

-The url you requested could not be handled by the wiki. -Probably you used a bad character in the URL. -Only use digits, English letters, underscore and dash. For instance -/wiki/An_Article-1 -

- - -{% else %} -

-An error has occured. -

- - -{% endif %} -{% endif %} -{% endif %} -{% endif %} -{% endif %} -{% endif %} -{% endif %} -{% endif %} -{% endif %} - -
-{% endblock %} - diff --git a/simplewiki/templates/simplewiki_history.html b/simplewiki/templates/simplewiki_history.html deleted file mode 100644 index aacbd3b5f6..0000000000 --- a/simplewiki/templates/simplewiki_history.html +++ /dev/null @@ -1,57 +0,0 @@ -{% extends "simplewiki_base.html" %} -{% load i18n simplewiki_utils %} -{% block wiki_page_title %} - {{ wiki_article.title }} -{% endblock %} -{% block wiki_body %} -
{% csrf_token %} - - - - - - - - - - - {% for revision in wiki_history %} - - - - - - - {% endfor %} - - {% if wiki_prev_page or wiki_next_page %} - - - - - - {% endif %} -
RevisionCommentDiffModified
- - - {% if revision.revision_text %}{{ revision.revision_text}}{% else %}None{% endif %}{% for x in revision.get_diff %}{{x|escape}}
{% endfor %}
{{ revision.get_user}} -
- {{ revision.revision_date|date}} {{ revision.revision_date|time}} -
- {% if wiki_prev_page %} - {% trans "Previous page" %} - {% endif %} - {% if wiki_next_page %} - {% trans "Next page" %} - {% endif %} -
- -
-{% endblock %} diff --git a/simplewiki/templates/simplewiki_searchresults.html b/simplewiki/templates/simplewiki_searchresults.html deleted file mode 100644 index a60487c4ea..0000000000 --- a/simplewiki/templates/simplewiki_searchresults.html +++ /dev/null @@ -1,21 +0,0 @@ -{% extends "simplewiki_base.html" %} -{% load i18n simplewiki_utils %} -{% block wiki_page_title %} - {% if wiki_search_query %} - {% trans "Search results for" %} '{{ wiki_search_query|escape }}' - {% else %} - {% trans "Displaying all articles" %} - {% endif %} -{% endblock %} - -{% block wiki_body %} - {% for article in wiki_search_results %} - {% if article.get_url %} - {{ article.get_url }}
- {% else %} - /
- {% endif %} - {% empty %} - {% trans "No articles were found!" %} - {% endfor %} -{% endblock %} diff --git a/simplewiki/templates/simplewiki_updateprogressbar.html b/simplewiki/templates/simplewiki_updateprogressbar.html deleted file mode 100644 index 65f455518d..0000000000 --- a/simplewiki/templates/simplewiki_updateprogressbar.html +++ /dev/null @@ -1,32 +0,0 @@ -{% load i18n simplewiki_utils %} - -{% if started %} - -{% else %} -{% if finished %} - -{% else %} -{% if overwrite_warning %} - -{% else %} -{% if too_big %} - -{% else %} - -{% endif %} -{% endif %} -{% endif %} -{% endif %} diff --git a/simplewiki/templates/simplewiki_view.html b/simplewiki/templates/simplewiki_view.html deleted file mode 100644 index 1c480d44fa..0000000000 --- a/simplewiki/templates/simplewiki_view.html +++ /dev/null @@ -1,10 +0,0 @@ -{% extends "simplewiki_base.html" %} -{% load i18n simplewiki_utils %} -{% block wiki_page_title %} -{{ wiki_article.title }} -{% endblock %} -{% block wiki_body %} -
- {{ wiki_article.current_revision.contents_parsed|safe }} -
-{% endblock %} diff --git a/simplewiki/views.py b/simplewiki/views.py index e4fb0da664..1eb018768d 100644 --- a/simplewiki/views.py +++ b/simplewiki/views.py @@ -3,7 +3,8 @@ import types from django.core.urlresolvers import get_callable from django.http import Http404, HttpResponse, HttpResponseRedirect, HttpResponseServerError, HttpResponseForbidden, HttpResponseNotAllowed from django.utils import simplejson -from django.shortcuts import get_object_or_404, render_to_response +from djangomako.shortcuts import render_to_response, render_to_string +from django.shortcuts import get_object_or_404 from django.template import RequestContext, Context, loader from django.utils.translation import ugettext_lazy as _ from django.core.urlresolvers import reverse @@ -11,6 +12,14 @@ from django.contrib.auth.decorators import login_required from django.db.models import Q from django.conf import settings from django.shortcuts import redirect +from django.core.context_processors import csrf + +from django.template import Context +from django.http import HttpResponse + +import djangomako.middleware +from mako.template import Template +from mako.lookup import TemplateLookup from models import * from settings import * @@ -26,11 +35,12 @@ def view(request, wiki_url): perm_err = check_permissions(request, article, check_read=True) if perm_err: return perm_err - c = RequestContext(request, {'wiki_article': article, - 'wiki_write': article.can_write_l(request.user), - 'wiki_attachments_write': article.can_attach(request.user), - } ) - return render_to_response('simplewiki_view.html', c) + d = {'wiki_article': article, + 'wiki_write': article.can_write_l(request.user), + 'wiki_attachments_write': article.can_attach(request.user), + } + + return render_to_response('simplewiki_view.html', d) def root_redirect(request): """ @@ -62,9 +72,9 @@ def create(request, wiki_url): url_path = get_url_path(wiki_url) if url_path != [] and url_path[0].startswith('_'): - c = RequestContext(request, {'wiki_err_keyword': True, - 'wiki_url': '/'.join(url_path) }) - return render_to_response('simplewiki_error.html', c) + d = {'wiki_err_keyword': True, + 'wiki_url': '/'.join(url_path) } + return render_to_response('simplewiki_error.html', d) # Lookup path try: @@ -76,9 +86,9 @@ def create(request, wiki_url): path = Article.get_url_reverse(url_path[:-1], root) if not path: - c = RequestContext(request, {'wiki_err_noparent': True, - 'wiki_url_parent': '/'.join(url_path[:-1]) }) - return render_to_response('simplewiki_error.html', c) + d = {'wiki_err_noparent': True, + 'wiki_url_parent': '/'.join(url_path[:-1]) } + return render_to_response('simplewiki_error.html', d) perm_err = check_permissions(request, path[-1], check_locked=False, check_write=True) if perm_err: @@ -119,11 +129,12 @@ def create(request, wiki_url): f = CreateArticleForm(initial={'title':request.GET.get('wiki_article_name', url_path[-1]), 'contents':_('Headline\n===\n\n')}) - c = RequestContext(request, {'wiki_form': f, - 'wiki_write': True, - }) + d = {'wiki_form': f, + 'wiki_write': True, + } + d.update(csrf(request)) - return render_to_response('simplewiki_create.html', c) + return render_to_response('simplewiki_create.html', d) def edit(request, wiki_url): if not request.user.is_authenticated(): @@ -160,13 +171,14 @@ def edit(request, wiki_url): return HttpResponseRedirect(reverse('wiki_view', args=(article.get_url(),))) else: f = EditForm({'contents': article.current_revision.contents, 'title': article.title}) - c = RequestContext(request, {'wiki_form': f, - 'wiki_write': True, - 'wiki_article': article, - 'wiki_attachments_write': article.can_attach(request.user), - }) + d = {'wiki_form': f, + 'wiki_write': True, + 'wiki_article': article, + 'wiki_attachments_write': article.can_attach(request.user), + } + d.update(csrf(request)) - return render_to_response('simplewiki_edit.html', c) + return render_to_response('simplewiki_edit.html', d) def history(request, wiki_url, page=1): if not request.user.is_authenticated(): @@ -211,15 +223,16 @@ def history(request, wiki_url, page=1): next_page = p + 1 if page_count > p else None prev_page = p - 1 if p > 1 else None - c = RequestContext(request, {'wiki_page': p, - 'wiki_next_page': next_page, - 'wiki_prev_page': prev_page, - 'wiki_write': article.can_write_l(request.user), - 'wiki_attachments_write': article.can_attach(request.user), - 'wiki_article': article, - 'wiki_history': history[beginItem:beginItem+page_size],}) + d = {'wiki_page': p, + 'wiki_next_page': next_page, + 'wiki_prev_page': prev_page, + 'wiki_write': article.can_write_l(request.user), + 'wiki_attachments_write': article.can_attach(request.user), + 'wiki_article': article, + 'wiki_history': history[beginItem:beginItem+page_size],} + d.update(csrf(request)) - return render_to_response('simplewiki_history.html', c) + return render_to_response('simplewiki_history.html', d) def search_articles(request, wiki_url): if not request.user.is_authenticated(): @@ -251,9 +264,9 @@ def search_articles(request, wiki_url): if results.count() == 1: return HttpResponseRedirect(reverse('wiki_view', args=(results[0].get_url(),))) else: - c = RequestContext(request, {'wiki_search_results': results, - 'wiki_search_query': querystring}) - return render_to_response('simplewiki_searchresults.html', c) + d = {'wiki_search_results': results, + 'wiki_search_query': querystring} + return render_to_response('simplewiki_searchresults.html', d) return view(request, wiki_url) @@ -344,15 +357,14 @@ def random_article(request, wiki_url): def encode_err(request, url): return render_to_response('simplewiki_error.html', - RequestContext(request, {'wiki_err_encode': True})) + {'wiki_err_encode': True}) def not_found(request, wiki_url): if not request.user.is_authenticated(): return redirect('/') """Generate a NOT FOUND message for some URL""" - return render_to_response('simplewiki_error.html', - RequestContext(request, {'wiki_err_notfound': True, - 'wiki_url': wiki_url})) + return render_to_response('simplewiki_error.html', {'wiki_err_notfound': True, + 'wiki_url': wiki_url}) def get_url_path(url): """Return a list of all actual elements of a url, safely ignoring @@ -392,15 +404,15 @@ def check_permissions(request, article, check_read=False, check_write=False, che locked_err = check_locked and article.locked if read_err or write_err or locked_err: - c = RequestContext(request, {'wiki_article': article, - 'wiki_err_noread': read_err, - 'wiki_err_nowrite': write_err, - 'wiki_err_locked': locked_err,}) + d = {'wiki_article': article, + 'wiki_err_noread': read_err, + 'wiki_err_nowrite': write_err, + 'wiki_err_locked': locked_err,} # TODO: Make this a little less jarring by just displaying an error # on the current page? (no such redirect happens for an anon upload yet) # benjaoming: I think this is the nicest way of displaying an error, but # these errors shouldn't occur, but rather be prevented on the other pages. - return render_to_response('simplewiki_error.html', c) + return render_to_response('simplewiki_error.html', d) else: return None