Skip to content

Commit

Permalink
Update migration to use User model explicitly
Browse files Browse the repository at this point in the history
  • Loading branch information
tortila committed Jun 14, 2023
1 parent 702b643 commit 32deb62
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions apps/accounts/migrations/0053_provider_permissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,17 @@ def assign_object_permissions(apps, schema_editor):
Assign object-level permissions for existing Hostingprovider and Datacenter objects
"""
db_alias = schema_editor.connection.alias
User = get_user_model()

# assign manage_datacenter
Datacenter = apps.get_model("accounts", "Datacenter")

for dc in Datacenter.objects.using(db_alias).filter(user__isnull=False).iterator():
assign_perm(permissions.manage_datacenter.codename, dc.user, dc)
user = User.objects.using(db_alias).get(id=dc.user.id)
assign_perm(permissions.manage_datacenter.codename, user, dc)

# assign manage_provider
# GOTCHA: catch a FieldError so that this migration does not fail when execued by a test runner
User = get_user_model()
try:
for user in (
User.objects.using(db_alias)
Expand All @@ -40,15 +41,17 @@ def remove_object_permissions(apps, schema_editor):
Remove object-level permissions for existing Hostingprovider and Datacenter objects
"""
db_alias = schema_editor.connection.alias
User = get_user_model()

# remove manage_datacenter
Datacenter = apps.get_model("accounts", "Datacenter")
for dc in Datacenter.objects.using(db_alias).filter(user__isnull=False).iterator():
remove_perm(permissions.manage_datacenter.codename, dc.user, dc)
user = User.objects.using(db_alias).get(id=dc.user.id)
remove_perm(permissions.manage_datacenter.codename, user, dc)

# remove manage_provider
# GOTCHA: catch a FieldError so that this migration does not fail when execued by a test runner
User = get_user_model()

try:
for user in (
User.objects.using(db_alias)
Expand Down

0 comments on commit 32deb62

Please sign in to comment.