Skip to content

Commit 2fbcc0c

Browse files
author
Alessio Fabiani
authored
Merge pull request #16 from DingDingFan0207/Dingding/geonode-user-messages
#4276 upgrade user-messages to be compatible with python3 and django1.11
2 parents 0ff46f7 + a02d0c7 commit 2fbcc0c

File tree

13 files changed

+90
-34
lines changed

13 files changed

+90
-34
lines changed

docs/conf.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040
master_doc = 'index'
4141

4242
# General information about the project.
43-
project = u'user-messages'
44-
copyright = u'2011, Eldarion'
43+
project = 'user-messages'
44+
copyright = '2011, Eldarion'
4545

4646
# The version info for the project you're documenting, acts as replacement for
4747
# |version| and |release|, also used in various other places throughout the
@@ -178,8 +178,8 @@
178178
# Grouping the document tree into LaTeX files. List of tuples
179179
# (source start file, target name, title, author, documentclass [howto/manual]).
180180
latex_documents = [
181-
('index', 'user-messages.tex', u'user-messages Documentation',
182-
u'Eldarion', 'manual'),
181+
('index', 'user-messages.tex', 'user-messages Documentation',
182+
'Eldarion', 'manual'),
183183
]
184184

185185
# The name of an image file (relative to this directory) to place at the top of
@@ -211,6 +211,6 @@
211211
# One entry per manual page. List of tuples
212212
# (source start file, name, description, authors, manual section).
213213
man_pages = [
214-
('index', 'user-messages', u'user-messages Documentation',
215-
[u'Eldarion'], 1)
214+
('index', 'user-messages', 'user-messages Documentation',
215+
['Eldarion'], 1)
216216
]

user_messages/context_processors.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
def user_messages(request):
55
c = {}
66
if request.user.is_authenticated():
7-
c["inbox_count"] = Thread.objects.inbox(request.user).count()
7+
c["inbox_count"] = Thread.objects.unread_threads(request.user).count()
88
return c

user_messages/forms.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ def clean(self):
6262
super(NewMessageForm, self).clean()
6363
users = self.cleaned_data.get("to_users")
6464
groups = self.cleaned_data.get("to_groups")
65+
if users is None and groups is None:
66+
# when data in field users/groups is not valid,
67+
# cleaned_data function will not include the data or its field
68+
raise ValidationError(_("Must have at least one validated user or group."))
6569
if not any(users) and not any(groups):
6670
raise ValidationError(_("Must select at least one user or group."))
6771

user_messages/migrations/0001_initial.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#
1919
#########################################################################
2020

21-
from __future__ import unicode_literals
2221

2322
from django.db import migrations, models
2423
import django.utils.timezone

user_messages/migrations/0002_auto_20171107_1128.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# -*- coding: utf-8 -*-
2-
from __future__ import unicode_literals
2+
33

44
from django.db import migrations, models
55
import django.utils.timezone

user_messages/migrations/0003_auto_20171108_1037.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# -*- coding: utf-8 -*-
2-
from __future__ import unicode_literals
2+
33

44
from django.db import migrations, models
55
from django.conf import settings

user_messages/migrations/0004_auto_20171108_1101.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# -*- coding: utf-8 -*-
2-
from __future__ import unicode_literals
2+
33

44
from django.db import migrations, models
55

user_messages/models.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
from datetime import datetime
2-
31
from django.core.urlresolvers import reverse
42
from django.db import models
53
from django.db.models import Q

user_messages/tests/manage.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
1-
#!/usr/bin/env python
2-
from django.core.management import execute_manager
3-
try:
4-
import settings # Assumed to be in the same directory.
5-
except ImportError:
6-
import sys
7-
sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__)
8-
sys.exit(1)
1+
import os
2+
import sys
3+
import django
4+
from django.conf import settings
5+
from django.test.utils import get_runner
96

10-
if __name__ == "__main__":
11-
execute_manager(settings)
127

8+
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
9+
10+
if __name__ == "__main__":
11+
django.setup()
12+
TestRunner = get_runner(settings)
13+
test_runner = TestRunner()
14+
failures = test_runner.run_tests(['user_messages'])
15+
if failures:
16+
sys.exit(failures)

user_messages/tests/settings.py

Lines changed: 60 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,68 @@
1-
DATABASE_ENGINE = "sqlite3"
1+
import os
22

33
ROOT_URLCONF = "user_messages.urls"
44

5-
TEMPLATE_CONTEXT_PROCESSORS = [
6-
"user_messages.context_processors.user_messages"
5+
SECRET_KEY = " "
6+
7+
AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend', 'guardian.backends.ObjectPermissionBackend')
8+
9+
DATABASES = {
10+
'default': {
11+
'ENGINE': 'django.db.backends.sqlite3',
12+
'NAME': ':memory:',
13+
}
14+
}
15+
16+
LOGGING = {
17+
'version': 1,
18+
'disable_existing_loggers': False,
19+
'handlers': {
20+
'file': {
21+
'level': 'DEBUG',
22+
'class': 'logging.FileHandler',
23+
'filename': 'debug.log',
24+
},
25+
},
26+
'loggers': {
27+
'django': {
28+
'handlers': ['file'],
29+
'level': 'DEBUG',
30+
'propagate': True,
31+
},
32+
},
33+
}
34+
35+
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
36+
TEMPLATES = [
37+
{
38+
'BACKEND': 'django.template.backends.django.DjangoTemplates',
39+
'DIRS': [os.path.join(BASE_DIR, 'tests/templates')],
40+
'APP_DIRS': False,
41+
'OPTIONS': {
42+
'context_processors': [
43+
"user_messages.context_processors.user_messages"
44+
]
45+
}
46+
},
747
]
848

949
INSTALLED_APPS = [
10-
"django.contrib.auth",
11-
"django.contrib.contenttypes",
12-
"django.contrib.sessions",
50+
'django.contrib.auth',
51+
'django.contrib.sessions',
52+
'django.contrib.sites',
53+
'django.contrib.contenttypes',
1354
"user_messages",
55+
'guardian',
56+
'geonode.groups',
57+
"taggit",
1458
]
59+
60+
61+
MIDDLEWARE = [
62+
'django.middleware.common.CommonMiddleware',
63+
'django.contrib.sessions.middleware.SessionMiddleware',
64+
'django.contrib.auth.middleware.AuthenticationMiddleware',
65+
'django.contrib.messages.middleware.MessageMiddleware',
66+
]
67+
68+
USE_TZ = True

0 commit comments

Comments
 (0)