fix django 1.6 compatibility
This commit is contained in:
parent
d58bfacf10
commit
93a16087ca
3 changed files with 66 additions and 34 deletions
11
.travis.yml
11
.travis.yml
|
@ -9,17 +9,16 @@ env:
|
|||
- DJANGO='1.7'
|
||||
|
||||
install:
|
||||
- if [[ $DJANGO == '1.6' ]]; then pip install django==1.6; fi
|
||||
- if [[ $DJANGO != '1.6' ]]; then pip install -e git+git://github.com/django/django.git@1.7c2#egg=django1.7rc2; fi
|
||||
- if [[ $DJANGO == '1.6' && $TRAVIS_PYTHON_VERSION == 3.4 ]]; then pip install django==1.6; fi
|
||||
- pip install -r requirements.txt
|
||||
- if [[ $DJANGO == '1.6' ]]; then pip install coveralls; fi
|
||||
- if [[ $DJANGO == '1.6' && $TRAVIS_PYTHON_VERSION == 3.4 ]]; then pip install coveralls; fi
|
||||
|
||||
script:
|
||||
- if [[ $DJANGO == '1.6' ]]; then coverage run --branch --source=accounts,permissions,tracker --omit=accounts/migrations/*.py,permissions/migrations/*.py,tracker/migrations/*.py manage.py test; fi
|
||||
- if [[ $DJANGO != '1.6' ]]; then python manage.py test; fi
|
||||
- if [[ $DJANGO == '1.6' && $TRAVIS_PYTHON_VERSION == 3.4 ]]; then coverage run --branch --source=accounts,permissions,tracker --omit=accounts/migrations/*.py,permissions/migrations/*.py,tracker/migrations/*.py manage.py test; fi
|
||||
- if [[ $DJANGO != '1.6' || $TRAVIS_PYTHON_VERSION != 3.4 ]]; then python manage.py test; fi
|
||||
|
||||
after_success:
|
||||
if [[ $DJANGO == '1.6' ]]; then coveralls; fi
|
||||
if [[ $DJANGO == '1.6' && $TRAVIS_PYTHON_VERSION == 3.4 ]]; then coveralls; fi
|
||||
|
||||
notifications:
|
||||
irc:
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
import json
|
||||
|
||||
from django.test import TestCase
|
||||
from django.core.urlresolvers import reverse
|
||||
from django import VERSION
|
||||
|
||||
import json
|
||||
|
||||
from accounts.models import *
|
||||
|
||||
|
@ -47,7 +48,11 @@ class TestViews(TestCase):
|
|||
'new_password1': 'newpassword',
|
||||
'new_password2': 'newpassword',
|
||||
}, follow=True)
|
||||
if VERSION >= (1, 7):
|
||||
# since django 1.7, session are invalid after a password change
|
||||
self.assertRedirects(response, reverse('login')+'?next='+reverse('profile'))
|
||||
else:
|
||||
self.assertRedirects(response, reverse('profile'))
|
||||
self.assertContains(response, 'Password updated successfully')
|
||||
user = User.objects.get(username='admin')
|
||||
self.assertTrue(user.check_password('newpassword'))
|
||||
|
@ -159,7 +164,7 @@ class TestViews(TestCase):
|
|||
})
|
||||
self.assertRedirects(response, reverse('show-user', args=[user.id]))
|
||||
user = User.objects.get(pk=user.pk)
|
||||
self.assertTrue(group in user.groups.all())
|
||||
self.assertTrue(user.groups.filter(pk=group.pk).exists())
|
||||
|
||||
def test_user_remove_group(self):
|
||||
user = User.objects.get(username='user1')
|
||||
|
@ -168,11 +173,11 @@ class TestViews(TestCase):
|
|||
response = self.client.get(reverse('remove-group-from-user', args=[user.id, group.id]))
|
||||
self.assertEqual(response.status_code, 404)
|
||||
user = User.objects.get(pk=user.pk)
|
||||
self.assertTrue(group in user.groups.all())
|
||||
self.assertTrue(user.groups.filter(pk=group.pk).exists())
|
||||
response = self.client.get(reverse('remove-group-from-user', args=[user.id, group.id]))
|
||||
self.assertEqual(response.status_code, 200)
|
||||
user = User.objects.get(pk=user.pk)
|
||||
self.assertFalse(group in user.groups.all())
|
||||
self.assertFalse(user.groups.filter(pk=group.pk).exists())
|
||||
|
||||
def test_user_add_team(self):
|
||||
user = User.objects.get(username='user1')
|
||||
|
@ -188,7 +193,7 @@ class TestViews(TestCase):
|
|||
})
|
||||
self.assertRedirects(response, reverse('show-user', args=[user.id]))
|
||||
team = Team.objects.get(pk=team.pk)
|
||||
self.assertTrue(user in team.users.all())
|
||||
self.assertTrue(team.users.filter(pk=user.pk).exists())
|
||||
|
||||
def test_user_remove_team(self):
|
||||
user = User.objects.get(username='user1')
|
||||
|
@ -196,7 +201,7 @@ class TestViews(TestCase):
|
|||
response = self.client.get(reverse('remove-team-from-user', args=[user.id, team.id]))
|
||||
self.assertEqual(response.status_code, 200)
|
||||
team = Team.objects.get(pk=team.pk)
|
||||
self.assertFalse(user in team.users.all())
|
||||
self.assertFalse(team.users.filter(pk=user.pk).exists())
|
||||
|
||||
# Group
|
||||
|
||||
|
@ -257,7 +262,7 @@ class TestViews(TestCase):
|
|||
response = self.client.get(reverse('add-user-to-group', args=[group.id]) + '?query=new')
|
||||
self.assertEqual(response.status_code, 404)
|
||||
user = User.objects.get(pk=user.pk)
|
||||
self.assertFalse(group in user.groups.all())
|
||||
self.assertFalse(user.groups.filter(pk=group.pk).exists())
|
||||
response = self.client.get(reverse('add-user-to-group', args=[group.id]))
|
||||
self.assertEqual(response.status_code, 404)
|
||||
response = self.client.get(reverse('add-user-to-group', args=[group.id]) + '?query=new')
|
||||
|
@ -269,7 +274,7 @@ class TestViews(TestCase):
|
|||
})
|
||||
self.assertRedirects(response, reverse('show-group', args=[group.id]))
|
||||
user = User.objects.get(pk=user.pk)
|
||||
self.assertTrue(group in user.groups.all())
|
||||
self.assertTrue(user.groups.filter(pk=group.pk).exists())
|
||||
|
||||
def test_group_remove_user(self):
|
||||
user = User.objects.get(username='user1')
|
||||
|
@ -278,11 +283,10 @@ class TestViews(TestCase):
|
|||
response = self.client.get(reverse('remove-user-from-group', args=[group.id, user.id]))
|
||||
self.assertEqual(response.status_code, 404)
|
||||
user = User.objects.get(pk=user.pk)
|
||||
self.assertTrue(group in user.groups.all())
|
||||
self.assertTrue(user.groups.filter(pk=group.pk).exists())
|
||||
response = self.client.get(reverse('remove-user-from-group', args=[group.id, user.id]))
|
||||
self.assertEqual(response.status_code, 200)
|
||||
user = User.objects.get(pk=user.pk)
|
||||
self.assertFalse(group in user.groups.all())
|
||||
self.assertFalse(user.groups.filter(pk=group.pk).exists())
|
||||
|
||||
# Team
|
||||
|
||||
|
@ -345,7 +349,7 @@ class TestViews(TestCase):
|
|||
})
|
||||
self.assertRedirects(response, reverse('show-team', args=[team.id]))
|
||||
team = Team.objects.get(pk=team.pk)
|
||||
self.assertTrue(user in team.users.all())
|
||||
self.assertTrue(team.users.filter(pk=user.pk).exists())
|
||||
|
||||
def test_team_remove_user(self):
|
||||
team = Team.objects.get(name='team2')
|
||||
|
@ -353,7 +357,7 @@ class TestViews(TestCase):
|
|||
response = self.client.get(reverse('remove-user-from-team', args=[team.id, user.id]))
|
||||
self.assertEqual(response.status_code, 200)
|
||||
team = Team.objects.get(pk=team.pk)
|
||||
self.assertFalse(user in team.users.all())
|
||||
self.assertFalse(team.users.filter(pk=user.pk).exists())
|
||||
|
||||
def test_team_add_group(self):
|
||||
team = Team.objects.get(name='team2')
|
||||
|
@ -369,7 +373,7 @@ class TestViews(TestCase):
|
|||
})
|
||||
self.assertRedirects(response, reverse('show-team', args=[team.id]))
|
||||
team = Team.objects.get(pk=team.pk)
|
||||
self.assertTrue(group in team.groups.all())
|
||||
self.assertTrue(team.groups.filter(pk=group.pk).exists())
|
||||
|
||||
def test_team_remove_group(self):
|
||||
team = Team.objects.get(name='team2')
|
||||
|
@ -377,7 +381,7 @@ class TestViews(TestCase):
|
|||
response = self.client.get(reverse('remove-group-from-team', args=[team.id, group.id]))
|
||||
self.assertEqual(response.status_code, 200)
|
||||
team = Team.objects.get(pk=team.pk)
|
||||
self.assertFalse(group in team.groups.all())
|
||||
self.assertFalse(team.groups.filter(pk=group.pk).exists())
|
||||
|
||||
|
||||
class TestModels(TestCase):
|
||||
|
|
|
@ -7,8 +7,13 @@ from django.db.models import Q
|
|||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.forms import PasswordChangeForm
|
||||
from django import VERSION
|
||||
|
||||
from django.http import Http404, HttpResponse, JsonResponse
|
||||
from django.http import Http404, HttpResponse
|
||||
if VERSION >= (1, 7):
|
||||
from django.http import JsonResponse
|
||||
else:
|
||||
import json
|
||||
|
||||
from permissions.decorators import project_perm_required
|
||||
|
||||
|
@ -186,9 +191,13 @@ def user_add_group(request, user):
|
|||
'value': group.name,
|
||||
'data': group.name,
|
||||
}]
|
||||
return JsonResponse({
|
||||
c = {
|
||||
'suggestions': response,
|
||||
}, safe=False)
|
||||
}
|
||||
if VERSION >= (1, 7):
|
||||
return JsonResponse(c, safe=False)
|
||||
else:
|
||||
return HttpResponse(json.dumps(c), content_type="application/json")
|
||||
|
||||
|
||||
@project_perm_required('manage_accounts')
|
||||
|
@ -239,9 +248,13 @@ def user_add_team(request, user):
|
|||
'value': team.name,
|
||||
'data': team.name,
|
||||
}]
|
||||
return JsonResponse({
|
||||
c = {
|
||||
'suggestions': response,
|
||||
}, safe=False)
|
||||
}
|
||||
if VERSION >= (1, 7):
|
||||
return JsonResponse(c, safe=False)
|
||||
else:
|
||||
return HttpResponse(json.dumps(c), content_type="application/json")
|
||||
|
||||
|
||||
@project_perm_required('manage_accounts')
|
||||
|
@ -321,17 +334,21 @@ def group_add_user(request, group):
|
|||
try:
|
||||
user = User.objects.get(username=user)
|
||||
except ObjectDoesNotExist:
|
||||
print('user not found')
|
||||
messages.error(request, 'User not found.')
|
||||
else:
|
||||
if group.users.filter(id=user.id).exists():
|
||||
print('already exist')
|
||||
messages.info(request, 'User already in group.')
|
||||
else:
|
||||
user.groups.add(group)
|
||||
user.save()
|
||||
messages.success(request,
|
||||
'User added to group successfully.')
|
||||
print('huge success')
|
||||
else:
|
||||
messages.error(request, 'User not found.')
|
||||
print('not found 2')
|
||||
return redirect('show-group', group.id)
|
||||
else:
|
||||
term = request.GET.get('query')
|
||||
|
@ -347,9 +364,13 @@ def group_add_user(request, group):
|
|||
'value': user.username_and_fullname,
|
||||
'data': user.username,
|
||||
}]
|
||||
return JsonResponse({
|
||||
c = {
|
||||
'suggestions': response,
|
||||
}, safe=False)
|
||||
}
|
||||
if VERSION >= (1, 7):
|
||||
return JsonResponse(c, safe=False)
|
||||
else:
|
||||
return HttpResponse(json.dumps(c), content_type="application/json")
|
||||
|
||||
|
||||
@project_perm_required('manage_accounts')
|
||||
|
@ -454,9 +475,13 @@ def team_add_user(request, team):
|
|||
'value': user.username_and_fullname,
|
||||
'data': user.username,
|
||||
}]
|
||||
return JsonResponse({
|
||||
c = {
|
||||
'suggestions': response,
|
||||
}, safe=False)
|
||||
}
|
||||
if VERSION >= (1, 7):
|
||||
return JsonResponse(c, safe=False)
|
||||
else:
|
||||
return HttpResponse(json.dumps(c), content_type="application/json")
|
||||
|
||||
|
||||
@project_perm_required('manage_accounts')
|
||||
|
@ -503,9 +528,13 @@ def team_add_group(request, team):
|
|||
'value': group.name,
|
||||
'data': group.name,
|
||||
}]
|
||||
return JsonResponse({
|
||||
c = {
|
||||
'suggestions': response,
|
||||
}, safe=False)
|
||||
}
|
||||
if VERSION >= (1, 7):
|
||||
return JsonResponse(c, safe=False)
|
||||
else:
|
||||
return HttpResponse(json.dumps(c), content_type="application/json")
|
||||
|
||||
|
||||
@project_perm_required('manage_accounts')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue