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'
|
- DJANGO='1.7'
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- if [[ $DJANGO == '1.6' ]]; then pip install django==1.6; fi
|
- if [[ $DJANGO == '1.6' && $TRAVIS_PYTHON_VERSION == 3.4 ]]; 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
|
|
||||||
- pip install -r requirements.txt
|
- 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:
|
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' && $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' ]]; then python manage.py test; fi
|
- if [[ $DJANGO != '1.6' || $TRAVIS_PYTHON_VERSION != 3.4 ]]; then python manage.py test; fi
|
||||||
|
|
||||||
after_success:
|
after_success:
|
||||||
if [[ $DJANGO == '1.6' ]]; then coveralls; fi
|
if [[ $DJANGO == '1.6' && $TRAVIS_PYTHON_VERSION == 3.4 ]]; then coveralls; fi
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
irc:
|
irc:
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
import json
|
|
||||||
|
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
|
from django import VERSION
|
||||||
|
|
||||||
|
import json
|
||||||
|
|
||||||
from accounts.models import *
|
from accounts.models import *
|
||||||
|
|
||||||
|
@ -47,7 +48,11 @@ class TestViews(TestCase):
|
||||||
'new_password1': 'newpassword',
|
'new_password1': 'newpassword',
|
||||||
'new_password2': 'newpassword',
|
'new_password2': 'newpassword',
|
||||||
}, follow=True)
|
}, follow=True)
|
||||||
self.assertRedirects(response, reverse('login')+'?next='+reverse('profile'))
|
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')
|
self.assertContains(response, 'Password updated successfully')
|
||||||
user = User.objects.get(username='admin')
|
user = User.objects.get(username='admin')
|
||||||
self.assertTrue(user.check_password('newpassword'))
|
self.assertTrue(user.check_password('newpassword'))
|
||||||
|
@ -159,7 +164,7 @@ class TestViews(TestCase):
|
||||||
})
|
})
|
||||||
self.assertRedirects(response, reverse('show-user', args=[user.id]))
|
self.assertRedirects(response, reverse('show-user', args=[user.id]))
|
||||||
user = User.objects.get(pk=user.pk)
|
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):
|
def test_user_remove_group(self):
|
||||||
user = User.objects.get(username='user1')
|
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]))
|
response = self.client.get(reverse('remove-group-from-user', args=[user.id, group.id]))
|
||||||
self.assertEqual(response.status_code, 404)
|
self.assertEqual(response.status_code, 404)
|
||||||
user = User.objects.get(pk=user.pk)
|
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]))
|
response = self.client.get(reverse('remove-group-from-user', args=[user.id, group.id]))
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
user = User.objects.get(pk=user.pk)
|
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):
|
def test_user_add_team(self):
|
||||||
user = User.objects.get(username='user1')
|
user = User.objects.get(username='user1')
|
||||||
|
@ -188,7 +193,7 @@ class TestViews(TestCase):
|
||||||
})
|
})
|
||||||
self.assertRedirects(response, reverse('show-user', args=[user.id]))
|
self.assertRedirects(response, reverse('show-user', args=[user.id]))
|
||||||
team = Team.objects.get(pk=team.pk)
|
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):
|
def test_user_remove_team(self):
|
||||||
user = User.objects.get(username='user1')
|
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]))
|
response = self.client.get(reverse('remove-team-from-user', args=[user.id, team.id]))
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
team = Team.objects.get(pk=team.pk)
|
team = Team.objects.get(pk=team.pk)
|
||||||
self.assertFalse(user in team.users.all())
|
self.assertFalse(team.users.filter(pk=user.pk).exists())
|
||||||
|
|
||||||
# Group
|
# Group
|
||||||
|
|
||||||
|
@ -257,7 +262,7 @@ class TestViews(TestCase):
|
||||||
response = self.client.get(reverse('add-user-to-group', args=[group.id]) + '?query=new')
|
response = self.client.get(reverse('add-user-to-group', args=[group.id]) + '?query=new')
|
||||||
self.assertEqual(response.status_code, 404)
|
self.assertEqual(response.status_code, 404)
|
||||||
user = User.objects.get(pk=user.pk)
|
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]))
|
response = self.client.get(reverse('add-user-to-group', args=[group.id]))
|
||||||
self.assertEqual(response.status_code, 404)
|
self.assertEqual(response.status_code, 404)
|
||||||
response = self.client.get(reverse('add-user-to-group', args=[group.id]) + '?query=new')
|
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]))
|
self.assertRedirects(response, reverse('show-group', args=[group.id]))
|
||||||
user = User.objects.get(pk=user.pk)
|
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):
|
def test_group_remove_user(self):
|
||||||
user = User.objects.get(username='user1')
|
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]))
|
response = self.client.get(reverse('remove-user-from-group', args=[group.id, user.id]))
|
||||||
self.assertEqual(response.status_code, 404)
|
self.assertEqual(response.status_code, 404)
|
||||||
user = User.objects.get(pk=user.pk)
|
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]))
|
response = self.client.get(reverse('remove-user-from-group', args=[group.id, user.id]))
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
user = User.objects.get(pk=user.pk)
|
self.assertFalse(user.groups.filter(pk=group.pk).exists())
|
||||||
self.assertFalse(group in user.groups.all())
|
|
||||||
|
|
||||||
# Team
|
# Team
|
||||||
|
|
||||||
|
@ -345,7 +349,7 @@ class TestViews(TestCase):
|
||||||
})
|
})
|
||||||
self.assertRedirects(response, reverse('show-team', args=[team.id]))
|
self.assertRedirects(response, reverse('show-team', args=[team.id]))
|
||||||
team = Team.objects.get(pk=team.pk)
|
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):
|
def test_team_remove_user(self):
|
||||||
team = Team.objects.get(name='team2')
|
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]))
|
response = self.client.get(reverse('remove-user-from-team', args=[team.id, user.id]))
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
team = Team.objects.get(pk=team.pk)
|
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):
|
def test_team_add_group(self):
|
||||||
team = Team.objects.get(name='team2')
|
team = Team.objects.get(name='team2')
|
||||||
|
@ -369,7 +373,7 @@ class TestViews(TestCase):
|
||||||
})
|
})
|
||||||
self.assertRedirects(response, reverse('show-team', args=[team.id]))
|
self.assertRedirects(response, reverse('show-team', args=[team.id]))
|
||||||
team = Team.objects.get(pk=team.pk)
|
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):
|
def test_team_remove_group(self):
|
||||||
team = Team.objects.get(name='team2')
|
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]))
|
response = self.client.get(reverse('remove-group-from-team', args=[team.id, group.id]))
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
team = Team.objects.get(pk=team.pk)
|
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):
|
class TestModels(TestCase):
|
||||||
|
|
|
@ -7,8 +7,13 @@ from django.db.models import Q
|
||||||
from django.core.exceptions import ObjectDoesNotExist
|
from django.core.exceptions import ObjectDoesNotExist
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.contrib.auth.forms import PasswordChangeForm
|
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
|
from permissions.decorators import project_perm_required
|
||||||
|
|
||||||
|
@ -186,9 +191,13 @@ def user_add_group(request, user):
|
||||||
'value': group.name,
|
'value': group.name,
|
||||||
'data': group.name,
|
'data': group.name,
|
||||||
}]
|
}]
|
||||||
return JsonResponse({
|
c = {
|
||||||
'suggestions': response,
|
'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')
|
@project_perm_required('manage_accounts')
|
||||||
|
@ -239,9 +248,13 @@ def user_add_team(request, user):
|
||||||
'value': team.name,
|
'value': team.name,
|
||||||
'data': team.name,
|
'data': team.name,
|
||||||
}]
|
}]
|
||||||
return JsonResponse({
|
c = {
|
||||||
'suggestions': response,
|
'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')
|
@project_perm_required('manage_accounts')
|
||||||
|
@ -321,17 +334,21 @@ def group_add_user(request, group):
|
||||||
try:
|
try:
|
||||||
user = User.objects.get(username=user)
|
user = User.objects.get(username=user)
|
||||||
except ObjectDoesNotExist:
|
except ObjectDoesNotExist:
|
||||||
|
print('user not found')
|
||||||
messages.error(request, 'User not found.')
|
messages.error(request, 'User not found.')
|
||||||
else:
|
else:
|
||||||
if group.users.filter(id=user.id).exists():
|
if group.users.filter(id=user.id).exists():
|
||||||
|
print('already exist')
|
||||||
messages.info(request, 'User already in group.')
|
messages.info(request, 'User already in group.')
|
||||||
else:
|
else:
|
||||||
user.groups.add(group)
|
user.groups.add(group)
|
||||||
user.save()
|
user.save()
|
||||||
messages.success(request,
|
messages.success(request,
|
||||||
'User added to group successfully.')
|
'User added to group successfully.')
|
||||||
|
print('huge success')
|
||||||
else:
|
else:
|
||||||
messages.error(request, 'User not found.')
|
messages.error(request, 'User not found.')
|
||||||
|
print('not found 2')
|
||||||
return redirect('show-group', group.id)
|
return redirect('show-group', group.id)
|
||||||
else:
|
else:
|
||||||
term = request.GET.get('query')
|
term = request.GET.get('query')
|
||||||
|
@ -347,9 +364,13 @@ def group_add_user(request, group):
|
||||||
'value': user.username_and_fullname,
|
'value': user.username_and_fullname,
|
||||||
'data': user.username,
|
'data': user.username,
|
||||||
}]
|
}]
|
||||||
return JsonResponse({
|
c = {
|
||||||
'suggestions': response,
|
'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')
|
@project_perm_required('manage_accounts')
|
||||||
|
@ -454,9 +475,13 @@ def team_add_user(request, team):
|
||||||
'value': user.username_and_fullname,
|
'value': user.username_and_fullname,
|
||||||
'data': user.username,
|
'data': user.username,
|
||||||
}]
|
}]
|
||||||
return JsonResponse({
|
c = {
|
||||||
'suggestions': response,
|
'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')
|
@project_perm_required('manage_accounts')
|
||||||
|
@ -503,9 +528,13 @@ def team_add_group(request, team):
|
||||||
'value': group.name,
|
'value': group.name,
|
||||||
'data': group.name,
|
'data': group.name,
|
||||||
}]
|
}]
|
||||||
return JsonResponse({
|
c = {
|
||||||
'suggestions': response,
|
'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')
|
@project_perm_required('manage_accounts')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue