Skip to content

Commit

Permalink
Use positive_permissions.set()
Browse files Browse the repository at this point in the history
Direct assignment to the forward side of a many-to-many set is deprecated
due to the implicit save() that happens. Use positive_permissions.set()
instead.
  • Loading branch information
dwaynebailey committed Nov 24, 2016
1 parent a047eaf commit 63a0e2a
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 8 deletions.
2 changes: 1 addition & 1 deletion pootle/core/initdb.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ def _create_pootle_permission_set(self, permissions, **criteria):
permission_set, created = self._create_object(PermissionSet,
**criteria)
if created:
permission_set.positive_permissions = permissions
permission_set.positive_permissions.set(permissions)
permission_set.save()
return permission_set

Expand Down
4 changes: 2 additions & 2 deletions pytest_pootle/fixtures/models/permission_set.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ def _require_permission_set(user, directory, positive_permissions=None,
}
permission_set = PermissionSet.objects.get_or_create(**criteria)[0]
if positive_permissions is not None:
permission_set.positive_permissions = positive_permissions
permission_set.positive_permissions.set(positive_permissions)
if negative_permissions is not None:
permission_set.negative_permissions = negative_permissions
permission_set.negative_permissions.set(negative_permissions)

permission_set.save()

Expand Down
8 changes: 4 additions & 4 deletions tests/models/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,7 @@ def test_user_has_manager_permissions(no_perms_user, administrate, tp0):
'directory': tp0.directory,
}
ps = PermissionSet.objects.get_or_create(**criteria)[0]
ps.positive_permissions = [administrate]
ps.positive_permissions.set([administrate])
ps.save()
assert no_perms_user.has_manager_permissions()
ps.positive_permissions.clear()
Expand All @@ -467,7 +467,7 @@ def test_user_has_manager_permissions(no_perms_user, administrate, tp0):
# Assign 'administrate' right for 'Language0' and check user is manager.
criteria['directory'] = language0.directory
ps = PermissionSet.objects.get_or_create(**criteria)[0]
ps.positive_permissions = [administrate]
ps.positive_permissions.set([administrate])
ps.save()
assert no_perms_user.has_manager_permissions()
ps.positive_permissions.clear()
Expand All @@ -476,7 +476,7 @@ def test_user_has_manager_permissions(no_perms_user, administrate, tp0):
# Assign 'administrate' right for 'Project0' and check user is manager.
criteria['directory'] = project0.directory
ps = PermissionSet.objects.get_or_create(**criteria)[0]
ps.positive_permissions = [administrate]
ps.positive_permissions.set([administrate])
ps.save()
assert no_perms_user.has_manager_permissions()
ps.positive_permissions.clear()
Expand All @@ -502,7 +502,7 @@ def test_get_users_with_permission(default, member, translate):
# remove "Can submit translation" permission for default user
ps = PermissionSet.objects.filter(user=default,
directory=Directory.objects.root)[0]
ps.positive_permissions = ps.positive_permissions.exclude(id=translate.id)
ps.positive_permissions.set(ps.positive_permissions.exclude(id=translate.id))
ps.save()
users = User.objects.get_users_with_permission('translate', project, language)
for user in users:
Expand Down
2 changes: 1 addition & 1 deletion tests/views/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ def test_admin_view_project_manager(client, member, administrate):
'user': member,
'directory': project.directory}
ps = PermissionSet.objects.create(**criteria)
ps.positive_permissions = [administrate]
ps.positive_permissions.set([administrate])
client.login(
username=member.username,
password=TEST_USERS[member.username]["password"])
Expand Down

0 comments on commit 63a0e2a

Please sign in to comment.