diff --git a/cookbook/migrations/0049_mealtype_created_by.py b/cookbook/migrations/0049_mealtype_created_by.py
new file mode 100644
index 000000000..f5e27573a
--- /dev/null
+++ b/cookbook/migrations/0049_mealtype_created_by.py
@@ -0,0 +1,21 @@
+# Generated by Django 3.0.7 on 2020-06-11 13:08
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('cookbook', '0048_auto_20200602_1140'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='mealtype',
+ name='created_by',
+ field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
+ ),
+ ]
diff --git a/cookbook/migrations/0050_auto_20200611_1509.py b/cookbook/migrations/0050_auto_20200611_1509.py
new file mode 100644
index 000000000..7c8413686
--- /dev/null
+++ b/cookbook/migrations/0050_auto_20200611_1509.py
@@ -0,0 +1,30 @@
+# Generated by Django 3.0.7 on 2020-06-11 13:09
+
+from django.db import migrations
+from django.db.models import Q
+
+
+def migrate_meal_types(apps, schema_editor):
+ MealPlan = apps.get_model('cookbook', 'MealPlan')
+ MealType = apps.get_model('cookbook', 'MealType')
+ User = apps.get_model('auth', 'User')
+
+ for u in User.objects.all():
+ for t in MealType.objects.filter(created_by=None).all():
+ user_type = MealType.objects.create(
+ name=t.name,
+ created_by=u,
+ )
+ MealPlan.objects.filter(Q(created_by=u) and Q(meal_type=t)).update(meal_type=user_type)
+
+ MealType.objects.filter(created_by=None).delete()
+
+
+class Migration(migrations.Migration):
+ dependencies = [
+ ('cookbook', '0049_mealtype_created_by'),
+ ]
+
+ operations = [
+ migrations.RunPython(migrate_meal_types),
+ ]
diff --git a/cookbook/migrations/0051_auto_20200611_1518.py b/cookbook/migrations/0051_auto_20200611_1518.py
new file mode 100644
index 000000000..896ba57c6
--- /dev/null
+++ b/cookbook/migrations/0051_auto_20200611_1518.py
@@ -0,0 +1,21 @@
+# Generated by Django 3.0.7 on 2020-06-11 13:18
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('cookbook', '0050_auto_20200611_1509'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='mealtype',
+ name='created_by',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
+ ),
+ ]
diff --git a/cookbook/models.py b/cookbook/models.py
index f824a5baf..a3609f5c2 100644
--- a/cookbook/models.py
+++ b/cookbook/models.py
@@ -214,6 +214,7 @@ class RecipeBookEntry(models.Model):
class MealType(models.Model):
name = models.CharField(max_length=128)
order = models.IntegerField(default=0)
+ created_by = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return self.name
diff --git a/cookbook/templates/meal_plan.html b/cookbook/templates/meal_plan.html
index 7738fc50d..cb0850747 100644
--- a/cookbook/templates/meal_plan.html
+++ b/cookbook/templates/meal_plan.html
@@ -49,6 +49,8 @@
@@ -62,7 +64,7 @@
[[d]]
[[formatDateDay(d)]].
+