From 903c47bc25bffca6c8f5c6baebf37554d2b213f3 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Fri, 16 Feb 2018 13:11:37 +0530 Subject: [PATCH] locale: Update profile model - Update the size of the language field to 32 bytes. - Rename preferred_language to just language for consistency with forms. Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/migrations/0004_userprofile.py | 21 ++++++++++++--------- plinth/models.py | 9 ++++++--- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/plinth/migrations/0004_userprofile.py b/plinth/migrations/0004_userprofile.py index 205c871db..f193f2d0c 100644 --- a/plinth/migrations/0004_userprofile.py +++ b/plinth/migrations/0004_userprofile.py @@ -10,11 +10,13 @@ from plinth.models import UserProfile def insert_users(apps, schema_editor): + """For each user, create their empty profiles.""" for user in User.objects.all(): UserProfile(user=user).save() def truncate_user_profile(apps, schema_editor): + """Delete all user profiles.""" UserProfile.objects.all().delete() @@ -28,13 +30,14 @@ class Migration(migrations.Migration): migrations.CreateModel( name='UserProfile', fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('preferred_language', models.CharField(default=None, max_length=10, null=True)), - ( - 'user', - models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.RunPython(code=insert_users, reverse_code=truncate_user_profile), - + ('id', models.AutoField(auto_created=True, primary_key=True, + serialize=False, verbose_name='ID')), + ('language', models.CharField(default=None, max_length=32, + null=True)), + ('user', models.OneToOneField( + on_delete=django.db.models.deletion.CASCADE, + to=settings.AUTH_USER_MODEL)), + ], ), + migrations.RunPython(code=insert_users, + reverse_code=truncate_user_profile), ] diff --git a/plinth/models.py b/plinth/models.py index a7ed19f50..50ec1b150 100644 --- a/plinth/models.py +++ b/plinth/models.py @@ -23,6 +23,7 @@ from django.db import models from django.contrib.auth.models import User import json +from django.conf import settings class KVStore(models.Model): """Model to store retrieve key/value configuration""" @@ -47,6 +48,8 @@ class Module(models.Model): class UserProfile(models.Model): - """Model that stores User details that are not related to authentication""" - user = models.OneToOneField(User, on_delete=models.CASCADE) - preferred_language = models.CharField(max_length=10, null=True, default=None) + """Model to store user profile details that are not auth related.""" + user = models.OneToOneField(settings.AUTH_USER_MODEL, + on_delete=models.CASCADE) + + language = models.CharField(max_length=32, null=True, default=None)