From 7d53bfcb3c06faa5e37a163ca1a645af43b81003 Mon Sep 17 00:00:00 2001 From: Emmanuel Cazenave Date: Fri, 13 Jul 2018 10:16:46 +0200 Subject: [PATCH] delete some django < 1.8 compatiblity code (#25097) --- src/authentic2/compat.py | 18 ------------ src/authentic2/idp/saml/__init__.py | 8 ++---- src/authentic2/migrations/__init__.py | 12 ++------ src/authentic2/registration_backend/views.py | 4 +-- src/authentic2/settings.py | 4 +-- src/authentic2/utils.py | 29 +++++--------------- src/authentic2/views.py | 7 ++--- src/django_rbac/backends.py | 29 +++++--------------- tests/test_utils.py | 5 +--- 9 files changed, 24 insertions(+), 92 deletions(-) diff --git a/src/authentic2/compat.py b/src/authentic2/compat.py index ab2466540..ed09f92fc 100644 --- a/src/authentic2/compat.py +++ b/src/authentic2/compat.py @@ -1,6 +1,5 @@ from datetime import datetime -import django from django.conf import settings try: @@ -20,22 +19,5 @@ from . import app_settings, utils user_model_label = getattr(settings, 'AUTH_USER_MODEL', 'auth.User') from django.contrib.auth.tokens import PasswordResetTokenGenerator -if django.VERSION < (1, 8): - class PasswordResetTokenGenerator(PasswordResetTokenGenerator): - def check_token(self, user, token): - if not user.last_login: - new_user = user.__class__() - new_user.__dict__ = user.__dict__ - new_user.last_login = new_user.last_login or datetime(1970, 1, 1) - user = new_user - return super(PasswordResetTokenGenerator, self).check_token(user, token) - - def make_token(self, user): - if not user.last_login: - new_user = user.__class__() - new_user.__dict__ = user.__dict__ - new_user.last_login = new_user.last_login or datetime(1970, 1, 1) - user = new_user - return super(PasswordResetTokenGenerator, self).make_token(user) default_token_generator = PasswordResetTokenGenerator() diff --git a/src/authentic2/idp/saml/__init__.py b/src/authentic2/idp/saml/__init__.py index f921dc79e..81c90c4ea 100644 --- a/src/authentic2/idp/saml/__init__.py +++ b/src/authentic2/idp/saml/__init__.py @@ -1,4 +1,3 @@ -import django from django.conf import settings from django.utils.translation import ugettext_lazy as _ from django.core.checks import register, Warning, Tags @@ -58,8 +57,5 @@ def check_authentic2_config(app_configs, **kwargs): ) return errors -if django.VERSION >= (1, 8): - check_authentic2_config = register(Tags.security, - deploy=True)(check_authentic2_config) -else: - check_authentic2_config = register()(check_authentic2_config) +check_authentic2_config = register(Tags.security, + deploy=True)(check_authentic2_config) diff --git a/src/authentic2/migrations/__init__.py b/src/authentic2/migrations/__init__.py index cecfeaaeb..a91642777 100644 --- a/src/authentic2/migrations/__init__.py +++ b/src/authentic2/migrations/__init__.py @@ -1,6 +1,5 @@ import itertools -import django from django.db.migrations.operations.base import Operation @@ -24,14 +23,9 @@ class CreatePartialIndexes(Operation): self.where.add('"%s" IS NULL' % column) def allowed(self, app_label, schema_editor, to_state): - if django.VERSION < (1, 8, 0): - to_model = to_state.render().get_model(app_label, self.model_name) - if not self.allowed_to_migrate(schema_editor.connection.alias, to_model): - return False - else: - to_model = to_state.apps.get_model(app_label, self.model_name) - if not self.allow_migrate_model(schema_editor.connection.alias, to_model): - return False + to_model = to_state.apps.get_model(app_label, self.model_name) + if not self.allow_migrate_model(schema_editor.connection.alias, to_model): + return False if schema_editor.connection.vendor == 'postgresql': return True return False diff --git a/src/authentic2/registration_backend/views.py b/src/authentic2/registration_backend/views.py index 4f4e57151..ef6699b30 100644 --- a/src/authentic2/registration_backend/views.py +++ b/src/authentic2/registration_backend/views.py @@ -1,4 +1,3 @@ -import django import collections import logging import random @@ -96,8 +95,7 @@ class BaseRegistrationView(FormView): ctx = super(BaseRegistrationView, self).get_context_data(**kwargs) request_context = RequestContext(self.request) request_context.push(ctx) - if django.VERSION >= (1, 8, 0): - request_context['add_to_blocks'] = collections.defaultdict(lambda: []) + request_context['add_to_blocks'] = collections.defaultdict(lambda: []) parameters = {'request': self.request, 'context_instance': request_context} blocks = [utils.get_backend_method(backend, 'registration', parameters) diff --git a/src/authentic2/settings.py b/src/authentic2/settings.py index 18e286b83..d35e1815d 100644 --- a/src/authentic2/settings.py +++ b/src/authentic2/settings.py @@ -4,7 +4,6 @@ import logging.config from django.conf import global_settings import os -import django from gadjo.templatetags.gadjo import xstatic from . import plugins, logger @@ -277,8 +276,7 @@ MIGRATION_MODULES = { 'menu': 'authentic2.menu_migrations', 'dashboard': 'authentic2.dashboard_migrations', } -if django.VERSION >= (1,8): - MIGRATION_MODULES['auth'] = 'authentic2.auth_migrations_18' +MIGRATION_MODULES['auth'] = 'authentic2.auth_migrations_18' # Django REST Framework REST_FRAMEWORK = { diff --git a/src/authentic2/utils.py b/src/authentic2/utils.py index 2da07308f..451003f47 100644 --- a/src/authentic2/utils.py +++ b/src/authentic2/utils.py @@ -14,7 +14,6 @@ from itertools import islice, chain, count from importlib import import_module -import django from django.conf import settings from django.http import HttpResponseRedirect, HttpResponse from django.core.exceptions import ImproperlyConfigured, PermissionDenied @@ -620,29 +619,15 @@ def send_templated_mail(user_or_email, template_names, context=None, with_html=T html_message=html_body, **kwargs) -if django.VERSION < (1, 8, 0): - from django.db.models import ForeignKey - - def get_fk_model(model, fieldname): - '''returns None if not foreignkey, otherswise the relevant model''' - try: - field_object = model._meta.get_field(fieldname) - direct = not field_object.auto_created or field_object.concrete - except FieldDoesNotExist: - return None - if not field_object.m2m and direct and isinstance(field_object, ForeignKey): - return field_object.rel.to +def get_fk_model(model, fieldname): + try: + field = model._meta.get_field('ou') + except FieldDoesNotExist: return None -else: - def get_fk_model(model, fieldname): - try: - field = model._meta.get_field('ou') - except FieldDoesNotExist: + else: + if not field.is_relation or not field.many_to_one: return None - else: - if not field.is_relation or not field.many_to_one: - return None - return field.related_model + return field.related_model def get_registration_url(request, service_slug=None): diff --git a/src/authentic2/views.py b/src/authentic2/views.py index cdf334b77..e5f5e7bb4 100644 --- a/src/authentic2/views.py +++ b/src/authentic2/views.py @@ -7,7 +7,6 @@ import re import collections -import django from django.conf import settings from django.shortcuts import render_to_response, render from django.template import RequestContext @@ -297,8 +296,7 @@ def login(request, template_name='authentic2/login.html', 'registration_authorized': getattr(settings, 'REGISTRATION_OPEN', True), 'registration_url': registration_url, }) - if django.VERSION >= (1, 8, 0): - context_instance['add_to_blocks'] = collections.defaultdict(lambda: []) + context_instance['add_to_blocks'] = collections.defaultdict(lambda: []) # Cancel button if request.method == "POST" \ @@ -413,8 +411,7 @@ class ProfileView(cbv.TemplateNamesMixin, TemplateView): request = self.request context_instance = RequestContext(request, ctx) - if django.VERSION >= (1, 8, 0): - context_instance['add_to_blocks'] = collections.defaultdict(lambda: []) + context_instance['add_to_blocks'] = collections.defaultdict(lambda: []) if request.method == "POST": for frontend in frontends: if 'submit-%s' % frontend.id in request.POST: diff --git a/src/django_rbac/backends.py b/src/django_rbac/backends.py index b4d5092e4..aefe30693 100644 --- a/src/django_rbac/backends.py +++ b/src/django_rbac/backends.py @@ -1,6 +1,5 @@ import copy -import django from django.conf import settings from django.contrib.contenttypes.models import ContentType from django.db.models.query import Q @@ -13,29 +12,15 @@ except ImportError: from . import utils -if django.VERSION < (1, 8, 0): - from django.db.models import ForeignKey - - def get_fk_model(model, fieldname): - '''returns None if not foreignkey, otherswise the relevant model''' - try: - field_object = model._meta.get_field(fieldname) - direct = not field_object.auto_created or field_object.concrete - except FieldDoesNotExist: - return None - if not field_object.m2m and direct and isinstance(field_object, ForeignKey): - return field_object.rel.to +def get_fk_model(model, fieldname): + try: + field = model._meta.get_field('ou') + except FieldDoesNotExist: return None -else: - def get_fk_model(model, fieldname): - try: - field = model._meta.get_field('ou') - except FieldDoesNotExist: + else: + if not field.is_relation or not field.many_to_one: return None - else: - if not field.is_relation or not field.many_to_one: - return None - return field.related_model + return field.related_model class DjangoRBACBackend(object): diff --git a/tests/test_utils.py b/tests/test_utils.py index c9c5b9275..7f1618157 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -1,5 +1,3 @@ -import django - from authentic2.utils import good_next_url, same_origin, select_next_url @@ -8,8 +6,7 @@ def test_good_next_url(rf, settings): assert good_next_url(request, '/admin/') assert good_next_url(request, '/') assert good_next_url(request, 'https://example.net/') - if django.VERSION >= (1, 8): - assert good_next_url(request, 'https://example.net:443/') + assert good_next_url(request, 'https://example.net:443/') assert not good_next_url(request, 'https://example.net:4443/') assert not good_next_url(request, 'http://example.net/') assert not good_next_url(request, 'https://google.com/')