Skip to content

Commit 4267b59

Browse files
committed
Fix bugs in DeviceOwner data migration.
1 parent 3927eb2 commit 4267b59

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

kolibri/auth/migrations/0004_auto_20170816_1607.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,25 @@ def device_owner_to_super_user(apps, schema_editor):
1313
default_facility = Facility.objects.all().first()
1414
DevicePermissions = apps.get_model('device', 'DevicePermissions')
1515
DeviceSettings = apps.get_model('device', 'DeviceSettings')
16+
from kolibri.auth.models import FacilityUser as RealFacilityUser, Facility as RealFacility
17+
real_default_facility = RealFacility.get_default_facility()
1618
# Can't do much if no facilities exist, as no facility to FK the users onto
1719
if default_facility:
1820
for device_owner in DeviceOwner.objects.all():
21+
uuid = RealFacilityUser(username=device_owner.username, facility=real_default_facility).calculate_uuid()
22+
dataset_id = real_default_facility.dataset_id
1923
superuser = FacilityUser.objects.create(
2024
username=device_owner.username,
2125
password=device_owner.password,
2226
facility=default_facility,
2327
full_name=device_owner.full_name,
2428
date_joined=device_owner.date_joined,
29+
id=uuid,
30+
dataset_id=dataset_id,
2531
)
2632
DevicePermissions.objects.create(user=superuser, is_superuser=True)
2733
# Finally, set the is_provisioned flag
28-
settings, created = DeviceSettings.get_or_create(is_provisioned=True)
34+
settings, created = DeviceSettings.objects.get_or_create(is_provisioned=True)
2935

3036

3137
class Migration(migrations.Migration):

0 commit comments

Comments
 (0)