Merge pull request #16 from revsys/nicholasserra-django-19

Django 1.9 support
This commit is contained in:
Nicholas Serra 2016-04-01 21:48:48 -04:00
commit f05bd86ee8
8 changed files with 49 additions and 18 deletions

View file

@ -16,6 +16,7 @@ env:
- DJANGO="Django==1.6.4"
- DJANGO="Django==1.7.11"
- DJANGO="Django==1.8.11"
- DJANGO="Django==1.9.4"
matrix:
exclude:
# Python 2.6 support has been dropped in Django 1.7
@ -25,3 +26,5 @@ matrix:
env: DJANGO="Django==1.4.12"
- python: "2.6"
env: DJANGO="Django==1.8.11"
- python: "2.6"
env: DJANGO="Django==1.9.4"

View file

@ -36,11 +36,6 @@ if not settings.configured:
)
# Django 1.7 compatibility:
if hasattr(django, 'setup'):
django.setup()
import logging
logging.basicConfig(
level = logging.DEBUG,

View file

@ -5,15 +5,35 @@ from django.conf import settings
def get_fk_user_model():
if django.VERSION >= (1, 5):
return settings.AUTH_USER_MODEL
else:
from django.contrib.auth.models import User
return User
from django.contrib.auth.models import User
return User
def get_runtime_user_model():
if django.VERSION >= (1, 5):
from django.contrib.auth import get_user_model
return get_user_model()
from django.contrib.auth.models import User
return User
def get_request_site():
if django.VERSION >= (1, 9):
from django.contrib.sites.requests import RequestSite
else:
from django.contrib.auth.models import User
return User
from django.contrib.sites.models import RequestSite
return RequestSite
def get_library():
if django.VERSION >= (1, 9):
from django.template.library import Library
else:
from django.template.base import Library
return Library
if django.VERSION < (1, 5):
from django.templatetags.future import url
else:
from django.template.defaulttags import url

View file

@ -1,4 +1,4 @@
{% load url from future %}
{% load url from compat %}
{% if note %}
<h2>{{ note }}</note>
{% else %}

View file

View file

@ -0,0 +1,10 @@
from tos.compat import url as tos_url, get_library
Library = get_library()
register = Library()
@register.tag
def url(parser, token):
return tos_url(parser, token)

View file

@ -1,2 +1,5 @@
from tos.tests.test_models import *
from tos.tests.test_views import *
import django
if django.VERSION < (1, 6):
from tos.tests.test_models import *
from tos.tests.test_views import *

View file

@ -5,7 +5,7 @@ from django.contrib import messages
from django.contrib.auth import login as auth_login
from django.contrib.auth import REDIRECT_FIELD_NAME
from django.contrib.auth.forms import AuthenticationForm
from django.contrib.sites.models import Site, RequestSite
from django.contrib.sites.models import Site
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from django.template import RequestContext
@ -13,7 +13,7 @@ from django.views.decorators.cache import never_cache
from django.views.decorators.csrf import csrf_protect
from django.utils.translation import ugettext_lazy as _
from tos.compat import get_runtime_user_model
from tos.compat import get_runtime_user_model, get_request_site
from tos.models import has_user_agreed_latest_tos, TermsOfService, UserAgreement
@ -47,7 +47,7 @@ def _redirect_to(redirect_to):
def check_tos(request, template_name='tos/tos_check.html',
redirect_field_name=REDIRECT_FIELD_NAME,):
redirect_to = _redirect_to(request.REQUEST.get(redirect_field_name, ''))
redirect_to = _redirect_to(request.POST.get(redirect_field_name, request.GET.get(redirect_field_name, '')))
tos = TermsOfService.objects.get_current_tos()
if request.method == "POST":
if request.POST.get("accept", "") == "accept":
@ -83,7 +83,7 @@ def login(request, template_name='registration/login.html',
authentication_form=AuthenticationForm):
"""Displays the login form and handles the login action."""
redirect_to = request.REQUEST.get(redirect_field_name, '')
redirect_to = request.POST.get(redirect_field_name, request.GET.get(redirect_field_name, ''))
if request.method == "POST":
form = authentication_form(data=request.POST)
@ -128,7 +128,7 @@ def login(request, template_name='registration/login.html',
if Site._meta.installed:
current_site = Site.objects.get_current()
else:
current_site = RequestSite(request)
current_site = get_request_site()(request)
return render_to_response(template_name, {
'form': form,