From fe1e839dfa72c3d82e8d377fcab725e88936c491 Mon Sep 17 00:00:00 2001 From: Gustavo Jaruga Cruz Date: Tue, 29 Jul 2014 16:41:54 -0300 Subject: [PATCH] Add compatibility to django 1.7 --- requirements.txt | 3 +-- src/badger/models.py | 3 +-- src/colab/custom_settings.py | 1 - src/super_archives/managers.py | 29 +++++++++++++++++++++-------- src/super_archives/models.py | 4 ++-- 5 files changed, 25 insertions(+), 15 deletions(-) diff --git a/requirements.txt b/requirements.txt index 53fbd48..2ade204 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,4 @@ -Django>=1.6.1,<1.7 -South==0.8.1 +Django>=1.6.1,<1.8 psycopg2==2.5.1 django-piston==0.2.3 pytz==2011n diff --git a/src/badger/models.py b/src/badger/models.py index 721bdd2..b5b72bf 100644 --- a/src/badger/models.py +++ b/src/badger/models.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- from django.conf import settings -from django.contrib.auth import get_user_model from django.db import models from django.utils.translation import ugettext_lazy as _ from i18n_model.models import I18nModel @@ -58,7 +57,7 @@ class Badge(models.Model): null=True ) awardees = models.ManyToManyField( - get_user_model(), + settings.AUTH_USER_MODEL, verbose_name=_(u'Awardees'), blank=True, null=True diff --git a/src/colab/custom_settings.py b/src/colab/custom_settings.py index 43cfded..b14b06a 100644 --- a/src/colab/custom_settings.py +++ b/src/colab/custom_settings.py @@ -99,7 +99,6 @@ INSTALLED_APPS = INSTALLED_APPS + ( # Not standard apps 'raven.contrib.django.raven_compat', - 'south', 'cliauth', 'django_mobile', 'django_browserid', diff --git a/src/super_archives/managers.py b/src/super_archives/managers.py index e09ff07..6610c61 100644 --- a/src/super_archives/managers.py +++ b/src/super_archives/managers.py @@ -1,19 +1,29 @@ - from django.db import models from haystack.query import SearchQuerySet - +import django class NotSpamManager(models.Manager): """Only return objects which are not marked as spam.""" - def get_query_set(self): - return super(NotSpamManager, self).get_query_set().exclude(spam=True) + def get_queryset(self): + if django.VERSION < (1, 7): + return super(NotSpamManager, self).get_queryset().exclude(spam=True) + else: + return super(NotSpamManager, self).get_query_set().exclude(spam=True) + + if django.VERSION < (1, 7): + # in 1.7+, get_query_set gets defined by the base ChangeList and complains if it's called. + # otherwise, we have to define it ourselves. + get_query_set = get_queryset class HighestScore(NotSpamManager): - def get_query_set(self): - queryset = super(HighestScore, self).get_query_set() + def get_queryset(self): + if django.VERSION < (1, 7): + queryset = super(HighestScore, self).get_queryset() + else: + queryset = super(HighestScore, self).get_query_set() return queryset.order_by('-score', '-latest_message__received_time') def from_haystack(self): @@ -21,11 +31,14 @@ class HighestScore(NotSpamManager): class MostVotedManager(NotSpamManager): - def get_query_set(self): + def get_queryset(self): """Query for the most voted messages sorting by the sum of voted and after by date.""" - queryset = super(MostVotedManager, self).get_query_set() + if django.VERSION < (1, 7): + queryset = super(MostVotedManager, self).get_queryset() + else: + queryset = super(MostVotedManager, self).get_query_set() sql = """ SELECT diff --git a/src/super_archives/models.py b/src/super_archives/models.py index 6e4c35d..7dbe9c9 100644 --- a/src/super_archives/models.py +++ b/src/super_archives/models.py @@ -23,7 +23,7 @@ from .utils import blocks from .utils.etiquetador import etiquetador -User = get_user_model() +User = settings.AUTH_USER_MODEL class EmailAddressValidation(models.Model): @@ -360,7 +360,7 @@ class Message(models.Model): class MessageBlock(models.Model): message = models.ForeignKey(Message, related_name='blocks') text = models.TextField() - is_reply = models.BooleanField() + is_reply = models.BooleanField(default=False) order = models.IntegerField() def __unicode__(self): -- libgit2 0.21.2