From 9d0b8b5fe7dd4a5265eea34522cadb21969c2bba Mon Sep 17 00:00:00 2001 From: Kelketek Date: Sat, 23 Mar 2013 14:20:41 -0500 Subject: [PATCH 1/3] Added compatibility with Django 1.5. New minimum version is 1.4. --- game/manage.py | 4 ++-- src/web/news/views.py | 11 ++++++----- src/web/templates/admin/index.html | 4 ++-- src/web/templates/admin/players/change_form.html | 5 ++--- src/web/templates/admin/players/change_list.html | 7 +++---- src/web/templates/admin/players/stacked.html | 6 +++--- src/web/urls.py | 5 +++-- src/web/webclient/urls.py | 4 +--- 8 files changed, 22 insertions(+), 24 deletions(-) diff --git a/game/manage.py b/game/manage.py index 0aae13818b..27c23ee145 100755 --- a/game/manage.py +++ b/game/manage.py @@ -134,5 +134,5 @@ if __name__ == "__main__": nothing about MUDs). Instead, just start Evennia with the webserver component active (this is the default). """ - from django.core.management import execute_manager - execute_manager(settings) + from django.core.management import execute_from_command_line + execute_from_command_line(sys.argv) diff --git a/src/web/news/views.py b/src/web/news/views.py index a5034b9338..54f2caabab 100755 --- a/src/web/news/views.py +++ b/src/web/news/views.py @@ -5,7 +5,7 @@ like news-categories/topics and searchable archives. """ -import django.views.generic.list_detail as gv_list_detail +from django.views.generic import ListView from django.shortcuts import render_to_response, get_object_or_404 from django.template import RequestContext from django.conf import settings @@ -66,8 +66,9 @@ def news_archive(request): "browse_url": "/news/archive", "sidebar": sidebar } - - return gv_list_detail.object_list(request, news_entries, template_name='news/archive.html', extra_context=pagevars, paginate_by=entries_per_page) + view = ListView.as_view(queryset=news_entries) + return view(request, template_name='news/archive.html', \ + extra_context=pagevars, paginate_by=entries_per_page) def search_form(request): """ @@ -124,5 +125,5 @@ def search_results(request): "browse_url": "/news/search/results", "sidebar": sidebar } - - return gv_list_detail.object_list(request, news_entries, template_name='news/archive.html', extra_context=pagevars, paginate_by=entries_per_page) + view = ListView.as_view(queryset=news_entries) + return view(request, news_entries, template_name='news/archive.html', extra_context=pagevars, paginate_by=entries_per_page) diff --git a/src/web/templates/admin/index.html b/src/web/templates/admin/index.html index d22920b15e..c9c52dafe4 100644 --- a/src/web/templates/admin/index.html +++ b/src/web/templates/admin/index.html @@ -1,7 +1,7 @@ {% extends "admin/base_site.html" %} -{% load i18n %} +{% load i18n admin_static %} -{% block extrastyle %}{{ block.super }}{% endblock %} +{% block extrastyle %}{{ block.super }}{% endblock %} {% block coltype %}colMS{% endblock %} diff --git a/src/web/templates/admin/players/change_form.html b/src/web/templates/admin/players/change_form.html index 4db01138dd..405f73b916 100644 --- a/src/web/templates/admin/players/change_form.html +++ b/src/web/templates/admin/players/change_form.html @@ -1,6 +1,5 @@ {% extends "admin/base_site.html" %} -{% load i18n admin_modify adminmedia %} -{% load url from future %} +{% load i18n admin_modify admin_static %} {% block extrahead %}{{ block.super }} {% url 'admin:jsi18n' as jsi18nurl %} @@ -8,7 +7,7 @@ {{ media }} {% endblock %} -{% block extrastyle %}{{ block.super }}{% endblock %} +{% block extrastyle %}{{ block.super }}{% endblock %} {% block coltype %}{% if ordered_objects %}colMS{% else %}colM{% endif %}{% endblock %} diff --git a/src/web/templates/admin/players/change_list.html b/src/web/templates/admin/players/change_list.html index 33b5201665..15c655089a 100644 --- a/src/web/templates/admin/players/change_list.html +++ b/src/web/templates/admin/players/change_list.html @@ -1,11 +1,10 @@ {% extends "admin/base_site.html" %} -{% load adminmedia admin_list i18n %} -{% load url from future %} +{% load admin_static admin_list i18n %} {% block extrastyle %} {{ block.super }} - + {% if cl.formset %} - + {% endif %} {% if cl.formset or action_form %} {% url 'admin:jsi18n' as jsi18nurl %} diff --git a/src/web/templates/admin/players/stacked.html b/src/web/templates/admin/players/stacked.html index 891341f91a..617ca9987e 100644 --- a/src/web/templates/admin/players/stacked.html +++ b/src/web/templates/admin/players/stacked.html @@ -1,4 +1,4 @@ -{% load i18n adminmedia %} +{% load i18n admin_static %}
{{ inline_admin_formset.formset.management_form }} @@ -40,11 +40,11 @@ if (typeof SelectFilter != "undefined"){ $(".selectfilter").each(function(index, value){ var namearr = value.name.split('-'); - SelectFilter.init(value.id, namearr[namearr.length-1], false, "{% admin_media_prefix %}"); + SelectFilter.init(value.id, namearr[namearr.length-1], false, "{% static "admin/" %}"); }); $(".selectfilterstacked").each(function(index, value){ var namearr = value.name.split('-'); - SelectFilter.init(value.id, namearr[namearr.length-1], true, "{% admin_media_prefix %}"); + SelectFilter.init(value.id, namearr[namearr.length-1], true, "{% static "admin/" %}"); }); } } diff --git a/src/web/urls.py b/src/web/urls.py index 067f52a0d1..bbe83633d6 100755 --- a/src/web/urls.py +++ b/src/web/urls.py @@ -9,6 +9,7 @@ from django.conf.urls.defaults import * from django.conf import settings from django.contrib import admin +from django.views.generic import RedirectView # fix to resolve lazy-loading bug # https://code.djangoproject.com/ticket/10405#comment:11 @@ -31,7 +32,7 @@ urlpatterns = patterns('', # Front page url(r'^', include('src.web.website.urls')), # News stuff - url(r'^news/', include('src.web.news.urls')), + # url(r'^news/', include('src.web.news.urls')), # Page place-holder for things that aren't implemented yet. url(r'^tbi/', 'src.web.website.views.to_be_implemented'), @@ -41,7 +42,7 @@ urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), # favicon - url(r'^favicon\.ico$', 'django.views.generic.simple.redirect_to', {'url':'/media/images/favicon.ico'}), + url(r'^favicon\.ico$', RedirectView.as_view(url='/media/images/favicon.ico')), # ajax stuff url(r'^webclient/',include('src.web.webclient.urls')), diff --git a/src/web/webclient/urls.py b/src/web/webclient/urls.py index a8a0e52d1a..93702a0673 100644 --- a/src/web/webclient/urls.py +++ b/src/web/webclient/urls.py @@ -2,9 +2,7 @@ This structures the (simple) structure of the webpage 'application'. """ -from django.views.generic.simple import direct_to_template -from django.conf.urls.defaults import * +from django.conf.urls import * urlpatterns = patterns('', url(r'^$', 'src.web.webclient.views.webclient'),) - #url(r'^$', direct_to_template, {'template': 'webclient.html'}),) From cfc575f360b00753fff72c7ac9ddc74dc1a0ed79 Mon Sep 17 00:00:00 2001 From: Griatch Date: Sun, 24 Mar 2013 11:04:27 +0100 Subject: [PATCH 2/3] Added check for django 1.4+ to upstart checks. --- src/utils/utils.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/utils/utils.py b/src/utils/utils.py index efbcb58e62..d261f0f533 100644 --- a/src/utils/utils.py +++ b/src/utils/utils.py @@ -715,7 +715,7 @@ def check_evennia_dependencies(): # defining the requirements python_min = '2.6' twisted_min = '10.0' - django_min = '1.2' + django_min = '1.4' south_min = '0.7' nt_stop_python_min = '2.7' @@ -727,8 +727,9 @@ def check_evennia_dependencies(): if pversion < python_min: errstring += "\n WARNING: Python %s used. Evennia recommends version %s or higher (but not 3.x)." % (pversion, python_min) if os.name == 'nt' and pversion < nt_stop_python_min: - errstring += "\n WARNING: Windows requires Python %s or higher in order to restart/stop the server from the command line." - errstring += "\n (You need to restart/stop from inside the game.)" % nt_stop_python_min + errstring += "\n WARNING: Python %s used. Windows requires Python %s or higher in order to" % (pversion, nt_stop_python_min) + errstring += " restart/stop the server from the command line." + errstring += "\n (You need to restart/stop from inside the game.)" # Twisted try: import twisted From 3afee000643868d6393f8fb6585215af9b27e21e Mon Sep 17 00:00:00 2001 From: Griatch Date: Mon, 25 Mar 2013 19:44:37 +0100 Subject: [PATCH 3/3] Added ALLOWED_HOSTS default setting required by Django 1.5. --- src/settings_default.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/settings_default.py b/src/settings_default.py index 59fe25a790..674b4683a6 100644 --- a/src/settings_default.py +++ b/src/settings_default.py @@ -40,6 +40,10 @@ TELNET_OOB_ENABLED = False # OBS - currently not fully implemented - do not use! # (Obs - further web configuration can be found below # in the section 'Config for Django web features') WEBSERVER_ENABLED = True +# This is a security setting protecting against host poisoning +# attacks. It defaults to allowing all. In production, make +# sure to change this to your actual host addresses/IPs. +ALLOWED_HOSTS = ["*"] # A list of ports the Evennia webserver listens on WEBSERVER_PORTS = [8000] # Interface addresses to listen to. If 0.0.0.0, listen to all.